2017-02-15 7 views
2

私は現在ケラスで作業しており、各レイヤーの出力を視覚化したいと考えています。以下の例のように、ニューラルネットワークの出力層を視覚化すると、これはMNIST手書き番号認識用です。あなたは層の出力を見て選ぶだろうと、これらの画像は ニューラルネットワーク層の出力はどのように有用ですか?

  • をどのように解釈するか、これらのイメージ
  • からの研究者の利益を何の情報や洞察

    1. 、選択のためのあなたの基準は何ですか?

    ご意見やご提案をいただければ幸いです。ありがとうございました。

    enter image description here

  • +0

    は、あなたが提示より多くのあなたが使用するネットワークの詳細や画像を提供してもらえますか? –

    +0

    ご意見ありがとうございます。私がVGG16の訓練されたモデルを使用して分級機の手書きをしようとしているとし、手書き番号の32x32画像を入力します。上記の画像は、例えばレイヤー10の出力です。レイヤー10についての情報や洞察は、そのレイヤーの出力を見ることによって得られますか?私はこれが役に立たないかどうかはわかりません。そうでない場合は、私が提供できる他の情報を教えてください。 – matchifang

    答えて

    3

    序文:畳み込みネットワークは、画像(GIFに見られるストライド)のセクションに適用されるフィルタの集合です。イメージの特定のサブセクションがフィルタと一致する場合、真偽ラベルを生成します。

    Striding CNN

    あなたはあなたが提供する画像で見ていることは、彼らはCNNが各レイヤで、画像全体をpercievesどのように視覚化するように、これらの可視化は、私の意見ではどのように動作するかの最高の表現ではなく、そこにそこで使われている一連の単純なフィルタです。これは、すべてが非常に似ていることを意味します。

    ここでは、ネットワークの基本フィルタの外観をよりよく表しています。それらのうちのいくつかは直線でトリガーし、他のものは水平線でトリガーします。それはあなたがリンクされたイメージが示しているものですが、視覚的にシンプルなオブジェクトでは、イメージ全体でそうですが、理解するのが少し難しくなります。 これらの基本的なフィルタの上に構築されたより複雑なフィルタになると、画像全体を視覚化する方がよい場合があります。

    Simple convolutional filters

    あなたが高く評価されている既存の一般的なモデルを取り、あなたの特定の問題にこれらを適用しようとする転移学習、と呼ばれる概念があります。これらのモデルは、調整が必要な場合があります。必要でないレイヤーを削除する(各レイヤーは通常、トレーニングに時間がかかるため、レイヤーを追加するなど)。

    研究者は、ネットワーク内の各レイヤーが以前のレイヤー上にどのように構築され、どのように問題解決に貢献したかをよりよく理解することができます。これは、多くの場合、一例として腸感じ(このdeep visualization toolbox videoなどの良好な視覚化によって簡素化することができる)

    に基づいており、のは、私がimage-netに訓練された一般的なモデルの名前ですVGG16を、使用していましょう。私はそれを最初に分類しようとしていた全く別のものから1000のクラスの代わりに家具の別個のカテゴリを分類するためにそれを変更したいと思います。それはそのような一般的なモデルなので、人間から動物、車、家具まで、さまざまなものを認識することができます。しかし、これらの事の多くは、私が実際に私の家具を分類するのを本当に助けてくれるわけではないので、パフォーマンス上のペナルティが発生するのには意味がありません。

    私たちがこれらのクラスについて行った最も重要な発見は、ネットワークのさまざまなレイヤーで発生するため、私は畳み込みレイヤーをバックアップして、やってこれは、耳、口、目、顔などの人間の機能を分類するのに特化したようないくつかのレイヤーを削除することを意味します。

    私が知る限り、人々は有用であると見なされている多くの層を視覚化し、その後、通常どの層を維持するか、または捨てるかという本能に基づいて判定を行う。借り

    画像:

    Visualizing what ConvNets learn

    An Intuitive Explanation of Convolutional Neural Networks

    +0

    ありがとうございました。私が現在視覚化しているのは、フィーチャーマップです。実際、フィーチャマップの視覚化からどのような洞察が得られるのかを知りたいと思っていました。おそらくそれにも答えがありますか?また、フィーチャマップではなくフィルタを視覚化する方が便利だと思いますか?質問がばかげている場合はお詫び申し上げます。私は神経網にはかなり新しいです。 – matchifang

    +0

    明日何か情報を追加するかもしれません。しかし、あなたのフィーチャーマップは本質的にあなたのフィルターの完成した出力です。あなたが目に見えるものは、あなたが理解しようとしていることによって少し異なります。私は、あなたが概念を理解しようとしている場合、そしてCNNがどのように動作するかについて、フィルタを視覚化すると言います。しかし実際の作業では、フィルタ/レイヤーから取得したフィーチャマップを視覚化します。私は非常に私が含まれているビデオを見てお勧めします。これらのフィーチャマップ/フィルタが互いにどのように相互作用するかは非常によく表示されます。 – NegatioN

    関連する問題