일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- slideshare
- machinelearning
- error
- Statistics
- Vim
- install
- pip
- deeplearning
- cs231n
- cs224n
- review
- gensim
- json
- linux
- Standford
- nlp
- github
- computer_setting
- paper_review
- tab
- computer
- Ai
- seq2seq
- natural_language_processing
- language_model
- code
- Stanford
- text
- terminal
- git
- Today
- Total
목록Standford (8)
NLP/AI/Statistics

딥러닝 모델에서 학습 데이터가 모델에 과적합되어 새로운 데이터에 대하여 제대로 예측하지 못하는 문제가 발생한다. 이러한 과적합 (overfitting) 문제를 해결하기 위한 방법으로 regularization (규제화)을 소개하고자 한다. L1 regularization 기존의 Loss function 값이 L(yi,^yi)이라고 할 때, L1 regularization은 아래의 식과 같이 loss function에 새로운 "규제항"을 추가하여 계산한다. Loss=1nn∑i=1L(yi,^yi)+λ|w| 여기서 집중해야할 부분은 L1에서는 가중치(w)의 절댓값을 추가하여 loss 값에 규제를 더해준..

번역기, 음성인식 등 자연어처리를 이용한 기술들이 일상생활에서 중요한 역할들을 수행하면서 자연어처리 기술이 발전하고 있다. 자연어처리에서 가장 기본이 되는 임베딩에 대한 설명이 우선되는데, 각 언어, 단어들을 컴퓨터적으로 어떻게 표현할 것이고 그들 간의 문맥을 어떻게 처리할 것인지가 중요한 요인이 된다. 가장 기본적으로 수행되었던 방법은 one-hot encoding이다. one-hot encoding은 해당 단어가 속하는 위치 값이 1, 나머지가 0으로 나타내어 해당 인덱스 값이 해당 단어를 의미하도록 한다. 하지만 이러한 방법은 벡터의 크기가 vocabulary 사이즈에 의존적이기 때문에 vocabulary 사이즈가 클수록 벡터의 크기가 늘어나는 문제가 발생한다. 또한, 이는 단어 간의 유사성을 고려..
Standford 강의 중 CS224n를 간략하게 중요한 부분에 대하여 정리할 예정이다. http://web.stanford.edu/class/cs224n/index.html#schedule Stanford CS 224N | Natural Language Processing with Deep Learning Natural language processing (NLP) is a crucial part of artificial intelligence (AI), modeling how people share information. In recent years, deep learning approaches have obtained very high performance on many NLP tasks. In t..

이번 글에서는 Batch Normalization에 대하여 소개하고자 한다. Batch normalization (BN, 배치 정규화)는 가우시안 분포를 통해 신경망을 적절하게 초기화시키는 방법이다. BN은 레이어에서 출력되는 batch 사이즈 만큼의 activation을 가우시안 분포에 적합하도록 하는 것이 목적이다. 그래서 이 방법은 학습할 때마다 각 레이어에서 수행되어야 하며 모든 레이어에서 가우시안 분포가 되도록 해준다. 즉, batch 단위로 레이어의 입력 값들을 정규화해준다. 위는 cs231n의 슬라이드 일부이다. 위의 수식과 같이 BN은 D차원의 batch에 대하여 각 feature 별로 평균과 분산을 구하여 정규화시켜주는 방식으로 진행된다. 보통 BN는 신경망 구조 내에서 fully con..

Neural network 2 에서는 데이터를 처리하고 모델을 설계하는 방법에 대하여 설명한다. 1. Data Processing 2. Weight Initialization 3. Batch Normalization 4. Regularization 위의 순서대로 정리할 예정이다. Data Processing은 말 그대로 데이터를 전처리하는 과정으로 볼 수 있다. 어떤 task를 수행하기 위한 데이터가 있을 때, 데이터 간의 분포가 다를 수도 있고 데이터 내의 이상치들이 많이 존재할 수 있다. 이럴 경우, 데이터 간의 차이로 인해 학습이 제대로 수행되지 않거나 이상치에 의해 학습에 노이즈가 발생하는 문제가 발생한다. 이를 처리해주기 위해 데이터를 전처리함으로써 모델이 데이터에 대한 학습을 충분히할 수 있도..

신경망 구조를 이해하기 위해 중요한 요소인 activation function에 대하여 소개한다. Activation function (활성화 함수)은 쉽게 말해 모델 학습을 통해 출력되는 값을 활성화시키는 것을 의미하며 모델 최적화를 위해 가중치 (weight)를 업데이트한 후, 최종적으로 어떠한 값을 출력할 것인가를 결정하는 역할을 한다고 할 수 있다. 위와 같이 wixi+b 연산으로 출력되는 마지막 층의 output에 activation function을 거쳐 출력값을 결정한다. Perceptron에서는 가장 기초적인 activation function으로 step function과 linear function을 사용하였다. Step function의 경우, 계단 형식으로 0 혹은 1..
이전에 딥러닝 모델에서 최적의 성능을 얻기 위한 최적화(Optimization) 방법에 대하여 설명하였다. 이번 글에서는 최적화 방법 중에 하나인 gradient desent 방법에 대하여 소개하고자 한다. 모델을 학습할 때 loss function의 gradient를 계산하여 파라미터를 업데이트하는 방법을 gradient descent라고 하며, 아래의 코드는 가장 기본적인 vanila 버전의 코드이다. whileTrue:weights_grad = evaluate_gradient(loss_function, data, weights) $weights += step_size * weights_grad # parameter update Gradient Descent 방법은 최근 neural netw..
Optimization의 목적은 loss function을 최소화하는 W를 찾는 것이다. loss function을 최적화하는 optimization 방법을 소개하고자 하며, svm loss를 예시로 세가지 방법에 대하여 설명한다. 1) Random Search 2) Random Local Search 3) Gradient Random Search 첫 번째로 random search 방법이다. 이 방법은 랜덤한 값의 W로 여러번 시행한 후 loss가 가장 작은 최적의 W를 선택하는 방법이기 때문에 가장 간단하지만 좋지 않은 방법이다. 여러 번의 시행 중 최적의 W를 찾는다고 하더라도 이는 실행 횟수에 국한되어 있는 한계가 있으며 그 중 추출된 최적의 W가 모든 경우의 수에 대한 최적의 ..