Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

深層学習の可視化手法

深層学習ネットワークが特定の判断をする理由は必ずしも明確ではないため、多くの場合、このネットワークは "ブラック ボックス" で表されます。深層学習ネットワークは、医療からローン申請まで、さまざまな分野でますます多く利用されるようになってきています。そのため、ネットワークがどのように判断を行うかを理解することが重要です。

解釈可能性の手法を使用することで、ネットワークの動作を人間が解釈できる出力に変換できます。さらに、この解釈可能な出力を使用すると、ネットワークの予測に関する質問に答えることができます。解釈可能性手法には、検証、デバッグ、学習、バイアスの評価、モデルの選択といった数多くの用途があります。

解釈可能性手法は、ネットワークの学習後に適用することも、ネットワークに組み込むこともできます。学習後に適用すると、解釈可能な深層学習ネットワークの構築に時間を費やす必要がないという利点があります。このトピックでは、学習後に適用する手法に焦点を当て、イメージ データで学習させたネットワークの予測をテスト イメージを使用して説明する方法について見ていきます。

可視化手法は、ネットワークが何に着目しているかを視覚的に表してネットワークの予測を説明する解釈可能性手法の一種です。ネットワークの動作を可視化する方法には、ヒート マップ、サリエンシー マップ、特徴重要度マップ、低次元投影といったさまざまな手法があります。

Workflow for taking a trained network and a set of test images and producing interpretable output

可視化手法

解釈可能性手法は、それぞれ特徴が異なります。どの手法を使用するかは、理解したい内容や学習させたネットワークによって左右されます。"ローカル" な手法では、特定の入力に対するネットワークの動作のみを調査できます。また、"グローバル" な手法では、データ セット全体に対するネットワークの動作を調査できます。

各可視化手法には、生成する出力を決定する特定の方法があります。一般に、手法は勾配ベースと摂動ベースに分けられます。"勾配ベース" の手法は、出力から入力に向かって信号を逆伝播します。"摂動ベース" の手法は、ネットワークへの入力に対して摂動を与え、予測に対する摂動の効果を検討します。別の解釈可能性手法として、複雑なネットワーク モデルをより解釈しやすい空間にマッピングまたは近似する手法が挙げられます。たとえば、いくつかの手法では、より単純かつ解釈しやすいモデルを使用してネットワークの予測を近似します。また、他の手法では、次元削減手法を使用して、高次元の活性化を解釈しやすい 2 次元または 3 次元の空間に縮小します。

以下の表では、イメージ分類用の深層学習モデルを可視化する解釈可能性手法を比較しています。可視化手法を使用してイメージ分類ネットワークの予測を調査する方法を示す例については、Explore Network Predictions Using Deep Learning Visualization Techniquesを参照してください。

イメージ分類用の深層学習の可視化手法

手法可視化の例 関数局所性方法解像度調整の必要性説明
活性化

Example visualization of activations on an image of a dog. The eyes and nose of the dog appear white and the rest of the image is black.

activations

ローカル活性化の可視化なし

活性化の可視化は、ネットワークの動作を理解するための単純な方法です。ほとんどの畳み込みニューラル ネットワークは、最初の畳み込み層で色やエッジといった特徴の検出を学習します。深い畳み込み層では、ネットワークはより複雑な特徴を検出することを学習します。

詳細については、畳み込みニューラル ネットワークの活性化の可視化を参照してください。

CAM

Example visualization of CAM heat map on an image of a dog. The map highlights the head of the dog.

なし

ローカル勾配ベースのクラス活性化ヒート マップなし

クラス活性化マッピング (CAM) は、畳み込みニューラル ネットワークの予測についての視覚的な説明を生成するための単純な方法です[1]。CAM は、畳み込みニューラル ネットワークのグローバル平均プーリング層を使用して、特定のクラス ラベルに関してネットワークがイメージのどの部分を使用しているかを強調表示するマップを生成します。

詳細については、クラス活性化マッピングを使用したネットワークの予測の調査を参照してください。

Grad-CAM

Example visualization of Grad-CAM heat map on an image of a dog. The map highlights the ear of the dog.

gradCAM

ローカル勾配ベースのクラス活性化ヒート マップなし

勾配加重クラス活性化マッピング (Grad-CAM) は、CAM 手法を一般化したもので、ネットワークにより決定される畳み込みの特徴についての分類スコアの勾配を使用します。この手法を使用すると、分類にとって観測値のどの部分が最も重要であるかを理解できます[2]。この勾配が大きくなる場所は、最終的なスコアがデータに最も依存する場所を示します。

Grad-CAM では、CAM のアーキテクチャの制約を受けることなく CAM と同様の結果を得ることができます。

詳細については、Grad-CAM での深層学習による判定の理由の解明Grad-CAM を使用したセマンティック セグメンテーション ネットワークの調査を参照してください。

オクルージョン感度

Example visualization of occlusion sensitivity heat map on an image of a dog. The map highlights the ear and body of the dog.

occlusionSensitivity

ローカル摂動ベースのヒート マップ低~中あり

オクルージョン感度では、入力データ内の微小な摂動に対するネットワークの感度を測定します。この手法は、入力の小さな領域をオクルージョン マスク (通常は灰色の正方形) に置き換えて摂動を与えます。マスクがイメージ全体を移動し、与えられたクラスの確率スコアの変化が測定されます。オクルージョン感度を使用して、イメージのどの部分が分類に最も重要かを強調表示することができます。

オクルージョン感度から最適な結果を得るには、MaskSize オプションと Stride オプションに適切な値を選択しなければなりません。この調整により、長さのスケールが異なる入力の特徴を検査するうえで、さらに優れた柔軟性を得られます。

詳細については、オクルージョンを使用したネットワーク予測の理解を参照してください。

LIME

Example visualization of LIME technique on an image of a dog. The image highlights segments of the ear and head of the dog.

imageLIME

ローカル摂動ベースのプロキシ モデル、特徴の重要度低~高あり

LIME 技術では、線形モデルや回帰木など、より単純かつ解釈しやすいモデルを使用し、深層学習ネットワークの分類動作を近似します[3]。この単純なモデルは、深層学習ネットワークに対する特徴の重要度に関するプロキシとして、入力データの特徴の重要度を判断します。

詳細については、LIME を使用したネットワーク予測の理解Investigate Spectrogram Classifications Using LIMEを参照してください。

勾配属性

Example visualization of gradient attribution technique on an image of a dog. The image shows highlighted pixels around the eyes and nose of the dog.

なし

ローカル勾配ベースのサリエンシー マップなし

勾配属性手法は、ネットワークによる分類の判断にとってどのピクセルが最も重要かを示すピクセル解像度マップを提供します[4][5]。この手法は、入力ピクセルに対するクラス スコアの勾配を計算します。マップにより、変更時にどのピクセルがクラス スコアに最も影響を与えるかを直感的に理解できます。

勾配属性手法は、入力イメージと同じサイズのマップを生成します。そのため、勾配属性手法のマップは解像度が高いものの、ノイズが多くなる傾向にあります。これは、適切に学習させた深層ネットワークは特定のピクセルの正確な値に強く依存しないためです。

詳細については、勾配属性の手法を使用した分類判定の調査を参照してください。

Deep Dream

Example visualization of deep dream technique.

deepDreamImage

グローバル勾配ベースの活性化最大化 低~高あり

Deep Dream は、ネットワーク層を強く活性化するイメージを合成する特徴可視化手法です[6]。これらのイメージを可視化することによって、ネットワークによって学習されたイメージの特徴を強調表示できます。これらのイメージは、ネットワーク動作の理解および診断に役立ちます。

詳細については、GoogLeNet を使用した Deep Dream イメージを参照してください。

t-SNE

Example visualization of t-SNE technique showing a graph with 12 clusters of points in 10 different colors.

tsne (Statistics and Machine Learning Toolbox)

グローバル次元削減N/Aなし

t-SNE は、次元削減手法の一種です。この手法では距離が保持されるため、高次元表現で近接している点は、低次元表現でも近接しています[7]。t-SNE を使用して、入力データがネットワーク層を通過するときに、深層学習ネットワークが入力データの表現をどのように変化させるかを可視化できます。

詳細については、tsne を使用したネットワークの動作の表示を参照してください。

最大および最小の活性化イメージ

Four images of sushi with high scores for class sushi.

なし

グローバル勾配ベースの活性化最大化 N/Aなし

各クラスについてネットワークを強くまたは弱く活性化するイメージを可視化すると、ネットワークを簡単に理解できます。強く活性化するイメージは、ネットワークから見てそのクラスに属する "標準的な" イメージがどのように見えるかを強調表示します。弱く活性化するイメージは、ネットワークが間違った分類予測を行う理由を突き止めるのに役立ちます。

詳細については、最大および最小の活性化イメージを使用したイメージ分類の可視化を参照してください。

アプリを使用してこれらの手法を対話形式で適用する方法を調べるには、GitHub® リポジトリの Explore Deep Network Explainability Using an App を参照してください。

Understanding network predictions for image classification (UNPIC) app.

イメージ以外のデータに対する解釈可能性手法

解釈可能性手法は、多くの場合、イメージの分類用または回帰用のネットワークの解釈に焦点を当てています。イメージ以外のデータは、データが視覚的ではないという特性があるため、多くの場合、解釈するのがより困難です。Grad-CAM を使用すると、時系列データで学習させた 1 次元畳み込みネットワークによる分類判定を可視化できます。詳細については、Interpret Deep Learning Time-Series Classifications Using Grad-CAMを参照してください。LSTM ネットワークの活性化を調べるには、関数 activations および tsne (Statistics and Machine Learning Toolbox) を使用します。LSTM ネットワークの予測を調査する方法を示す例については、LSTM ネットワークの活性化の可視化を参照してください。表形式の特徴で学習させたネットワークの動作を調べるには、関数 lime (Statistics and Machine Learning Toolbox) および shapley (Statistics and Machine Learning Toolbox) を使用します。特徴入力ネットワークを解釈する方法を示す例については、LIME を使用した表形式データに関する深層ネットワークの予測の解釈を参照してください。機械学習モデルの解釈に関する詳細については、機械学習モデルの解釈 (Statistics and Machine Learning Toolbox)を参照してください。

参照

[1] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Aude Oliva, and Antonio Torralba. "Learning Deep Features for Discriminative Localization." In 2016 Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition : 2921–2929. Las Vegas: IEEE, 2016.

[2] Selvaraju, Ramprasaath R., Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh, and Dhruv Batra. “Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization.” In 2017 Proceedings of the IEEE Conference on Computer Vision: 618–626. Venice, Italy: IEEE, 2017. https://doi.org/10.1109/ICCV.2017.74.

[3] Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. “‘Why Should I Trust You?’: Explaining the Predictions of Any Classifier.” In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (2016): 1135–1144. New York, NY: Association for Computing Machinery, 2016. https://doi.org/10.1145/2939672.2939778.

[4] Simonyan, Karen, Andrea Vedaldi, and Andrew Zisserman. “Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps.” Preprint, submitted April 19, 2014. https://arxiv.org/abs/1312.6034.

[5] Tomsett, Richard, Dan Harborne, Supriyo Chakraborty, Prudhvi Gurram, and Alun Preece. “Sanity Checks for Saliency Metrics.” Proceedings of the AAAI Conference on Artificial Intelligence, 34, no. 04, (April 2020): 6021–29, https://doi.org/10.1609/aaai.v34i04.6064.

[6] TensorFlow. "DeepDreaming with TensorFlow." https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/deepdream.ipynb.

[7] van der Maaten, Laurens, and Geoffrey Hinton. "Visualizing Data Using t-SNE." Journal of Machine Learning Research, 9 (2008): 2579–2605.

参考

| | | | (Statistics and Machine Learning Toolbox) |

関連するトピック

外部の Web サイト