6-2. attention
attention 은 rnn 으로 sequence 2 sequence에서 bottle neck problem(시간관계없고, 어떤문장이든 길어지던간에 고정길이 ht에 정장한다.) 을 해결하기 위해 나옴
data의 어떤 부분에 집중 attention해서 출력을 계산해야할지 자동으로 학습하는기법
장점: 중요한부분에 집중해서 계산(마지막 ht만 본게 아니라 여러 h를 보면서 그중 어디 집중할지 보니,
정보손실이 없다)
bottle nectk problem: final ht에 너무 많은 정보를 넣어서 병목현상문제 발생
해결점 -> attention mechanisam
입력문제를 다 보지 않고 집중해서 몇몇만 봄
attention -> 입력값, 출력값을 잘 나열 -> alignment로 부름 (without supervision)
hn x d1 -> softmax -> 출력값 attention값들(distribution) (h1,h2,h3,h4 x d1-> 내적한후 softmax 한값이 a1,a2, a3, a4)
입력문장 h1,h2,h3,h4에 문장내에 어떤부분을 가중치를 많이 줄건가 -> 가중합 a를 곱함
concatenate
가중합 = z백터
여기에 d1벡터를 concatnate -> x벡터
여기에 원하는 y^ 을 구하기 위해 w를 곱한다.
위 과정을 반복 -> attention
attention - 집중하는 부분 - 하얀색