ResNet は、2015 年に He Kaiming、Zhang Xiangyu、Ren Shaoqing、Sun Jian によって共同提案されました。 Residual Unit を使用して 152 層のディープ ニューラル ネットワークのトレーニングに成功し、ILSVRC 2015 コンペティションで優勝しました。 、VGGNet よりもパラメータ数が少ないにもかかわらず、トップ 5 エラー率 3.57% を達成し、その効果は非常に優れています。 ResNet の構造により、超ディープ ニューラル ネットワークのトレーニングを非常に迅速に加速でき、モデルの精度も大幅に向上します。
ResNet の最初のインスピレーションはこの問題から来ました。ニューラル ネットワークの深さが増加し続けると、劣化問題が発生します。 、精度 レートは最初に増加し、その後飽和に達し、深度を増加し続けると精度が低下します。テスト セットの誤差が増加するだけでなく、トレーニング セット自体の誤差も増加するため、これは過学習の問題ではありません。 (推奨学習: PHP ビデオ チュートリアル)
ResNet は新しいアイデアを使用しています。ResNet のアイデアは、ネットワーク層が関与しており、最適化されたネットワークがあることを前提としています。私たちが設計するディープネットワークには、多くの冗長なネットワーク層が含まれていることがよくあります。次に、これらの冗長層が ID マッピングを完了して、ID 層を介した入力と出力が正確に同じになることを期待します。具体的にどの層が ID 層であるかは、ネットワークのトレーニング中に自分で決定できます。元のネットワークのいくつかの層を残差ブロックに変更します。
飽和精度に達する比較的浅いネットワークがあると仮定し、y=x 層のいくつかの一致するマッピングを追加すると、少なくともエラーは発生します。つまり、ネットワークが深くなってもトレーニング セットの誤差が増加してはなりません。ここで述べた、合同マッピングを使用して前の層の出力を後の層に直接送信するというアイデアは、ResNet のインスピレーションの源です。あるニューラルネットワークの入力をx、期待される出力をH(x)とすると、入力xを初期結果として直接出力に移すと、このとき学習すべき目標はF(x)となります。 ) = H(x) - x。図に示すように、これは ResNet 残差学習ユニット (Residual Unit) です。
ResNet は学習目標を変更することに相当します。完全な出力 H(x) を学習するのではなく、出力と The入力差 H(x)-x は残差です。
線形変化と最初の層のアクティブ化後の出力がわかります。この図は、2 番目の層の線形変化後とその前の残差ネットワークにおける出力を示しています。活性化すると、F(x) はこの層の入力値 X を加算し、活性化後に出力します。 2 番目のレイヤーの出力値がアクティブになる前に X を追加します。このパスはショートカット接続と呼ばれます。
ResNet の構造を使用した後、層の数が増加することによって引き起こされるトレーニング セットの誤差が増加する現象が解消されることがわかります。ResNet ネットワークのトレーニング エラーは、層数が増加するにつれて徐々に減少します。層の数が増えると、テスト セットのパフォーマンスも向上します。 ResNet の立ち上げ直後、Google は ResNet のエッセンスを借用して Inception V4 と Inception ResNet V2 を提案し、これら 2 つのモデルを融合することで、ILSVRC データセットで 3.08% という驚異的なエラー率を達成しました。畳み込みニューラル ネットワークの研究に対する ResNet とそのアイデアの貢献は確かに非常に大きく、強い一般化可能性を持っていることがわかります。
PHP 関連の技術記事をさらに詳しく知りたい場合は、PHP グラフィック チュートリアル 列にアクセスして学習してください。
以上がレスネットのネットワーク構造の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。