下丸子のコネクショニスト

機械学習、人工知能などの話題について触れます。

ディープラーニング考察 (1)

最近、ディープラーニングが注目を集めている。ディープラーニングはニューラルネットワークの一形態である、という解釈が主流になってきているようだ。

画像認識などで主に用いられるのはConvolutional Neural Networkと呼ばれるもの。Convolutional Neural Networkは識別モデルであり、今回の記事では識別モデルとしてのニューラルネットワークに共通した機能に関して考察したい。

今回考察するのは、識別モデルがいかにして特徴表現するか?という点だ。

 

グーグルの猫

ディープラーニングが話題になった一つのきっかけが、グーグルの猫。ICML2012で発表された論文において、深いネットワークが学習した結果を可視化すると、猫や人の顔が現れたと話題になった。

f:id:yukisaito:20141101192231p:plain

上の画像が論文(Quoc V. Le, ICML2012)で示されたものの抜粋である。左が猫の顔で、右が人間の上半身と指摘されている。このことは論文で用いられたニューラルネットワークが、猫と人間の物体クラスを表現するような特徴を学習していると考えられる。

しかし実は、このような学習は浅いニューラルネットワークでも原理的に可能であり、特別に新規な事実ではない。ICML2012で上記の画像が示されたのは、Auto-encoderでreconstruction errorを最小化すると、入力された情報が中間層で圧縮される効果が確かにあることを示すためのようだ。

 

識別モデルによる特徴表現

では、ニューラルネットワークではどのようにして特徴が表現され得るのだろうか?まず簡単のために、入力と出力の間にニューロンAが一個だけかまされている例を下記の図に挙げる。

f:id:yukisaito:20141101194025p:plain

ニューロンAの働きは、入力と出力の情報を中間層の特徴空間上で可視化すると分かりやすい。下記に概略図を示す。基本的には一つのニューロン一次元しか情報を持たないことが多いが、今回は分かりやすさのため二次元の情報があるとする。特徴空間と書くとややこしいかもしれないので、入力データ空間と読み替えていただいても構わない。

f:id:yukisaito:20141101194950p:plain

ニューロンAの中にあるのはニューロンAの特徴空間の図である。緑色のマルは複数の入力サンプルを表していて、二つある座標軸はどんな情報を表していてもいい。

ここで、ニューロンAは特徴空間上に分布する入力サンプルを識別して出力するものだということを思い出そう。ニューロンAは一つだけ情報を出力するので、下記のように一つだけ直線を引いてみることができる。

f:id:yukisaito:20141101200231p:plain

赤色の直線が入力サンプルを識別する関数を表している。赤色の直線が入力サンプルを二つの色に識別していることが分かる。これは入力サンプルを二種類の情報で表現していると解釈できる。このことは、二種類の特徴が得られていることに他ならない。一つの識別関数を基準に量子化が行われていると言い変えることもできる。

実用的には特徴が二種類じゃ全然足りないので、出力を増やすことで二つの直線を引いてみる。

f:id:yukisaito:20141101201646p:plain

上記のような二つの直線で識別されると、その組み合わせは四通りになる。これで、四通りの特徴が表現できるようになった。しかし、まだまだ実用にはほど遠い。そこで大量のニューロンを用意して繋げてみる。

f:id:yukisaito:20141101202616p:plain

それがニューラルネットワークニューラルネットワークはこのように大量の識別関数を用意して、大量のパターンを得る大規模量子化装置であり、同時に特徴抽出器であると解釈することができる。

ディープラーニングと言えども、識別モデルである限り基本はこのような仕組みで動いている。

例えばDeCAFはこれとまったく同じ思想で提案された手法で、必要な量子化パターンだけをうまく使うという処理が入っただけである。

 

生成モデルの場合はまた違った面白い解釈ができるので、また今度。

 

<