ML(16)
-
[NLP] Transformer
Transformer는 long-term dependency 문제를 해결하기 위해 RNN의 순환 구조를 버리고 attention 기법을 적극 활용한 모델이다. Encoder-Decoder AttentionRNN의 순환구조는 최근 입력 embedding vector에 치중된 context vector만 디코더로 넘겨준다. Attention 기법은 각 출력 시점마다 필요한 입력 embedding vector를 파악하고 이들로 context vector를 생성해 디코더로 전달한다. 구체적으로, 각 출력 시점마다 각 입력 embedding vector가 얼마나 중요한지를 파악(by dot product & softmax)하고, 중요도가 높은 입력 embedding vector에 더 큰 가중치를 부여하는 방식(..
2024.08.19 -
[NLP] RNN, LSTM, Attention
순차적인 데이터 (Sequence Data)시퀀스 데이터는 순차적으로(=순서에 따라 연속적으로) 들어오는 데이터를 의미하며 대표적인 예로 시계열 데이터가 존재한다.시퀀스 데이터는 순서에 따라 데이터가 들어오기 때문에 i.i.d(independent and identically distribution) 가정을 잘 위배한다.그렇기 때문에 데이터 포인트의 순서가 바뀌거나 이전 데이터 포인트의 손실이 발생할 경우 데이터의 확률분포가 완전히 바뀌게 된다.Sequential Model아래와 같이, 시퀀스 데이터의 확률분포는 조건부 확률을 활용해 모델링할 수 있다.$$P(X_1, \cdots, X_T) = \prod_{t=1}^T P(X_t|X_{t-1}, \cdots, X_1)$$그렇기 때문에, 시퀀스 데이터의 ..
2024.03.31 -
[ML] 3. Generalization, Overfitting, Underfitting
기계학습의 최종 목표는 범용 능력을 얻는 것이다. 범용 능력(=generalization)이란 처음 보는 데이터(시험 데이터)에 대해 정확히 예측하는 능력을 일컫는다. 기계학습에서는 일반적으로 범용 능력을 평가하기 위해, 훈련 데이터와 테스트 데이트를 분리해 사용하는 것이다. 과대 적합(=overfitting)은 모델이 학습 데이터셋에만 지나치게 최적화된 상태를 의미한다. 모델이 과대 적합이면, 학습 데이터에서의 성능은 너무 좋은데 테스트 데이터에서의 성능은 안 좋은 상황이 발생한다. 과소 적합(=underfitting)은 모델이 학습 데이터셋의 패턴(규칙) 파악에 실패한 상태를 의미한다. 모델이 과소 적합이면, 학습 데이터에서의 성능 뿐만 아니라 테스트 데이터에서의 성능도 안 좋은 상황이 발생한다. 모..
2024.03.26 -
[DL] 6.1. Batch Normalization
0. Data preprocessing: Normalize data $$\widehat x = x_i - \mu_x \over \sigma_x$$ 방식으로 입력 데이터를 normalize하면 입력 데이터 분포가 비슷해진다. 입력 데이터가 비슷해지면 loss function이 유사해져 "학습 속도 증가" 및 "일반화"에 도움을 준다. 1. Batch Normalization reduces ICS Batch Normalization 기법은 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift 논문에서는 처음으로 소개됐다. 위 논문에서는 "매 스텝마다 각 layer의 입력 분포($x$)가 달라지는 ..
2024.03.22 -
[DL] 6. 인공 신경망이 깊어질 때 발생하는 고질적 문제 (gradient vanishing & overfitting)
인공 신경망을 무턱대고 깊게 만들면 크게 3가지 문제점이 발생한다. 1. Vanishing gradient (기울기 손실) 2. Overfitting (과적합) 3. loss landscape의 non-convexity 증가 1. Vanishing Gradient layer가 많으면 입력층에 가까워질수록 미분이 점점 작아져 소멸된다. 이런 현상이 일어나는 대표적인 원인은 바로 sigmoid 함수다. sigmoid 함수의 최대 기울기는 1/4이다. 역전파 시 전달되는 미분값에 꾸준히 1/4을 곱하기 때문에 점점 기울기가 소멸되는 것이다. 직관적으로 sigmoid 함수는 "입력이 출력에게 줄 수 있는 영향력이 최대 1/4"이다. sigmoid 함수를 활성화 함수로 채택할 경우, 입력층 가중치가 첫 은닉층 출..
2024.03.19 -
[DL] 7. How does DL solve problems?
이번 글에서는 딥러닝이 어떤 방식으로 문제를 접근하고 푸는지에 대해 자세히 살펴볼 것이다.더 나아가, 딥러닝에 근간이 되는 이론이 무엇인지 살펴볼 것이다. 이진 분류 문제 풀이 방법"임의의 키와 몸무게가 주어졌을 때 다이어트가 필요한지 혹은 필요하지 않은지를 판단"하는 문제를 풀어볼 것이다. 우선, 문제를 풀기 위해서는 문제를 정확히 이해하고, 이를 (수학적으로) 적절하게 재정의해야 한다.위 문제를 독립 변수인 키/몸무게(=$x_1$, $x_2$)와 종속 변수인 다이어트 유무(=$y$) 간의 관계를 파악하는 것으로 재정의할 수 있다.입력이 키/몸무게고 출력이 다이어트의 필요성 (or 확률)인 모델 (or 알고리즘)을 만든 후,모델 출력인 $p$가 0.5보다 크면 다이어트가 필요한 것이고, 0.5보다 작으..
2024.03.11