Machine learning & Deep learning 24

[Deep learning] Attention Mechanism에 대하여

Attention Mechanism에 대해 알아보도록 하겠습니다. Attention Mechanism은 Context Vector를 어떻게 표현하고 그렇게 했을 때 개선된 점이 어떤 것인가?라는 의문을 가지고 접근하면 쉽게 이해할 수 있습니다. 기존 Seq2Seq 모델 구조는 인코더에서 하나의 동일한 Context Vector를 제공했고, 이는 정보가 뭉개지는(=마지막 토큰의 정보만 과도하게 담은) 문제를 불러왔습니다. 예를 들어, '나는' '인공지능을' '공부하는' '학생' '입니다.'라는 입력 토큰이 있을 때 Context Vector는 '입니다.'의 정보를 가장 크게 담고 나머지 토큰은 뭉개집니다. 이럴 경우 모델의 성능의 한계가 있을 수밖에 없습니다. 이러한 한계점을 Attention Mechan..

[Deep learning] LSTM과 GRU를 Vector combination 관점에서 살펴보기

LSTM과 GRU를 Vector combination 관점에서 어떤 차이가 있는지 알아보겠습니다. 바로 비교하기 앞서 Vector combination에 대해 먼저 알아보고 LSTM과 GRU의 차이를 비교해 보겠습니다.선형대수나 기하학에서 자주 등장하는 Combination은 보통 여러 벡터를 특정 규칙에 따라 합치는 방식을 의미합니다. 먼저 가장 익숙한 Linear Combination에 대해 알아볼게요.  Linear Combination정의: 벡터 공간에서 벡터 x1, x2, …, xn과 스칼라(실수) 계수 α1, α2, …, αn가 주어졌을 때, α1x1 + α2x2 + ⋯ + αnxn 의 형태를 선형 결합 이라고 부릅니다. 계수의 제약: 없음. 모든 αi는 어떤 실수든 가능하며, 합이 특정 값이..

[Machine learning] Dropout 내가 궁금했던 모든 것 정리

머신러닝을 처음 공부할 때 dropout이라는 개념을 봤을 때, 중퇴?라는 뜻으로 외웠던 게 기억났고 그냥 도중 나가는 건가? 이렇게 생각했었습니다.  그때만 해도 제가 공부하기에는 그냥 과적합을 방지하기 위해 몇 개의 node를 kill 하는 거는구나라고 생각했었습니다. 얼마나 얕게 공부했었는지... Dropout에 대해 다시 자세히 공부하면서 가졌던 궁금증을 정리하고 기억하고자 포스팅을 하게 됐습니다. 편히 읽어보시면서 놓친 개념이 없는지 확인해 보세요~~  Dropout ImplementationDropout의 정확한 개념은 신경망에서 특정 비율만큼의 뉴런을 무작위로 비활성화하여 과적합을 방지하는 정규화 기법입니다.def train_step(data, p): # p = dropout rate ..

[Machine learning] Ridge Regression

오늘은 Overfitting을 해결하기 위한 방법인 Ridge Regression을 알아보겠습니다. Ridge Regression의 수식에 대해 자세하게 분석해 보면서 어떻게 Overfitting을 해결하는지 알아보겠습니다. 일반적인 선형 회귀는 최소제곱법을 사용하여 아래의 cost function을 최소화합니다.  학습 중 feature들 간의 상관관계가 너무 높으면 계수 w가 너무 커져 Overfitting이 될 수 있습니다. 이제 Cost function에 Regularization Term을 추가하여 학습하는 과정을 설명드릴게요. 학습 시 Cost function을 최소화하는 w을 찾는 방향으로 학습이 진행됩니다. 이때, λ의 값이 있을 경우 전체 Cost function을 최소화시켜야 되는데 R..