RNN Encoder-Decoder(Sequence-to-Sequence)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[ニューラルネットワーク]]、[[言語処理(AI)]])
--一般的なフツーの[[ニューラルネットワーク]]
---[[順伝播型ニューラルネットワーク(FNN)>ニューラルネッ...
---[[ディープニューラルネットワーク(DNN)>ニューラルネッ...
---[[畳み込みニューラルネットワーク(CNN)]]
--[[再帰型ニューラルネットワーク(RNN)]]
---[[長短期記憶ニューラルネットワーク(LSTM)]]
---RNN Encoder-Decoder(Sequence-to-Sequence)
--[[生成モデル>機械学習の理論#p3f4e303]]系の[[ニューラル...
---[[自己符号化器(AE:オートエンコーダ)]]
---[[テキスト生成系(Transformer系)]]
---[[敵対的生成ネットワーク(GAN)]]
*目次 [#g3f5c3af]
#contents
*概要 [#pe33e681]
[[コチラ>再帰型ニューラルネットワーク(RNN)#ye7bfc6b]]で...
*詳細 [#z88ba65f]
**[[機械翻訳]]での利用 [#pb1ed8f6]
***RNN EncDec [#h871aa88]
-RNN EncDecとはRNN Encoder-Decoderの事で、ココでは~
--[[AIcia Solid Project>#r5eddee7]]で紹介されていた論文中...
--コレは[[ゼロつく2>#ub0d1e19]]のRNN Encoder-Decoder([[...
-入出力
--入力~
翻訳前embedding単語列(x1, x2, ... ,xi)
--出力
---翻訳後embedding単語[確率]列(P(y1), P(y2), ... ,P(yi))
---この確率分布(p(yi))から(BEAM searchで)単語(yi)を...
-Encoder:~
[[GRU>長短期記憶ニューラルネットワーク(LSTM)#reea7d9e]]...
--文(x1, x2, ... ,xi)を意味ベクトルCへ変換。
--意味ベクトルCは一番最後の再帰段階の隠れ状態(C = Sn^(e))
-Decoder:~
[[GRU>長短期記憶ニューラルネットワーク(LSTM)#reea7d9e]]...
--確率分布を出して単語を選ぶ。
--P(yi) = P(yi|yi-1, Si^(d), C)~
P(yi):単語の確率, yi-1:前の単語, Si^(d):隠れ状態, C:意味...
---RNN層にはどの再帰の段階でも意味ベクトルCと隠れ状態(Si...
---一番最初の再帰段階のRNN層への入力は[BOS]で、隠れ状態は...
---RNN層の出力を出力層(Affine変換+[[Softmax>ニューラル...
---ニ番目以降の再帰段階のRNN層への入力は前段で選択した単...
---一番最後の再帰段階のRNN層→出力層からの最終的な出力は[E...
|#ref(Encoder-Decoder.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
***[[Attention>言語処理(AI)#qc74fd48]]の概要 [#oc99a385]
-論文中は、AttentionではなくAlign(softalign / softsearch)...
-これは、機械翻訳で単語の対応関係を表す情報を「Align」と...
-Attentionとは、
--注意表現を学習する仕組み。
--Attentionとは簡単に言うと、
---注意の英単語である Attentionからきている。
---従来の意味ベクトルではなく、入力単語への参照を追加した...
--「時間の重み」の概念をネットワークに組み込んだもの。
---近年、Attention機構を追加することにより精度が向上した...
---Attentionの重みによってどの時間の入力を重視しているか...
-機構~
2層のNNを使って 「入力単語」「隠れ状態(今まで何書いた?)...
--[[LSTM>長短期記憶ニューラルネットワーク(LSTM)]]などで...
---必要な情報は強調し、不必要な情報は目立たなくする。
---より良い注意表現を学習できれば膨大な情報から~
注意を向けるべき情報に焦点を当てて処理をすることが可能に...
--[[Enc-Dec、Seq2Seq>#h871aa88]]の問題は
---「本質」の意味ベクトルが固定次元なので長い系列の場合、...
---実際に、[[機械翻訳]]タスクで長文では単語数が増えるに連...
---この問題を解決するために、Attentionは固定次元の意味ベ...
--[[機械翻訳]]タスクでは、文中の単語の意味を理解する時に、~
文中のどの単語に注目すれば良いかを表すスコアとなる。
---入力単語~出力単語、どれに対応しているか?(対応付けの...
---入力の各単語のベクトルの重みを足して、出力が注意を向け...
---例えば英語でitが出て来たら、その単語だけでは翻訳できな...
itを含む文章中のどの単語にどれだけ注目すべきかというスコ...
-種類~
以下の種類があるが、ココでは、Source-Target Attentionにに...
--Source-Target Attention
---2つの文中の単語間の関係性を算出するAttention機構
---Key・ValueとQueryが異なる2つの文から生成される。
--Self-Attention(自己アテンション)
---同一の文中の単語同士の関係性を捉えるAttention機構
---Key・ValueとQueryが同一の文から生成される。
***RNN search [#ree0369e]
-RNN searchとはsoftsearch(つまりAttention)を実装した[[R...
--[[AIcia Solid Project>#r5eddee7]]で紹介されていた論文中...
--コレは[[ゼロつく2>#ub0d1e19]]のAttentionを実装した[[RN...
-入出力
--入力~
翻訳前embedding単語列(x1, x2, ... ,xi)
--出力
---翻訳後embedding単語[確率]列(P(y1), P(y2), ... ,P(yi))
---この確率分布(p(yi))から(BEAM searchで)単語(yi)を...
-Encoder:~
[[Bidirectional>長短期記憶ニューラルネットワーク(LSTM)#...
--文(x1, x2, ... ,xi)の前後の文脈を加味して単語をベクト...
--コレは→方向と←方向の2つのベクトル(→hj, ←hj)をconcat...
--←方向のEncoderの一番最後の再帰段階の単語ベクトルをDecod...
|#ref(Attention_RNN_Search1.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
-Decoder:~
[[GRU>長短期記憶ニューラルネットワーク(LSTM)#reea7d9e]]...
--確率分布を出して単語を選ぶ。
--P(yi) = P(yi|yi-1, Si^(d), Ci)~
P(yi):単語の確率, yi-1:前の単語, Si^(d):隠れ状態, Ci:文脈...
---RNN層にはどの再帰の段階でも隠れ状態(Si^(d))を入力す...
---一番最初の再帰段階のRNN層への入力は[BOS]で、~
隠れ状態は、例外的に←方向のEncoderの一番最後の再帰段階の...
---RNN層の出力をAttention層→出力層で単語の確率分布(p(yi)...
・Ciとhを使って計算したhj^tをAffine変換+[[Softmax>ニュー...
・単語を選択するsoftmaxの前にsinglemaxoutを通す([[Bidire...
---ニ番目以降の再帰段階のRNN層への入力は前段で選択した単...
---一番最後の再帰段階のRNN層→Attention層→出力層からの最終...
--C → Ci は、従来の意味ベクトルではなく、入力単語への参照...
再帰セルに2層のNNを重ね(Attention機構、Align(softalign /...
|#ref(Attention_RNN_Search2.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
***[[Attention>言語処理(AI)#qc74fd48]]の計算 [#efa6e9c6]
-Attention の基本は query と memory(key, value) ~
Attention とは query によって memory(key, value) から必要...
-[[KVS>NoSQL - KVS型]]が語源になっているが実際の仕組みは...
--[[KVS>NoSQL - KVS型]]ではMemoryをKey・Valueの対で構成し...
--AttentionではQueryとKeyの類似度(内積)を[[Softmax>ニュ...
--この重み(Attention_Weight)とVのdot積=加重和がCi(文...
-Q、K、V~
--Query Q~
decoderのRNNセルから出力される情報:Si-1^(d) = h
--Key K~
encoderから連動される単語ベクトル(hj)のリストで行列(hs)
--Value V~
encoderから連動される単語ベクトル(hj)のリストで行列(hs...
-計算方法
--hs(memory(K, V))はhj(Encoderの単語ベクトル)のリス...
--h(= Si^(d))とhs(K)のdot積=内積(hW・hs)(Wは重み...
この類似度を[[Softmax>ニューラルネットワーク(推論)#b77b...
---ベクトルの内積は同方向の場合は大きくなり、直行する場合...
---ゼロつく2では、hWのWは使用しないで、そのまま、生のhを...
--この重み(Attention_Weight)とhs(V)のdot積=加重和がC...
---hj(Encoderの単語ベクトル)* 重み(Attention_Weight)
---上記のすべてベクトルを足し合わせるとCiになる。
--Ciとhを使って出力層で計算する。
|#ref(Attention_RNN_Search0.png,left,nowrap,イメージ,70%)|
|#ref(Attention_RNN_Search3.png,left,nowrap,イメージ,50%)|
|#ref(Attention_RNN_Search4.png,left,nowrap,イメージ,50%)|
|#ref(Attention_RNN_Search5.png,left,nowrap,イメージ,50%)|
|#ref(Attention_RNN_Search6.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
**[[ロボティクスでの利用>人工知能(AI):ロボティクス#o2f...
*参考 [#k9e4c67e]
-深層学習についてのレポート(RNN編)(LLM編)~
https://www.osscons.jp/joho108j0-537/#_537
**[[ゼロつく2>言語処理(AI)#s380107d]] [#ub0d1e19]
**Qiita [#mab5d9d6]
-ta2bonn~
https://qiita.com/ta2bonn/
--Attentionを理解するためにRNN、Word2Vec、LSTM、Seq2Seq、...
https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778
**YouTube [#j8a7799c]
***[[AIcia Solid Project>再帰型ニューラルネットワーク(RN...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-戻る([[ニューラルネットワーク]]、[[言語処理(AI)]])
--一般的なフツーの[[ニューラルネットワーク]]
---[[順伝播型ニューラルネットワーク(FNN)>ニューラルネッ...
---[[ディープニューラルネットワーク(DNN)>ニューラルネッ...
---[[畳み込みニューラルネットワーク(CNN)]]
--[[再帰型ニューラルネットワーク(RNN)]]
---[[長短期記憶ニューラルネットワーク(LSTM)]]
---RNN Encoder-Decoder(Sequence-to-Sequence)
--[[生成モデル>機械学習の理論#p3f4e303]]系の[[ニューラル...
---[[自己符号化器(AE:オートエンコーダ)]]
---[[テキスト生成系(Transformer系)]]
---[[敵対的生成ネットワーク(GAN)]]
*目次 [#g3f5c3af]
#contents
*概要 [#pe33e681]
[[コチラ>再帰型ニューラルネットワーク(RNN)#ye7bfc6b]]で...
*詳細 [#z88ba65f]
**[[機械翻訳]]での利用 [#pb1ed8f6]
***RNN EncDec [#h871aa88]
-RNN EncDecとはRNN Encoder-Decoderの事で、ココでは~
--[[AIcia Solid Project>#r5eddee7]]で紹介されていた論文中...
--コレは[[ゼロつく2>#ub0d1e19]]のRNN Encoder-Decoder([[...
-入出力
--入力~
翻訳前embedding単語列(x1, x2, ... ,xi)
--出力
---翻訳後embedding単語[確率]列(P(y1), P(y2), ... ,P(yi))
---この確率分布(p(yi))から(BEAM searchで)単語(yi)を...
-Encoder:~
[[GRU>長短期記憶ニューラルネットワーク(LSTM)#reea7d9e]]...
--文(x1, x2, ... ,xi)を意味ベクトルCへ変換。
--意味ベクトルCは一番最後の再帰段階の隠れ状態(C = Sn^(e))
-Decoder:~
[[GRU>長短期記憶ニューラルネットワーク(LSTM)#reea7d9e]]...
--確率分布を出して単語を選ぶ。
--P(yi) = P(yi|yi-1, Si^(d), C)~
P(yi):単語の確率, yi-1:前の単語, Si^(d):隠れ状態, C:意味...
---RNN層にはどの再帰の段階でも意味ベクトルCと隠れ状態(Si...
---一番最初の再帰段階のRNN層への入力は[BOS]で、隠れ状態は...
---RNN層の出力を出力層(Affine変換+[[Softmax>ニューラル...
---ニ番目以降の再帰段階のRNN層への入力は前段で選択した単...
---一番最後の再帰段階のRNN層→出力層からの最終的な出力は[E...
|#ref(Encoder-Decoder.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
***[[Attention>言語処理(AI)#qc74fd48]]の概要 [#oc99a385]
-論文中は、AttentionではなくAlign(softalign / softsearch)...
-これは、機械翻訳で単語の対応関係を表す情報を「Align」と...
-Attentionとは、
--注意表現を学習する仕組み。
--Attentionとは簡単に言うと、
---注意の英単語である Attentionからきている。
---従来の意味ベクトルではなく、入力単語への参照を追加した...
--「時間の重み」の概念をネットワークに組み込んだもの。
---近年、Attention機構を追加することにより精度が向上した...
---Attentionの重みによってどの時間の入力を重視しているか...
-機構~
2層のNNを使って 「入力単語」「隠れ状態(今まで何書いた?)...
--[[LSTM>長短期記憶ニューラルネットワーク(LSTM)]]などで...
---必要な情報は強調し、不必要な情報は目立たなくする。
---より良い注意表現を学習できれば膨大な情報から~
注意を向けるべき情報に焦点を当てて処理をすることが可能に...
--[[Enc-Dec、Seq2Seq>#h871aa88]]の問題は
---「本質」の意味ベクトルが固定次元なので長い系列の場合、...
---実際に、[[機械翻訳]]タスクで長文では単語数が増えるに連...
---この問題を解決するために、Attentionは固定次元の意味ベ...
--[[機械翻訳]]タスクでは、文中の単語の意味を理解する時に、~
文中のどの単語に注目すれば良いかを表すスコアとなる。
---入力単語~出力単語、どれに対応しているか?(対応付けの...
---入力の各単語のベクトルの重みを足して、出力が注意を向け...
---例えば英語でitが出て来たら、その単語だけでは翻訳できな...
itを含む文章中のどの単語にどれだけ注目すべきかというスコ...
-種類~
以下の種類があるが、ココでは、Source-Target Attentionにに...
--Source-Target Attention
---2つの文中の単語間の関係性を算出するAttention機構
---Key・ValueとQueryが異なる2つの文から生成される。
--Self-Attention(自己アテンション)
---同一の文中の単語同士の関係性を捉えるAttention機構
---Key・ValueとQueryが同一の文から生成される。
***RNN search [#ree0369e]
-RNN searchとはsoftsearch(つまりAttention)を実装した[[R...
--[[AIcia Solid Project>#r5eddee7]]で紹介されていた論文中...
--コレは[[ゼロつく2>#ub0d1e19]]のAttentionを実装した[[RN...
-入出力
--入力~
翻訳前embedding単語列(x1, x2, ... ,xi)
--出力
---翻訳後embedding単語[確率]列(P(y1), P(y2), ... ,P(yi))
---この確率分布(p(yi))から(BEAM searchで)単語(yi)を...
-Encoder:~
[[Bidirectional>長短期記憶ニューラルネットワーク(LSTM)#...
--文(x1, x2, ... ,xi)の前後の文脈を加味して単語をベクト...
--コレは→方向と←方向の2つのベクトル(→hj, ←hj)をconcat...
--←方向のEncoderの一番最後の再帰段階の単語ベクトルをDecod...
|#ref(Attention_RNN_Search1.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
-Decoder:~
[[GRU>長短期記憶ニューラルネットワーク(LSTM)#reea7d9e]]...
--確率分布を出して単語を選ぶ。
--P(yi) = P(yi|yi-1, Si^(d), Ci)~
P(yi):単語の確率, yi-1:前の単語, Si^(d):隠れ状態, Ci:文脈...
---RNN層にはどの再帰の段階でも隠れ状態(Si^(d))を入力す...
---一番最初の再帰段階のRNN層への入力は[BOS]で、~
隠れ状態は、例外的に←方向のEncoderの一番最後の再帰段階の...
---RNN層の出力をAttention層→出力層で単語の確率分布(p(yi)...
・Ciとhを使って計算したhj^tをAffine変換+[[Softmax>ニュー...
・単語を選択するsoftmaxの前にsinglemaxoutを通す([[Bidire...
---ニ番目以降の再帰段階のRNN層への入力は前段で選択した単...
---一番最後の再帰段階のRNN層→Attention層→出力層からの最終...
--C → Ci は、従来の意味ベクトルではなく、入力単語への参照...
再帰セルに2層のNNを重ね(Attention機構、Align(softalign /...
|#ref(Attention_RNN_Search2.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
***[[Attention>言語処理(AI)#qc74fd48]]の計算 [#efa6e9c6]
-Attention の基本は query と memory(key, value) ~
Attention とは query によって memory(key, value) から必要...
-[[KVS>NoSQL - KVS型]]が語源になっているが実際の仕組みは...
--[[KVS>NoSQL - KVS型]]ではMemoryをKey・Valueの対で構成し...
--AttentionではQueryとKeyの類似度(内積)を[[Softmax>ニュ...
--この重み(Attention_Weight)とVのdot積=加重和がCi(文...
-Q、K、V~
--Query Q~
decoderのRNNセルから出力される情報:Si-1^(d) = h
--Key K~
encoderから連動される単語ベクトル(hj)のリストで行列(hs)
--Value V~
encoderから連動される単語ベクトル(hj)のリストで行列(hs...
-計算方法
--hs(memory(K, V))はhj(Encoderの単語ベクトル)のリス...
--h(= Si^(d))とhs(K)のdot積=内積(hW・hs)(Wは重み...
この類似度を[[Softmax>ニューラルネットワーク(推論)#b77b...
---ベクトルの内積は同方向の場合は大きくなり、直行する場合...
---ゼロつく2では、hWのWは使用しないで、そのまま、生のhを...
--この重み(Attention_Weight)とhs(V)のdot積=加重和がC...
---hj(Encoderの単語ベクトル)* 重み(Attention_Weight)
---上記のすべてベクトルを足し合わせるとCiになる。
--Ciとhを使って出力層で計算する。
|#ref(Attention_RNN_Search0.png,left,nowrap,イメージ,70%)|
|#ref(Attention_RNN_Search3.png,left,nowrap,イメージ,50%)|
|#ref(Attention_RNN_Search4.png,left,nowrap,イメージ,50%)|
|#ref(Attention_RNN_Search5.png,left,nowrap,イメージ,50%)|
|#ref(Attention_RNN_Search6.png,left,nowrap,イメージ,50%)|
|https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778|
**[[ロボティクスでの利用>人工知能(AI):ロボティクス#o2f...
*参考 [#k9e4c67e]
-深層学習についてのレポート(RNN編)(LLM編)~
https://www.osscons.jp/joho108j0-537/#_537
**[[ゼロつく2>言語処理(AI)#s380107d]] [#ub0d1e19]
**Qiita [#mab5d9d6]
-ta2bonn~
https://qiita.com/ta2bonn/
--Attentionを理解するためにRNN、Word2Vec、LSTM、Seq2Seq、...
https://qiita.com/ta2bonn/items/c645ecbcf9dabd0c4778
**YouTube [#j8a7799c]
***[[AIcia Solid Project>再帰型ニューラルネットワーク(RN...
ページ名: