畳み込みニューラルネットワークにおけるパラメータ共有/重みの複製

畳み込みニューラルネットワークにおけるパラメータ共有/重みの複製

パラメータの共有や重みの複製は、ディープラーニングでは見落とされがちな領域です。しかし、この単純な概念を理解することは、畳み込みニューラル ネットワークの内部をより広く理解するのに役立ちます。畳み込みニューラル ネットワーク (CNN) は、ネットワークを介して供給される画像をアフィン変換に対して不変にすることができます。 この機能により、オフセット パターンを認識し、傾いた画像やわずかに歪んだ画像を識別することができます。

[[334801]]

アフィン不変性のこれらの特性は、CNN アーキテクチャの 3 つの主な特性によって導入されます。

  • 局所受容野
  • 重み共有(パラメータ共有)
  • 空間のサンプリング

この記事では、重み共有について説明し、CNN アーキテクチャにおける重み共有の用途と利点を理解します。この記事は、機械学習、特にディープラーニングに取り組んでいるあらゆるレベルの人々を対象としています。

導入

[[334802]]

まず、CNN の畳み込み層を頭の中で視覚化してみましょう。 。

CNN の畳み込み層 (conv 層) には、ニューロンとも呼ばれるユニットのグループが含まれています。

conv レイヤーには、レイヤー内にいくつかのフィルターも含まれており、これらは事前定義されたハイパーパラメータです。

レイヤー内のフィルターの数は、次のレイヤーへの入力として conv レイヤーによって作成されたアクティベーション/特徴マップの出力の深度次元を表します。

各フィルターには、レイヤー内の単一ユニットの局所受容野に対応する幅と高さが設定されています。入力データに適用されたフィルターは、畳み込み層の出力である特徴マップを生成します。

CNN のトレーニング段階では、フィルターの重み値を学習できます。畳み込み層の出力次元には深度コンポーネントがあり、出力の各セグメントをセグメント化すると、2D 特徴マップが得られます。単一の 2D 平面で使用されるフィルターには、同じ平面で使用されるすべてのフィルター間で共有される単一の重みが含まれます。

これの利点は、入力データの一部と入力データの別の部分で同じ特徴検出器が保持されることです。

畳み込み層の出力は特徴マップのセットであり、各特徴マップはユニット内の固定重みパラメータと入力データ間の畳み込み演算の結果です。

畳み込みニューラル ネットワーク レイヤーの基本的な特性は、入力レイヤーを介してレイヤーに入力される入力画像に対して行われたアフィン変換が、その特徴マップに反映されることです。

したがって、入力データのシフト、スキュー、または方向に対して、特徴マップは、入力データが受けた量だけシフト、スキュー、または方向付けられた出力を提供します。

理論を実践する

このセクションの目的は、畳み込みニューラル ネットワークで発生する重み共有の利点を明らかにすることです。

2 つの一般的な CNN アーキテクチャである LeNet と AlexNet の最初の畳み込み層で、異なる重み共有と重み共有を使用してトレーニング可能な重みの数を導出します。

実行する手順は次のとおりです。

1. 変換層の出力幅を取得する

(入力サイズ幅 - フィルタサイズ + (2 * パディング) / ストライド) + 1 = 畳み込み層の出力幅

  • 変換層のニューロン/ユニットの数を数える
  • 重み共有を使用しないトレーニング済みパラメータ(バイアスを含む)の数を数える
  • 重みを使用して共有されるトレーニングパラメータ(バイアスを含む)の数をカウントする

次の表は、畳み込み層内のトレーニング可能なパラメータ/重みの数を導出するために使用される AlexNet および LeNet CNN アーキテクチャからの情報を示しています。

アレックスネット

  • 変換層の出力幅: =((227-11)/4)+1=55(変換層の出力幅)
  • 畳み込み層のニューロン数/ユニット数 = 出力の高さ * 出力の幅 * 特徴マップの数 = 55*55*96 (畳み込み出力の数) = 290,400 ユニット
  • 畳み込み層のトレーニングパラメータまたは重みの数(重み共有を使用しない)= 290400 * ((11 * 11 * 3) + 1 バイアス) = ​​105,415,600
  • 重み共有を使用するトレーニングパラメータまたは重みの数 = 96 * ((11 * 11 * 3) + 1 バイアス) = ​​34944

レネット

  • 変換層の出力幅: =(((28–5)/1)+1=24(変換層の出力幅)
  • 畳み込み層のニューロン数/ユニット数 = 出力の高さ * 出力の幅 * 特徴マップの数 = 24*24*6 (畳み込み出力の数) = 3,456 ユニット
  • 畳み込み層内のトレーニング可能なパラメータまたは重みの数(重み共有を使用しない)= 3456 * ((5 * 5 * 1) + 1 バイアス) = ​​89,856
  • 重み共有を使用してトレーニングされたパラメータまたは重みの数 = 6 * ((5 * 5 * 1) + 1 バイアス) = ​​156

要約する

[[334803]]

明らかに、パラメータ共有により、Conv レイヤーの重みの数を減らすことができます。

パラメータ共有は、ネットワーク内のすべての conv レイヤーに使用されます。

パラメータの共有によりトレーニング時間が短縮されます。これは、バックプロパゲーション中に実行する必要がある重みの更新回数を減らすことによる直接的な利点です。

繰り返しになりますが、パラメータ共有は、畳み込み層内の平面内のユニットのフィルターと入力データとの間の畳み込みの結果として特徴マップが生成されるときに発生します。 このレイヤー プレーン内のすべてのユニットは同じ重みを共有します。そのため、重み/パラメーター共有と呼ばれます。

<<:  米メディア:人工知能(AI)は、人間の推論の欠点を伴わずにコンピューティングの利点を実現する

>>:  Microsoft Megvii の顔認識は 100% 動作不能! 写真の「見えないマント」で写真のプライバシー データを保護

ブログ    

推薦する

...

5つの主要な知能分野における知識グラフの応用の目録

1. セマンティックマッチングセマンティック マッチングは、検索の推奨、インテリジェントな質問と回答...

機械学習とデータサイエンスに関するこれらの 10 冊の無料書籍を読みたくないですか?

機械学習とデータサイエンスに関する新しい本を本棚に追加する時期が来ました。KDnuggets 編集者...

都市の気質を改善し、住みやすい環境を守る。AIはガバナンスの閉ループを開く

「新しいインフラ」は新たな方向性を表しています。新旧の成長原動力の転換という文脈において、「新インフ...

人工知能はどれくらい怖いのでしょうか?アメリカはAI兵器を開発し、イランの科学者は死亡した

[[358758]]人工知能はかつてはSF映画にしか登場しない言葉でした。しかし、通信、ビッグデータ...

NLP技術の準備——自然言語処理技術はあなたの妻ではありません

人工知能技術の発展に伴い、携帯電話の翻訳ソフトを使って自分の言語をリアルタイムで翻訳したり、画像認識...

ロボットを活用する3つの革新的な方法

ロボットは、高齢の両親を助けたり、子供を教育したり、料理をしたりすることができます。ロボット産業は創...

AWS 上でディープラーニングホストを構築する (Windows 版)

この記事では、Amazon EC2 P2 インスタンスをレンタルして使用する方法について簡単に説明し...

機械学習はビジネスシナリオにどのように適用されますか? 3つの実際のビジネスプロジェクト

国府如和の長年にわたる指導過程において、多くの学生が次のような質問をしました。機械学習は実際のビジネ...

インテリジェントな人間と機械のインタラクションがデジタルサービスを新たなレベルに引き上げます

2020年という「長い」年が、あっという間に終わりを迎えようとしています。この時期を振り返ると、長い...

...

...

自然言語処理パート1: テキスト分類器

[[194511]]序文テキスト分類は、自動記事分類、自動メール分類、スパム識別、ユーザー感情分類な...