3

私は論文Visualizing and Understanding Convolutional Networks by Zeiler and Fergusを読んでおり、視覚化技術を利用したいと考えています。 紙は有望ですが、残念ながらKeras(バージョン1.2.2)に実装する方法はわかりません。ケラスの中間フィーチャレイヤを視覚化するにはどうすればよいですか?

つの質問:

  1. KerasはDeconvolution2Dレイヤが、無Unpoolingなし "ReLUを逆に" レイヤを提供します。どのように私はunpoolingを実装するために論文に記載されているスイッチ変数を利用することができますか? どのように逆ReLUを使用する必要がありますか(または単に「通常」ReLU)ですか?

  2. Keras Deconvolution2Dレイヤーは、属性がactivationおよびsubsampleです。 多分それらは私の問題を解決するための鍵ですか? 「はい」の場合は、レイヤーConvolution2D + Activation + Poolingのすべての組み合わせを1つのDeconvolution2Dレイヤーに置き換える必要があります。

私はあなたの助けに感謝します!あなたは(私が覚えている限りでは)引用論文の著者は、具体的には、これを処理する方法について簡単に話を

答えて

1

  1. ReLU。 ReLUの逆数は... ReLUです。畳み込みは順方向パスの活性化関数に適用されるので、逆方向パスの整流された再構成にデコンボリューションが適用されるべきである。
  2. プール。厳密に言えば、プーリングを逆転する方法はありません。この論文を引用するには、スイッチ変数の集合内の各プール領域内の最大値の位置を記録することにより、近似逆数を得ることができる。デコンネット内で、アンプール操作はこれらのスイッチを用いて、刺激の構造を保存しています。

実際の実装とKerasに近いところでは、this threadをご覧ください。すぐに使用できるいくつかの例があります。

+0

あなたの答えをありがとう!残念ながら、私はまだこのペーパーを実装する方法を理解していません(私はあなたのリンクを試してみましたが、試行錯誤してDevoncolution2Dを利用しようとしましたが、結果はまったく赤い画像です(colormap = jet) 。このペーパーはいくつかの偉大な可視化につながるでしょう... –

+0

あなたの質問では、これを行う方法を尋ねている - 私は答えを提供した。なぜすべての画像が赤色であるのかについてはコメントするのが難しいです。それは実装の問題です。説明したように、ReLU - > ReLUの逆であり、提供されるリンクはUnpoolingのコードスニペットを持っています。 –

+0

うん、私はそれを得た。 Deconvolution2Dのレイヤー内でReLUをアクティベーション機能として使用しました。 また、私はUnpoolingを行うためにsubsampleを使用しました。 私はそれを続けて、解決策を共有します(成功すれば)。 –

関連する問題