AI(人工知能)用語集

ドロップアウトとは?ニューラルネットワークの学習手法を簡単理解

ドロップアウト

深層学習を訓練する上で様々な学習手法が提案されていますよね。本記事ではその中でも非常に広く利用されている手法のひとつであるドロップアウトについて解説していきます。ドロップアウトは単純なアイデアでありながら過剰適合を防ぎ、学習精度も高めることができる手法です。

Dropout: A Simple Way to Prevent Neural Networks from Overfitting

ドロップアウトは上記のリンクの論文で提案されています。

ドロップアウトとは

ドロップアウトは2014年に提案されたニューラルネットワークの学習手法で、提案論文ではGeoffrey HintonやAlexNetの著者であるAlex Krizhevskyらが著者に名を連ねています。

ニューラルネットワークの問題点

ニューラルネットワークは2012年に提案されたAlexNetなどで知られるとおり、非常に強力な表現能力を持っています。しかしその強力さゆえにモデルが学習データに対して過剰に適合してしまい、学習で利用していないデータに対して性能が劣化してしまう、過剰適合が起こりやすいという問題がありました。

ドロップアウトの貢献

過剰適合への対策として提案されたのがドロップアウトです。ドロップアウトの貢献は論文のタイトルにあるとおり、学習中に簡単な変化を加えるだけでニューラルネットワークが過剰適合しにくくなるという点にあります。

ドロップアウト

論文(http://jmlr.org/papers/volume15/srivastava14a/srivastava14a.pdf)より引用

具体的にドロップアウトとは何をしているのでしょうか。それをわかりやすく図示しているのが上図です。全結合層からなる通常のニューラルネットワークでは、学習時に全ての経路の値を用いて予測を行いますが、ドロップアウトでは学習時に人間の設定したある確率に基づいてあるユニットの出力を利用せず、残りのユニットの出力のみから予測を行います。

その結果特定のユニットの出力のみに依存して予測を行う可能性が少なくなり、過剰適合を避けることができるという流れになるというわけですね。

ドロップアウトの利点

ドロップアウトの利点は主に以下の2点にあります。

  • 過剰適合を防ぐことができる
  • テストデータに対する性能の向上

前節で述べたとおりいくつかのユニットの出力を無視することで、特定のユニットに依存しない学習が可能になり過剰適合を防げることが分かりましたよね。これでは過剰適合を防げる代わりにテストデータに対する性能が劣化しそうなものですが、論文で行われた実験では従来利用されてきた正則化などの手法よりもテストデータに対して高い性能を示しています

そして性能の向上に貢献しているのはアンサンブル学習という考え方です。アンサンブル学習とはランダムよりは性能の高い弱学習器を組み合わせることで、高い精度での予測が可能になった学習モデルのことで、ブースティング系のアルゴリズムなどが有名です。一般にアンサンブル学習では組み合わせる学習器が多様であればあるほど精度の向上に貢献しやすくなります。

ドロップアウトによりひとつのニューラルネットワークの中に様々な学習器があると見なせるように学習が進み、その結果としてドロップアウトを用いない場合と比較して、テストデータに対する性能向上に繋がっていると考えられるんですね。

まとめ

ドロップアウトについて重要な点をまとめましょう。

  • ニューラルネットワークの正則化手法のひとつ
  • 学習時にユニットの出力を確率的に無視することで特定のユニットへの依存を減らせる
  • L2正則化などの従来手法よりも実験の精度で勝る
以上、ご覧いただきありがとうございました。

燃やせ探究心!突き詰めろ美しきソースコード!オタフ☆クラブ

みんなのAI(人工知能)用語集

トップへ戻る
タイトルとURLをコピーしました