レポート(深層学習ー2)


<後編1>
Section1:再帰型ニューラルネットワークの概念
・再帰型ニューラルネットワークとは、自然言語処理等のように、時間的に順序を追って流れているデータを、一定間隔に区切って統計的処理を行う、時系列データに対応可能なニューラルネットワークである。
・RNN(Recursive Neural Network)と呼ばれる再帰型ネットワークでは、ある出力層を別のネットワークの入力値として利用する場合がある。また、隠れ層が隠れ層自身に接続して、セルの中を繰り返し次の入力値となる。つまり、ある時点での入力が、その後のネットワークの出力に影響を及ぼすことを繰り返し行うということである。
・BPTTとは、RNNにおける誤差を、時間軸を使ってさかのぼって伝播させていくことを誤差逆伝播法(BackPropagation Through Time)という。これまでのニューラルネットワークでの誤差関数は、二乗誤差等の方法であったが、RNNでは、時間軸に沿っているため、時刻tでの誤差は時刻t-1での誤差を考える必要があり、時刻t-1での誤差は、さらに時刻t-2での誤差を考える必要がある。このように誤差が時間遡って伝播していく。これが誤差逆伝播法(BPTT)である。

Section2:LSTM
・RNNでは、誤算関数を最小化するために時系列に遡っていくが、それに伴い勾配消失問題が発生する課題があった。また、時系列データを常に保持していくため、膨大なメモリーが必要であった。そこで、中間層にLSTM(Long Short Term Memory)のブロックを設置し、入力層の情報を、入力・忘却・出力の3つのゲートで制御するようにしたものである。
・CEC:勾配消失問題を解決する方法で、過去のデータを保存するためのユニット
・入力ゲート、出力ゲート:1つ前の時間のユニット、1つ後のユニット
・忘却ゲート:過去の情報が必要になくなった時点で、CECから削除する
・覗き穴結合:CECに存在する情報の重み情報をつけて伝播させる構造

Section3:GRU
・LSTMを実装した場合、パラメータが多く存在し、過去のデータを保管することなど、計算負荷が増大する問題があった。GRUは、これらの問題を解決し、パラメータを削減し、計算精度を大幅に解消させる構造である。

Section4:双方向RNN
・過去の情報だけでなく、未来の情報も加味してニューラルネットワークの重み付けを最適化していく構造である。文章の推敲や機械翻訳等に利用される。

Section5:Seq2Seq
・Encoder RNN:ユーザーが入力したテキストデータを単語等のトークンで区切る。そのトークンを表す分散表現ベクトルに変換し、順番にRNNに入力する。
・Decoder RNN:EncoderRNNの各トークンの生成確率を出力し、中間層への次の入力とする。これを繰り返して、トークンを文字列にする。
・HRED:Seq2Seqでは、一問一答の対応しかできないが、過去のn-1までの回答から、n番目の回答を推測するようにした構造。
・VHRED:HREDの問題点である、会話の流れのような多様性な対応ができない点、文章が短い対応しかできない点を解消させたものがVHREDである。
・VAE
 ・オートエンコーダー:教師なし学習の1つであるため、訓練データはあるが、教師データはない。
               入力データから潜在変数Zに変換するニューラルネットワークを
               Encoder、逆に潜在変数Zを入力として元画像を復元するニューラルネッ
               トワークをDecoder。つまり、入力画像と同じ画像を出力させるニューラル
               ネットワークである。そこで、潜在変数Zが入力層より小さい場合、次元削
               減が行われるというメリットがある。
 ・VAE:潜在変数Zに、確率分布N(0,1)を仮定したものである。
HREDにVAEの潜在変数の概念追加させたものをVHREDとみなすことができる。

Section6:Word2vec
・RNNでは、単語のような可変長の文字列データをニューラルネットワークで扱えないため、固定長形式に変換する必要がある。
・学習データから、文章の中にあるボキャブラリを作成する。各ボキャブラリを次元として、one-hotベクトルの入力データを作成する。
・ボキャブラリ数と単語ベクトルの次元数の重み行列を計算することによって、現実的な計算速度とメモリ量で達成することが可能となる。

Section7:Attention Mechanism
・Seq2seqでは、長い文章への対応が難しい課題がある。なぜなら、処理すべき単語が多くても、すべて固定次元ベクトルの中に入力しなければならず、文章が長くなると、次元の数も多くなる。
・これを解消するために、入力と出力のどの単語が関連性があるかを学習する仕組みをAttention Mechanismという。

<後編2>

Section2:強化学習
・強化学習とは、エージェント(行動主体)が環境の状況に基づき、ある行動を選択し、その行動に基づき環境が変化する。環境の変化に伴って、何等かの報酬がエージェントに与えられ、より多くの報酬が得られるよう、エージェントが行動を選択、学習していくことをいう。
・環境について事前に完璧に把握していれば、最適な行動を予測し、実施することが可能である。しかし強化学習の場合、不完全な情報、知識を元に行動し、その行動と行動した後の結果をデータ収集して学習し、最適な行動を見つけていく。
・エージェントが環境に対して行った行動を「方策関数」といい、行動後の環境から得られた報酬を「行動価値関数」という。
・方策関数は、ある環境状態の中で、どのような行動をとるかの確率を与える関数である。
・行動価値関数は、状態価値関数と行動価値関数の2種類あり、前者はある状態にあることの価値を示し、後者はある状態にいて行動をとる価値を示す。
・方策反復法では、方策をモデル化して最適化する手法である。その方策の良し悪しを定義する方法として、平均報酬と割引報酬和がある。