seq2seq(3)
-
Attention(어텐션)
이번 포스팅은 seq2seq의 개선에 이어 Decoder위주로 설명을 할 것이다. 이번 장에서 완성되는 어텐션은 seq2seq처리에서 아주 강력한 기능을 보이고 있으며 그 구조도 상당히 직관적이다. 어텐션을 짧게 표현하자면 넘어오는 데이터중 필요한 정보만 "주목"시키는 기술이다. 이 말을 이해하기 위해서 천천히 구조를 파악해보도록 하자. Encoder개선 Encoder부분 Attention은 전 포스팅에 글을 올려놨지만 이번 글이 어텐션이 주제인 만큼 간단하게 짚고 넘어 가겠다. Encoder파트 attention의 주된역할은 고정길이 벡터 개선이였다. 시계열 데이터가 커지면 커질 수록 고정길이 벡터는 입력데이터를 표현하기 점점 어려워 지기 때문이다. 그렇기에 입력데이터에 따른 크기의 유동적인 조절이 필..
2021.08.17 -
Seq2Seq 개선 (Reverse, Peeky, Attention-어텐션)
이번 장에서는 앞에서 설명한 seq2seq의 구조를 살짝 변경해 성능을 올리는 기술을 설명 하겠다. 구조자체는 간단한 기술이라서 설명할 것이 많지 않기에 가볍게 봐주었으면 좋겠다. 하지만 이장 마지막에 나올 어텐션 기술을 위한 고정길이 벡터 개선 부분은 매우 중요한 기술이니 정확이 이해하는 것을 추천한다. 입력 데이터 반전(Reverse) 제목그대로 우리가 시계열 데이터 xs를 모델에 입력을 할 때 그 입력데이터의 순서를 반전 시켜 주는 것이 하나의 방법이 될 수 있다. 반전의 형식은 모든 행마다 열부분을 반전 시켜주는 것인데 예를들어 "나는 밥을 먹는다."가 입력이 되면 ".먹는다 밥을 나는" 가 입력값이 되는 것이다. 아이디어 자체는 어려운게 없어서 구현부는 설명을 패스 하겠지만 왜 이 기술이 효과 ..
2021.08.14 -
seq2seq(Sequence to Sequence)
지금까지 우리는 단어의 분산표현과 언어모델들을 공부하였다. 특히 전 장에서 LSTM의 구조를 배웠다. 이제 이 언어모델을 실제 활용 하여 AI에게 새로운 문장을 만들게 할 수 있게되었다. 그리고 언어모델의 구조를 응용하여 챗봇이나 번역시스템등 여러가지 활용이 가능하다는 것을 이번에 알게 되었다. 이번 장에서 포스팅 할 내용은 Encoder와 Decoder의 구조와 그 2개를 결합해 seq2seq 즉 시계열 데이터를 시계열 데이터로 변환하는 작업을 진행 해 볼 것이다. seq2seq의 전체모습 위 사진이 seq2seq의 전체적인 모습이다. 현재 모델의 목적은 번역이다. 구조안에 들어있는 요소들은 다 저번에 포스팅 했던 것들이라 충분히 알고있으리라 생각한다. 그렇다면 문제는 이러한 결합구조가 어떤 의미를 띄..
2021.08.04