現在のDNNの
未解決問題
岡野原  ⼤大輔
hillbig@preferred.jp
Preferred  Networks,  Inc.
2016/5/20 脳型計算雑談会
DNNの未解決問題
l  現在のDNNは実⽤用的に成功しているが、原理理を理理解できていないため、なぜ
ここまでうまくいくのか(また、うまくいかないのか)わかっていない
l  ここでは、現在のDNNの代表的な未解決問題を紹介したい
l  すでに過去に答えがでている問題かもしれず、みなさまの⼒力力をお借りしたい
2
現在のDNNを1枚でおさらい
l  活性化関数には区分線形関数を使い、伝搬は減衰/発散もしなくなった
–  例例:Relu  f(x)  =  max(0,  x)            これはsoftplus  log(1+exp(x))のhard版
l  最適化にはRMSPropやAdamなどHessianのオンライン推定版を使う
l  Batch正規化層で、各層の⼊入⼒力力は常に平均0,  分散1に正規化し学習を容易易に
l  ResNet:  f(x)  =  x  +  h(x)  を使うことで  1000層を超えても学習可能に
l  変分ベイズとの融合で、⾮非線形の⽣生成モデルの学習も容易易に
–  特に潜在変数が連続変数の場合は変数変換トリックで効率率率よく学習可能
–  半教師あり学習、1ショット学習が可能に
l  強化学習との融合で、⽣生の⼊入⼒力力からの評価関数や⾏行行動選択が可能に
l  アテンションの仕組みによって、⼊入出⼒力力の⼀一部を動的にフォーカスできる
l  GPUを利利⽤用し,数⼗十Tflops程度度の計算リソースで学習、パラメータ数は数億
3
1.  ⼤大きなNNの学習はなぜ⼀一様に成功するか
l  ⼤大きなNN(FeedForward)の場合、どのような初期値でも、局所最適解で終
了了しても学習結果はみな同程度度に優れていることが実験結果からわかっている
–  無数の局所解があるにもかかわらず、それらの局所解は⾒見見つけるのが簡単であり、
かつ、それらのテストエラーは殆ど同じである
l  特に次の三つの現象がみられる
1.  ⼤大きなネットワークでは,ほとんどの局所解のテストエラーが同じである
2.  悪い局所解を⾒見見つける確率率率は⼩小さいネットワークだと⼤大きく,サイズが⼤大き
くなるに従って、急速に⼩小さくなる
3.  ⼤大域最適解を⾒見見つけるのは不不可能なほどに難しいが、⾒見見つけられたとしても
学習データに過適合しており、テストエラーは⼤大きい
なぜ、このようなことが起きるのか?
4
スピンモデルによるNNの学習問題の解析
l  H層の総結合層,活性化関数にRelu:  σ(x)  =  max(0,  x)からなるNNを考える
但し,                                                                        は正規化項
l  これは次のように書きなおすことができる
但し,iはi番⽬目の⼊入⼒力力,jは⼊入⼒力力から出⼒力力までの1本のパスに対応し,
Aはそのパス上でreluが全てactiveなら1,そうでないなら0である関数
5
i	
Reluがactive	
Reluがinactive
l  さきほどの関数の絶対値損失関数,またはヒンジ損失関数は、
様々な仮定(後述)を加えると次の球形スピングラスモデルとみなせる
  
但し,                                          
この球形スピングラスモデルについては様々な性質がわかっている
特に,その極値についての性質について分析できる
  k  :  極値のヘシアンについて、負の固有値がいくつあるか
    負の固有値=下向きに曲がっている⽅方向
  k=0  極⼩小値,  k>0  鞍点    
6
極値の分布
7
ΛEinf以上には、
kが⼩小さい極値は
ほとんど出現しない
(殆どが鞍点)
→悪い極⼩小値は
  ⾒見見つからない
また,[ΛE0,  ΛEinf]
の⼤大きい⽅方にはkが
⼤大きいのが多く、
⼩小さい⽅方はkが⼩小さい
のが多い
→極⼩小値はみんな
  最⼩小値の近くで
  ⾒見見つかる
8
スピンモデルによるNNの解析
l  実験結果とあうが、⾮非現実的な仮定がああり、これらの仮定を除けるか、ま
たはデータやモデルがその仮定を満たしているといえるかが問題となる
l  特に、「活性は⼊入⼒力力に依存せず独⽴立立である」「各パスの⼊入⼒力力は独⽴立立である」
という仮定が問題
l  質問より
  この条件を満たすようにNNを作れれば学習がしやすくなるか
  →  そうである。⼀一⽅方で今のNNが既にこの条件をみたしている可能性もある
      LDPCが短いサイクルを含まないような⾏行行列列を使っているのと同様にNN
      の接続もこの条件を満たすように⼯工学的に設計できないか
  ⼤大きいというのはどういう意味か
  →  深さについては2層以上であればこれが成り⽴立立つ。重要なのは各層の
      平均のユニット数  100を超えたあたりからこの現象がおこる
  
9
2.  敵対的⽣生成ネットワーク(GAN)の解析  
l  GANは次の⼆二つのネットワークを競合させて学習する
G(z)  :  ⽣生成ネットワーク    zからxを⽣生成する決定的なネットワーク
        はじめにp(z)に従ってzを⽣生成し,つぎにx=G(z)を求める
D(x)  :  識識別ネットワーク    xが真のデータ由来なのか、⽣生成由来かを識識別
この時、次の最適化問題をG,  Dそれぞれについて解く
GはDに⾒見見破られないようにより真のデータに似るように⽣生成し、
Dはデータ由来かG由来かを識識別できるように成⻑⾧長する
この最適化問題の最適解は,pG=pdataであり、またGとDを交互に学習する⽅方法
で最適解に到達することが知られている
10
GANの学習が⼀一⽬目でわかる素晴らしいデモ
l  http://www.inference.vc/an-‐‑‒alternative-‐‑‒update-‐‑‒rule-‐‑‒for-‐‑‒generative-‐‑‒
adversarial-‐‑‒networks/
l  ついでに他のデモ集
http://arogozhnikov.github.io/2016/04/28/demonstrations-‐‑‒for-‐‑‒ml-‐‑‒
courses.html
11
GANによる⽣生成例例
https://github.com/mattya/chainer-‐‑‒DCGAN
学習開始30分後
12
2時間後
13
1⽇日後
14
15
GANの特徴
l  分割関数やMCMCを使うことなく,⽣生成モデルの学習が可能
–  G(x)はD(x)の勾配情報を利利⽤用して⽣生成モデルを学習できる
これは強化学習におけるActor/Criticの関係と同様
l  ⽣生成モデルは最初にzをp(z)に従って⽣生成し、次に決定的な関数でxを⽣生成する
–  多くのNNを使った⽣生成モデルは勾配が求められるように、⽣生成の直前でガウシア
ンを使うが、これがぼやけた画像⽣生成の原因になっていた
l  ⽣生成モデル、識識別モデルに事前知識識を埋め込める
–  識識別モデルにCNNを使った場合、移動普遍性が埋め込められるが、
最終的な⽣生成モデルにどのような影響があるか分からない
l  GANはMCMCと違って効率率率よく⽣生成ができるだけでなく(伝承サンプリ
ング)、(⼈人からみて)⾮非常に⾼高品質なデータを⽣生成できる
16
GANは何をしていることになるのか?
l  GANのGについてのオリジナルの更更新式は次の通りである
l  しかし、log(1  –  x)はxが⼩小さい場合、勾配が⼩小さいので代わりに次を使う
l  この⼆二つの式を組み合わせた
  これはKL[Q||P]の最⼩小化をしていることに対応する
      Q  :  ⽣生成モデルの分布,  P:経験分布
17
GANの問題
l  途中でDかGどちらかが強くなりすぎて学習に失敗する
–  どういうばあいに、強くなりすぎるかについてわかっていない
l  学習がどの程度度進んでいるのかが分からない
–  単⼀一の⽬目的関数がなく、現状、結果の確認は⽬目視
l  D(x)はデータ⼀一つに対して分類しているだけなので、例例えばGが同じ画像ば
かりを⽣生成していても分からない
–  本当はGが⽣生成するデータ集合について⽐比較しないといけない
l  上と同様の問題で,Gはデータのいくつかのモードを⽣生成しがちになり、残り
のモードを⽣生成しなくなる
–  現状、初期値が重要であり、その後は完全にgreedyに進む
l  GとDの設計についての基本指針がない
18
質問から
l  最適解がpdataとしたらなぜそれを直接使わないのか
–  GANで学習したいのはpdataではなく、それをなました未知の真の分布p*、GANは
最適化を途中で⽌止めることで(または極⼩小解に到達して)、p*を推定する
–  なので、本当はGANの学習ダイナミクスを解析して、それがどのような正則化を
達成しているのかを調べたい
(Early  StoppingがL2正則化に対応しているのと同様に)
l  GANが⾼高品質なデータを⽣生成できるのはなぜか
–  ノイズは最初にしか⼊入らず、あとは決定的な関数を使っているため、従来は勾配が
もとめられるようにノイズが最後にも⼊入ってぼやけていた。
19
3.  可変⻑⾧長情報の埋め込み
l  RNNを使って可変⻑⾧長-‐‑‒>可変⻑⾧長という情報の変換が可能となった
⼊入⼒力力系列列  x1  x2  x3  …  xnから出⼒力力系列列  y1  y2  …  ym  への変換を考える
l  Enc(x,  h)  :  符号化器
  現在の⼊入⼒力力xiと前の内部状態hiを受け取って,次の内部状態hi+1を出⼒力力
Dec(y,  h)  :  復復号化器
  直前の出⼒力力yiと前の内部状態hiを受け取って,次の内部状態hi+1を出⼒力力
l  この変換は  符号化器が  x1x2…xnから固定⻑⾧長の内部状態hn+1へ変換し
復復号化器がhn+1からy1  y2  …  ym  を出⼒力力しているようにみなせる
20
未解決問題
l  可変⻑⾧長-‐‑‒>固定⻑⾧長の情報の埋め込みはどのように実現されているのか?
–  例例えば、⼊入⼒力力⽂文から構⽂文解析する例例では、スタックの機能は実現されている
–  再帰を含む⽂文などはどのように埋め込まれているのか?もしくは埋め込まれていな
いのか
l  固定⻑⾧長  -‐‑‒>  可変⻑⾧長の情報の展開はどのように実現されているのか?
l  この場合、短期記憶の容量量は内部表現のhn+1にバウンドされている
–  ⼀一種のAutoEncoderの正則化のような役割を果たしているかもしれない
l  短期記憶の容量量をあげるにはどうすればよいか?
–  Attentionを使って⼊入⼒力力から直接思い出す(既存研究多数)
l  重みを⼀一次的に変えることで記憶することも可能
–  連想記憶の実現
–  Hintonが提唱している[2015]が,実現はまだと思われる(過去に既にあるか?)
21
4.  Ladder  Networkの解析
22
•  半教師あり学習でLadder  Networkが現在最⾼高精度度を達成している
•  その後,ほぼ同じ精度度を階層的推論論ネットワークを使ったモデルも達成
•  Ladder  Networkはノイズ除去オートエンコーダー(DenoiseAE)と
教師あり学習を組みあわせる
各層毎のDenoiseAEによ
る教師なし学習
教師あり学習
各層毎にノイズを加える
横のつながりがあ
り、AEは詳細を説
明する必要はない
Ladder  Networkの謎
l  従来のニューラルネットワークとは違うアイディアがたくさんある
1.  横のつながり(Lateral  Connection)がある。これが深い層において詳細を
説明する必要がないのに役⽴立立っている
  Denoise  AEは確率率率モデルを学習していることが分かっている
2.  全層にノイズを注⼊入する
3.  各層毎にノイズ除去オートエンコーダーがある
4.  教師なしの学習と教師ありの学習が同時に⾏行行われる
l  横のつながりの意味は何か?横のつながりがない場合に⽐比べて、この情報は
どのような役割を果たしているのか?
l  全層にノイズを⼊入れているのは、多層の確率率率層を含む⽣生成モデルの推論論ネッ
トワークの勾配推定と⼀一緒だと予想している
23
質問から
l  上向きと下向き、そして横のつながりがあるのが脳で⾏行行われている処理理と似
ている
    →  そうだとおもう。おそらく、作った⼈人も脳の処理理は参考にしてデザイン            
  したのでは
24
参考⽂文献
l  ニューラルネットワークの学習の謎
–  “The  loss  surfaces  of  multilayer  networks”,  A.  Choromanska,  et.  al.  
AISTATS2015
–  “Open  Problem:  The  landscape  of  the  loss  surfaces  of  multilayer  networks”,  A.  
Choromanska,  et.  al.  2015  COLT
l  敵対的⽣生成モデル
–  Generative  Adversarial  Networks,  I.  J.  Goodfellow,  et.  al.  2014
–  Unsupervised  Representation  Learning  with  Deep  Convolutional  Generative  
Adversarial  Networks,  A.  Radford,  ICLR  2016
l  系列列から系列列への変換
–  “Sequence  to  sequence  learning  with  neural  networks”,  I.  Sutskever,  2014
–  “Aetherial  Symbols”,  G.  Hinton  2015
25
l  Ladder  Networks
–  “Semi-‐‑‒supervised  Learning  with  Ladder  Networks”,  A.  Rasmus,  et.  al.  2015
–  “Deconstructing  the  Ladder  Network  Archtecture”,  M.  Pezeshki,  2015
26

現在のDNNにおける未解決問題