ニューラルネットワークの動作を視覚化/理解する方法


37

ニューラルネットワークは、複雑な構造のため、「ブラックボックス」として扱われることがよくあります。これは理想的ではありません。多くの場合、モデルが内部でどのように機能しているかを直感的に把握することが有益だからです。トレーニングされたニューラルネットワークの動作を視覚化する方法は何ですか?または、どのようにしてネットワークの簡単に消化可能な記述を抽出できますか(たとえば、この非表示ノードは主にこれらの入力で動作します)?

私は主に2層のフィードフォワードネットワークに興味がありますが、より深いネットワークの解決策も聞きたいです。入力データは、本質的に視覚的または非視覚的のいずれかです。


1
ここに良い例があります:playground.tensorflow.org
nobar

回答:


12

ニューラルネットワークは、「微分可能関数近似器」と呼ばれることもあります。したがって、できることは、他のユニットに対してユニットを区別して、それらの関係を確認することです。

これにより、ネットワークのエラーが特定の入力に対してどの程度敏感であるかを確認できます。

次に、「受容フィールド」と呼ばれるものがあります。これは、隠されたユニットに入る接続の単なる視覚化です。これにより、たとえば、特定のユニットが画像データに対して行うことを簡単に理解できます。これは、より高いレベルでも実行できます。ディープネットワークの高レベル機能の視覚化を参照してください。


13

単一の機能のすべての値をランダムにバンプし、全体的なフィットネス機能がどのように低下​​するかを記録することにより、機能の重要性を推定します。

したがって、最初のフィーチャが連続値でスケーリングされる場合、最初のフィーチャの各トレーニング例の値にを追加できます。次に、がどれだけ減少するかを調べます。これにより、トレーニングデータから機能が効果的に除外されますが、機能を文字通り削除するよりも相互作用をうまく処理できます。バツ1[01]rand010.5R2

次に、フィットネス関数の劣化によって機能をランク付けし、きれいな棒グラフを作成します。問題の領域に関する知識があれば、少なくともいくつかの最も重要な機能はガットチェックに合格する必要があります。また、これにより、予期していなかった有益な機能に驚くことができます。

この種の機能重要度テストは、ニューラルネットワークや大規模なCARTアンサンブルを含むすべてのブラックボックスモデルで機能します。私の経験では、機能の重要性は、モデルが実際に行っていることを理解するための最初のステップです。


1
答えてくれてありがとう。これは実際に私がやったことであり、非常に便利です。しかし、この質問では、ネットワーク内をブラックボックスとして扱うのではなく、ネットワークの内部に見えるものを探しています。
rm999


1

2011年秋、Andrew Ngが教えるStandfordの無料オンラインMachine Learningコースを受講し、顔検出器であるニューラルネットワークを視覚化しました。出力は一般的な顔でした。完全を期すためにこれに言及したいのですが、この種のアプリケーションには言及しなかったので、詳細を掘り下げるつもりはありません。:)


大学はスタンフォード大学です。Andrew Ngコースはウェブで見つけることができます。Dick DeVeauxがニューラルネットワークについて講義し、そのニューロンの一部が実際に起こっていることを隠していると主張するのを聞いたことがあります。これは別のタイプの非ライナー分類子であり、ダイアグラムの観点から見るのではなく、代数的に行うことを書き出すことで最もよく理解されます。この権利を思い出すことを願っています。
マイケルR.チャーニック

De Veaux and Ungar、ニューラルネットの簡単な紹介 1997: "ニューラルネットは最近どこにでもあるようです。ソフトウェアを購入してください。」
デニス

0

以下の方法はこのリンクから取られています。詳細についてはサイトをご覧ください。

ランダムな画像から始めます。つまり、ピクセルに任意に値を提供します。「次に、ネットワークへの入力としてこの画像xを使用してフォワードパスを実行し、ネットワークの中央のニューロンiでxによって引き起こされるアクティベーションa_i(x)を計算します。その後、バックワードパス(backpropを実行)ネットワーク内の以前のアクティベーションに関するa_i(x)の勾配を計算するために、逆方向パスの最後に、勾配∂a_i(x)/∂x、または各ピクセルの色をニューロンiの活性化を増加させます。その勾配のわずかな割合ααを画像に追加することにより、まさにそれを行います

x←x +α⋅∂a_i(x)/∂x

問題のニューロンの高活性化を引き起こす画像x 'が得られるまで、これを繰り返し行います。」

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.