【ベイズ最適化】「自信ないです」と言えるAIの話【ガウス過程】
こんにちは、かなめです。
若手のころ、上司への報告でよく使っていた言葉があります。「たぶん大丈夫です」。
いま自分がレビューする側になってみると、この言葉のこわさがよくわかります。大丈夫の根拠は何なのか。「たぶん」は9割の意味なのか、6割の意味なのか。そこが見えないまま、話だけが先に進んでいく。
でも当時の私を弁護すると、あれは嘘をつきたかったわけではなくて、自分の自信のなさを数字で言う方法を知らなかったんですよね。

実は、多くのAIによる予測も同じ状態です。「この条件なら物性値は82です」と一つの数字だけをポンと返してきて、その82がどれくらい当てになるのかは教えてくれない。今日はその問題を解決してくれる、ちょっと誠実なAIの話です。名前をガウス過程といいます。
こんな人におすすめ
AIの予測値を「これ、どこまで信じていいの?」と思ったことがある方
ガウス過程の解説を読んで、3ページで引き返した経験のある方(私です)
部下や後輩の「たぶん大丈夫です」に、うまく返せなかったことのある方
前回のおさらい
第1回では、「とりあえず全部試して」がなぜ破綻するかという話をしました。世界一おいしいホットケーキの焼き温度(140〜220℃)を5℃刻みの総当たりで探すと17枚。それより「前の結果を見て次を決める」ほうが賢くて、それを数学でやるのがベイズ最適化でした。
ホットケーキ、3枚焼きました
さっそく続きです。週末に3枚焼いて、真剣に採点しました。
170℃ …… 68点(ちょっと白っぽい。物足りない)
180℃ …… 80点(おいしい。でも上があるはず)
200℃ …… 61点(香ばしさを通り越して、ほろ苦い)

さてここで問題です。まだ焼いていない190℃は、何点でしょうか。

たぶん、頭の中で自然に補間しましたよね。「180が80点で200が61点なら、190はあいだの70点くらいかな」と。では160℃は? 210℃は? ……だんだん自信がなくなってきませんか。手元のデータから遠ざかるほど、予想が「言ってみただけ」に近づいていく感覚があると思います。
その感覚、正しいです。そして、その感覚ごと数式にしたのがガウス過程です。
点で答えるAIと、帯で答えるAI
ふつうの予測モデル(回帰)は、190℃と聞かれたら「71点です」のように一つの数字で答えます。これを「点で答える」と呼ぶことにします。
ガウス過程は違う答え方をします。「190℃はだいたい71点、上下に7点くらいのブレはありそうです」。つまり予測値と一緒に、予測の幅を返してくるんです。グラフに描くと、予測の線のまわりに幅のある帯がまとわりついた絵になります。

この帯には、きれいな性質があります。
実験した点の近くでは帯が細くなり、実験していない場所では帯が太くなる。

180℃の近くを聞かれれば「80点前後です」と自信を持って細い帯で答え、誰も焼いたことのない150℃付近を聞かれれば「うーん、55点かもしれないし75点かもしれません」と正直に太い帯を見せる。データがある場所では胸を張り、ない場所では胸を張らない。当たり前のようで、これをちゃんとやれる予測モデルは実は貴重です。
しかもガウス過程が置いている仮定は、突き詰めるとほぼ一つだけです。
「近い条件では、近い結果になるはず」

178℃と180℃で焼き上がりが激変することは、まあない。この素朴な仮定だけを頼りに、点と点のあいだを幅つきでつないでいく。それがガウス過程の正体です。事前分布も事後分布も、今日のところは知らなくて大丈夫です。
この道具、実は鉱山生まれです
ガウス過程回帰というと最先端のAIに聞こえますが、ルーツは意外と泥くさいところにあります。
1950年代の南アフリカ。金鉱山の技師だったダニー・クリッヘ(Krige)さんは、鉱山の評価に頭を悩ませていました。金の含有量は、掘る前にボーリング調査の何本かのサンプルから見積もるしかない。でもサンプルとサンプルのあいだの地点が実際どうなっているかは、掘ってみないとわからない。限られた点から、あいだを賢く推定できないか——。

彼が1951年に発表した統計的な推定法は、のちにフランスの数学者マトゥロンによって理論として整えられ、彼の名前から「クリギング」と呼ばれるようになりました。そしてこのクリギング、数学的にはガウス過程回帰と実質的に同じものです。
ボーリング調査の点のあいだの金の量を推定するのと、170℃と180℃のあいだのホットケーキの点数を推定するのは、問題として同じ形をしています。つまりこの道具は、机上の理論ではなく、外したら大損する現場の意思決定のために生まれて、70年以上使い込まれてきたものなんです。私はこの出自を知ってから、ガウス過程への信頼感がだいぶ変わりました。
ひとつだけ、正直な注意書き
いいことばかり書いてきたので、実験屋として注意点もひとつ。
ガウス過程の頼みの綱は「近い条件では近い結果」という仮定でした。裏を返せば、この仮定が崩れる系では帯ごと外します。たとえば、ある温度を境に相が変わる、ある濃度で急に析出が始まる——材料の世界には、性質が「なめらか」につながらない崖がありますよね。ああいう崖の存在は、データが崖の両側に揃うまでガウス過程には見えません。

だから、探索範囲をどう区切るか、モデルの答えを鵜呑みにしていい系なのか。そこは私たちの側の仕事として残ります。この話は最終回で、もう一度ちゃんとやります。
太い帯は、こわい場所ではなく
さて、ここからが次回への布石です。
帯が太い場所は「よくわからない場所」でした。避けたくなりますよね。でも、よく考えてみてください。180℃の80点は、もう知っています。太い帯の中には、55点かもしれないけれど、85点が隠れているかもしれない。
知っている80点を守るか、知らない85点を狙いにいくか。実はこの綱引きにも数学の答えがあって、それが次回の主役「獲得関数」です。

かなめの実験ノート(失敗談コーナー)
初めて自分でガウス過程の帯を描いたときの話です。出てきたグラフの帯が、異様に太い。予測がほぼ「0点から100点のどこかです」になっていて、何の役にも立ちません。

数日悩んだ原因は、初歩的なミスでした。帯の幅を計算するところで、標準偏差を使うべき場所に分散(標準偏差の2乗)をそのまま入れていたんです。ブレ幅7点のつもりが49点。そりゃ太いわけです。
ばかばかしい話なんですが、このミスのおかげで「帯の幅の単位は何か」を一生忘れなくなりました。失敗はだいたい、いちばん定着のいい教材です。
来週、この帯を指で動かせます
第3回では、ブラウザで遊べる小さなおもちゃを公開します。画面をタップするとその温度でホットケーキが焼けて、ガウス過程の帯がその場でぬるっと動く、というものです。「データの近くで帯が細くなる」は、文章で読むより10秒触るほうが早いので、楽しみにしていてください。
今日の一冊と、学びの入口
『ガウス過程と機械学習』(持橋大地・大羽成征 著、講談社)
この本、第0章のタイトルが「たった5分でガウス過程法が分かってしまう」なんです。本編は数式もしっかりある本格派なのですが、まずこの第0章の心意気に救われる人は多いはずです。私は「逃げた3年」のあとにこの本で本格的な理屈を拾いました。
Udemy『【キカガク流】人工知能・機械学習 脱ブラックボックス講座 -初級編-』
「分散? 標準偏差? そのへんから怪しい」という方は、こちらで数学の足場を組み直すのが結局近道です。私も微分から復習した口なので、恥ずかしいことは何もありません。
おわりに
予測を外すこと自体は、仕方がないんです。データが少なければ誰だって外します。こわいのは、外しそうな場所で自信満々に見えてしまうこと。その意味で、太い帯を隠さず見せてくるガウス過程は、報告者としてかなり信頼できるタイプだと思っています。

よかったらコメントで教えてください。あなたの職場の「たぶん大丈夫です」、どんな場面で出てきますか。あるいは、ご自身が言ってしまった側の話でも(私は言ってしまった側です)。
次回は、いよいよAIが「次はこの温度で焼きましょう」と口を出してきます。堅実に攻めるか、一発を狙うか。AIの性格はパラメータひとつで変わる、という話と一緒に、触って遊べるおもちゃも公開します。
来週の日曜日にお会いしましょう。最後まで読んでくださって、ありがとうございました。
かなめ
このシリーズはマガジン【ベイズ最適化をホットケーキで】にまとめています。第1回はこちらから。
