【Suphx論文解説⑤】麻雀AIを理解するための準備体操
Suphxの論文解説をしていますが、そろそろ専門用語が多くなってきました。ここらへんで一旦、整理が必要ですね。
今回は機械学習の基本知識をゆるーくまとめてみたいと思います。
AIって何だろう?
Suphxの解説では”AI”という言葉を使っていますが、実際の研究開発の現場ではAIという単語はあまり使われていません。「AI」という言葉は曖昧で何を指しているのかよくわからないからです。
論文や専門書では「機械学習【Machine Learning】」という言葉の方がよく使われます。アマゾンで検索してみるとよくわかります。”AI”で出てくるのはビジネス本、”機械学習”で出てくるのは技術書です。
Suphxで用いられる「深層学習【Deep Learning】」というのも機械学習の一分野です。深層学習の登場によって機械翻訳や画像認識の実用化が急激に加速しました。
AIではなく機械学習という言葉を使うと”うまぶり”出来ます。明日から使いましょう。
機械学習の全体地図
そうか。AIじゃなくて”機械学習”か…😀
でも結局のところ機械学習って何?🤔
その通りです。そもそも機械学習というのも曖昧な言葉です。もう少し細かくした方がSuphxの理解も深まります。
機械学習は下図のように3タイプに分けられると言われています。
ざっくり身近な例を挙げてみましょう。
教師あり学習は実社会でも既に応用が進んでいます。具体例としては画像認識や株価予測などが挙げられます。正解ラベルが用意されているため、すぐに精度検証を行うことが出来ます。
教師なし学習は身近で見かけることは少ないかもしれません。Twitterのユーザ分析や工場での不良品検出など、ユーザから離れているところで応用が進んでいます。
強化学習は主にゲームAIで耳にすることが多いと思います。囲碁や将棋だけでなく、人狼やボンバーマンでも研究が進んでいます。他にも産業ロボットや自動運転などに使われています。
それぞれの学習について簡単に説明していきます。
教師あり学習
教師あり学習というのは教師データを利用した機械学習のことです。
教師あり学習ではまず「入力データ」と「正解ラベル」のペアを大量に用意します。これが教師データです。学習段階では入力したデータと正解ラベルが近づくようにパラメータ調整を行います。
認識精度を高めたい場合は、大量のデータを用意する必要があります。学習データに含まれていないものはうまく認識できないので注意が必要です。
わかりやすい例で言えば「英単語のテスト」のようなイメージです。学生時代に単語カードを作った人いませんか?あれです。問題と答えが1セットになっていて、それを頭に叩き込んでいくような学習です。算数や社会科などは大体答えがあるので、教師あり学習みたいなものですね。
教師あり学習はSuphxの「5つの戦術モデル」でも利用されています。
以前紹介したように、実際のトッププレイヤーの牌譜を教師データとしてニューラルネットワークの学習を行っています。精度も90%前後と高いので、Suphxの選択は「鳳凰卓の総意」であると言ってもいいでしょう。
教師なし学習
教師なし学習というのは「データそのもの特性や構造」を分析する機械学習のことです。教師なし学習ではその名の通り「教師データ」(というか「正解ラベル」)を用意しません。目の前のデータそのものを分析することで、何らかの有意義な情報を見出すのが目的です。
その中でも特にクラスタリングという分析手法が有名です。クラスタというのは「集団」という意味です。どこかで聞いたことがあるでしょう。SNSなどでは「〇〇クラスタ」という使われ方をしていますね。このように似たような集団を数値計算によって求めるのがクラスタリングです。
わかりやすい例で言えば「読書感想文(の練習)」のようなイメージです。いい読書感想文を書くにはどうすればいいでしょうか?それはたくさんの本を読むことです。推理小説しか読まない人よりも、エッセイやSFも読む人の方が「見る目」があるはずです。たくさんの本(=データ)を比較して、内容の良い本/悪い本を判定する作業は教師なし学習に似ています。
Suphxでは…教師なし学習は使われていません!残念!
強化学習
強化学習とは、AIの行動選択が最適になるように改善していくような機械学習のことです。教師データではなく、AIを学習させる環境そのものを用意します。「正解」ではなく「評価」によって学習を進めます。
強化学習では三つのワードが重要です。
・状態(State)
・行動(Action)
・報酬(Reward)
麻雀を例に説明してみましょう。
ここでプレイヤーであるSuphxはエージェントと呼ばれます。またエージェントが観測できる情報(点棒状況や捨て牌など)を環境と呼びます。
先ほどの三つのキーワードもそれぞれ当てはめてみます。
状態S: 自分の手牌
行動A: 4p切り(6ブロック) ※他の候補としては白切り(5ブロック)
報酬R: 受け入れ枚数、打点、予測スコアなど
報酬Rは行動Aによって得られる打点や何らかの指標です。人間であれば、打点やテンパイ速度を見るでしょう。SuphxではGlobal Reward Predictionという仕組みによって算出されます。
わかりやすい例で言えば「自転車の練習」のようなイメージです。いきなり完璧に自転車に乗れる人はいません。誰でも転んだりぶつかったり、失敗を繰り返して上達していきます。知識や知恵ではどうにもならないので、体で覚えるしかありません。体育や音楽など実技科目は強化学習に近いです。
説明はここまでです。
教師あり学習、教師なし学習、強化学習。
三つの機械学習について何となくイメージが掴めたでしょうか?
特にSuphxでは「教師あり学習→強化学習」というステップで精度を高めていくので、この二つは重要です。全部をいきなり理解するのは難しいですが、何となくのイメージだけでも頭の片隅にインプットしておきましょう。