AI·빅데이터 융합 경영학 Study Note
[논문리뷰] Seq2Seq (Sequence to Sequence Learningwith Neural Networks) 본문
[논문리뷰] Seq2Seq (Sequence to Sequence Learningwith Neural Networks)
SubjectOwner 2024. 5. 22. 18:06
참고 자료
밑바닥부터 시작하는 딥러닝2
https://www.youtube.com/watch?v=4DzKM0vgG1Y&t=1s
(여기서부터는 밑바닥2의 챕터 7-2의 요약입니다. )
sequence to sequence
: 한 시계열 데이터를 다른 시계열 데이터로 변환하는 것.
- 기계 번역, 챗봇, 자동 답신에 응용됨.
- 2개의 RNN(= Encoder와Decoder)을 이용함
- Encoder-Decoder모델이라고도 한다.
Encoder
- RNN을 이용해 시계열 데이터를 h라는 은닉 상태의 벡터로 변환한다. (h=hidden) 단순히 RNN이라고 했지만 LSTM이나 GRU를 사용할 수도 있다.
- 은닉상태 h는 고정 길이의 벡터이다. 결국 "인코딩한다" 는 임의 길이의 문장을 고정 길이의 벡터로 변환하는 작업이다.
Decoder
- LSTM과 같은 구성인데 벡터h를 입력받는다는 점만 다르다.
( Encoder와 Decoder 두개의 LSTM으로 구성된 모델이 먼저 Encoder를 통해 언어를 읽고 Context에 해당하는 큰 하나의 고정길이 Vector를 만들어낸다. 그리고 Decoder는 Input과 잠재변수 H 그리고 Context C까지 고려해 조건부 확률을 최대화시키는 output을 내놓는다. )
(본격적인 논문 리뷰 시작)
[Abstract]
- 기존의 DNN(Deep Neural Network)의 경우에는 sequence한 task에 적용이 불가
[Introduction]
- 기존 DNN에 관한 내용
- 음성 인식과 객체 탐지와 같이 많은 task에 사용되고 있음
- 병렬 컴퓨팅이 가능하고, 지도 학습의 경우에는 역전파를 이용하여 최적의 파라미터 찾음
- 그러나, input과 target이 고정된 길이의 벡터로 encoding되는 점이 문제점
- 실제로 대부분의 task는 고정된 길이가 아닐 것이기 때문에, 도메인 독립적인 게 필요
- 이러한 DNN의 문제점에 대하여 Sequence-to-Sequence 모델을 고안함
- input sequence를 하나의 특정 시점에서 받고, output도 똑같이 하나의 특정 시점에서 받음
- 그리고 그 사이에 있는 것들은 모두 recurrent neural network language model임.
- 모델의 구조 (음 사실 이해 못함)
- 결과
- 모델의 구성
- 5개의 deep LSTMs(with 384M parameters and 8,000 dimensional state each)를 앙상블
- simple left-to-right beam-search decoder 사용
- 적은 수(80K)의 단어로 학습한 결과, BLEU score가 34.81임
- 모델의 구성
- 결론
- LSTM이 생각보다 긴 문장에 취약하지 않다고 함
- 어순 배열 바꾸기 trick으로 optimize를 되게 simple하게 해줌
- LSTM의 경우에는 가변 길이의 문장을 고정된 길이로 바꿔주는 것을 학습함
- SOTA 보다는 약간 낮은 BLEU Score이기는 하지만, Sequence한 task를 다뤘다는 점에서 의의
[The Model]
LSTM은 우리의 입력과 잠재벡터 H를 고려해 Vecotr H를 만들고 이를 통해 output을 내놓는 형태이다.
LSTM 모델이 하고자 하는 것은 우리가 출력한 가 input 에 대해 조건부 확률에서 최대화하고 그렇게 만들어낸 예측 문장 T’가 Target sentence T와 최대로 유사하게 하는 것이다.
이때 결과값에 softmax를 씌우게 되면 확률값으로 변하게 된다. 이를 통해 조건부 확률을 최대화하고자 했다. 순차적으로 ABC의 문장을 읽고 난 후에 WXYZ로 내놓을 output에 대한 조건부 확률을 파악하게 된다.
여기에 더해 논문 저자는 4층의 Deep한 LSTM 모델을 사용했으며 문장을 역순으로 읽도록 만들었다. 이는 위의 요약에서 서술한 것처럼 이렇게 진행했을 때 성능이 훨씬 뛰어나기 때문이다.
LSTM은 long sequence 에 대해서 취약하다는 연구들이 있었지만, 해당 논문에서 제안하는 모델에서는 긴 문장에 대해서도 좋은 성능을 보장했다.
LSTM을 이용한 Seq2Seq가 기존 RNN 모델과 다른 점
: (나중에 붙여 쓰기)
문장을 거꾸로 읽는 이유
: (나중에 붙여 쓰기)
(망했다... 아직 다 못했다...)
'Deep Learning' 카테고리의 다른 글
Word2Vec의 Skip-gram 방법 조사 (0) | 2024.05.15 |
---|---|
ResNet 논문 리뷰 (0) | 2024.05.13 |
NLP- CBOW 계산량이 많아 병목현상이 발생한다는 문제점 개선 방법 2가지 (0) | 2024.05.12 |
논문 리뷰_VGG (VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION) (0) | 2024.04.30 |