ランダムなネットワークの中に高精度なサブネットワークが存在する?高精度なサブネットワークを見つける手法の登場!

3つの要点

✔️ランダムにパラメータが初期化されたネットワークには、高精度なサブネットワークが存在する事を示唆

✔️それらを見つける勾配ベースの手法edge-popupの提案

✔️学習済みネットワークに匹敵するサブネットワークを見つけることに成功

はじめに

基本的に深層学習というのは、大量のパラメータを正解データと出力した予測の差分を用いて更新して学習を行います。

近年、この学習方法に疑問を投げかける研究が報告されています。例えば、パラメータを学習させずに、ネットワーク構造を変化させるだけでタスクを解くWANNという手法が提案されています。(詳しくはこちらの記事をご覧下さい)

上記のような研究は、深層学習業界の新たなパラダイムとなるかも知れません。WANNはパラメータは学習していませんが、ネットワーク構造は学習しています。今回紹介する論文は、パラメータ、そしてネットワーク構造さえも学習しません。つまり、元となるネットワークは全く変化させずに高精度な性能を出しています。

これは、元のネットワークにあるサブネットワークを用いて実現されます。以下の図をご覧下さい。

図1. ネットワークの一部であるサブネットワーク

図1にあるように、どんなネットワークにもそのネットワークの一部であるサブネットワークが存在します。十分な量のパラメータがあり、かつ、パラメータがある分布に従って初期化されていれば、サブネットワークがあるタスクを高精度に解く事ができることをこの論文では示しています。

サブネットワークの数はパラメータの数が増えると、指数関数的に増加します。一つ一つのサブネットワークが高精度である確率が限りなく小さくても、それらが無数にあれば、少なくともその内のいくつかは高精度なネットワークであることが期待されます。これが、この研究の始まりと著者たちは述べています。

では、どのようにそのサブネットワークを見つければ良いのでしょうか。その手法をedge-popupと呼びます。以下では、そのアルゴリズムを説明します。

提案手法

ここでは、少し理論的に提案手法であるedge-popupアルゴリズムを説明します。大きく分けて、edge-popupアルゴリズムは2つのステップから構成されます。

1. 元となるパラメータをランダムに初期化したネットワークを用意する

2. それぞれのパラメータにスコアをつける。各層のスコアが高い上位k%のパラメータで構成されたサブネットワークでロスを計算し、それに基づいてスコアを更新する

では、上記の2つのステップをより詳細に見ていきましょう。

元となるネットワークの用意

冒頭でも述べましたが、サブネットワークの数はネットワークのパラメータの数が多くなればなるほど、指数関数的に増加します。つまり、パラメータの少ないネットワークでは高精度なサブネットワークが見つかる可能性が低くなります。

そこで本論文では、元となるネットワークとして、ResNetやVGGに近いモデルを使用し、その深さは固定して各層のニューロンの数(ネットワークの幅)を増やして実験を行なっています。これにより、良いサブネットワークが見つかる可能性が高くなります。

また、どのようにパラメータを初期化するかも重要な問題です。主流な方法はガウス分布を元に初期化する方法です。本研究では、以下の実験設定で述べる二つの分布からサンプリングして、パラメータを初期化します。

スコア値の更新によるサブネットワークの探索

提案手法ではネットワーク構造およびパラメータの学習は全く行いません。それぞれのパラメータにスコアsを付け、それに基づいてサブネットワークを構築します。

サブネットワークは元となるネットワークの各層の上位k%のスコアを持ったパラメータで構成されます。

では、どのように高精度なサブネットワークを見つければ良いでしょうか。提案手法では、スコアを損失の勾配によって更新することでスコアを更新します。以下では、簡単のため、全結合層で構成された元ネットワークで説明をします。

l層のニューロンvに入る入力はl-1層のニューロンuの出力Zとuとvをつなぐパラメータwuvによって以下のように計算されます。このwuvにスコアsuvが紐づけられます。

式1. ネットワークへの入力

上記の式は元のネットワークの入力の計算式でしたが、これをサブネットワークに適応すると以下のようになります。

式2. サブネットワークへの入力

ここで、h(suv)はsuvが各層の上位k%に入っているときに1となり、それ以外は0となる関数です。h(suv)の勾配は直接計算できないため、勾配を1として、損失Lの勾配を計算します。その結果が以下の式です。

式3. サブネットワークのスコアに関する勾配

この勾配を用いて、スコアを以下の式で更新します。これはパラメータの更新に使わられるものと同じ方法です。

式4. スコアの更新

ここで、一つの疑問が生じます。スコアを更新すること(サブネットワークの構成を変化させること)により、損失が減少するのでしょうか。

これは sρi < sρj のとき、つまりサブネットワークはニューロンρとjから構成されている時に、更新した後のスコアが sρi > sρj となると損失が下がることが保証されています。この定理により、スコアの更新に基づいてサブネットワークの構成を変えることにより、損失が減少することが保証されます。(詳しくは、原論文をご覧ください)

実験結果

ここからは、edge-popupアルゴリズムを用いて、ランダムなパラメータで初期化されたネットワークからタスクを高精度に解くサブネットワークを見つける実験を紹介します。

使用データセット

・CIFAR10

CIFAR10を用いた実験では、VGGに近いモデルを利用します。

・ImageNet

ImageNetを用いた実験では、Resnetを用いて実験を行います。

パラメータ初期化に使用する分布

上述しましたが、元となるネットワークを初期化する時の方法も重要であることをこの論文では示しています。本研究では以下の二つの分布に従って、パラメータを初期化しています。

・Kaiming Normal

この分布はガウス分布に類似したもので、ここではNkと表記します。ガウス分布の平均が0で、分散がある定数に基づいて決められる分布です。

・Signed Kaiming Constant

この分布は、パラメータの値をある範囲からランダムにサンプリングし、その符号(±)をランダムに決める分布です。ここではUkと表記します。

使用モデル

使用するモデルは、以下の二つです。

・VGGに近い構造のモデル

図2. VGGに近いモデル

・ResNet

実験

はじめにCIFAR10を用いて、高精度なサブネットワークを提案アルゴリズムを用いて見つける実験を紹介します。下記の図をご覧ください。

図3. 提案手法によるサブネットワークの探索

ここで図3の縦軸は精度、横軸は上位k%のパラメータを使うのかを表しています。一直線の線は学習済みモデルの精度を表しています。これをベースラインとして、提案手法と比較しています。

赤と水色の線をご覧下さい。これは、提案手法により見つけたサブネットワークの精度を表しています。おおよそ、上位50%のスコアを持ったパラメータから構成されたサブネットワークは、学習済みモデルに匹敵する精度を達成していることが分かります。また、初期化する分布としてUkの方がより良い精度であることも分かります。

次に、ネットワークのパラメータ数(ネットワークの幅)を変化させたとき、どのように精度が変化するか調べた実験が以下の図です。

図4. パラメータ数を変化させた時の精度の変化

冒頭でも述べたように、パラメータ数が多くなるとサブネットワークの数が増え、それに伴い精度が向上していることが分かります。

最後に以下の図をご覧下さい。これはI mageNetを用いた実験です。

図5. ImageNetを用いた実験結果

図5によると、ResNet50のパラメータ数を多くしたネットワークのサブネットワークは、学習済みResNet-34と匹敵する精度を達成していることが分かります。

まとめ

本記事では、パラメータを学習させず、かつネットワーク構造を変化させなくとも、ネットワークの一部であるサブネットワークがタスクを高精度に解くことができることを示しました。

また、その高精度なサブネットワークを見つけるための勾配ベースのアルゴリズムを提案し、それによって高精度なサブネットワークを見つけることに成功しています。興味深いのは、元のパラメータを多く使うよりも、ある程度削減されたサブネットワークの方がより高精度であることです。これは、パラメータの削減の研究にも役立つ可能性を示唆しています。

近年、今回紹介した研究のように、これまでの学習手法を覆す研究が数多く発表されています。こういった研究により、新たな最適化手法が発見されるのではないかと、個人的に期待しています。また、このような研究が発表されるたびに、深層学習にはまだまだ様々な可能性が秘められていることを実感します。読者の皆様も、こういった研究をチェックしてみることをオススメします。

What’s Hidden in a Randomly Weighted Neural Network?
written by Vivek Ramanujan, Mitchell Wortsman, Aniruddha Kembhavi, Ali Farhadi, Mohammad Rastegari

(Submitted on 29 Nov 2019)
Subjects: Computer Vision and Pattern Recognition (cs.CV); Machine Learning (cs.LG)

サイエンスライター募集中

この記事をシェアする