Tensorflow コード実装によるディープ ニューラル ネットワークの解釈可能性手法の概要

Tensorflow コード実装によるディープ ニューラル ネットワークの解釈可能性手法の概要

ニューラル ネットワークの理解: ディープラーニングは長い間、解釈可能性が低いと考えられてきました。しかし、ニューラル ネットワークを理解するための研究は決して止まりません。この記事では、ニューラル ネットワークの解釈方法をいくつか紹介し、Jupyter で実行できるコード リンクを備えています。

活性化の最大化

活性化最大化を通じてディープ ニューラル ネットワークを解釈する方法は 2 つあります。

1.1 活性化最大化(AM)

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/1.1%20Activation%20Maximization.ipynb

1.2 コード空間での AM の実行

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/1.3%20Performing%20AM%20in%20Code%20Space.ipynb

レイヤーごとの関連性の伝播

レイヤーごとの相関伝播には 5 つの解釈可能な方法があります。感度分析、単純テイラー分解、レイヤーごとの関連性伝播、ディープテイラー分解、DeepLIFT。彼らのアプローチは、まず感度分析を通じて関連スコアの概念を導入し、単純なテイラー分解を使用して基本的な関連分解を調査し、次にさまざまな階層的関連伝播方法を確立することです。詳細は以下の通りです。

2.1 感度分析

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.1%20Sensitivity%20Analysis.ipynb

2.2 単純テイラー分解

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.2%20Simple%20Taylor%20Decomposition.ipynb

2.3 レイヤーごとの関連性の伝播

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.3%20Layer-wise%20Relevance%20Propagation%20%281%29.ipynb

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.3%20Layer-wise%20Relevance%20Propagation%20%282%29.ipynb

2.4 ディープテイラー分解

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.4%20Deep%20Taylor%20Decomposition%20%281%29.ipynb

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.4%20Deep%20Taylor%20Decomposition%20%282%29.ipynb

2.5 ディープリフト

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/2.5%20DeepLIFT.ipynb

勾配ベースの方法

勾配ベースの方法には、デコンボリューション、バックプロパゲーション、ガイド付きバックプロパゲーション、積分勾配、平滑化勾配などがあります。詳細については、次のリンクを参照してください。

https://github.com/1202kbs/Understanding-NN/blob/master/models/grad.py

詳細は以下の通りです。

3.1 デコンボリューション

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/3.1%20Deconvolution.ipynb

3.2 バックプロパゲーション

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/3.2%20Backpropagation.ipynb

3.3 ガイド付きバックプロパゲーション

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/3.3%20Guided%20Backpropagation.ipynb

3.4 積分勾配

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/3.4%20Integrated%20Gradients.ipynb

3.5 スムーズグラッド

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/3.5%20SmoothGrad.ipynb

クラスアクティベーションマップ

クラス アクティベーション マッピングには、クラス アクティベーション マップ、Grad-CAM、Grad-CAM++ の 3 つの方法があります。 MNIST のコードを参照できます:

https://github.com/deepmind/mnist-cluttered

各方法の詳細は以下の通りです。

4.1 クラスアクティベーションマップ

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/4.1%20CAM.ipynb

4.2 グラッドCAM

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/4.2%20Grad-CAM.ipynb

4.3 グラッドCAM++

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/4.3%20Grad-CAM-PP.ipynb

説明の質を定量化する

それぞれの説明手法は、独自の直感的または数学的原理に基づいていますが、より抽象的なレベルで優れた説明の特徴を特定し、これらの特徴を定量的にテストできることも重要です。ここでは、品質と評価に基づいたさらに 2 つの解釈可能性の方法をお勧めします。詳細は以下の通りです。

5.1 説明の継続

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/5.1%20Explanation%20Continuity.ipynb

5.2 説明の選択性

関連するコードは次のとおりです。

http://nbviewer.jupyter.org/github/1202kbs/Understanding-NN/blob/master/5.2%20Explanation%20Selectivity.ipynb

<<:  Google、ブラウザで動作するプログラミング不要のAIトレーニングツールをアップデート

>>:  データ変換率が低いと機械学習に深刻な影響を与える可能性がある

ブログ    

推薦する

GPT-4 よりも優れており、クローズドソース モデルよりも優れています。コードラマの謎のバージョンが公開

Code Llama はリリースからわずか 2 日で、再び AI コーディングの革命に火をつけました...

推理力が2倍にアップ!プリンストン大学と北京大学の卒業生がロング「メデューサ」を提供、33Bモデルは13Bと同等の速さ

LLM アーキテクチャに固有のメモリ制限により、生成は遅く、コストがかかります。この点に関して、多く...

最初の生成 AI 安全ガイダンス文書がここにあります。理解できましたか?

10月11日、国家情報セキュリティ標準化技術委員会の公式サイトで「生成型人工知能サービスの基本セキ...

5G時代の人工知能のホットスポットとなる業界はどこでしょうか?

このプロセスでは、多くのアプリケーションが継続的に追加されています。たとえば、コンピュータと通信の統...

トレンド: IT の複雑さにより AIOps の必要性が高まる

AIOps 市場が成熟するにつれて、業界関係者の多くは、プラットフォームがネイティブにデータを取得し...

...

...

自動運転の運転手が死亡事故で無罪となった。将来のAIの世界はより良くなるだろうか?

2018年3月18日、アメリカ・アリゾナ州で、セーフティドライバーを乗せたUberの自動運転車が道...

...

...

...

Paxos と Raft はコンセンサスアルゴリズム/プロトコルではないのですか?

インターネットの一員として、私たちは「分散」の雰囲気に浸ることがよくあります。高可用性、高信頼性、高...

...

人工知能のための 6 つの無料オープンソース ツール! 3 分で機械学習を始めましょう!

オープンソースでは、自分のアイデアがいかに独創的であったとしても、他の誰かがすでにそのコンセプトを実...