[Week7] Transformer(1)

PangDae·2021년 9월 20일
0

Transformer

  • RNN Model의 구조적 한계

    이전 강의에서 RNN Model의 Long Term Dependency를 해결 할 수 있는 Attention Module에 대해 배웠다. 하지만 RNN의 구조적 문제 때문에 근본적인 해결책이 될 수 없었다. 이를 해결 하기위해 나온것이 Transformer Model이다.

Transformer의 구조

  • Self-Attention을 이용한 Transformer

Transformer은 input으로 들어오는 데이터들을 key,qurie,value vector로 각각 선형변환되어 사용된다. key로 변환된 vector와 qurie vector로 변환된 모든 vector를 내적하여 각각의 vector들 간에 유사도를 구한다. 이 유사도를 SoftMax를 취하여 나온 값만큼의 가중치를 Value vector에서 추출하여 결과 값으로 사용한다. 이렇게 작동하는 것이 Self-Attention 이다.

Transformer의 wight

  • key,value,qurie의 차원과 output은 같아야 할까?

Input과 Output의 차원은 같아야한다. 하지만 Key와 Value,qurie vector의 차원은 같지 않아도 된다. 위의 사진을 보자. Key Vecotr는 Input vector와 Wk의 연산으로 계산되고, Qurie Vector는 모든 input vector와 Wq 연산으로 계산된다. 위 사진을 한번 보자, 이때 key,Qurie vector와 output의 차원이 맞지 않아도, 두 vector의 product 연산의 특성으로 인해 차원이 같아지는 것을 확인할 수 있다. 결국은 Value vector의 차원과 output차원이 같으면 key,Qurie vector의 차원은 더좋은 결과를 위해 늘리거나 줄여도 상관 없다는 것이다.

Transformer의 가중치 쏠림 현상

  • 차원이 커지면 거질수록 심해지는 가중치 쏠림 현상
    차원이 커지면 커질수록 특정 값에대한 가중치가 커지게 된다. 예를들어 생각해보자. 100이라는 표본의 분산은 10이고, 4라는 표본의 분산은 2이다. 이를 차원에 대입해서 생각해보면 Output Vector의 차원이 100일 때, 차원이 4인 output Vector보다 분산이 커서 가중치 쏠림현상이 발생 할 수 있다는 것을 알게된다. 이를 해결하기 위해 사진의 식을 살펴보자. 이러한 현상을 해결하기 위해 간단하게 차원의 루트만큼을 각 가중치에 나눠주는 방식으로 해결한 것을 알수 있다. 이와 같은 간단한 정규화 방식으로 우리는 성능이 좋은 Transformer model을 사용할 수 있다.

학습정리를 미루고 미루다 추석때 몰아서 정리하게된다. 앞으로는 바로바로 정리하자 제발.. ㅠ

profile
개발이 하고싶습니다.

0개의 댓글