부스트캠프 AI Tech 8

[NLP] Intro to NLP

Intro to Natural Language Processing(NLP) 자연어 처리(NLP)란? 컴퓨터가 주어진 단어나 문장을 이해하는 과정(NLU) 자연어를 상황에 따라 자연스럽게 생성(NLG) 두 과정이 포함되어 있음 Academic Disciplines related to NLP NLP 최신 논문들이 주로 공개되는 학회 ACL, EMNLP, NAACL Low-level parsing tokenization, stemming Word and pharse level NER : 고유 단어를 파악하는 task POS tagging : 단어들이 문장 내부에서의 어떠한 품사인지 알아내는 task noun-phrase chunking dependency parsing coreference rsolution ..

3주차 - CNN (Convolutional Neural Network)

4강.Convolutional Neural Networks convolution 식은 아래와 같다. 우리가 사용할 2D image convolution 에서 i는 전체 이미지 공간이 되고, k라는 것은 적용할 convolution 필터가 된다. padding이나 stride를 고려하지 않고 가장 기본적인 convolution을 하게 되면, 아래 그림과 같이 된다. 필터와 이미지를 겹쳐놓은 후, 각각의 위치에 있는 픽셀 값들을 전부 곱한 후 더해준 것을 output의 한 픽셀로 나타낼 수 있다. 적용하고자 하는 필터에 따라서 output은 각각 다른 효과를 가진 이미지로 나올 수 있게 된다. 일반적으로 우리는 RGB image를 다룬다. 32 x 32 image가 있을 때 3 채널(RGB)이 들어가게 됨으..

3주차 - 최적화

3강. Optimization Important Concepts in Optimization Generalization : 일반화 성능을 높이는 것이 우리의 목적이다. 일반적으로 학습을 시킬 때, iteration이 진행됨에 따라서 train data에 대한 error는 점점 줄어들게 된다. 하지만, training error가 줄어든다고해서 test error가 줄어든다는 말은 아니다. 일반적으로는 학습이 계속 진행됨에 따라서 training error는 계속해서 줄어들지만, test error는 줄어들다가 어느 지점부터 다시 높아지게 된다. Generalization gap은 training error와 test error의 차이이다. 즉, generalization이 좋다는 의미는 generaliz..

3주차 - 딥러닝 기본

1강. Neural Networks & Multi-Layer Perceptron 인공지능이란? 사람의 지능을 모방하는 것이다. 딥러닝에서 중요한 요소는? data : 풀고자 하는 문제에 의존 model loss fuction : 모델을 어떻게 학습시킬까 optimization algorithm Historical Review : 어떠한 연구들이 큰 변화를 주었는가 2012 - AlexNet : AlexNet의 등장으로 딥러닝이 시작되었다고 볼 수 있으며, 기계학습에 대한 판도가 뒤집힘 2013 - DQN : 알파고를 만든 알고리즘이다. 강화학습을 딥러닝에 적용한 방법론이다. 2014 - Encoder / Decoder : 어떤 문장이 주어졌을 때, 이를 잘 표현해서 다른 언어로 표현해 줄 때 활용( 기계..

2주차 - PyTorch 구조 학습하기

4강. AutoGrad & Optimizer torch.nn.Module은 다음과 같은 특징을 가지고 있다. 딥러닝을 구성하는 layer의 base class이다. input, output, forward, backward를 정의해야 한다. 학습의 대상이 되는 parameter(tensor)를 정의해야 한다. nn.Module을 정의하려면, 학습의 대상이 되는 weight 값들을 정의해야한다. 이 weight 값들은 nn.Parameter에 정의하게 된다. nn.Parameter는 다음과 같은 특징을 가지고 있다. Tensor 객체의 상속 객체 nn.Module 내에 attribute가 될 때는 required_grad=True로 지정되어 학습 대상이 되는 Tensor (AutoGrad의 대상이 된다.)..

2주차 - Pytorch 기본

2강. PyTorch Basics pytorch는 딥러닝을 만드는데 가장 기본적인 프레임워크이다. pytorch는 numpy를 기반으로 했기 때문에 그 사용법이 유사하다. pytorch는 numpy와 AutoGrad에 대한 많은 딥러닝 모듈들을 제공한다. numpy에서 list를 표현하기 위해서는 ndarray를 사용하였다. pytorch에서는 list를 표현하기 위해 Tensor를 사용한다. Tensor에 대한 설명은 다음과 같다. 다차원 arrays를 표현하는 pytorch 클래스 numpy의 ndarray와 동일, Tensorflow의 Tensor와도 동일 Tensor를 생성하는 함수도 거의 동일 # numpy _ ndarray import numpy as np n_array = np.arange(..

1주차 - AI Math (9/19 ~ 9/23)

AI Math 1강. 벡터가 뭐에요 벡터는 숫자를 원소로 가지는 리스트 또는 배열이다. 벡터를 수식과 코드로 표현하면 아래와 같다. 왼쪽은 열 벡터, 오른쪽은 행 벡터라고 부른다. numpy.array를 가지고 벡터를 표현한다. 코드로 표현할 때에는 보통 행 벡터로 표현한다. (행 벡터를 기준으로 함) 벡터 안의 원소의 갯수를 벡터의 차원이라고 한다. 벡터는 공간에서의 한 점을 나타내며(어떤 차원에서든), 원점으로부터 상대적인 위치를 표현한다. 이러한 벡터에 숫자 또는 스칼라를 곱해주면 벡터의 길이를 변형시키는 것이 가능하다. 벡터끼리는 여러 가지 연산을 할 수 있다. 벡터끼리 같은 모양을 가진다면, 덧셈 / 뺄셈 / 성분곱을 계산할 수 있다. 다른 모양이라면 불가능하다. 이러한 연산들은 위 코드를 사용..

1주차 - Python (9/19 ~ 9/23)

Python 1-1강. Basic computer class for newbies 컴퓨터 OS(Operating System)란, 운영체제로, 프로그램이 동작할 수 있는 구동 환경을 말한다. 프로그램은 OS에 의존적이기 때문에 OS에 맞춰서 개발을 해야한다. 파일 시스템(File system)이란, OS에서 파일을 저장하는 트리구조 저장 체계이다. 파일의 기본 체계는 디렉토리(폴더) 와 파일로 구성되어 있다. 터미널에서는 mouse가 아닌 키보드로 명령을 입력하여 프로그램을 실행한다. 각 터미널에는 프로그램을 작동하는 shell이 존재하며, shell마다 다른 명령어를 사용한다. shell에서 사용하는 명령어는 다음과 같다. CD : 현재 디렉터리 이름을 보여주거나 바꾼다. clear : CMD 화면에 ..