LSTM(3)
-
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 -
LSTM(Long Short-Term Memory)
오늘은 드디어 언어모델에서 가장 중요하다면 할 수있는 LSTM을 설명하는 날이다. 현재 많은 언어모델에서 채용 되고 있으며 성능또한 우수한 기술이니 이 챕터를 시작하는 날만 손꼽아 기다렸다. LSTM의 내부구조는 그렇게 간단한 내용이 아니라 이 기술을 일반 텐서플로 책이나 간단하게 인터넷에서 모델설명만 본사람들은 당연히 블랙박스에 빠질 수 밖에 없다. 그렇기에 LSTM은 꼭 그 내부구조를 완벽하게 파악하는 것은 앞으로도 나 자신의 강력한 무기가 될 것이라고 생각한다. RNN의 한계 LSTM의 기술을 모르기 전까지 우리는 RNN을 사용해서 언어모델을 구축했었다. 하지만 RNN은 엄청나게 큰 문제가 한가지 존재한다. 바로 기울기 소실과 기울기 폭발의 문제다. 인공지능의 학습 과정은 기울기가 제일 큰 부분을 ..
2021.07.30