ディープラーニングモデルは、データセットの推定エントロピーに必要な容量をはるかに超えていますか?


7

この質問は少し奇妙に見えるかもしれません。私は情報理論についていくつかの自習をしていて、ディープラーニングについてさらに正式な調査を行うことにしました。私が説明しようとするので、我慢してください。私はMNISTの大きな「トレーニング」サブセットをモルモットとして使用しました。

1)MNISTのすべての画像を「白黒」に変換(ピクセル値は0または1のみ)

2)すべてのデータ画像を合計してピクセルのヒストグラムを作成しました-データセットで各ピクセルが1の値を取得する回数をカウントしました

3)「真の」確率分布の推定値を取得するための正規化されたヒストグラム

4)これから、私は次の確率分布を得ました(matplotlibでヒートマップとして示されています):

[MNISTトレーニングセットの確率分布[1]

5)今私はエントロピーを計算して得た:ビット191

6)デービッドマッケイの情報理論の本によると、ニューラルネットワークをノイズの多いチャネルとして解釈し、各ニューロンが2ビットの容量を持つと見なすことができます。彼はこの考えを注意して使うように述べていますが。彼の本の第40章http://www.inference.org.uk/itila/book.html

7)したがって、大まかな見積もりとして(そして注意して)、このMNISTトレーニングセット(190/2)のラベルをエンコードできるようにするには、95ニューロンのニューラルネットワークが必要になると言えます。8)これで、私の質問に:

これが非常に「エンベロープの逆」計算である場合でも、ラベリングを学習できるニューラルネットワークは、少なくとも95ニューロンの球場にあるべきではないでしょうか。たとえば、99%の精度を得るために21840パラメータを持つニューラルネットワークが必要なのはなぜですか?(MNISTのPyTorchの例の1つを考慮:https : //github.com/pytorch/examples/blob/master/mnist/main.py

回答:


5

ローカル極値は同じことを表現するさまざまな方法であるため、現在の考え方では、過剰パラメーター化ニューラルネットワークを適合させる方が簡単です。

これの背後にある微妙な理由は、より小さいネットワークは勾配降下法などのローカルな方法でトレーニングするのが難しいためです:損失関数の局所的な最小値は比較的少ないことは明らかですが、これらの最小値の多くは収束が容易であり、それらは悪い(すなわち、損失が大きい)。逆に、より大きなニューラルネットワークにはかなり多くの極小が含まれますが、これらの極小は実際の損失の点ではるかに優れています。ニューラルネットワークは凸ではないため、これらの特性を数学的に研究することは困難ですが、これらの目的関数を理解しようとする試みがいくつか行われています(たとえば、最近の論文「多層ネットワークの損失表面」)。実際には、あなたが見つけたのは、小さなネットワークを訓練した場合、最終的な損失はかなりの量の変動を示す可能性があるということです。ある場合には幸運になり、良い場所に収束しますが、ある場合には悪い最小値の1つに閉じ込められます。一方、大規模なネットワークをトレーニングする場合は、さまざまなソリューションを見つけ始めますが、最終的に達成される損失の分散ははるかに小さくなります。言い換えれば、すべてのソリューションはほぼ同じように優れており、ランダムな初期化の運に依存していません。

視覚認識のためのCS231n畳み込みニューラルネットワーク


答えてくれてありがとう、エムレ。特定の精度を達成するためにデータセットのエントロピーを必要なネットワークに関連付ける研究を知っていますか?ここで、Xがデータセットのエントロピーで、Yが99%の精度を達成する、これまでに見つかった最小ネットワークのビット単位のサイズであるプロットを想像しています。
パウロA.フェレイラ

1
正確ではありませんが、ティッシュビーの情報ボトルネック手法、「ディープラーニングの情報ボトルネック理論について」などのフォローアップはかなり近づき、かなり興味深いものになっています。ニューラルネットワークの圧縮に関する論文も多数ありますが、私が考えることができるのは、前述のような理論的なものではなく、経験的なものです。
Emre、2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.