深層学習のちょっとした疑問を解決する – nibuiroフラグメント β

深層学習のちょっとした疑問を解決する

深層学習のちょっとした疑問を解決する

Q. パラメータ(ノード)数って多いほうがいいの?どうなの?

A.
NNはパラメータ数が多い方が汎化性能が高い現象がみられる。reluを使った多層のNNで重みに弱い正則化を適用しクロスエントロピー損失を使った時の解は正規化マージン最大化に対応し、少なくとも2層の時は隠れ層の幅が大きいほどマージンが大きくなり汎化することが示せる。https://arxiv.org/pdf/1810.05369
@hillbig

Q. BatchNormalizationってどういう効果?

A.
・BatchNormで共変量シフトを抑えるよ派(Ioffe派)
・BatchNormは勾配の曲率を滑らかにするよ派(Santurkar派)
・BatchNormは曲率を単純化するよ派(Kohler派)
・BatchNormなんてなくても収束するよ派(原理主義・過激派)
・BatchNormを使いたくても商用利用できないよ派(営利企業派)
@HITStales

Q. Dropoutってどうなの?(多義的)

A.
ResNetにおいて、ノードは一つだけで十分ではないかという研究。実験により全結合より単一ノードの方が決定境界を上手く学習することを確認。Dropoutがなぜ有効なのか?の証左にもなっているというhttps://arxiv.org/pdf/1806.10909
@icoxfog417
正則化の手法としてよく使われるDropoutとBatch Normalizationは、併用するとパフォーマンスの悪化が起こることがあるが、その原因について検証した研究。悪化の理由として、Dropoutを行うことで学習時と評価時で分散が変わってしまう一方、Batch Normalizationは学習で得られた分散を評価時もキープしてしまうため齟齬が生じることが原因と指摘された。https://arxiv.org/pdf/1801.05134
@icoxfog417

後者につきましては、Kaggleにおいても実際にそうであることを報告しているDiscussionがありましたね。