래빗 챌린지 - 심층 학습 Day3 Section7 Attention Mechanism
0. 개요
본 기사는 일본 딥 러닝 협회 인정의 강좌 프로그램인 「래빗 챌린지」가 제공하고 있는 과목의 하나인 심층 학습의 리포트이다.
기사 타이틀에 기재된 바와 같이, Day3 Section7 Attention Mechanism에 대해서 이하에 정리한다.
1. Attention
Seq2Seq는 문장의 단어 수에 관계없이 항상 고정 차원 벡터로 입력해야하므로 긴 문장에 대한 대응이 어렵습니다.
디코더의 입력은 인코더의 마지막 상태를 입력으로 하기 때문에 최초의 정보가 잘 매립되지 않는다.
입력과 출력의 어느 단어가 관련되어 있는지 관련도를 학습하는 구조.
관련도를 학습함으로써 관련도가 높은 부분을 추출하여 효율적으로 처리할 수 있다.
입력
나는 펜을 가지고있다.
출력
I have a pen
상기와 같은 번역의 입력과 출력이 있었을 경우, 「나」와 「I」, 「펜」과 「pen」, 「가지고」와 「have」의 관련도가 높다고 할 수 있다.
Query(검색문), Key(사전의 인덱스), Value(사전의 본문)로 구성되어, Query와 가까운 Key를 찾아 Value를 얻는다고 하는 이미지.
참고:
h tps:// 퀵했다. 작은 m/그 외 2개/있어 MS/c645 그림 cbcf9다 BD0C4778
htps : // ksksksks2. 하테나아 ry. jp/엔트리/20160430/1462028071
아래는 E 자격 문제집에 있었기 때문에 초자연한 개요만 기재했지만 충분한 이해에는 멀다…
1.1. Soft Attention
소프트 맥스 함수 등으로 확률 분포를 얻어 가중 평균을 얻는 방법.
참고 : https://qiita.com/ymym3412/items/c84e6254de89c9952c55#attention 메커니즘-2014
1.2. Hard Attention
Soft Attention과 같이 가중치 평균하지 않고, 가중치가 최대가 되는 Value를 꺼내거나, 가중치 행렬을 확률 분포로 간주해 추출하는 수법.
참고 : h tp // 야가미 12. 하테나 bぉg. 코m/엔트리/2017/12/30/175113
2. 확인 테스트
2.1. 확인 테스트 1
RNN과 Word2vec, Seq2Seq, Seq2Seq+Attention의 차이를 간결하게 말해라.
답변:
RNN과 Word2vec :
RNN은 어휘 x 어휘 수만큼의 가중치가 필요하지만, Word2vec는 어휘 수 × 단어 벡터의 차원 수만큼의 가중치가 필요.
Seq2Seq 및 Seq2Seq+Attention:
Seq2Seq는 긴 문장에 대해서 대응이 어렵지만, Attention을 도입하는 것으로 입력과 출력의 관련도에 근거하기 때문에 긴 문장에도 대응할 수 있다.
3. 연습 챌린지
3.1. 트래버스
def traverse(node):
# node:再帰的な辞書{left: node, right: node} rootが最も外側の辞書
# W:グローバル変数として定義されている重み
# bグローバル変数として定義されているバイアス
if not isinstance(node, dict):
v = node
else
left = traverse(node['left'])
right = traverse(node['right'])
v = _activation(W.dot(np.concatenate([left, right])))
return v
left, right의 인접 단어로부터 내적을 취하여 특징량으로 한다.
※ 트래버스는 이런 나무 구조와 같은 가지 갈라진 구조를 모두 빠지지 않고 따라가는 것.
X. 래빗 챌린지란?
래빗 챌린지란, 일본 딥 러닝 협회 인정의 강좌 프로그램의 하나.
E 자격을 수험하기 위해서는 이 래빗 챌린지 등, 어느 하나의 강좌 프로그램을 수료해야 한다.
래빗 챌린지의 특징은 '현장에서 파괴가 효과가 있는 딥 러닝 강좌'의 통학 강좌 녹화 비디오를 편집한 교재를 사용한 자습 스타일이라는 점.
서포트는 다른 강좌보다 적고, 수신이 아니라 자주적으로 배워가는 자세가 아니면 진행되지 않지만, 그만큼, 다른 강좌에 비하면 저렴하고, 손이 내기 쉽다.
어느 정도 지식이 있는 사람, 자력으로 노력하겠다는 녀석이 있는 사람을 위한 것이 아닐까 느낀다.
Reference
이 문제에 관하여(래빗 챌린지 - 심층 학습 Day3 Section7 Attention Mechanism), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Helvetica822/items/528c0f48acc4ea4440f1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Seq2Seq는 문장의 단어 수에 관계없이 항상 고정 차원 벡터로 입력해야하므로 긴 문장에 대한 대응이 어렵습니다.
디코더의 입력은 인코더의 마지막 상태를 입력으로 하기 때문에 최초의 정보가 잘 매립되지 않는다.
입력과 출력의 어느 단어가 관련되어 있는지 관련도를 학습하는 구조.
관련도를 학습함으로써 관련도가 높은 부분을 추출하여 효율적으로 처리할 수 있다.
입력
나는 펜을 가지고있다.
출력
I have a pen
상기와 같은 번역의 입력과 출력이 있었을 경우, 「나」와 「I」, 「펜」과 「pen」, 「가지고」와 「have」의 관련도가 높다고 할 수 있다.
Query(검색문), Key(사전의 인덱스), Value(사전의 본문)로 구성되어, Query와 가까운 Key를 찾아 Value를 얻는다고 하는 이미지.
참고:
h tps:// 퀵했다. 작은 m/그 외 2개/있어 MS/c645 그림 cbcf9다 BD0C4778
htps : // ksksksks2. 하테나아 ry. jp/엔트리/20160430/1462028071
아래는 E 자격 문제집에 있었기 때문에 초자연한 개요만 기재했지만 충분한 이해에는 멀다…
1.1. Soft Attention
소프트 맥스 함수 등으로 확률 분포를 얻어 가중 평균을 얻는 방법.
참고 : https://qiita.com/ymym3412/items/c84e6254de89c9952c55#attention 메커니즘-2014
1.2. Hard Attention
Soft Attention과 같이 가중치 평균하지 않고, 가중치가 최대가 되는 Value를 꺼내거나, 가중치 행렬을 확률 분포로 간주해 추출하는 수법.
참고 : h tp // 야가미 12. 하테나 bぉg. 코m/엔트리/2017/12/30/175113
2. 확인 테스트
2.1. 확인 테스트 1
RNN과 Word2vec, Seq2Seq, Seq2Seq+Attention의 차이를 간결하게 말해라.
답변:
RNN과 Word2vec :
RNN은 어휘 x 어휘 수만큼의 가중치가 필요하지만, Word2vec는 어휘 수 × 단어 벡터의 차원 수만큼의 가중치가 필요.
Seq2Seq 및 Seq2Seq+Attention:
Seq2Seq는 긴 문장에 대해서 대응이 어렵지만, Attention을 도입하는 것으로 입력과 출력의 관련도에 근거하기 때문에 긴 문장에도 대응할 수 있다.
3. 연습 챌린지
3.1. 트래버스
def traverse(node):
# node:再帰的な辞書{left: node, right: node} rootが最も外側の辞書
# W:グローバル変数として定義されている重み
# bグローバル変数として定義されているバイアス
if not isinstance(node, dict):
v = node
else
left = traverse(node['left'])
right = traverse(node['right'])
v = _activation(W.dot(np.concatenate([left, right])))
return v
left, right의 인접 단어로부터 내적을 취하여 특징량으로 한다.
※ 트래버스는 이런 나무 구조와 같은 가지 갈라진 구조를 모두 빠지지 않고 따라가는 것.
X. 래빗 챌린지란?
래빗 챌린지란, 일본 딥 러닝 협회 인정의 강좌 프로그램의 하나.
E 자격을 수험하기 위해서는 이 래빗 챌린지 등, 어느 하나의 강좌 프로그램을 수료해야 한다.
래빗 챌린지의 특징은 '현장에서 파괴가 효과가 있는 딥 러닝 강좌'의 통학 강좌 녹화 비디오를 편집한 교재를 사용한 자습 스타일이라는 점.
서포트는 다른 강좌보다 적고, 수신이 아니라 자주적으로 배워가는 자세가 아니면 진행되지 않지만, 그만큼, 다른 강좌에 비하면 저렴하고, 손이 내기 쉽다.
어느 정도 지식이 있는 사람, 자력으로 노력하겠다는 녀석이 있는 사람을 위한 것이 아닐까 느낀다.
Reference
이 문제에 관하여(래빗 챌린지 - 심층 학습 Day3 Section7 Attention Mechanism), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Helvetica822/items/528c0f48acc4ea4440f1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
3.1. 트래버스
def traverse(node):
# node:再帰的な辞書{left: node, right: node} rootが最も外側の辞書
# W:グローバル変数として定義されている重み
# bグローバル変数として定義されているバイアス
if not isinstance(node, dict):
v = node
else
left = traverse(node['left'])
right = traverse(node['right'])
v = _activation(W.dot(np.concatenate([left, right])))
return v
left, right의 인접 단어로부터 내적을 취하여 특징량으로 한다.
※ 트래버스는 이런 나무 구조와 같은 가지 갈라진 구조를 모두 빠지지 않고 따라가는 것.
X. 래빗 챌린지란?
래빗 챌린지란, 일본 딥 러닝 협회 인정의 강좌 프로그램의 하나.
E 자격을 수험하기 위해서는 이 래빗 챌린지 등, 어느 하나의 강좌 프로그램을 수료해야 한다.
래빗 챌린지의 특징은 '현장에서 파괴가 효과가 있는 딥 러닝 강좌'의 통학 강좌 녹화 비디오를 편집한 교재를 사용한 자습 스타일이라는 점.
서포트는 다른 강좌보다 적고, 수신이 아니라 자주적으로 배워가는 자세가 아니면 진행되지 않지만, 그만큼, 다른 강좌에 비하면 저렴하고, 손이 내기 쉽다.
어느 정도 지식이 있는 사람, 자력으로 노력하겠다는 녀석이 있는 사람을 위한 것이 아닐까 느낀다.
Reference
이 문제에 관하여(래빗 챌린지 - 심층 학습 Day3 Section7 Attention Mechanism), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Helvetica822/items/528c0f48acc4ea4440f1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(래빗 챌린지 - 심층 학습 Day3 Section7 Attention Mechanism), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Helvetica822/items/528c0f48acc4ea4440f1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)