Grad-CAMで「​リダクション層の活性​化の勾配がすべてゼロ​です」とエラーがでま​すが、どう対処すれば​よいでしょうか?

16 views (last 30 days)
KM
KM on 30 Nov 2022
Edited: KM on 6 Dec 2022
現在、Grad-CAMを用いて、二次元データの学習における重要な部分の可視化を行っています。
しかしながら、以下のエラーメッセージがでてしまい、行き詰っています。
C_map = cellfun(@(x) gradCAM(net,x,categorical),cell_data,'UniformOutput',false)
エラー: gradCAM (125)
特徴層の活性化についてのリダクション層の活性化の勾配がすべてゼロです。ネットワーク内で、特徴層がリダクション層の前にあることを確認してください。
最初は層の指定をせず行っていましたが、以下のようにfeatureLayerとreductionLayerを指定したうえでやっても、同じエラーが出ました。
reductionLayer = 'softmax'
featureLayer = 'relu_10'
C_map = cellfun(@(x) gradCAM(net,x,categorical, ...
'ReductionLayer',reductionLayer, ...
'FeatureLayer',featureLayer),cell_data,'UniformOutput',false)
エラー: gradCAM (125)
特徴層の活性化についてのリダクション層の活性化の勾配がすべてゼロです。ネットワーク内で、特徴層がリダクション層の前にあることを確認してください。
'relu_10'は最後の畳み込み層から繋がっている活性化層です。
どのようにすれば解決するでしょうか。ご教授よろしくお願い申し上げます。

Accepted Answer

Hiro Yoshino
Hiro Yoshino on 30 Nov 2022
gradCAM(net,x,categorical)
の部分の、categorical を何か指定されていますか? 分類問題かなと思いますが、クラスラベルを指定してください
gradCAM(net,x,"cat")
因みに、cellfun 無しでデータ1つに対して実行してもエラーが出ていますか?
  1 Comment
KM
KM on 6 Dec 2022
Edited: KM on 6 Dec 2022
ご回答いただきありがとうございます。
大変申し訳ないのですが、こちらで解決しました。
実際に入力する際は、categoricalは指定してあります。また、1つでやってもエラーがでていました。
原因は、私のミスでネットワークの最後が、FC→Relu→Softmaxとなっていることでした。
Relu層を取り除いたら、正常に動作しました。
初歩的なミスでお騒がせし、申し訳ございませんでした。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!