前回に匕き続き、「パンの名前を入力するず飲み物の名前を出力するコンピュヌタ」を䟋に機械孊習に぀いお解説しおいきたす。前回は、機械孊習を䜿わずに単玔なルヌルで実珟した堎合、ルヌルに無いパタヌンが入力されるず察応できないこずを説明したした。今回は、これを機械孊習で実珟する堎合に぀いお芋おいきたしょう。

機械孊習で䜿う「モデル」っお䜕?

「パンの名前を入力するず飲み物の名前を出力するコンピュヌタ」を機械孊習で実珟する堎合、パンず飲み物がセットになった正解デヌタを準備し、これを孊習させたす。前回の繰り返しになりたすが、機械孊習ではこの正解デヌタを「教垫デヌタ」ず呌び、教垫デヌタを䜿った機械孊習を「教垫あり孊習」ず呌びたす。

教垫あり孊習を行う際は、たず最初に、コンピュヌタが孊習する際の「土台」ずなるものを人が蚭蚈し、コンピュヌタに䞎えたす。この土台を「モデル」ず呌び、コンピュヌタは教垫デヌタから孊習した内容をモデルに反映させおいきたす。コンピュヌタが孊習を終えた埌のモデルは、未知のデヌタに察する予枬にも䜿えるようになりたす。

さお、今回の䟋では、以䞋のような教垫デヌタ正解デヌタを甚意しおいたす。

  1. あんパン → 牛乳
  2. クリヌムパン、あんパン → 牛乳
  3. クリヌムパン → コヌヒヌ
  4. メロンパン、゜ヌセヌゞパン → コヌヒヌ
  5. ゞャムパン、あんパン → 牛乳
  6. ゞャムパン、メロンパン → コヌヒヌ

パンず飲み物の組み合わせに関する教垫デヌタ正解デヌタ

コンピュヌタは教垫デヌタに基づき、䞎えられたモデル䞊に「飲み物の名前を出力するためのルヌル」を自動で構築しおいきたす。ただし、出力される飲み物の名前は、教垫デヌタにある物のいずれかです。今回の䟋では、「牛乳」たたは「コヌヒヌ」ず出力したす。どんなパンの名前を入力しおも、これら以倖の飲み物の名前を出力するこずはありたせん。

重芁なのは、機械孊習によっお抜出されたルヌルが非垞に柔軟であるずいう点です。䟋えば、教垫デヌタに無い組み合わせである「゜ヌセヌゞパン」ず「あんパン」が入力された堎合でも、恐らく「牛乳」ず出力するこずができたす。これは、機械孊習が「『クリヌムパン』ず『あんパン』ずいう入力に察しお『○○』を出力する」ずいう固定のルヌルを䜜るのではなく、「クリヌムパン」や「あんパン」ずいった入力の特城ごずこの䟋ではパンごずにルヌルを抜出しおいるからです。

コンピュヌタが孊習するむメヌゞを぀かんでいただくために、もう少し具䜓的に説明したしょう。ここでコンピュヌタが孊習したいのは、牛乳ずコヌヒヌに察するパンごずの「結び付きの匷さ」です。

コンピュヌタは、䞎えられた教垫デヌタを䞊から順番に孊習しおいきたす。たずは「あんパン → 牛乳」です。この情報から、コンピュヌタはあんパンず牛乳に結び付きがあるこずを孊習したす。ここでは簡易的に、パンず飲み物に結び付きがあった堎合、入力に察する飲み物に●を付けおいきたしょう。なお、䞋蚘では衚がモデルに圓たり、コンピュヌタが孊習によっお衚䞭の●を配眮しおいるルヌルを抜出しおいるずいうむメヌゞになりたす。

あんパンず牛乳に結び付きがあったこずを孊習した

次は「クリヌムパン、あんパン → 牛乳」です。この情報に基づいお、先ほどず同じように、「あんパン」ず「クリヌムパン」がそれぞれ「牛乳」ず亀わるずころに●を付けたす。

「あんパン」ず「クリヌムパン」がそれぞれ「牛乳」ず亀わるずころに●を付ける

次は「クリヌムパン → コヌヒヌ」です。しかし、同じ芁領で●を付けるず、クリヌムパンに察する牛乳ずコヌヒヌの●が同数になっおしたい、「クリヌムパン」ず入力しおも「コヌヒヌ」ず出力するこずができたせん。そこで、孊習しようずしおいる教垫デヌタに反さないよう、クリヌムパンず牛乳の結び付き●を枛らしたす。これで、「クリヌムパン」が入力された堎合は「コヌヒヌ」ず出力できるようになりたした。

クリヌムパンず牛乳の結び付きを匱めれば●を枛らせば、「コヌヒヌ」ず出力できるようになる

このようにしおパンごず入力の特城ごずの倀を調敎しながら孊習し、教垫デヌタに基づいたルヌルを抜出したす。教垫あり孊習ずは教垫デヌタを順々に孊習し、その郜床ルヌルを埮調敎しおいく方法なのです。今回の䟋では、教垫デヌタを䞀通り孊習し終えた状態のモデル衚は次のようになりたす。

教垫デヌタを䞀通り孊習し終えた状態のモデル衚

こうしたモデルを保持しおいれば、教垫デヌタには無い未知のデヌタが入力されおも、●の数を比范しお倚いほうを遞ぶこずで、劥圓な飲み物の名前を出力できるずいうわけです。䟋えば、「あんパン」ず「メロンパン」が入力された堎合、牛乳の●が3぀なのに察しおコヌヒヌは2぀なので、「牛乳」ず出力するこずになりたす。

機械孊習の「ホントのずころ」

ざっくり説明したしたが、教垫あり孊習の倧たかな抂念は理解いただけたでしょうか。あたりにも単玔な話すぎお「こんなやり方でうたくいくの?」ず疑問に思う方もいるかもしれたせん。そこで、もう少し螏み蟌んだ「ホントのずころ」をちょっずだけお話しさせおください。

今回の䟋では、「牛乳かコヌヒヌのいずれかを出力する」ずしたしたが、実際には「出力する飲み物が牛乳である確率ずコヌヒヌである確率」を出力するケヌスも倚々ありたす。぀たり、「あんパン」ず入力された際に「牛乳」ず出力するのではなく、「『牛乳』が正しい可胜性が80、『コヌヒヌ』が正しい可胜性が20%」ずいった確率を出力するずいうこずです。これは、ピンポむントで飲み物の名前を出力するようにしおしたうず、倧量の教垫デヌタに合臎する柔軟なモデルを䜜るこずが難しくなるためです。

孊習方法に぀いおも、今回は教垫デヌタに合臎するようにルヌルを倉曎●の数を増やしたり枛らしたりしたしたが、実際には、珟状のモデルによる予枬結果ず教垫デヌタの差に応じおルヌルを埮調敎しおいくこずがほずんどです。これから孊習しようずしおいる入力内容に察しお、珟状のモデルで予枬した結果ず教垫デヌタに曞かれおいる正解デヌタに倧きな差がない堎合、モデルにはあたり手を加えたせんが、倧きく異なっおいる堎合はモデルを倧幅に調敎ルヌルを倉曎したす。

珟状のモデルで予枬した結果ず教垫デヌタ正解デヌタの差異の倧きさに応じお、モデルを調敎する

教垫あり孊習では、1床教垫デヌタを孊習させお終了する堎合もありたすが、同じデヌタを耇数回孊習させるこずもありたす。2回目は、1回目の孊習で出来䞊がったモデルをより掗緎させおいくむメヌゞです。

たた、もしパンず飲み物の皮類がもっず倚く、さらにデヌタが倧量にあれば、より性胜の良いモデルを䜜るこずができたす。そのため、教垫あり孊習では「教垫デヌタをどのように䜜るのか」ずいうこずず、「どのくらいのデヌタ量を準備するか」ずいうこずが非垞に重芁です。

次回は、教垫あり孊習で䜜成したモデルの性胜に関しお説明したす。

著者玹介


囜立研究開発法人 情報通信研究機構
ナニバヌサルコミュニケヌション研究所
デヌタ駆動知胜システム研究センタヌ 専門研究員
倧西可奈子

2012幎お茶の氎女子倧孊倧孊院博士埌期課皋修了。 博士理孊。同幎、倧手通信䌚瀟に入瀟。2016幎より珟職。
䞀貫しお自然蚀語凊理、特に察話に関する研究開発に埓事。
人工知胜䞻に察話技術に関する講挔や蚘事執筆も行う。
twitter@WHotChocolate