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トレーニングツールをアップデート

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

ブログ    
ブログ    
ブログ    

推薦する

ほとんどの企業はユーザーの同意を得ずに顔認識機能を使用している

顔認証機能の利用にあたり、利用者の同意を得ていない企業が半数近くあるというデータもある。ビッグデータ...

新たな勢力が市場に参入、コンパイラーの巨匠クリス・ラトナーが自らのビジネスを始める

「私たちのチームは、世界最大かつ最先端のテクノロジー企業出身者で構成されています。世界クラスの才能あ...

データラベラーの視点からAI技術の詳細な応用を検討する

[原文は51CTO.comより] 最近、AI分野のブラックテクノロジーは、人々の人工知能に対する認識...

...

...

AIは感情に関してより賢くなってきているのでしょうか?人間もそうすべきだ

人々は、一人でいるときと公共の場では行動が大きく異なりますが、基本的な性格は同じままです。観客のいな...

変化する生活: テクノロジーと私たちの未来

私たちがテクノロジーによってますます、そして不可逆的に動かされている世界に生きていることは疑いの余地...

ディープラーニングとニューラルネットワーク: 複雑なタスクのための AI モデル

人工知能の分野では、ディープラーニングとニューラルネットワークが最も注目を集める技術の一つとなってい...

...

この記事では、インテリジェントな注釈の原理について説明します。人工知能が注釈の問題を解決する方法を学びます。

従来の機械学習の分野でも、今日注目されているディープラーニングの分野でも、明確なラベルや結果を持つト...

生成AI人材の獲得競争が始まった。求人数は4倍に増え、最高年収は90万ドル

ウォール・ストリート・ジャーナルによると、求人ウェブサイトIndeedの統計によると、生成AI関連の...

...

簡単なアルゴリズムからアセンブリ言語の予備的研究

コンパイルを無視しないでくださいC、C++、Javaなど、日常生活で慣れ親しんでいる高級言語と比較す...