RNN言語モデル(自然言語処理の初歩)

一覧に戻る

 本記事では、言語モデルに関する再帰型ニューラあるネットワークの応用例を紹介します。言語モデルは、多くの重要なAIアプリケーションにとって基礎になるものです。例えば、音声認識、機械翻訳、画像キャプション生成などがあります。基本的なアイディアは、RNNモデルを訓練し、ある単語の次に来る単語を推測する、という方法です。

次にどんな単語が来るのか推測させる

 まず、英文の5万件の動画レビューからなるIMDB動画レビュー(IMDB movie review)というデータセットを準備します。サンプルとしては、次のような文章があります。RNNのモデルは、”you, could, just, imagine, being”の5つの語のシーケンスを読み込み、この文の次にくる”there”を予測したいとします。このモデルは下図の(b)で表されるRNNの一種です。

再帰型ニューラルネットワークのいろいろ

このモデルは人間にとっても難しい課題です。

IMDB動画レビューの言語モデル

 <IMDBとは?>
IMDB(Internet Movie Database)は、映画に関する情報をまとめたデータベースで、機械学習などで利用するためにスタンフォード大学で公開されているデータセットがLarge Movie Review Datasetです。

 さて、このモデルを学習するため、ニューラルネットワークはニューロン(mbedding Neuron)を用いて英単語の意味を学習し、LSTM層の内部状態を用いてテキストの断片を単語の意味で説明できるように学習する必要があります。全結合層のLTSMの出力を得た後、次のステップで、その後に続く単語を推測します。もし、”topic”のような単語をRNNに与えたなら、その話題(topic)に続く文をネットワークが自然言語で生成します。ニューラルネットワークが自分で考えたわけではありません。
 更に改善することを考えると、次の単語を推測するだけではなく、下図の(b)のRNNのように、次の単語とその単語を含む単語のシーケンスを推測するようにします。

再帰型ニューラルネットワークとその展開図

このモデルは、”you, could, just, imagine, being”の単語のシーケンスを入力としたとき、あるステップ\(t\)で単語\(w_t\)を読み、内部状態で表現される\(w_t\)の意味と、次に続くであろうと推測される単語\(w_{t+1}\)とを結合し、出力を”could, just, imagine, being, there”の単語のシーケンスとします。

言語モデルによる単語シーケンスの推測

 RNNの言語モデルは下図のように表せます。このネットワークは、5つの単語シーケンス\(w_1\),\(w_2\),・・・,\(w_s\)を入力とします。あるステップ\(t\)で、入力単語\(w_t\)を埋込層で埋込ベクトル\(x_t\)へ変換します。LSTM層は\(x_t\)とその前にある\(h_{t-1}\)から出力ベクトル\(y_t\)と新しい内部状態\(h_t\)を生成します。最後にsoftmax活性化関数を用いて、\(y_t\)を入力とする全結合層が、次の単語\(w_{t+1}\)の確率を推定します。

RNN言語モデルネットワーク

一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA