オートエンコーダで教師なしで学習

しかし、正解がついた画像を大量に作るには、大変な手間がかかる。この問題を解決するのがオートエンコーダ(AutoEncoder)を使う教師なし(正解ラベル無し)学習である。オートエンコーダは、次の図にように隠れ層の出力を復元層という層に戻す構造として、入力と復元層の出力が近づくように、このネットワークのニューロンの重みを調整する。

隠れ層の出力は入力よりも少ないデータ量として、すべての入力データに対してこのネットワークの誤差が無くなれば、隠れ層の出力から入力が復元できたことになり、データ量の少ない隠れ層の出力は入力と同等の情報を持っていることになる。つまり、入力データを隠れ層の出力に圧縮、あるいは全ての特徴を抽出したことになる。

また、隠れ層の入力の少数のデータをランダムにゼロにして、誤差ゼロを目指すDenoise Auto Encoderというやり方もある。

このようなオートエンコーダを使うと、元のデータの中で類似性の高い入力をまとめて出力データ量を減らすことができ、結果として隠れ層の重みをチューニングすることができる。

AutoEncoderの原理図 (by Hisa Ando)

次の図のように中間の隠れ層ごとにオートエンコーダを付けると、生まれたばかりの赤ん坊にYouTubeを見せて教育するようなことができる。

ただし、このようなネットワークは、それ(元の論文は2012年)までに作られたものの約50倍のサイズで、トップレベルには6万ニューロンを必要とし、1万6000CPUコアを使って1週間の学習時間を必要としたという。なお、現在では、このような教師なし学習は普通に行われている。

オートエンコーダを使って中間の隠れ層の重みをチューニングすると、教師なしの学習ができる

次の図は、このような教師なし学習を行った結果である。横軸が入力画像で、人間の顔と顔でないという判定は多少オーバラップしているが、大部分は正しく区別されている。つまり、トップレベルのニューロンは、人間の顔というような高次の概念を見つけることに成功している。

教師なし学習を行ったシステムは、人間の顔という高次の概念を識別することができている

次の図は、一般紙でも報道された猫の検出に成功した例で、左側の48枚の画像が猫と判定された画像の例で、猫出力が最大になる典型的な猫画像が右の画像である。

教師なし学習で猫を識別する。左は猫と識別された画像の例。右は猫出力が最大となる典型的な猫画像

ディープラーニングの進歩とエポックメーキングなシステムの構造

次の図は歴史的に有名なニューラルネットワークで、左上は、1989年にLeCanが開発した手書き郵便番号の読み取りシステム。左下は、2012年のImageNetコンペで優勝したAlexNet。そして、右側は2014年のImageNetコンペで優勝したGoogLeNetである。

ImageNetコンペでは、認識のTop5に上げた答えの中に正解が含まれていれば正解で、5つとも間違っている場合はエラーと判定する。AlexNetはTop5エラー率が16.4%であったが、2年後のGoogLeNetではTop5エラー率は6.66%に改善されている。

しかし、LeCanのシステムは入力層を含めて8層であるが、AlexNetは9層、GoogLeNetは22層と複雑になってきている。

エポックメーキングなニューラルネットワーク

次の表に示されるように、ImageNetコンペのTop5エラー率はディープラーニング以前の2011年は25.7%で、それ以前は、毎年、1%程度改善するというペースであった。それが2012年にディープラーニングを使うAlexNetが16.7%になるという驚異的な改善を行って優勝した。これに刺激されてディープラーニングの採用が急速に進んでいる。

Humanと書いてある4番目のエントリは、スタンフォード大学のAI研究者のAndrej Karpathy氏がトレーニングを行ってから挑戦した結果で、普通の人がやったのでは、5.1%のエラーという数字は出ないとのことであった。

ディープラーニングのシステムは2015年2~3月にはKarpathy氏のスコアを抜き、2015年末のImageNetコンペでは、Microsoftリサーチが、前年優勝のGoogLeNetのエラー率を半減して優勝した。このシステムは152層のニューラルネットを使っているという。

ImageNetコンペの成績は、急速に進歩しており、すでに人間よりエラーが少ないレベルになっている

次の写真は、同じくNVIDIAのGTC2015でのBaiduのAndrew Ng(呉恩達)氏の基調講演のスライドを写したもので、ネットワークを大きくしたり、学習データを増やして精度を改善するループを廻してシステムを仕上げて行くのであるが、これで完成とならない場合は、ネットワークアーキテクチャを改変する。あるいはBlack Magicと書かれている。

なお、左のループに入っているBigger Networkの定義は不明であるが、層数や接続の基本的な構造は変えず、各層のニューロン数を増やすような変更であると思われる。

ImageNetコンペでは、使える学習データは決められているので、その成績の向上はネットワークアーキテクチャの改善で成し遂げられている。しかし、どのようにネットワークアーキテクチャを変えれば成績が向上するかは、経験と試行錯誤に依っており、Black Magic(黒魔術)の領域であるようである。

なお、Andrew Ng氏はBaiduにスカウトされ、BaiduのAI研究の拠点であるPalo Altoの研究所の責任者を務めるが、スタンフォード大の現役の准教授でもある。

まずは、学習データの追加や、ネットワークアーキテクチャを変更しない量的な拡大をトライする。それでも所望の性能が得られない場合は、ネットワークアーキテクチャの変更が必要となるが、どう変更するのが良いかは明確な指針が無く黒魔術であるという

これまでは、画像を認識する基本的なニューラルネットワークを説明してきたが、その出力にその画像はどんな画像であるかを言葉で説明するキャプションネットワークを付加したネットワークや、スピーチやビデオのように時系列のデータを扱うネットワークなどがホットな研究課題となっている。

図の説明文を付けるキャプションネットワークや、スピーチやビデオなどを認識するネットワークがホットな研究課題となっている