질문사항
Q) Multi Head Attention 코드 구현시 word embedding의 dimension을 head 개수만큼 나누는데 이 과정에서 단어의 의미가 소실되지는 않을지?
⇒ 오히려 MHA를 사용하는 이유가, 512 차원의 데이터가 한 번에 학습이 진행되면 dimension마다 dependency가 생긴다하여 MHA로 하는 것으로 알고 있습니다. 다만, 진명훈님이 리뷰한 내용을 보면, 실제로 MHA로 진행해도 row rank problem(?)이 발생한다고 합니다. 이 부분이 결국 bottleneck 현상이라고 말하신 거 같습니다. 그래서 layer norm, residual conntection, position-wise FFN와 같은 방법을 통해 해당 문제를 해결했다고 합니다.
Q) Learning rate scheduler에 대한 질문
⇒ 학습 초기에는 gradient가 랜덤하게 형성되므로, 빠르게 minima를 찾아야 합니다. 그래서 초반에는 조금 더 빠르게 minima를 찾도록 lr를 늘려주는 것이며, 어느 정도 지속되면 minima를 찾았다는 가정 하에 lr를 줄여줌으로써 minima를 찾게 됩니다.
Q) restricted Self-attention O(rnd)
⇒ ristricted는, query에 해당하는 단어 주변에 r 개만큼의 단어와의 관계만 보는 겁니다. 따라서 기존에는 sequence 길이인 n개에 해당하는 모든 단어와의 관계를 봤다면, 제한적으로 보는 거라 할 수 있습니다. 결과적으로, 단어마다 r개를 보는데 seq 길이는 n이며, 각 단어의 차원이 d이므로 r x n x d가 됩니다(⇒ Q(r x d) x K^T(d x n) x V(n x d)
여기서 dxd 및 nxn 부분은 matmul이라 한 번에 진행되므로 연산량은 O(1)로 보게 되고, 결과적으로 r x n x d가 남게 됩니다.
질문사항
→ 발표 자료는 논문 리뷰 페이지 참조
Self supervised pre-training models.pptx
질문사항