검색
검색
공개 노트 검색
회원가입로그인

습작 트랜스포머가 괴상한 점

갑자기 생각이 떠올라 글을 써본다

트랜스포머가 가장 이전의 뉴럴넷과 다른점은 self-attention의 존재가 아니다.

트랜스포머만이 여러개의 벡터 임베딩을 프로세싱하는것에 있다.

트랜스포머는 이 멀티 벡터 임베딩을 parallel하게(self-attention, 혹은 matrix muliplication + weighted average라고 부를수있겠따) 프로세싱하여 더욱 "서로서로 시멘틱하게 문장속에서 어울리게 혹은 문장의 의미에 더 부합하게" 바꾼다.

기존 뉴럴넷은 결국 한개의 벡터 임베딩(배치나 멀티헤드 같은건 무시하도록 하자)을 프로세스하는 것이다.

트랜스포머는 여러개의 벡터 임배딩을 뉴럴넷이 돌아가며 프로세스하되 프로세스를 돌린 후 혹은 전에 self-attention이라는 방법론(어차피 똑같은 matrix multiplication이지만)을 통해 전체 여타 벡터 임베딩들과 각각 가중치를 나눈뒤 adding이 된다. 마치 layer를 거칠때마다 가중치가 부여된채 결합이 된다. a_1,b_1,c_1,d_1가 있다고 하자 a_2 = 0.7*a_1 + 0.1*b_1 + 0.2*c_1 + 0*d_1 요런 느낌이다(말도안되게 simplified한거라 그냥 느낌만 가져가도록 하자 요걸로 아는척하면 망신당할수이씀,,,) 그런 과정을 a,b,c,d 모두가 거치고 뉴럴넷을 거치고 또 self-attention을 거치고 반복에 반복이다.

그런뒤 최종 단에는 당연히 a,b,c,d가 존재하고 [cls]토큰에 이 모든 정보를 담은 토큰이 존재한다(이것도 사실 이해가 1도 안간다... 미스터리 그자체) 이걸 최종 일종의 decoder라 볼수있는 심플한 뉴럴넷을 거쳐서 다음 단어를 고르는거다

트랜스포머가 그동안 보여준 퍼포먼스가 말도안되는것보다 나는 이게 사실 더 놀랍다

"긴 문장으로 된 아주 어려운 문제가 있다고 해보자, gpt4를 모두 거친 결과물인 축약된 1개의 벡터 임베딩 안에 답이 있다는거다. 그러니 그걸 그냥 심플한 뉴럴넷에 넣어서 다음 단어를 찾는 과정을 넣고 넣고 넣으면 인간도 놀랄 수준의 결과물을 만들어낸다라... 이게 말이되냐고;"

다시 말해 최종 decoder라 할수있는 심플한 뉴럴넷을 거치기전 즉, gpt4를 통해 만들어진 마지막 임베딩들의 축약은 이 문제의 정답을 고스란히 담고있다.

조회수 : 124
heart
공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
T
페이지 기반 대답
AI Chat