今回は「Ensemble Distribution Distillation」という論文を紹介する。一言でいうと、複数の深層ニューラルネットワーク(DNN)の出力を利用することで、「知識の不確かさ」を獲得し、学習データ以外のデータを検知する手法である。

複数の深層ニューラルネットワーク(DNN)を用いた深層学習の課題を解決するアイデアとは(写真/Shutterstock)
複数の深層ニューラルネットワーク(DNN)を用いた深層学習の課題を解決するアイデアとは(写真/Shutterstock)

 DNNを用いた深層学習によって、画像認識の分野において人間の性能を上回るような高精度に名前(ラベル)を付けることが可能になっている。しかし実際には、コンピューターのメモリーや学習時間の制約により、実世界の全てのものについてラベルを学習させることはできない。DNNでは、ラベルを与えていないものに対して誤ったラベルを答えるのではなく、「知らない」と答えてほしい場面が多々ある。このような背景から、テスト時に学習データの分布以外のデータ(分布外データ)を検知する異常検知が盛んに研究されている。

知識の不確かさとは

 今回の論文は、「知識の不確かさ」を利用することにより、分布外データを検知するものである。知識の不確かさとは、ある新しいデータを入力したときに、DNNがそれを知っているかどうかに関する自信度のこと。知識の不確かさが大きいと、DNNは入力するデータについて知らないということになり、分布外のデータであると推定できる。知らないデータを検知するために必要な知識の不確かさは、DNNの出力から得られる予測の不確かさから、データの不確かさを引くことで得られる。

知識の不確かさを求める式。詳細な説明は省くが、この式では『知識の不確かさ=「予測の不確かさ」-「データの不確かさ」』を示している
知識の不確かさを求める式。詳細な説明は省くが、この式では『知識の不確かさ=「予測の不確かさ」-「データの不確かさ」』を示している

 前述した予測の不確かさとデータの不確かさは、DNNを複数用いることで求められる。まず予測の不確かさは、予測の自信のなさを意味しており、複数のDNNの出力の平均散らばり具合によって求められる。一方データの不確かさは、データを分類するときの難しさを意味する。

 例えば次の図のように「127」という数字の画像があるとする。図の上部分はそれぞれが何の数字か見分けやすいが、下部分はどれも似たような画像になっており、何の数字か見分けにくい。このとき、データの不確かさが大きいという。これは、複数のDNNの出力の散らばり具合の平均によって求められる。

データの不確かさの違いを示す数字の画像データ
データの不確かさの違いを示す数字の画像データ
有料会員になると全記事をお読みいただけるのはもちろん
  • ①2000以上の先進事例を探せるデータベース
  • ②未来の出来事を把握し消費を予測「未来消費カレンダー」
  • ③日経トレンディ、日経デザイン最新号もデジタルで読める
  • ④スキルアップに役立つ最新動画セミナー
ほか、使えるサービスが盛りだくさんです。<有料会員の詳細はこちら>