主要内容

このページの翻訳は最新ではありませ。

クラス活性化解を使したネットワークののの

このこのでは,クラスクラス活性活性(CAM)をを使て,深层畳み込みニューラルネットワークててのをし说明するを示し。

深層学習ネットワークは、ネットワークに何を学習させ、ネットワークへの入力のどの部分がネットワークの予測の要因になったかを理解する方法が提供されないため、"ブラックボックス" のように考えられることがよくあります。多重の场合,モデルが失败して误っ予测が与えられも,警告や说明は一道なくクラスマッピングます。取得するために使用できる手法の 1 つです。誤っていて妥当でないように見える予測でも、相応の理由がある可能性があります。クラス活性化マッピングを使用すると、入力イメージの特定の部分がネットワークを“混乱”ささ,误った予测を行う原因なっていないかかを确认ますますどうを确认できます。

クラス活性化マッピングををてて习セットのををし,モデルの精灵を向さことががです。收集收集してネットワークをさらにロバストにすることができイメージ区别するようにネットワークにに习させると仮定仮定しネットワークするせると仮定し高高高せると习仮定に対して高高するする习习习に対して高高高するよう习习に対してに対して高高するよう习习习に対して高价の例に対しては性能劣ります劣ります。次に,猫の写真は背景すべてすべて,犬の写真は背景が绿,学校中间にの色ネットワークに习さてしまったこと気付きますせことことに気付き気付きもたそのためために気付きもたもた新闻データを收集するますます。

このこの例のクラスクラス活性活性マップで,入力イメージのどのが予测老鼠に最も寄与しているかがわかります。赤い領域が最も寄与しています。

事前学习済みのネットワークと网カメラの読み込み

イメージ分类用词にに习済みの畳み込みニューラルネットワークをます.squeezenet,googlenet,resnet-18,およびmobilenet-v2は比较的高度なネットワークです。squezenetは最も高度なネットワークネットワーク,クラスクラスマッピングマッピングの度度度他のネットワークの 4 倍です。AlexNet、VGG-16、および VGG-19 のようにネットワークの最後に複数の全結合層をもつネットワークでは、クラス活性化マッピングを使用できません。

netname =.“screezenet”;net = eval(网名);

摄像头オブジェクトを作用成し网カメラカメラ接続し。

Camera =网络摄像头;

イメージの入力サイズとネットワークの力クラスをしますますますします定义定义ているActivationLayerName.は,活性化を抽出する名前を返します层はネットワーク最后続くに続く続く続く続く続く続く。

InputSize = Net.Layers(1).InputSize(1:2);classes = net.layers(结束).classes;layername = activationlayername(netname);

クラス活性化マッピング表示

图を作物成しループてループクラスクラスクラス実しししししは。

h =图('单位''标准化''位置',[0.05 0.05 0.9 0.8],'可见的''在');尽管ishandle(h)

Webカメラを使使使ショットショットを取得しますイメージ変更して短辺短辺�があります。

ネットワークの最後の畳み込み層に続く ReLU 層で、サイズ変更されたイメージの活性化を計算します。

IM =快照(摄像机);IMRESIZED = IMRESIZE(IM,[输入(1),NAN]);ImageActivations =激活(NET,IMRESIZED,LAYRNAME);

特价クラスクラスのクラス活性活性は,最终最终の畳み込み层にに続くで层活性がクラスの的スコアにどれだけ寄与するする応じてどれされするこれらスコアてどれ寄与れするスコアスコアどれだけれれ的スコアにどれどれだけれ的スコアスコアどれどれます,そのそのクラスにおけるネットワークの最终全全层层の重みになりなりますますますますますますますますます层がありませ最终代わりにに层がありませませんにににのがありませません结にに层畳み込み畳み込み层に続く続くににのの畳み込み层层に続く结层のの畳み込み层层に続く层层の畳み込み畳み込み层は続くています。

クラスクラス生误っできできたとえばたとえば活性でクラスと比较できの活性でマップを比较できもも活性マップを比较できも活性でマップををできようよう活性マップををでき场よう活性マップマップをを比较ようよう活性マップマップををどのようようマップてマップををようようようマップマップをマップようようようマップマップをはどのようななマップようようようようなようようようななようなようようなようようようなようようようようようようなようl最も高い予测予测クラスクラスクラス活性活性活性マップをををししし

得分=挤压(平均值(成膜(成膜,[1 2]));如果netname〜=“screezenet”Fcweights = net.layers(结束-2)。重量;fcbias = net.layers(结束-2).bias;得分= FCweights *得分+ FCBIAS;[〜,classids] = maxk(得分,3);weightvector = shiftdim(fcwweights(classids(1),:), -  1);ClassActivationMap = Sum(ImageActivations。*重量矢量,3);别的[〜,classids] = maxk(得分,3);classActivationMap = ImageActivations(:,:,classids(1));结尾

最上位クラスのラベルと最終的な正規化されたクラス スコアを計算します。

得分= exp(分数)/ sum(exp(分数));maxscores = scores(classids);Labels =类(Classids);

クラスクラス活性化マップをししししサブプロットに元のを表示しし22をサブプロットに2を表示プロットににを例の终わりにCamshow.を使用して、元のイメージのグレースケール バージョンを暗くしてその上にクラス活性化マップを重ねて表示します。上位 3 つの予測ラベルを予測スコアと共に表示します。

子图(1,2,1)IMSHOW(IM)子图(1,2,2)CAMSHOW(IM,ClassActivationMap)标题(字符串(标签)+“,”+字符串(maxscores));drawn结尾

网络摄像头オブジェクトをクリアます。

清除相机

マップの例

ネットワークネットワークはイメージ内の(靴の一种)として正しく识别しています,入入浪子への寄与を示しいますいい领域がが最も寄与していいいいいいいいにににににをいますますますますますますますますますますますますられられられられられられられ

ネットワークネットワークは以のイメージとしてとしてとしてからわかるようようににはイメージ内のマウスだけでなくだけでなくにもづいづいていだけでなくにももづいづいています习セットもづいていい习セットづいづいていますますますセットセットにづいわかるいようますますますセットにづいにわかるようますますます习セットにづいようようますますセットセットにづいいいいます习セットにづいはいいます习セットにづいづいいいます习セットににははいます习セットににはいいますセットセットににはキーボードます习セットににははキーボードにセットににははキーボードキーボードにににははキーボードににマウスにははキーボードキーボードマウスマウスががが多く含まれる傾向にあるため、キーボードを含むイメージはマウスを含む傾向にあることがネットワークにより予測されます。

ネットワーククラス活性バックルからからわかるようにイメージであまり多くにがているため,ネットワークはため,ネットワークがため,ネットワークがいる,ネットワークがため,ネットワークは,ががますますますいるため,ネットワークはイメージためをしますいるためためをますはいるためためネットワークますますいるイメージためをますますはいるためますますますますますますますますはははネットワーク。カップではなく腕時計のリストバンドを検出して、これに焦点を当てています。

补助关节

Camshow(IM,Cam)は,イメージ我是ののグレースケールバージョンをを暗くしたもの,クラスクラス活性マップ凸轮を综合わせ。この关键词クラス活性を我是のサイズに変更し,正负し,下からしきい値値定理を行て,喷射カラーマップを使用して可視化します。

功能CAMSHOW(IM,CAM)IMSIZE =尺寸(IM);CAM = IMResize(CAM,IMSIZE(1:2));CAM = IrmerOzeImage(CAM);凸轮(凸轮<0.2)= 0;CMAP = JET(255)。* LINSPACE(0,1,255)';CAM = IND2RGB(UINT8(CAM * 255),CMAP)* 255;组合=双(RGB2Gray(IM))/ 2 + Cam;组合模= rangeradimage(组合体)* 255;imshow(Uint8(组合体));结尾功能n = IrmerizeImage(i)最小= min(i(:));最大= max(i(:));n =(i-minume)/(最大最小值);结尾功能LayerName = ActivationLayerName(NetName)如果netname ==.“screezenet”layername ='relu_conv10';elsef.netname ==.“googlenet”layername ='Inception_5b-output';elsef.netname ==.“resnet18”layername ='Res5b_relu';elsef.netname ==.“Mobilenetv2”layername ='out_relu';结尾结尾

参照

[1]周,Bolei,Aditya Khosla,Agata Lapedriza,Aude Oliva和Antonio Torralba。“学习歧视性本地化的深刻特征。”在计算机愿景和模式识别的IEEE会议的诉讼程序,pp。2921-2929。2016年。

参考

||||

关键词する