最近気になる用語 256
機械学習 
 
学会誌「冷凍」に掲載された記事を集めました。
当時の記事をそのまま掲載していますので、古い内容や当会の専門分野とは無関係の内容もあります。
また、お問い合わせに対しては答えられませんのでご了承下さい。

将棋のプロ棋士とコンピュータ将棋ソフトの対戦である電王戦が話題である.これまでに 4 回の対戦が行われた.2015 年 3 月から 4 月に開催された電王戦 FINAL では,最終局で人間のプロ棋士がソフトのバグを突く形で勝利し,プロ棋 士が 3 勝 2 敗で団体戦勝利を勝ち取った.
プロ棋士に敗れたというものの,過去 4 回の電王戦のうち,コンピュータは 3 回に勝利している.したがって,その 実力はプロ棋士並であるに違いない.一体全体どうやってこれだけの強さを身につけたのだろうか? それは機械学習 (Machine learning)のなせる業であると思われる.機械学習とは,多量かつ多様なデータから,コンピュータを用いて, 特徴や規則性を見出し,それに基づいて推論や場合分け・予測を行うアルゴリズムを構築・発展させる手法である 1).特 徴として,大量に取得されたデータを学習データとして用い,アルゴリズムとして明示的に解法が与えられないタスク (問題)に対して,そのタスクを遂行するためのモデルを,学習データから構築する点 1)が挙げられる.「アルゴリズム として明示的に解法が与えられない」というのがポイントである.名簿のデータを年齢順に並び替えるというのは,解 法が明らかであるので,どんなにデータの量が多くても,機械学習の範疇に入らない.簡単な機械学習の例は以下のよ うなものである.
「英語・数学・国語・理科・社会のテストを受けたとする.そして,英語・数学・国語・理科の点数のみがわかってい たとして,社会の点数を予測する」
これは,英語,数学,国語,理科を変数として,社会の点数を出力する関数を求めることにほかならない.このよう な関数は,いったいどうやって求めたらよいのだろうか? 実はある程度の人数のデータがあれば,機械学習の一種で あるニューラルネットワークの手法を用いることで,この関数をかなりの精度で求めることができる.手続きとしては, 大雑把にいえば,複数の学習データから統計的にもっとも現実を再現するような関数を数学的な手続きで探索を行う. ここで求めた関数は学習に用いていないデータを入力しても,対応する値(ここでは社会の点数)を出力することがで きる.つまり,既知のデータを学習して,未知のデータの予測が可能である.機械「学習」と呼ばれる所以である.機 械学習はその近似能力を生かして,信号や画像処理,パターン認識といった分野で利用されている.
さて,将棋ソフトであるが,現在の将棋の駒の配置,持ち駒などを入力変数として,勝つために最善の手を出力する プログラムであるといえる.ポイントとしては,「勝つために最善である」ことをどうやって評価するかである.強い将 棋ソフトの多くには,この評価に機械学習が用いられている.過去のプロ棋士の対戦棋譜を学習データとして用いたり, さらには将棋ソフト同士で対戦させて自己学習させる(強化学習という)ことも行われている.
機械学習は現在,理論計算機科学の分野でもっともホットなトピックの一つである.また,コンピュータのハード ウェアの進歩は留まるところを知らない.いずれ,人間には歯が立たなくなる時がやってくるのだろうか?
 
1)荒木雅弘:「フリーソフトではじめる機械学習入門」,pp.1-16,森北出版,東京(2014).

「最近気になる用語」
学会誌「冷凍」への掲載巻号一覧表