本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 機械学習の大きな目標は、訓練データと異なるテストデータでもうまく動くような汎化するモデルを獲得することである。訓練データだけうまくいくのでよければ訓練データを丸暗記すればよく、コンピュータは容易に実現できる。しかし、見たことがないテストデータでもうまくいくためにはデータの背後に隠された法則を見つける必要がある。

 一般に機械学習の問題設定では訓練データとテストデータは同じ分布から互いに独立にサンプルされているという、いわゆるiid(独立同分布)を仮定している。このiidの下では訓練データを十分な数集め、訓練データでうまくいくようなモデルさえ作ることができれば、テストデータでうまくいくことも期待できる。これに基づいて訓練データの誤りを最小化する経験誤差最小化(ERM:Empirical Risk Minimization)に基づく学習が、学習のデファクトスタンダードとなっている。モデルが各サンプルでうまくいっているかを測る損失関数を用意し、訓練データ上で損失関数の合計値が小さくなるようなパラメータを探すというものだ。

 しかし、世の中の多くの問題ではiidが成り立たない。訓練データを選ぶ際に偏りがあったり、分布が変わるような共変量が存在するなどするためだ。このような場合、ERMを使った学習では誤った相関を学習してしまい訓練データとは異なる環境で性能が落ちる、ひどい場合は全くでたらめな結果となってしまうことが起きてしまう。

著者の岡野原大輔氏

 例えば、画像の中に写っているのが牛かラクダかを当てる問題を考えてみよう1)。訓練用のデータでは、大抵の牛は牧草と一緒に写っており、ラクダは砂漠と一緒に写っている。そのため、牧草が写っていれば牛の可能性が高い、砂漠が写っていればラクダの可能性が高いと分類するモデルが得られるだろう。

この先は日経Robotics購読者限定です。