DenseNetを理解しやすいです

ブログ:ブログパーク | CSDN | ブログ

EDITORIAL

ブログ「ResNetと詳細な分析」では、私たちは「と」ので、情報の流れの観点から、中でResNetが暗黙の異なる層の間での情報の流れについて話しました、完全ではありませんResNet、DenseNet最大の違いに比べて要素ごとの加算が特徴マップに必要ですが、一緒にステッチ連結特徴マップでされていないことを、コンボリューションの各ステップの前に畳み込みDenseNet層は、何が起こったか知っています。

それらが層に渡される前に、決定的に、ResNetsとは対照的に、我々は機能加算を組み合わせたことはありません。代わりに、我々はそれらを連結しての機能を兼ね備えています。

図に示すようにResNet同様の構造で、DenseNet高密度ブロックは、一連の複数により形成されます。

https://arxiv.org/abs/1608.06993

密なブロック与遷移層

各高密度ブロック内で、各コンボリューションの特徴マップ層は、コンボリューション出力は、それがすべての特徴マップの畳み込みから先行層の出力、別の観点、各スプライスされるように入力された以前のすべての層を知ることができます畳み込み層は、その背後にあるすべてのレイヤーのコンボリューションに出力する特徴マップでした。ここで、「各コンボリューション層」は、正確ではないことを、「各コンボリューション」はと言うことは、より正確なことは、畳み込み1のセットで構成され、後に見られます\(1 \回1 \)畳み込み層そして\(3 \回3 \)層を積層畳み込み、すなわちボトルネック構造

T Oネットワーク内の層との間の最大の情報の流れを確保するため、我々は、互いに直接(一致特徴マップサイズで)すべての層を接続します。フィードフォワード性質を維持するために、各層は先行するすべての層からの追加の入力を取得し、すべての後続の層への独自の特徴マップに渡します。

ブロック高密度の例で見てみましょう、

https://arxiv.org/abs/1608.06993

图中的\(x\)为feature map,特别地,\(x_0\)为网络输入,\(H\)为一组卷积,同Identity Mappings in Deep Residual Networks采用了pre activation方式,即BN-ReLU-\(1\times 1\)Conv-BN-ReLU-\(3\times 3\)Conv的bottleneck结构。\(x_i\)\(H_i\)输出的feature map,\(H_i\)的输入为concatenation of \([x_0, x_1, \dots, x_{i-1}]\)。定义每个\(H\)输出的 channel数为growth rate \(k =4\),则\(H_i\)的输入feature map有 \(k_0 + k\times (i-1)\)个channel,特别地,\(k_0\)\(x_0\)的channel数。所以,对于越靠后的\(H\),其输入feature map的channel越多,为了控制计算复杂度,将bottleneck中\(1\times 1\)卷积的输出channel数固定为\(4k\)。对于DenseNet的所有 Dense Block,growth rate均相同。

相邻Dense Block 之间通过Transition Layer衔接,Transition Layer由1个\(1\times 1\)卷积和\(2\times 2\)的average pooling构成,前者将输入feature map的channel数压缩一半,后者将feature map的长宽尺寸缩小一半。

可见,bottleneck和Transition Layer的作用都是为了提高计算效率以及压缩参数量。

DenseNet网络架构与性能

DenseNet用于ImageNet的网络架构如下,通过上面的介绍,这里的架构不难理解。

https://arxiv.org/abs/1608.06993

DenseNet的Parameter Efficiency很高,可以用少得多的参数和计算复杂度,取得与ResNet相当的性能,如下图所示。

https://arxiv.org/abs/1608.06993

理解DenseNet

DenseNet最终的输出为前面各层输出的拼接,在反向传播时,这种连接方式可以将最终损失直接回传到前面的各个隐藏层,相当于某种Implicit Deep Supervision强迫各个隐藏层学习到更有区分里的特征

DenseNet对feature map的使用方式可以看成是某种多尺度特征融合,文中称之为feature reuse,也可以看成是某种“延迟决定”,综合前面各环节得到的信息再决定当前层的行为。文中可视化了同block内每层对前面层的依赖程度,

For each convolutional layer ‘ within a block, we compute the average (absolute) weight assigned to connections with layers. Figure 5 shows a heat-map for all three dense blocks. The average absolute
weight serves as a surrogate for the dependency of a convolutional layer on its preceding layers.

https://arxiv.org/abs/1608.06993

图中可见每个Dense Block中每层对前面层的依赖程度,约接近红色表示依赖程度越高,可以看到,

  • Dense Block内,每个层对其前面的feature map利用方式(依赖程度)是不一样的,相当于某种“注意力
  • 遷移層分類レイヤとその最後のフロント比較的高い依存性の巨視的な特徴は、この傾向はより深く、より明白です

平野ネット、ResNetとDenseNet

平野ネット、ResNetとDenseNetを比較し、適切な類推を行うためにここではないかもしれません。

最終的には知られている絵画のネットワークメタファーの動作は塗装外観を願っていますが、N個体の手を経由する場合は、それぞれの人は、人未完成の背中に人の前で、描画する能力を制限しました。

  • ネット平野:人の未完成の前には、人は彼の限られた能力にもかかわらず、再び自分の絵を描く人の前面および背面を参照することができますが、彼は描画しなければなりませんでした。

  • ResNet:人の未完の前、そのベースでの絵の後ろの人は、彼はより多くの絵画やドローイングの最後の部分で、現在の違いを懸念しているが、彼はまだ右描画しません。

  • DenseNet:現在の絵画の一つは、すべての人の絵の前で見ることができますが、彼はまた、すべての絵画自身に再描画の前で彼を参照して、比較的良く、より信頼性の高いすべての絵画や画家の順序を知っている、と一緒にすべての前で一緒に人々の図面に戻って。

参照することは困難ではない、ResNetとDenseNetフォーカスは同じではありませんが、確率はよりよい平野ネットよりも描く必要があります。

だから、能力が合成した場合とDenseNetをResNetが良く描画されますされていませんか?

上記。

参照

おすすめ

転載: www.cnblogs.com/shine-lee/p/12380510.html