NeurIPS 2018の論文で「Modern Neural Networks Generalize on Small Data Sets」という論文があったので読んでみた。
ニューラルネットは大規模データで成功を収めてきているが、小規模なデータに対しても過学習しすぎることはなく結構良い精度が出る。大規模パラメータを持つネットワークであっても上手くいく理由はパラドックスだと言われていた。
この論文ではニューラルネットを複数の小規模なネットワークに分解して性能を見ることで、大規模ニューラルネットがランダムフォレストのように複数のモデルのアンサンブルとして予測を行っていることを示している。
このようなサブネットワークを集めることによって、過学習しすぎることなく小規模なデータセットに対しても良い性能を出せている。
ニューラルネットの分解方法として、線形計画法を用いて各サブネットワーク同士の相関が低くなり、サブネットワーク自体の性能も高くなる分割を探している。
実験として、確率的に生成された2次元疑似データセットでベイズルール、ニューラルネット、ランダムフォレストの境界を可視化している。ランダムフォレストでは一つ一つの木は高いバリアンスを持っているが、集計することでバリアンスを減らせていることが分かる。同様にニューラルネットも分割した複数のサブネットワークたちはバリアンスが高いが、1つのニューラルネットにまとまると集計されてバリアンスが減っている様子が分かる。
実際に、UCI Machine Learning Repositoryから小規模データの116データセットを用いてニューラルネットとランダムフォレストの精度比較も行っている。ニューラルネットは10層、各層は100ノードと比較的大規模なものであるが、大体のデータセットでランダムフォレストに近い性能が出せている。また、ドロップアウトを使うとさらにランダムフォレストの結果に近づくことができており、ドロップアウトが正則化の一手法として機能していることが分かる。
小規模データに対するニューラルネットワークの活用可能性については、最近気になってい分野なので継続して論文を読んでいきたい。