Open maxseats opened 2 months ago
안녕하세요, 구현하느라 정말 고생 많으셨습니다!
추가로 요청드리고 싶은 건 작성해주신 코드를 팀에서 리뷰를 하기 위해선 PR을 등록해주셔야 해요 ㅎㅎ
Github Repository > Pull Requests > New Pull Request > compare branch의 feature/add_norm 선택 > Create pull request
이 순서대로 클릭 후 PR을 작성해주시면 다른 분들이 코드를 보고 리뷰할 수 있어요!
고생 많으셨습니다! 감사합니다 🙇♂️
리뷰 감사합니다 관옥님~! 등록된 양식으로 PR 올렸습니다!
Feature Description
Transformer의 Attention 이후 수행되는 Residual Connection 기능을 구현하고자 합니다. 추가적으로 이 단계에서 Layer Normalization도 함께 수행되기에, 시간이 된다면 이 부분도 같이 맡아보겠습니다.
Motivation and Context
이 단계를 거치면 Attention의 output을 그대로 쓰지 않고, input을 추가적으로 더해줌으로써 Back Propagation 도중 발생할 수 있는 Gradient Vanishing 문제를 방지하며 학습을 안정화할 수 있습니다. Transformer 구조에서 다음 단계로 값을 넘겨주기 위한 필수적인 과정이라고 생각했습니다.
Proposed Solution
Residual Connection : attention의 출력 f(x)에 입력 x를 더해주어야 합니다. y=f(x)를 y=f(x) + x로 변경하는 것으로 구현할 예정입니다. Layer normalization : attention의 출력 f(x)에 평균 m을 빼주고, 표준편차로 나누는 부분을 구현할 예정입니다.
Optional
Alternatives Considered
Additional Information
이 단계를 수행하기 위해서는 Attention의 입력 및 출력 차원이 동일해야 한다는 주의 점이 있습니다. Attention에서의 value 벡터의 차원을 조정함으로써 입력과 출력 차원 수를 동일하게 맞춰줄 수 있습니다.