主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

石灰を使用したネットワ,ク予測の理解

この例では,局部可判断的Model-agnostic解释(石灰)を使用し,深層ニューラルネットワークによる分類の判定理由を理解する方法を説明します。

深層ニュ,ラルネットワ,クは極めて複雑であり,その判定は解釈が困難な場合もあります。石灰技術では,回帰木など,より単純かつ解釈しやすいモデルを使用し,深層ニューラルネットワークの分類動作を近似します。この単純なモデルの判定を解釈することにより,ニューラルネットワークの判定に関する洞察が得られます[1]。この単純なモデルは,深層ニューラルネットワークに対する特徴の重要度に関するプロキシとして,入力データの特徴の重要度を判断するために使用されます。

特定の特徴が深層ネットワークの分類判定に極めて重要である場合,その特徴を削除すると分類スコアに著しい影響が及びます。そのため,この特徴は,単純なモデルにとっても重要です。

深度学习工具箱には、石灰技術によって判断された特徴の重要度のマップを計算する関数imageLIMEが用意されています。。

  • 特徴への▪▪メ▪▪ジのセグメント化。

  • 特徴をランダムに追加または除外することによる,多数の合成。除外された特徴は,すべてのピクセルがイメージ平均の値で置き換えられているため,それらがネットワークに有益な情報を含むことはありません。

  • 深層ネットワクでの合成メジの分類。

  • 各合成イメージに関するイメージの特徴の有無を,ターゲットクラスのスコアに対するバイナリ回帰予測子として使用することによる,単純な回帰モデルの当てはめ。このモデルは,観測領域における複雑な深層ニュ,ラルネットワ,クの動作を近似します。

  • 単純なモデルを使用した特徴の重要度の計算。および,その特徴の重要度を,モデルにとって最も重要な。

石灰技術によって得られた結果を,他の説明可能性技術(オクルージョン感度,Grad-CAMなど)と比較できます。これらの関連技術の使用方法の例にいては,次の例を参照してください。

事前学習済みのネットワクとメジの読み込み

事前学習済みのネットワ,クGoogLeNetを読み込みます。

Net = googlenet;

@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

inputSize = net.Layers(1).InputSize(1:2);classes = net.Layers(end).Classes;

メ,ジを読み込みます。。@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @

Img = imread(“sherlock.jpg”);img = imresize(img,inputSize);

[YPred,scores] = category (net,img);[~,topIdx] = maxk(scores, 3);topScores =分数(topIdx);topClasses =类(topIdx);imshow(img) titleString = compose(“% s (% .2f)”、topClasses topScores);标题(sprintf(加入(titleString,”;“)));

GoogLeNetはSherlockを金毛猎犬として分類します。当然ながら,ネットワ,クは拉布拉多寻回犬クラスにも高い確率を割り当てています。imageLIMEを使用することで、ネットワ、クが、メ、ジのどの部分を使用してこの分類判定を下したかを理解できます。

ネットワクが分類に使用するメジ領域の特定

石灰を使用することで,クラスにとってメジのどの部分が重要かを理解できます。最初に,金毛猎犬の予測クラスを確認します。メ,ジのどの部分がこのクラスを提示するのでしょうか。

既定では,imageLIME。このセグメント化の方法では,图像处理工具箱が必要になります。ただし,图像处理工具箱がなければ,オプション“分割”、“电网”を使用し,。

関数imageLIMEを使用し,さまざまなス,パ,ピクセルの特徴の重要度をマッピングします。既定では,単純なモデルは回帰木です。

map = imageLIME(net,img,YPred);

LIMEマップを重ね合わせたSherlockのメジを表示します。

图imshow (img,“InitialMagnification”, 150)显示亮度图像(地图,“AlphaData”, 0.5) colormap飞机colorbar标题(sprintf ("图像LIME (%s)"...YPred)举行

このマップには,金毛猎犬の分類にとって▪▪メ▪▪ジのどの領域が重要かが示されます。マップの赤い領域は重要度が高い部分です。この領域を削除すると,金毛猎犬クラスのスコアが下がります。ネットワ,クは,犬の顔と耳に焦点を当て,この犬がゴ,ルデンレトリバ,であると予測します。これは,他の説明可能性技術(オクル,ジョン感度,Grad-CAMなど)の場合と同じ結果です。

異なるクラスの結果との比較

GoogLeNetは,金毛猎犬クラスのスコアを55%,拉布拉多寻回犬クラスのスコアを40%と予測しています。これらのクラスは非常によく似ています。各クラスについて計算された石灰マップを比較することで,犬のどの部分が両クラスにとってより重要かを判断できます。

同じ設定を使用し,拉布拉多寻回犬クラスのlimeマップを計算します。

secondClass = topClasses(2);map = imageLIME(net,img,secondClass);图;imshow (img,“InitialMagnification”, 150)显示亮度图像(地图,“AlphaData”, 0.5) colormap飞机colorbar标题(sprintf ("图像LIME (%s)", secondClass))

拉布拉多寻回犬クラスの場合,ネットワ,クは,犬の耳ではなく,鼻と目により焦点を当てています。両方のマップで犬の頭部前面が強調表示されていますが,ネットワ,クは犬の耳と隣接する部分が金毛猎犬クラスを示し,犬の目と鼻が拉布拉多寻回犬クラスを示すと判断しています。

LIMEとGrad-CAMの比較

他のイメージ解釈可能性の手法(Grad-CAMなど)では,結果として得られたマップをアップサンプリングし,イメージの重要領域の滑らかなヒートマップを生成します。imageLIMEで見た目が似たマップを生成できます。そのためには,正方形または長方形の特徴の重要度を計算し,結果として得られたマップをアップサンプリングします。

不規則なスーパーピクセルではなく,正方形の特徴のグリッドにイメージをセグメント化するには,名前と値のペア“分割”、“电网”を使用します。“OutputUpsampling”、“双三次的“を設定し,双三次内挿を使用することにより,計算されたマップがイメージ解像度に一致するようにアップサンプリングします。

最初に計算されたマップの解像度を上げるには,名前と値のペア“NumFeatures”,100を指定することにより,特徴の数を100まで増やします。x x 10グリッドの特徴が生成されます。

石灰技術により,元の観測値に基づいて合成メジが生成されます。その際,いくつかの特徴がランダムに選択され,選択された特徴に含まれるすべてのピクセルがイメージのピクセルの平均値に置き換えられ,事実上,それらの特徴が削除されます。“NumSamples”,6000を設定し,ランダムなサンプルの数を6000まで増やします。特徴の数を増やした場合,通常,サンプルの数を増やすとより良い結果が得られます。

既定では,関数imageLIMEはシンプルなモデルである回帰木を使用しています。代わりに,“模型”、“线性”を設定し,套索回帰による線形回帰モデルを当てはめます。

map = imageLIME(net,img,“金毛猎犬”...“分割”“网格”...“OutputUpsampling”“双三次的”...“NumFeatures”, 100,...“NumSamples”, 6000,...“模型”“线性”);imshow (img,“InitialMagnification”150)持有显示亮度图像(地图,“AlphaData”, 0.5) colormap飞机标题(sprintf (图像LIME (%s -线性模型)...YPred)举行

LIME技術の場合も,Grad-CAMで計算された勾配マップと同様に,金毛猎犬の予測にとって犬の耳が非常に重要であると認識されます。

最も重要な特徴のみの表示

石灰の結果をプロットする場合,通常,最も重要ないくつかの特徴のみが示されるようにプロットします。関数imageLIMEを使用する際,計算で使用した特徴マップを取得して各特徴の重要度を計算することもできます。その結果に基づいて,スーパーピクセルの最も重要な特徴を4つ決定し,その4つの最も重要な特徴のみをイメージに表示します。

Limeマップを計算し,特徴マップと計算された各特徴の重要度を取得します。

[map,featureMap,featureImportance] = imagelme (net,img,YPred);

最も重要な4の特徴のけます。

numTopFeatures = 4;[~,idx] = maxk(featureImportance,numTopFeatures);

4次に,最も重要なつのスーパーピクセルに含まれるピクセルのみが表示されるように,石灰マップを使用してイメージをマスクします。マスクした▪▪メ▪▪ジを表示します。

mask = ismember(特征映射,idx);maskedImg = uint8(mask).*img;图imshow (maskedImg);标题(sprintf ("图像LIME (%s - top %i特征)"...YPred, numTopFeatures))

参考文献

Ribeiro, Marco Tulio, Sameer Singh和Carlos Guestrin。“‘我为什么要相信你?《解释任何分类器的预测》在第22届ACM SIGKDD知识发现和数据挖掘国际会议论文集, 1135 - 44。美国加州旧金山:ACM, 2016。https://doi.org/10.1145/2939672.2939778。

参考

||||

関連するトピック