
拓海先生、最近部下から「CNNの中身を人に説明できるようにしろ」と言われまして。正直、ブラックボックスの説明なんて無理だろうと感じているのですが、実際にはどう変えられるのでしょうか。

素晴らしい着眼点ですね!大丈夫、説明可能性は投資対効果につながりますよ。今回の研究は、既に学習済みの畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)の内部ユニットと、実務で意味のある「部位(パーツ)」をつなぐ方法を示していますよ。

それって要するに、今は見えないCNNの中の「どの部分が何を見ているか」を人に解釈させるための地図を作るということですか?現場で役立つかどうかは、そこが肝心に思えるのですが。

その通りですよ。要点を3つで説明しますね。1つ目、研究はCNNの特徴マップ中に潜む「意味のあるパターン」を取り出し、And-Or Graph(AOG)という階層構造で整理します。2つ目、少数の人手ラベルで学習を進める弱教師あり学習(weakly-supervised learning)を用いるので、現場の注釈コストが低いです。3つ目、人と機械の対話、つまりアクティブな質問応答(active question answering)を通じて、モデルが自ら『ここが説明できていない』と示して、人に補完してもらう設計です。

なるほど。投資対効果で言うと、注釈が少なくて済むという点は魅力です。ですが、人が逐一答える負担や、そもそも現場にどう役立つかがわかりません。実運用ではどう見ればよいのでしょうか。

良い質問ですよ。ビジネスへの応用観点を3つにまとめます。1つ目、製造現場では部品や製品の局所領域を特定できれば欠陥検出や工程指示が効率化できます。2つ目、品質管理で「どの特徴が基準から外れているか」を説明できれば、原因追及と改善が速くなります。3つ目、モデルの誤りが出たときに人が納得して修正できるため、導入時の抵抗が下がります。ですから、作る価値は十分ありますよ。

これって要するに、少ない人手で『機械の見ている場所』をラベリングしてやれば、機械も人も同じ言葉で話せるようになるということですか?

まさにその通りですよ。大丈夫、一緒にやれば必ずできますよ。まずは既存のCNNを素材と見なし、重要な部位だけを数枚注釈してAOGを伸ばしていく実験から始めましょうか。

先生、ありがとうございます。つまり、我々はまず現場で重要なパーツに少数注釈を付けて、モデルに『ここを説明して』と質問させつつ育てていけば良いということですね。承知しました。それで実装が進めば、私も自分の言葉で説明できるようになります。


