1.ディープなネットワークもワイドなネットワークも同じ事を学習しているのか?(1/2)まとめ
・ニューラルネットワークの性能を調整する際はネットワークの深さや幅が調整される
・しかし精度以外にこれらの違いがどのように影響するかについての理解は深まっていない
・隠れ特徴表現と最終出力の観点からワイド or ディープネットワークの類似性を調査
2.異なったアーキテクチャ同士の特徴表現の類似性
以下、ai.googleblog.comより「Do Wide and Deep Networks Learn the Same Things?」の意訳です。元記事の投稿は2021年5月4日、Thao Nguyenさんによる投稿です。
ディープでワイドな感じを表現したかったアイキャッチ画像のクレジットPhoto by Shot by Cerqueira on Unsplash
ニューラルネットワークのパフォーマンスを改善し、利用可能な計算リソースに合わせて調整するための一般的な方法は、ネットワーク設計の深さと幅を調整することです。
実際、EfficientNet、ResNet、Transformersなどの人気のあるニューラルネットワークは、ネットワークの深さと幅を柔軟に選択できるように深さと幅を変えた複数のモデルが提供されています。ただし、精度への影響以外に、内部特徴表現への影響など、ネットワーク設計に関するこれらの基本的な選択がモデルにどのように影響するかについての理解は限られています。
論文「Do Wide and Deep Networks Learn the Same Things? Uncovering How Neural Network Representations Vary with Width and Depth」では、「入力データ内に隠されている特徴表現(hidden representation)」と「最終出力」の観点から、同じアーキテクチャを持つモデル群のワイドなネットワークとディープなネットワークの類似性を体系的に調査しました。
非常に幅広いモデルまたは非常に深いモデルでは、内部特徴表現に特徴的なブロック構造が出現し、このブロック構造現象とモデルの過剰パラメーター化間に関係が確立します。
モデル間の比較結果は、ブロック構造のないモデルは対応するレイヤーの特徴表現間に有意な類似性を示しますが、ブロック構造のあるモデルは非常に異なる特徴表現を示すことを示しています。内部特徴表現のこれらの属性は、同じテストセットで評価された場合、ワイドモデルとディープモデルのクラスレベルとサンプルレベルの両方で体系的に異なるエラーに変換されます。
CKAを使った特徴表現の類似性の比較
2017年に開発したCentered Kernel Alignment(CKA)手法を活用して、特徴表現の分析に関する以前の研究を拡張しました。これは、ニューラルネットワークレイヤーの任意のペアによって学習された特徴表現間の類似性を判断するための堅牢で規模拡大可能な方法を提供します。CKAは、2つのレイヤーから特徴表現(つまり、アクティベーションマトリックス)を入力として受け取り、0(まったく類似していない特徴表現)と1(同一の特徴表現)の間の類似スコアを出力します。
様々な深さと幅のResNetのファミリーにCKAを適用し、一般的なベンチマークデータセット(CIFAR-10、CIFAR-100、およびImageNet)でトレーニングし、特徴表現ヒートマップでグラフ化した結果を以下に示します。
各ヒートマップのx軸とy軸は、該当モデルの「入力から出力に至るまでの各レイヤー」のインデックスです。(i, j)は、レイヤーiとレイヤーjの間のCKA類似度スコアです。
CKAを使用して、単一モデル内(つまり、ネットワーク1とネットワーク2が同一の場合)およびモデル間(つまり、ネットワーク1とネットワーク2が異なるランダム初期化でトレーニングされているか、全く異なるアーキテクチャの場合)のレイヤーの全てのペアの特徴表現の類似性を計算します。
以下は、深さ26と幅乗数1の単一ResNetで、各レイヤーの特徴表現を他のすべてのレイヤーと比較した場合に得られるヒートマップの例です。
ここで使用される設計規則では、指定された深さはネットワーク内の畳み込み層の数のみを参照しますが、存在するすべての層を分析し、幅乗数は各畳み込みのフィルターの数に適用されます。
ヒートマップの市松模様パターンに注意してください。これは、アーキテクチャ内のスキップ接続(レイヤー間のショートカット)が原因で発生します。
3.ディープなネットワークもワイドなネットワークも同じ事を学習しているのか?(1/2)関連リンク
1)ai.googleblog.com
Do Wide and Deep Networks Learn the Same Things?