完全畳み込みネットワークに関連する文学を調査していたところ、次のフレーズに出くわしました。 、

完全畳み込みネットワークは、標準CNNアーキテクチャのパラメーターが豊富な完全接続層を $ 1 \ times 1 $ カーネル。

2つの質問があります。

  1. パラメータが豊富とはどういう意味ですか?完全に接続されたレイヤーは、「空間的な」削減なしにパラメーターを渡すため、パラメーターリッチと呼ばれますか?

  2. また、 $ 1 \ times 1 $ カーネルはどのように機能しますか? $ 1 \ times 1 $ カーネルは、単に画像上で1ピクセルスライドしていることを意味しませんか?これについて混乱しています。

回答

完全畳み込みネットワーク

完全畳み込みネットワーク(FCN) は、畳み込み(およびサブサンプリングまたはアップサンプリング)操作のみを実行するニューラルネットワークです。同様に、FCNは完全に接続されたレイヤーのないCNNです。

畳み込みニューラルネットワーク

一般的な畳み込みニューラルネットワーク(CNN)は、完全に畳み込みではありません。多くの場合、完全に接続されたレイヤー(畳み込み操作を実行しない)も含まれます。これらのレイヤーは、(同等の畳み込みと比較して)多くのパラメーターを持っているという意味でパラメーターが豊富ですレイヤー)、ただし、完全に接続されたレイヤーは、kerとの畳み込みと見なすこともできます。入力領域全体をカバーするネル。これは、CNNをFCNに変換する背後にある主なアイデアです。完全に接続されたレイヤーを畳み込みレイヤーに変換する方法を説明しているAndrewNgによるこのビデオを参照してください。

FCNの例

完全畳み込みネットワークの例は、 U-net (下の図からわかるようにU字型であるため、このように呼び出されます)は、セマンティックに使用される有名なネットワークです。セグメンテーション、つまり、同じクラス(人など)に属するピクセルが同じラベル(人など)に関連付けられるように画像のピクセルを分類します。または密)分類。

ここに画像の説明を入力

セマンティックセグメンテーション

したがって、セマンティックセグメンテーションでは、入力画像の各ピクセル(またはピクセルの小さなパッチ)にラベルを関連付ける必要があります。ここに「セマンティックセグメンテーションを実行するニューラルネットワークのより示唆に富む図があります。

ここに画像の説明を入力してください

インスタンスのセグメンテーション

インスタンスのセグメンテーションもあります 、同じクラスの異なるインスタンスも区別したい場合(たとえば、同じ画像内の2人を異なるラベルで区別したい場合)。インスタンスのセグメンテーションに使用されるニューラルネットワークの例は、マスクR-CNN です。 RachelDraelosによるブログ投稿セグメンテーション:U-Net、マスクR-CNN、および医療アプリケーション(2020)は、これら2つの問題とネットワークについて非常によく説明しています。

これは、同じクラス(つまり、人)のインスタンスに異なるラベル(オレンジと青)が付けられた画像の例です。

ここに画像の説明を入力

セマンティックセグメンテーションとインスタンスセグメンテーションはどちらも高密度の分類タスクです(具体的には、これらは分類されます) 画像セグメンテーション)のカテゴリに分類します。つまり、画像の各ピクセルまたはピクセルの多数の小さなパッチを分類します。

$ 1 \ times 1 $ 畳み込み

上のU-netダイアグラムでは、畳み込み、コピーとトリミング、最大-のみがあることがわかります。プーリングおよびアップサンプリング操作。完全に接続されたレイヤーはありません。

では、ラベルを各ピクセル(またはpの小さなパッチ)に関連付けるにはどうすればよいですか。入力のixels)?最終的に完全に接続されたレイヤーなしで各ピクセル(またはパッチ)の分類を実行するにはどうすればよいですか?

ここで $ 1 \ times 1 $ 畳み込みとアップサンプリングの操作が便利です!

上記のU-netダイアグラムの場合(具体的には、わかりやすくするためにダイアグラムの右上部分を以下に示します)、 2 $ 1 \ times 1 \ times 64 $ カーネルが入力ボリュームに適用されます(画像ではありません!)サイズ $ 388 \ times 388 $ 2つの特徴マップを作成します。実験には2つのクラス(セルと非セル)があったため、2つの $ 1 \ times 1 $ カーネルを使用しました。 前述のブログ投稿でも、この背後にある直感がわかるので、読んでください。

ここに画像の説明を入力

U-netダイアグラムを注意深く分析しようとすると、出力マップに気付くでしょう。 $ 572 \ times 572 \ times 1 $ の寸法を持つ入力画像とは異なる空間(高さと重量)の寸法があります。

それは一般的な目標は高密度分類を実行することであるため、問題ありません(つまり、パッチに1つのピクセルしか含めることができない画像のパッチを分類します)、ピクセル単位の分類を実行すると言ったので、出力が入力と同じ正確な空間次元を持つことを期待していた可能性があります。ただし、実際には、出力マップに次のようにすることもできます。入力と同じ空間次元:あなたはただne別のアップサンプリング(デコンボリューション)操作を実行するために編集されました。

$ 1 \ times 1 $ コンボリューションはどのように機能しますか?

A $ 1 \ times 1 $ 畳み込みは、典型的な2d畳み込みですが、 $ 1 \ times1 $ カーネルを使用します。

おそらくすでに知っているように(そして、これを知らなかった場合は、今では知っています)、 $ g \ times g $ サイズ $ h \ times w \ times d $ の入力に適用されるカーネル。ここで、 $ d $ は入力ボリュームの深さ(たとえば、グレースケール画像の場合は $ 1 $ )であり、カーネルは実際には $ g \ times g \ times d $ 、つまり、カーネルの3番目の次元は、適用される入力の3番目の次元と同じです。これは、3D畳み込みを除いて常に当てはまりますが、ここでは典型的な2D畳み込みについて話します。詳細については、この回答を参照してください。

したがって、を適用する場合は$ 1 \ times 1 $ 形状の入力への畳み込み $ 388 \ times 388 \ times 64 $ 、ここで $ 64 $ は入力の深さであり、使用する必要のある実際の $ 1 \ times 1 $ カーネルの形状は $ 1 \ times 1 \ times 64 $ (上記のU-netについて述べたように)。 $ 1 \ times 1 $ を使用して入力の深さを減らす方法は、 $ 1 \ times 1 $の数によって決まります。 使用するカーネル。これは、異なるカーネルを使用した2D畳み込み演算の場合とまったく同じです(例: $ 3 \ times 3 $ )。

の場合U-netでは、入力の空間次元は、CNNへの入力の空間次元が縮小されるのと同じ方法で縮小されます(つまり、2次元畳み込みとそれに続くダウンサンプリング操作)。 U-netと他のCNNの主な違い(完全に接続されたレイヤーを使用しないことを除く)は、U-netがアップサンプリング操作を実行するため、エンコーダー(左側)とそれに続くデコーダー(右側)と見なすことができることです。 。

コメント

  • 詳細な返信ありがとうございます。本当に感謝しています!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です