スキップ層接続を備えたニューラルネットワーク


26

ニューラルネットワークでの回帰に興味があります。

隠れノードがゼロのニューラルネットワーク+スキップレイヤー接続は線形モデルです。

同じニューラルネットについてですが、隠れノードはありますか?スキップ層接続の役割は何でしょうか?

直観的には、スキップ層接続を含めると、最終モデルは線形モデルといくつかの非線形部分の合計になります。

ニューラルネットにスキップレイヤー接続を追加することには、利点や欠点はありますか?

回答:


38

私はゲームに非常に遅れていますが、スキップ接続に関する畳み込みニューラルネットワークの現在の開発を反映するために投稿したかったのです。

マイクロソフトリサーチチームは最近ImageNet 2015コンペティションで優勝し、主要なアイデアのいくつかを説明する画像認識のためのディープレジデンシャルラーニングのテクニカルレポートをリリースしました。

彼らの主な貢献の1つは深い残留層のこの概念です。これらの深い残留層は、スキップ接続を使用します。これらの深い残余層を使用して、彼らはImageNet 2015の152層のconvネットを訓練することができました。CIFAR-10の1000+層のconvネットも訓練しました。

それらを動機づけた問題は次のとおりです。

より深いネットワークが収束し始めると、劣化の問題が明らかになります。ネットワークの深さが増加すると、精度が飽和し(当然のことですが)、急速に劣化します。予想外に、このような劣化は過剰適合によるものでなく、適切な深さのモデルにレイヤーを追加するとトレーニングエラー大きくなります ...

「浅い」ネットワークを使用して、より多くのレイヤーにスタックしてより深いネットワークを作成する場合、より深いネットワークのパフォーマンスは、少なくともより深いネットワークが正確な浅いネットワークを学習できるのと同じくらい良いはずです新しいスタックレイヤーをIDレイヤーに設定することでネットワークを構築します(実際には、これはおそらく、アーキテクチャの事前設定や現在の最適化手法を使用しない場合に発生する可能性が非常に低いことを知っています)。彼らは、これは事実ではなく、浅いモデルの上にさらに多くのレイヤーを重ねるとトレーニングエラーが悪化することがあることを観察しました。

そのため、スキップ接続を使用し、いわゆるディープ残差層を使用して、ネットワークがアイデンティティ層からの偏差を学習できるように動機付けました。したがって、残差という用語は、ここではアイデンティティとの違いを指します。

次の方法でスキップ接続を実装します。 ここに画像の説明を入力してください

そのため、マップを残差マップとして表示します。スキップレイヤー接続を使用して、このマッピングをにキャストします。したがって、残差が「小さい」場合、マップはおおよそ同一です。Fバツ:=HバツバツFバツ+バツ=HバツFバツHバツ

このように、スキップ接続を介した深い残余層の使用により、それが実際に最適または局所的に最適である場合、それらの深いネットがおおよそのアイデンティティ層を学習することができます。確かに、彼らは彼らの残留層を主張しています:

実験により、学習された残差関数は一般に応答が小さいことを示します(図7)

これが正確に機能する理由については、正確な答えがありません。アイデンティティレイヤーが最適である可能性は非常に低いですが、これらの残余レイヤーを使用すると問題を事前調整でき、アイデンティティマッピングと比較する参照/ベースラインが与えられると、「ゼロから」学習するよりも新しい関数を学習する方が簡単になると考えられますIDベースラインを使用せずに。知るか。しかし、これはあなたの質問に対する良い答えだと思いました。

ちなみに、後知恵で:サシケロの答えはさらに良いですね。


前提条件とはどういう意味ですか?(また、あなたの答えは、サシケロよりもはるかに優れています)。また、問題は、スキップ接続なしでさらにレイヤーを追加すると、より深いネットワークがアイデンティティーマッピングを見つけることさえ難しくなることです?(何らかの理由で?)
チャーリーパーカー

20

理論的には、スキップ層接続はネットワークのパフォーマンスを改善すべきではありません。ただし、複雑なネットワークはトレーニングが難しく、簡単にオーバーフィットできるため、データに強い線形成分があることがわかっている場合、これを線形回帰項として明示的に追加すると非常に便利です。これはモデルを正しい方向に示唆します...さらに、これはモデルを線形+摂動として提示し、通常は単なるブラックボックスとして見られるネットワークの背後にある構造の一部を解明するため、より解釈しやすくなります。


@sashkelloでは、理論的に「スキップレイヤー接続はネットワークパフォーマンスを改善すべきではありません」について詳しく説明できます。理解するのは素晴らしいことです。
昼食5

@hunchこれは、スキップレイヤーを必要とせずにこれをモデル化できるからです。スキップ層は単なる線形用語です。シグモイド関数は0を中心に線形です。そのため、スキップレイヤー接続は、非常に小さな入力ウェイトを持つ非表示ノードのように動作します。
サシュケロ16

5

私の古いニューラルネットワークツールボックス(最近は主にカーネルマシンを使用しています)は、L1正則化を使用して冗長な重みと隠されたユニットを除去し、スキップレイヤー接続も行いました。これには、問題が本質的に線形である場合、隠されたユニットが枝刈りされる傾向があり、線形モデルが残るため、問題が線形であることを明確に示します。

sashkello(+1)が示唆するように、MLPは普遍的な近似器です。そのため、レイヤー接続をスキップしても、無限のデータと無限の数の隠されたユニットの制限の結果は改善されません(しかし、いつその制限に近づくのでしょうか?)。本当の利点は、ネットワークアーキテクチャが問題によく適合している場合、重みの適切な値を簡単に推定できることです。また、より小さなネットワークを使用して、より良い一般化パフォーマンスを得ることができます。

ただし、ほとんどのニューラルネットワークの質問と同様に、一般に特定のデータセットに役立つか有害かを判断する唯一の方法は、それを試してみることです(信頼できるパフォーマンス評価手順を使用)。


3
「試してみてください」-黄金の言葉:)
サシュケロ

0

Bishop 5.1に基づいています。フィードフォワードネットワーク機能:ネットワークアーキテクチャを一般化する方法は、スキップレイヤー接続を含めることです。各レイヤーは、対応する適応パラメーターに関連付けられています。たとえば、2層(2つの隠れ層)ネットワークでは、これらは入力から出力に直接移動します。原則として、シグモイドの隠れユニットを備えたネットワークは、隠れたユニットがその動作範囲にわたって効果的に線形である十分に小さな第1層の重みを使用して、スキップされたレイヤー接続を常に制限できます非表示ユニットから出力までの重み値。

ただし、実際には、スキップ層接続を明示的に含めることが有利な場合があります。ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.