Seq2Seq


Seq2Seq

RNN의 다양한 구조 중 다대다 (many to many) 구조에 해당하는 모델로, 구조를 살펴보면 인코더와 압축벡터, 디코더로 구성되어있습니다. 인코더를 거치고 나서 나온 hidden state가 디코더의 입력으로 주어지는 hidden state로서의 역할을 하는데, 이것이 곧 인코더에서 수집한 정보를 고정된 벡터로 잘 담아두었다가 디코더에서 그 벡터를 사용해 문장을 생성하는 것으로 볼 수 있죠. 또한 어떤 문장에서 "시작"을 알려주는 start 토큰(Start of Sentence)과 "끝"임을 알려주는 end 토큰 (End of Sentence)를 사전에 정의해두어 디코더의 입력으로는 <SoS>를, 출력에는 <EoS>가 나오게 함으로써 디코더의 문장 생성에 제한을 걸어둡니다. 인코더와 디코더는 하나의 타임스텝에서의 GRU셀 구조처럼 구현했습니다. # declare simple encoder class Encoder(nn.Module): def __init__(self, inpu...


#colab #티쳐포싱 #토큰 #임베딩 #인코더 #벡터 #디코더 #token #teacherforcing #SoS #seq2seq #RNN #pytorch #LSTM #GRU #EoS #encoder #decoder #파이토치

원문링크 : Seq2Seq