ニューラルネットは、何らかの目標を達成する手段としてデータセットの特徴を学習します。完了したら、ニューラルネットが何を学習したかを知りたい場合があります。機能とは何で、なぜそれを気にかけたのですか。誰かがこの問題に関係する仕事の本文にいくつかの参照を与えることができますか?
ニューラルネットは、何らかの目標を達成する手段としてデータセットの特徴を学習します。完了したら、ニューラルネットが何を学習したかを知りたい場合があります。機能とは何で、なぜそれを気にかけたのですか。誰かがこの問題に関係する仕事の本文にいくつかの参照を与えることができますか?
回答:
ニューラルネットワークが何を学習しているのかを理解するのは難しいのは事実ですが、その面では多くの作業がありました。私たちのネットワークが何を求めているのか、私たちは間違いなくアイデアを得ることができます。
画像の畳み込みニューラルネットの場合を考えてみましょう。フィルターを画像上でスライドさせているという最初のレイヤーの解釈があるため、最初の非表示レイヤーは、画像の小さなチャンクとさまざまなフィルターの一致に対応します。これらのフィルターを視覚化して、表示の最初のレイヤーを確認できます。
この図は、AlexNetのフィルターの最初のレイヤーであり、この素晴らしいチュートリアルから取得しています:http : //cs231n.github.io/understanding-cnn/。これにより、最初の隠れ層は、各座標がフィルターと画像の小さな領域との一致であるテンソルとして、生のピクセルで構成される画像を表す学習として解釈できます。次のレイヤーは、これらのフィルターのアクティブ化を処理しています。
最初の非表示レイヤーを理解するのはそれほど難しくありません。入力画像に直接適用されるため、フィルターを見て動作を確認するだけです。例えば、あなたが白黒の画像で作業しているとしましょう(したがって、フィルターは3Dではなく2Dです)、のようなフィルターがあります
これを画像の3x3領域に適用することを想像してください(バイアス項を無視)。すべてのピクセルが同じ色だった場合、キャンセルされるのでなります。しかし、たとえば、上半分が下半分と異なる場合、潜在的に大きな値を取得します。実際、このフィルターはエッジ検出器であり、実際に画像に適用して何が起こるかを見るだけで、それを把握できます。しかし、より深い層を理解することは非常に困難です。なぜなら、問題全体は、フィルターの適用対象をどのように解釈するかわからないからです。
Erhan et al(2009)によるこの論文は、これに同意します。彼らは、最初の隠れ層の視覚化は一般的であり(2009年に戻った)、より深い層の視覚化は難しい部分であると言います。その論文から:
この調査の主な実験結果は非常に驚くべきものです。入力画像に対する内部ユニットの応答は、画像空間の関数として、単峰性であるか、少なくともテストされたすべてのランダム初期化で確実に一貫して最大値が見つかります。この支配的なモードを見つけるのは比較的簡単であり、それを表示すると、ユニットが何をするかを適切に特徴付けることができるため、これは興味深いものです。
Chris Olah et al(https://distill.pub/2017/feature-visualization/)これに基づいて構築し、一般的にどのようにできるかを議論します(1)ネットワークの意味を理解するために、大きなアクティベーションにつながる画像を生成する探しています; または(2)実際の入力画像を取得し、画像のさまざまな部分がネットワークをアクティブにする方法を確認します。その投稿は(1)に焦点を当てています。
Olahらによるリンクされた記事から取られた以下の画像では、著者は、検査できるネットワークのさまざまな側面について説明しています。左端の画像は、入力画像空間などで特定のニューロンの活性化を最適化した結果を示しています。
これについてより深く理解したい場合は、この記事全体を読むことを強くお勧めします。参考文献を読むことで、これで何が行われたかを十分に把握する必要があります。
もちろん、これはすべて、私たち人間が入力を理解できる画像のためだけのものでした。数字の大きなベクトルのように解釈が難しいものを扱っている場合、そのようなクールな視覚化はできないかもしれませんが、原則として、さまざまなニューロン、レイヤーなどを評価するためのこれらの手法を検討することができます。
ニューラルネットワークは、「理解しやすい」ルールや学習内容を提供しないブラックボックスモデルの1つです。
特に、学習されているのはモデルのパラメーターですが、パラメーターは大きくなる可能性があります。数十万のパラメーターは非常に正常です。
さらに、学習した重要な機能についても明確ではありません。モデルがすべての機能を使用し、多くの複雑な操作を行って結果を導き出すことを理解できます。
実際、活性化関数としてロジスティック関数を持つ1つの層のニューラルネットワーク(非表示層なし)は、ロジスティック回帰と同じです。ロジスティック回帰は、解釈が非常に豊富です。次に例を示します。しかし、複雑なニューラルネットワーク/より多くの隠れ層では、このような解釈は適用されません。