ありのままに生きる

社会不適合なぼっちおやじが、自転車、ジョギング等々に現実逃避する日々を綴っています。

ディープラーニング革命

テレンス・J・セイノフスキー/監訳 銅谷賢治 「ディープラーニング革命」メモ  

ディープラーニング革命

ディープラーニング革命

 

テレンス・J・セイノフスキー  監訳 銅谷賢治
ディープラーニング革命」メモ

第2部 さまざまな学習方法

第8章 誤差伝ぱん法
----------------------------------------------------------------------------------
【まとめ】
・最適化は機械学習における重要な数学的概念で、問題に対してあるコスト関数を選び、そのコストを最小とする状態を探索してその問題の解を見つけられる。
・誤差逆伝ぱん法はネットワークの各重みの勾配を算出する方法で、誤差の勾配を計算する非常に効率的な方法。
・「NETtalk」は文字を音声に変換するニューラルネットワークで、誤差逆伝ぱん法で学習したニューラルネットワークがいかに効率的に英語の音韻を表せるようになるかの証拠になった。
----------------------------------------------------------------------------------


・ボルツマンマシンの学習アルゴリズムにより、隠れユニットを必要とする問題が解ける。
・多層ネットワークを訓練し、パーセプトロンの限界を超えることが可能。
・ネットワークの層数、層内のどの結合にも制限はない。

-----
問題点
・平衡状態に近づけ、統計データを集めようとすると、シミュレーションが急激に遅くなる。
・ネットワーク規模が大きくなるほど、平衡状態に達する時間が長くなる。
----

●最適化
・最適化は機械学習における重要な数学的概念。
・多くの問題に対し、あるコスト関数を選び、そのコストを最小とする状態を探索してその問題の解を見つけられる。

-----
ホップフィールド・ネットワークの場合
・そのネットワークの状態のエネルギーがコスト関数。
・目的はコスト関数を最小化する状態を探索すること。
-----

フィードフォワード・ネットワークで使われる学習コスト関数は、出力層で得られた値と訓練データセットとの二乗誤差の和。

<急降下法>
・最も大きくコストが下がる方向にネットワークの重みを更新しコスト関数を最小化する。


<誤差逆伝ぱん法、バックプロップ>
・ネットワークの各重みの勾配を算出する方法。
・誤差が分かっている出力層を起点とし、出力ユニットへの重みの勾配を算出するのは簡単。
・次のステップで、出力層の勾配を使用して一つ前の層の重みの勾配を算出。
・次のステップではもう一つ前の層、その次はさらに一つ前という順に、入力層まで戻る。
→誤差の勾配を計算する非常に効率的方法


●NETtalk(ネットトーク
・英語は発音が難しい言語。
・発音のルールが複雑で、例外が多い。

<NETtalk>
・文字を音声に変換するニューラルネットワーク
・7文字分のウィンドウを持つ。
・それぞれが29個のユニットを持つ(アルファベット26文字と空白、句読点に対応)。
・合計203個の入力ユニットで構成。
・目標:ウィンドウの中央にある文字の音声を予測すること。
・入力ネットは80個の隠れユニットに接続され、隠れユニットは26個の出力ユニットへ写像する。
・それぞれの出力ユニットが、英語の基本の音声(「音素」)に対応。
・このネットワークは1万8629個の重みをもつ。

・複数の単語が7文字分のウィンドウのなかを通る。
ニューラルネットワークは、1文字ずつずれるたび、ウィンドウ中央にある文字に音素を割り当てる。
・複数の文章がウィンドウ内を繰り返し通るにつれ精度が向上し、学習が収束するとき、100語の訓練セットにたいしてほぼ完璧な答えを出せるようになった。


・NETtalkは、誤差逆伝ぱん法で学習したニューラルネットワークがいかに効率的に英語の音韻を表せるようになるかの証拠になった。
・言語(記号表現の代表格)をニューラルネットワークが学習する過程が、人間の学習課程と一致していることを示す、最初のヒントにもなった。


・NETtalkが音読能力を獲得する際、最初に通過したのが幼児語の段階。
・この段階では子音と母音の違いを認識する。
・学習が進むと、短い単語を正しく理解するようになり、訓練の終わり頃には大部分の単語を理解する。


・NETtalkは、似たような母音と子音のグループ分けを、言語学者が同定したのど同じ形でしていた。


ディープラーニングの理解
凸最適化問題では、最小値への収束が保証される。
・非凸最適化問題はそうではない。
・高次元空間では、学習の最終段階まではコスト関数に極小値があることはまれ。
・学習初期段階ではすべての方向が下り坂。
・鞍点はある次元ではくぼ地だが。他の次元では尾根の頂なので、さらに下って誤差を減らすことができる。
・現在のディープネットワークモデルには数百万個のユニットと数十億の重みがある。
・10億次元の空間は悪夢。
・データは過剰適合し、未知のテストデータへの汎化には失敗する。
・正規化手法の使用により過剰適合を緩和可能。
・役に立っていない重みを強制的に減衰させる手法がある。


ドロップアウト
・学習の段階ごとに、多数の訓練データにより重み空間での勾配を推定して重みを更新する。
・その際、ユニットの半分をネットワークからランダムに外してしまう。
・ユニット同士の依存関係が少なくなる。
・誤り率を10%減少させることができる。

・大脳皮質のシナプスは、高い割合でドロップアウトする。
・ある入力に伴う発火に対し、大脳皮質の典型的な興奮性シナプスは90%の割合で伝達に失敗する。


ニューラルネットワークの限界
ディープラーニングニューラルネットワークから、一つの予測だけでなく、有力な予測がランク順に提供される。
・結論の信頼性について何らかの情報が得られる。
・入力の可能性があるどんなデータを含包するほど訓練データセットが大きければ、ニューラルネットワークの未知データへの汎化能力は高くなるはず。


・入力を分類するニューラルネットワークには、何らかのバイアスがかかる。
・分類のためのカテゴリー選択には、人間の偏見が反映される。
・分類とは、文化的バイアスを反映した、非常に幅のある問題。


・最適化に使用するコスト関数において、利益が唯一の目的とされた場合、ネットワークは与えられた情報を使用して利益を最大化する。
・問題の解決策は、コスト関数に公平性を別の項として組み込むこと。
・コスト関数では利益と公平性のトレードオフを明確に定める必要がある。
トレードオフには、人文科学や社会科学で議論されてきた倫理的観点が反映されるべき。
・公平に見えるコスト関数を選択したとしても、意図しなかった結果を生じうる。