Attention
[NLP] Transformer(트랜스포머, Attention is all you need)
📚논문참고 Attention is all you need 1. 개요(기존 recurrent 모델의 한계) - Long term dependency problem : 멀리 있는 단어는 예측에 사용하지 못하는 현상 ex) "저는 언어학에 관심이 많아 인공지능 기술 중 딥러닝을 배우고 있고, 그 중 자연어 처리가 가장 흥미롭습니다"라는 문장에서, '자연어처리' 단어를 생성하는데에 가장 중요한 의미를 갖는 단어는 '언어학'일 것임. 하지만 순환신경망 모델은 가까이 있는 딥러닝을 중요하게 인식할 가능성이 높을수도 있음. '딥러닝'으로 생성을 하면 '자연어처리'가 아니라 '컴퓨터비젼' 등을 생성할 수도 있음. - Parallelization problem : 순환 신경명은 연쇄적으로 처리하기 때문에 병렬처리가 어려..
[NLP] Attention Mechanism (어텐션 메커니즘)
1. 개요(Seq2Seq의 한계) - 하나의 고정된 Context Vector에 이전의 모든 정보를 압축하려고 하니 정보손실이 발생 → 고정된 길이의 Context Vector에 비해 Sequence Length가 훨씬 길어진다면 과거 State의 정보가 잊혀지는 Catastrophic Forgetting 현상이 발생 결국 가장 처음 등장했던 단어를 번역해내는데에 실패할 확률이 높음! - RNN의 고질적인 문제인 Gradient Vanishing 문제 발생 - 예측 과정에서 과거 정보를 다시한번 참고할 수 있는 방법은 없을까? 2. 구성 1) 아이디어 디코더에서 출력 단어를 예측하는 매 시점(time step)마다 인코더의 문장을 다시한번 참고! 단, 해당 시점의 단어와 가장 연관이 있는 인코더의 부분을..
[NLP] Sequence-to-Sequence (Seq2Seq, 시퀀스 투 시퀀스)
1. 개요 - 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 모델 - 챗봇, 번역, 요약, STT 등에 쓰일 수 있음 2. 구성 - RNNLM (RNN Language Model) 임 RNN의 기본 구조 : 현재시점(time step)을 t라고 할 때, RNN셀은 t-1에서의 은닉상태와 t에서의 입력 벡터를 input으로 받음. 그리고 t에서 은닉상태 ht를 만들고, t+1시점의 입력으로 이를 보냄 - 기본적으로 인코더(Encoder)와 디코더(Decoder)로 구성됨 - Context Vector(컨텍스트 벡터)에 인코더에서 입력받은 단어의 정보가 압축됨 이 Context Vector를 디코더로 전송함 (현업에서는 수백차원임) - 인코더, 디코더 아키텍쳐는 두개의 RNN 아키텍쳐 물론 RNN은 G..