複雑化し、ブラックボックス化しがちなDeep Learningの説明性や判断根拠を示す技術が様々発表されてきています。
下のQiita記事はとてもわかりやすくまとめていただいていると感じました。
ディープラーニングの判断根拠を理解する手法
入力に対する着眼点を盛り込むAttention機構導入の一つであるAttention Branch Network1の概要について説明してみます。
著者の説明スライド2を参照して説明させていただきます。
Attention Branch Networkの概要図
上記概要図の説明
通常のConvolutional Neural Network(CNN)を途中で分割し、前半をFeature extracter(特徴抽出)、後半をPeception branch(答えとなるクラスを推定するブランチ)とします。
Feature extractorからAttention branchを分岐してつなげ、出力するAttention mapを重みマップとしてFeature extractorからの出力と合わせて、Percepton branchに入力し、学習させます。
Attention Mapの生成により、認識結果の可視性が得られるのと、重みを与えることで認識性能向上が見込まれます。
ResNetなどの性能が高いとされるDeep Learning構造にbranchを追加する形にすることで、可視性と高検出性能を両立できる可能性があります。(どの位置でbranchを挿入するかなど、入力データにより考慮するところもあると思います。)
人間が機械学習の改善サイクルに入り、性能向上を目指す
また、Attention Branch Networkの著者が含まれる文献3によると、HITL(Human-in-the-loop)という、機械学習システムにおけるデータ投入、学習、推論のサイクルにおいて、人の知識を加えて性能向上を図る考えが示されています。
間違って認識されたデータについて、Attention Mapを人の手で修正し、再度学習させることで正しく認識され、性能向上につながるシステムを作れる可能性があります。
Human-in-the-loopのイメージ
同じ著者の研究グループからEmmbedding Human knowledge in Knowledge in Deep Neural Network via Attention Mapという論文が出されています。
Attention Mapが期待していたところと異なるところに反応していたことで、間違った識別がされたときにAttention Mapを人の手により修正して与え、それをもとに識別や学習をさせていくことで正しい識別にしようという考えです。
データやアノテーションが不十分なところから始めても、可視性・説明性を与え、使用しながら機械学習・AIの性能を上げるように成長させるという要素を持たせることができそうで面白いと感じました。