↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
バード・フル(H5N1)  作者: 弥一


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

16/33

seq2seq(シークエンス・トゥー・シークエンス)


Y(t+1) = F(Y(t), x(t))


「このように書きましたが、実は Y(t) のままだと不十分です」


「不十分って、どういうことなの」ミアが尋ねる。


「Y(t)に入るのは、具体的には”吾輩”とか”猫”という単語です。UTF-8文字コード体系では、それぞれ6バイト、3バイトの文字コードにすぎません」


「そうね」


「そこで、例えば100個ほどの実数からなる隠れ層ベクトル h(t) を導入して Y(t) の代わりをさせます。学習の余地を与えていると言ってもいいでしょう」


h(t) =f(U・x(t)+W・h(t-1) + b)

y(t) =g(V・h(t) + c)


「f(). g() はある種の関数です。 U,V,W は行列です。 U・x(t) は行列と ベクトルx(t) の積です。行列とベクトルの積は、以下のように計算します」


挿絵(By みてみん)


「『総和(そうわ)』を表すΣでの表記もいちばん右に書いてあります。 i のところを順に 1,2 として足し算しているだけです。下の段は、具体的な数字を入れた計算例です」


「このように、直前の隠れ状態 (h(t-1)) を利用して次の隠れ状態 (h(t)) を計算するネットワークを、リカレント・ニューラル・ネットワーク(RNN)と呼びます」


「リカレント、自分自身に戻って来るということだな」



「そうです。ただし、従来のRNNでは、長い系列を学習するときに、遠い過去の情報をうまく保持・利用することが難しい場合がありました。」


「そこで、LSTM(Long short-term memory)という『記憶セル』が提案されました。1997年のことです」


「LSTMは効果的に記憶することができましたので、2017年頃まで盛んに利用されました」


挿絵(By みてみん)



「なんだか、急にゴチャゴチャしてきたな。」


「あ、LSTMの式を憶える必要はありません。これは先の方で Attention という技法を紹介するために説明しています」


「ここでLSTMについて覚えておいてほしいのはふたつだけです


・LSTMは h(t)=F(x(t), h(t-1)), y(t) = G(h(t)) という形をしているということ

・ h(t)を計算するには h(t-1) が事前に計算されていなければならない


ということです」


「それは、わかるわ。式を見ればね」


「それはよかった。ともかくもLSTMという『計算セル』はこのようなものです。知識を学習する場所はWf,Ufなどの行列の中にあるウェイト・パラメーターです。では、機械翻訳にもどりましょう」


「あと、ところどころに出て来る 


 σ(W*x(t)+U*h(t-1) + b)


 のσ()のなかの式を 『affine変換』 といいます。数学の 『アフィン変換』から来ています」


 σは、シグモイドという活性化関数です。これは0から1まで、ゆるやかに単調増加する関数で、後ほどグラフをお見せします。





「ニューラルネットワークを使った機械翻訳の方式の一つに、エンコーダー・デコーダー型のモデルがあります」


挿絵(By みてみん)


「エンコーダーに『吾輩は猫である』と入れると、デコーダーから『I am a cat.』と出てくるわけです」


「真ん中にある h がLSTMの隠れ状態ということ」エレナが尋ねる。


「そのとおりです。エンコーダーの中身は、このようになっています」


挿絵(By みてみん)


「LSTMが入っているわね」とミアが言う。


「そうです、幾つもLSTMが書かれていますが、実は1つのLSTMしかありません。何回も同じLSTMで計算しています」


「で、最後の h、『吾輩は猫である』だったら h(6) をデコーダーに渡すのね」


「そうです、そうです。で、デコーダーの中はこうなっています」


挿絵(By みてみん)


「エンコーダーに似ていますが、LSTM自身の1時刻前の出力、画面では★ですが、それを入力にしています。Affine という箱は隠れ層ベクトルを『I』、『cat』などの文字に戻しているところです」


「あと、<eos> というのは文章の終わりを示す記号です。同じように文章の始まりを示す記号に<bos>や<sos>などもあります」


「そして、機械の解答と、正解と突き合わせて、その差を元にしてバックプロパゲーションしてLSTMのなかのウェイト行列のパラメーターを修正しているのね」


「そのとおりです。仕組みは同じです。最初の解答は★〇※▼二十〇<eos>などと、意味不明の文字列ですが、学習が進むと I am a cat. と返すようになります」


「このエンコーダーとデコーダーを組み合わせた翻訳機には、いくつかの種類がありますが、代表的なものが、seq2seq<シークエンス・トゥー・シークエンス>です。2010年代の機械翻訳などに使われていました」


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。