NLP 2

LSTM 내의 벡터들의 흐름을 이해해 보자.

LSTM에 대한 설명은 구글에 검색하기만 한다면, 이해하기 좋게 자세하게 설명된 글들을 찾아 볼 수 있다. ​ 하지만, 코드로 구현된 LSTM셀을 보았을 때, 벡터 하나하나들이 어떻게 이동하고, 출력되고, 변형되는지에 대한 이해는 따로 설명이 필요해 보였다. 왜냐하면 우리는 텐서플로우 keras sequential로 생성한 LSTM셀의 input에 2차원 행렬을 굳이 reshape를 하여 3차원 행렬을 집어넣기 때문이다. ​ 그래서 그냥 대충 넘어가는 사람들은 LSTM의 input에 3차원 행렬을 넣으니까 행렬 자체가 LSTM셀에 바로 들어가는 줄 착각하기도 한다. 하지만, 각 LSTM에는 벡터가 들어간다! 그렇다면 어떻게 들어가는가? 를 풀어서 설명해 보겠다. 목차 1. LSTM review 2. LS..

[5-4] Attention Mechanism(어텐션 메커니즘)이란?

Attention!(주의!) 기법이란 무엇일까? 단순히 말하자면, 다음 결과를 예측하는 작업에서 '이 정보 좀 봐주세요!'라는 의미를 뜻한다. 그리고 그 정보는 인풋으로 들어온 정보들을 현재의 작업에 맞게 정제하여 얻은 추가적인 정보이다. 그리고 이 정보를 참조하여 예측 작업의 '성능' 을 높일 수 있다. ​ ​ Attention Mechanism은 여러 종류들이 있지만 그 중 한 종류인 (Dot-product Attention)을 소개하겠다. 참고로 Dot-product는 내적이다. 해당 논문 ​ 가장 먼저 전반적인 구조를 한 페이지에 시각화해 보았다. 순서대로 따라가 보자. ​ 1. Q, K, V 사전 형태에 대한 이해 Q : 현재 시점 t의 디코더셀의 은닉 상태, K : 인코더 셀의 모든 은닉상태들..