0. 서론
https://github.com/Mids/TransformerProject
레포 이름에 j가 빠져서 프로엑트였던걸 이제야 알고 수정함;;
이번꺼는 좀 짧습니다.
1. 본론
인코더 안에 이거 구현할거임
주석으로 다 써있다.
1. 인풋을 Multi-Head Attention에 넣고
2. 결과에 인풋 더하고나서 LayerNorm을 해준다.
3. Feed Forward에 다시 넣어주고
4. Attention의 아웃풋을 더해주고 또 LayerNorm
저 norm은 같은걸로 써도 별로 상관 없을거같은데 이리저리 구글링해보니까 다들 두개로 나눠서 했더라
처리하면서 내부의 뭔가가 바뀌거나 하나..?
정확히 어떻게 돌아가는건지 나도 모르겠음...
NLP고수의 조언이 필요하다ㅠㅠ
layer normalization도 그렇고 batch normalization도 그렇고 내부에 학습 가능한 스케일링 팩터들이 있음. 둘 다 NN에서 핵심적으로 쓰이는 것들이니 제대로 하고 싶으면 논문 한번씩 읽어보는걸 추천
귀찮으면 이거만 봐도 나와 있음
https://pytorch.org/docs/stable/nn.html#torch.nn.LayerNorm
여기서 학습하는 패러미터들은 딥러닝 학습보다는 통계적인 테크닉에 가까움
처음 배우는게 너무 많아서 다 보기가 힘들다 ㅠㅠ 땡큐