[2025 04 11] seq to seq RNN 에서 Attention 적용 공부 - Whitmem
[2025 04 11] seq to seq RNN 에서 Attention 적용 공부
AI 개발
2025-04-11 22:51 게시 ed560fb5895df4954b0d

0
0
49
이 페이지는 외부 공간에 무단 복제할 수 없으며 오직 있는 그대로 게시되며 부정확한 내용을 포함할 수 있습니다. 법률이 허용하는 한 가이드 라인에 맞춰 게시 내용을 인용하거나 출처로 표기할 수 있습니다.
This page is not to be distributed to external services; it is provided as is and may contain inaccuracies.
금일은 RNN Attention 에 대해 간단하게 공부하였다. Attention 은 RNN 이나 LSTM에서 장기 의존성 문제를 해소할 수 있는 방법이다.
RNN, LSTM의 경우 타임 스텝을 넘어오면서 맨 앞에 존재하는 센텐스의 미분이 소실되는 문제가 존재한다.
앞 센텐스의 미분이 소실되면, 앞 부분의 연관성이 사라지고, 긴 문장을 기억할 수 없게 된다.
한편, Attention을 활용하여 디코딩 과정에서 인코딩 정보를 다시 기입함으로써 장기 의존성 문제를 해결하고, 긴 문장에 대해서도 제대로 학습/추론할 수 있다.
예를 들어, RNN에서 문장을 넣을 때, 각 단어로 조각낸 뒤에 한 단어씩 RNN 신경망을 거치게 된다. 이 때 각 히든 스테이트가 나오는데, 이 정보는 보통 다음 타임 스텝에 연결되어 이전 단어 정보를 잇는 것이 RNN의 기본 원리이다.
하지만 이 작업이 반복되면 반복될 수록 제일 앞 부분에 존재하는 미분 정보는 서서히 소실되는데, 이 히든 스테이트 정보를 각각 빼내어 직접 어떤 Score 정보를 계산 해주는 것이 Attention이다.
여기서 각 타임 스텝별로 히든 스테이트를 꺼낸 뒤에, 디코딩 시점의 입력 직전 히든 스테이트와 내적한다. 내적하면 스칼라 값이 하나 나오는데, 이것이 Score 점수이다.
즉 하나의 디코딩 시점에서, 인코더의 모든 히든 스테이트에 대해 점수를 구하는 것이라고 보면 된다.각 인코더 히든 스테이트는 각각의 단어가 적용된 하나의 시점을 의미한다. 이렇게 구해진 점수 정보를 소프트 맥스하여 확률 정보로 변환한다.
즉 위 확률은 각각 단어 정보가 담긴 것이라고 보면 된다. 이제 각 인코더 타임 스텝의 히든 스테이트에 곱해주고, 계산 결과 (values)를 모두 더한 뒤 나온 결괏값을 디코딩 스텝의 X 인풋에 추가해주면 되는 것이다.
댓글 0개
댓글을 작성하는 경우 댓글 처리 방침에 동의하는 것으로 간주됩니다. 댓글을 작성하면 일회용 인증키가 발급되며, 해당 키를 분실하는 경우 댓글을 제거할 수 없습니다. 댓글을 작성하면 사용자 IP가 영구적으로 기록 및 부분 공개됩니다.
확인
Whitmemit 개인 일지 블로그는 개인이 운영하는 정보 공유 공간으로 사용자의 민감한 개인 정보를 직접 요구하거나 요청하지 않습니다. 기본적인 사이트 방문시 처리되는 처리 정보에 대해서는 '사이트 처리 방침'을 참고하십시오. 추가적인 기능의 제공을 위하여 쿠키 정보를 사용하고 있습니다. Whitmemit 에서 처리하는 정보는 식별 용도로 사용되며 기타 글꼴 및 폰트 라이브러리에서 쿠키 정보를 사용할 수 있습니다.
이 자료는 모두 필수 자료로 간주되며, 사이트 이용을 하거나, 탐색하는 경우 동의로 간주합니다.