예전엔 와 Activation을 안쓰고도 성능이 나온다고? 개쩌네라고 생각했는데
지금 다시 자연어 처리 할일 있어서 논문 다시 읽어보니까
CNN처럼 걍 가중치 행렬 조각조각 낸거 그 이상 그 이하도 아니라는 생각이 드네
걍 나중에 random kitchen sink 처럼 오조오억개 짜리 학습 안시키는 랜덤 변수 놔두고
인덱스만 학습시키는게 나을수도 있겠다는 생각이 든다
예전엔 와 Activation을 안쓰고도 성능이 나온다고? 개쩌네라고 생각했는데
지금 다시 자연어 처리 할일 있어서 논문 다시 읽어보니까
CNN처럼 걍 가중치 행렬 조각조각 낸거 그 이상 그 이하도 아니라는 생각이 드네
걍 나중에 random kitchen sink 처럼 오조오억개 짜리 학습 안시키는 랜덤 변수 놔두고
인덱스만 학습시키는게 나을수도 있겠다는 생각이 든다
qkv projection 없이도 dot product attention은 되는데 projection하는 의의가 뭘까라는 의미인거지?
ㅇㅇ 비슷한 질문인거 같음 부분적으론 1. qkv를 분리해서 좀더 Dense하게 구성해서 학습하게 한다는 목적 자체는 동감하는데 (왜 dot product나 matmul 놔두고 attention을 쓰는지 공감함) 2. 근데 실상은 token index에 들어오는 애만 선별적으로 학습하는거 그 이상 그 이하도 아니지 않나? 라는 의문이 들었음
최근 SA+residual 조합을 gradient flow처럼 해석해보는 연구들이 있었는데 여기에 의거하면 길이n 시퀀스를 마치 n개 파티클처럼 생각해서 파티클들을 이동시켜주는 것처럼 생각함
https://www.sciencedirect.com/science/article/abs/pii/S0950705123005348
이거임?
https://people.lids.mit.edu/yp/homepage/data/2023_transformers1.pdf
내가 봤던건 이거였음 뉴립스2023
암튼 이에 따르면 QK랑 V에 따라서 파티클들의 limit geometry가 달라지고 점마들 후속연구에서는 phase transition 현상도 실험해본거 같음
물론 쟤네들의 가장 중요한 가정은 parameter sharing이니 현실에서 dynamics는 아직 이론적으로 모르긴하다만 ㄲㄲ
딥러닝에 이유가 어딨음 ㅋㅋ 그냥 잘되니까 쓰는거지
QKV pattern은 DB같은 retrieval system에서 따온거임. DB는 hard attention에 해당하지만 자연어는 그렇게 딱딱 대응시키는게 불가능하기 때문에 모든 문맥을 보기 위해 '유사도'를 계산해서 가중평균을 냄 이것이 soft attention임. seq2seq 등에서 먼저 도입됐던 attention은 바로 이 soft attention에 해당하고 이걸 self-attention으로 만들려다 보니 source sentence와 target sentence가 없이 하나의 input sentence를 Query, Key, Value의 세 embedding으로 역할 분담을 시키기 위해 한번 projection 시키는 레이어가 추가됨.
결론은 기존에 있던 QKV 패턴 갔다 쓰려다 현재 모양이 됨. 따라서 기존 QKV 패턴과 같은 원리로 동작할거라고 추측할 수 있고, 이는 자기 문장 자신의 내부 문맥으로부터 스스로 유사도를 계산하고 이를 query, key, value embedding space에 정렬시키는 작업이라고 이해할 수 있음