Open shimopino opened 4 years ago
[arXiv:1811.12231] ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness
Robert Geirhos, Patricia Rubisch, Claudio Michaelis, Matthias Bethge, Felix A. Wichmann, Wieland Brendel
2018-11-29
人間が行う画像認識では物体の形状から対象が何なのかを判断している。しかしImageNetで学習したCNNは、物体の形状ではなくテクスチャをより学習してしまうことを実験で示し、CNNの新たな学習方法を提案した。
従来CNNを用いたネットワークでは、浅い層で物体の基本的な形状(カーブやエッジなど)を学習し、深い層になるにつれてこれらの形状を組み合わせた複雑な形状を認識できるようになると考えられていた。
この仮定を強化する論文も反対の意見を述べている論文もある。本論文では、「CNNが物体を認識するとき、物体の形状よりも局所的なテクスチャをより重視する」という仮定の正しさを検証した。
実験として同じ形状の画像からテクスチャのみを変化させた画像をCNNと人間でどのように識別結果が異なるのか調査した。またCNNに物体の形状も学習させるためには使用するデータセットがより重要であり、正しいデータセットで学習させたCNNは、より形状の歪みに頑強であることが分かった。
CNNがテクスチャ情報を重視して学修するのか確かめるために、以下の3つの実験を行った。
同じ画像に対してテクスチャ情報を操作し、人間とCNNによる識別を比較した。形状とテクスチャが保持されている画像に対してはどちらも高い精度を示しているが、シルエット画像やエッジ画像など形状情報のみしかない場合、人間は正しく識別できているが、CNNは形状情報をうまく学習できていないことがわかる。
次にImageNetの各画像に、異なるクラスのテクスチャ情報を加えた画像を使用して、人間とCNNが形状とテクスチャのどちらの情報をより重視しているのか調べた。
下の表からわかるように、人間は物体の形状で画像を識別していることがわかるが、CNNは反対に加えられた別のクラスのテクスチャを重視して学習していることがわかる。
次にStylized ImageNetで学習させたCNNの性能を調べた。このデータセットは、物体の形状に対して対象のクラスとは無関係なテクスチャ情報を加えており、CNNが正しく識別するためには、テクスチャではなく形状からクラスを判断する必要がある。
ImageNetと比較すると、CNNがより形状を重視して学習を行っていることがわかる。
次にImageNet(IN)とStylized ImageNet(SIN)をそれぞれ学習に使用し、互いのデータセットで性能を比較した結果を見てみる。
INを使用しテクスチャ情報をより重視して学習させたCNNは、SINをテストに使用するとほとんど性能が発揮されていない。逆にSINで物体の形状を学習させたCNNは、INのデータセットに対しても高い性能を発揮していることがわかる。
次にCNNが形状を学習できていることを確認するために、画像に歪みを加えたデータに対して性能を評価した。
それぞれのデータセットで学習させたCNNに対して、歪みを加えた画像に対する精度を比較すると以下になる。ほとんどのタスクにおいてSINで学習させたモデルの性能が優れていることがわかる。
ローパスフィルタに関しては、SINを使用してエッジを学習させたモデルに対し、エッジをぼやかす処理を加えているため、性能が出ていないと考えられる。
実験によりCNNが物体の形状ではなく、局所的なテクスチャ情報を重視して識別を行っていることが判明した。
https://github.com/rgeirhos/texture-vs-shape
https://github.com/rgeirhos/Stylized-ImageNet
論文へのリンク
[arXiv:1811.12231] ImageNet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness
著者・所属機関
Robert Geirhos, Patricia Rubisch, Claudio Michaelis, Matthias Bethge, Felix A. Wichmann, Wieland Brendel
投稿日時(YYYY-MM-DD)
2018-11-29
1. どんなもの?
人間が行う画像認識では物体の形状から対象が何なのかを判断している。しかしImageNetで学習したCNNは、物体の形状ではなくテクスチャをより学習してしまうことを実験で示し、CNNの新たな学習方法を提案した。
2. 先行研究と比べてどこがすごいの?
従来CNNを用いたネットワークでは、浅い層で物体の基本的な形状(カーブやエッジなど)を学習し、深い層になるにつれてこれらの形状を組み合わせた複雑な形状を認識できるようになると考えられていた。
この仮定を強化する論文も反対の意見を述べている論文もある。本論文では、「CNNが物体を認識するとき、物体の形状よりも局所的なテクスチャをより重視する」という仮定の正しさを検証した。
実験として同じ形状の画像からテクスチャのみを変化させた画像をCNNと人間でどのように識別結果が異なるのか調査した。またCNNに物体の形状も学習させるためには使用するデータセットがより重要であり、正しいデータセットで学習させたCNNは、より形状の歪みに頑強であることが分かった。
3. 技術や手法の"キモ"はどこにある?
CNNがテクスチャ情報を重視して学修するのか確かめるために、以下の3つの実験を行った。
4. どうやって有効だと検証した?
同じ画像に対してテクスチャ情報を操作し、人間とCNNによる識別を比較した。形状とテクスチャが保持されている画像に対してはどちらも高い精度を示しているが、シルエット画像やエッジ画像など形状情報のみしかない場合、人間は正しく識別できているが、CNNは形状情報をうまく学習できていないことがわかる。
次にImageNetの各画像に、異なるクラスのテクスチャ情報を加えた画像を使用して、人間とCNNが形状とテクスチャのどちらの情報をより重視しているのか調べた。
下の表からわかるように、人間は物体の形状で画像を識別していることがわかるが、CNNは反対に加えられた別のクラスのテクスチャを重視して学習していることがわかる。
次にStylized ImageNetで学習させたCNNの性能を調べた。このデータセットは、物体の形状に対して対象のクラスとは無関係なテクスチャ情報を加えており、CNNが正しく識別するためには、テクスチャではなく形状からクラスを判断する必要がある。
ImageNetと比較すると、CNNがより形状を重視して学習を行っていることがわかる。
次にImageNet(IN)とStylized ImageNet(SIN)をそれぞれ学習に使用し、互いのデータセットで性能を比較した結果を見てみる。
INを使用しテクスチャ情報をより重視して学習させたCNNは、SINをテストに使用するとほとんど性能が発揮されていない。逆にSINで物体の形状を学習させたCNNは、INのデータセットに対しても高い性能を発揮していることがわかる。
次にCNNが形状を学習できていることを確認するために、画像に歪みを加えたデータに対して性能を評価した。
それぞれのデータセットで学習させたCNNに対して、歪みを加えた画像に対する精度を比較すると以下になる。ほとんどのタスクにおいてSINで学習させたモデルの性能が優れていることがわかる。
ローパスフィルタに関しては、SINを使用してエッジを学習させたモデルに対し、エッジをぼやかす処理を加えているため、性能が出ていないと考えられる。
5. 議論はあるか?
実験によりCNNが物体の形状ではなく、局所的なテクスチャ情報を重視して識別を行っていることが判明した。
6. 次に読むべき論文はあるか?
論文情報・リンク