DeepLearning
AI
人工知能
深層学習

ディープラーニングの展望

ディープラーニングの可能性

なぜ今日ディープラーニングが注目されているかといえば,理由はハードウェアが進化して処理技術が格段に上がって大量のデータを処理することができるようになったことがあげられます.
また,ニューラルネットワークの一番最初の元になる形式ニューロンは1943年頃から提案されており,最近突如出てきたという認識は正しくないです.
では,一体今までの学習アルゴリズムよりも深層学習の方が優れている要因を説明しましょう.

k-means法とディープラーニングの比較.

学習とはあるデータを分ける線を引くことです.
k-means法と深層学習で比較して見ましょう.
kmeans法は教師なし学習(または単にクラスタリング)と呼ばれ人間がデータと対となるラベルを教えないで,クラスタ数のみを与えて学習させます.深層学習は半教師あり学習というものに分類され,直接答えは教えないが,猫を分類する分類器を作りたいときに猫の画像をたくさん与えること(分布を推定する)によって学習を行うのです.
k-meansはクラスタは初期クラスタの決め方がランダム性で決定されるので,毎回実行結果が変わり,学習が失敗することもただあります.
深層学習も完璧ではありませんが,k-means法よりも優れている理由は,局所解でも十分に利用できるような分類器を作成できること.また非線形データを扱えることです.k-means法は基本的には同心円状にあるデータを仮定しているので複雑なデータを扱うことはできません.(カーネルトリックを用いることによって宇宙に射影すれば非線形データも扱えます.)

そして深層学習は実際の実装では画像を適当に集めてきて学習器に突っ込むだけでいいのでかなり単純にデータを学習させることも大きいです.データを整形する必要はありません.(実際には画像のサイズや色値のしきい値のキャリブレーションなどはフレームワーク内でやっています.フレームワークを使用しない場合が画像の整形などの処理は必須です.)

ディープラーニングの課題

深層学習は現在(2017/09)超高次元を扱える(多項式時間で)唯一の理論でしょう.
↑嘘でした.実際には高次元データに相関がある場合はPCAで次元削減(第一主成分と第二主成分で表すこと)ができます.あと代表的な手法カーネル法もありますね.他にもタンパク質のようなものをパーシステントとして解析するTDAがあったり深層学習しかないというのは早計でしたので訂正します.

だけれどベイズのように数式的に表すことは今のところ非常に難しいです.良い学習をするためには人間の経験則が必要という極めて科学から逆走している状態です.

その理由はなぜか

一番の理由はパラメータの数が膨大であることがあげられると思います.パラメータとは重みとバイアスです.
パラメータをどのように組み合わせれば性能が良くなるのか,最適解が得られるのか分かっていないのです.

現状の対処

経験則というのが本音ではないでしょうか.または,入力と出力をみて,どのようなデータにはどのような出力が出てというように繰り返し,実験をしてこうすればこうなるのかというようなものを段々と帰納的に導いていくという方法もあるようですが,限定的でしょう.

GAN(Generative Adversarial Networks)とは

GAN原著論文です

GANの仕組み

まず,たとえ話ですが,偽札を作るということを考えるとしましょう.
偽札を作る人は誰にもバレないような札を作ろうと頑張ります.それを見抜く警察官は偽札を見抜くように努力するはずです.
見破られたことがわかると偽札を作る人はもっと,バレないように綺麗な偽札を作るでしょう.警察官も負けじと最新の機械を導入して,偽札を見抜くでしょう.
このようにしていけば,いつかは50%の性能で見破られないような偽札ができることが保証されます.
もう少し詳しく説明すると偽札を見抜かれなかった事象を0として,見抜いた事象を1とすると,0と1のクロスエントロピーを最小化するとも言えるでしょう.
これがGANの仕組みです.
偽札を作る人がGenerator G(x)であり,見抜くべき警察官をDiscriminator D(x)としました.
gangan.png

これは画像生成の分野で非常にうまくいっており,アニメの女性のキャラクターを生成することにも成功してます.(make.girls.moe

GANの課題

上の例のようにD(X)とG(x)が競争するようにモデル化すればなんでもうまくいくじゃないかと,思ってしまいますがそんなことはありません.
最初の例のように偽札を作る人が,見抜く人よりも上手く偽札を作り過ぎてしまうと,そこで学習が終了してしまい思うような結果になりません.
また,実装をする上でもどのように実装すればいいのかという基本方針がありません.経験則というのが現状のようです.
PFIの岡野原さんのスライドを参照するとわかりやすいです.

ディープラーニングから少し距離を置いてみる

ディープラーニングでなんでも解決するというのは,上の例のようにまだ問題も山積みです.(渡辺先生の言葉を借りるならば,「森を超えた先に未来がある.」)
画像処理の成果が良かったからといって,そのモデルを自然言語処理の問題に適用というわけにもいきません.GANを自動要約に適用しようとした論文がボコボコにされてました.
これは,自然言語の難しい面があると思います.深層学習で最適解を仮に導出できても,それが論理的に自然言語の文法的に正しいとは限らないからです.

こういう問題を解決しそうな理論が個人的には統計的潜在意味解析だと思っています.佐藤一誠先生が書かれている,トピックモデルによる統計的潜在意味解析という本が本当にオススメです.
ざっくりといえば,大量のデータから人間が見つけることができなかった組み合わせを見つけて「意味を見出す」ということを扱う理論です.

深層学習にできることとできないことを真摯に考えることが,これから来るであろう”第3のAIの冬の時代”から最短で抜け出す唯一の方法だと思います.


記事の表現に間違いや訂正箇所があった場合教えてください.😄