Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AI基礎講座 第4話 第1次AIブーム 推論と探索 (2)

AI基礎講座 第4話 第1次AIブーム 推論と探索 (2)

株式会社Ridge-i内の2019年度インターンシッププログラムで行った基礎講座。

第4話は人工知能第1次ブームの花形ともいえる推論/探索についての後編です。第1次ブームの花形と言っても、いま技術革新が止まっているわけではありません。界隈で話題をさらった、プロ棋士に買ったあのソフトも…?

対応する動画が https://youtu.be/cG54Wm0spjE にアップロードされておりますので、ご興味があればご覧ください。恐れ入りますが、細かい文字も多い箇所なので、こちらのスライド必携となっております。

Be0f86176276318b4b9775d795278f7e?s=128

Yoshitaka Ushiku

May 02, 2020
Tweet

Transcript

  1. Ridge-i インターンシッププログラム 人工知能・機械学習(AI/ML)基礎講座 第4話 第1次AIブーム 推論と探索 (2) Chief Research Officer

    牛久 祥孝
  2. 1.1.2. 推論と探索(つづき)

  3. A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? C

  4. 1 1 1 1 1 1 1 1 1 1

    1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? C (1) の解き方
  5. 1 6 1 5 1 4 1 3 1 2

    3 4 5 6 7 8 1 1 1 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? C (1) の解き方
  6. 1 6 21 1 5 15 1 4 10 1

    3 6 10 15 21 28 36 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? C (1) の解き方
  7. 1 6 21 56 1 5 15 35 1 4

    10 20 35 56 84 120 1 3 6 10 15 21 28 36 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? C (1) の解き方
  8. 1 6 21 56 126 1 5 15 35 70

    126 210 330 1 4 10 20 35 56 84 120 1 3 6 10 15 21 28 36 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? C (1) の解き方
  9. 1 6 21 56 126 252 462 792 1 5

    15 35 70 126 210 330 1 4 10 20 35 56 84 120 1 3 6 10 15 21 28 36 1 2 3 4 5 6 7 8 1 1 1 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? (1) 792通り C (1) の解き方
  10. 1 1 1 1 1 1 1 1 1 1

    1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? (1) 792通り C (2) の解き方
  11. 1 3 1 2 3 4 1 4 1 1

    1 1 3 1 2 3 4 5 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? (1) 792通り C (2) の解き方
  12. 1 3 6 10 1 2 3 4 1 4

    10 1 1 1 1 3 6 10 15 1 2 3 4 5 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? (1) 792通り C (2) の解き方
  13. 1 3 6 10 1 2 3 4 1 4

    10 20 35 1 1 1 1 3 6 10 15 1 2 3 4 5 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? (1) 792通り (2) 35×10=350通り C (2) の解き方
  14. 1 3 6 10 1 2 3 4 1 4

    10 20 35 1 1 1 1 3 6 10 15 1 2 3 4 5 1 1 1 1 A B (1) 地点Aから地点Bに行く 最短経路は何通り? (2) 地点Aから地点Cを通って 地点Bに行く最短経路は 何通り? (1) 792通り (2) 35×10=350通り C 動的計画法 • 以下の性質を持つ一連のアルゴリズムの総称 – 分割統治法(部分問題に分解して全体を解く) – メモ化(部分問題の計算結果を再利用する)
  15. 動的計画法の例:編集距離の計算 • 「じんこうちのう」を「ぜんちぜんのう」に変えるには • 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う

    ち の う □ ぜ ん ち ぜ ん の う
  16. 動的計画法の例:編集距離の計算 「じんこうちのう」を「ぜんちぜんのう」に変えるには 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う ち の

    う □ ぜ ん ち ぜ ん の う 「ぜんち」を「□」にする編集回数 (「ぜんち」をすべて消す編集回数) 「ぜんち」を「じんこうち」にする 編集回数 「じんこうちのう」を 「ぜんちぜんのう」にする編集回数
  17. 動的計画法の例:編集距離の計算 • 「じんこうちのう」を「ぜんちぜんのう」に変えるには • 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う

    ち の う □ 0 1 2 3 4 5 6 7 ぜ 1 ん 2 ち 3 ぜ 4 ん 5 の 6 う 7 以下の中で一番小さい数を入れる  自分のマスの上のマスの数字 +1  自分のマスの左のマスの数字 +1  自分のマスの左上のマスの数字 +c (ただし自分の縦と横の文字が等しい 場合は c=0、異なる場合は c=1)
  18. 動的計画法の例:編集距離の計算 • 「じんこうちのう」を「ぜんちぜんのう」に変えるには • 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う

    ち の う □ 0 1 2 3 4 5 6 7 ぜ 1 1 ん 2 2 ち 3 3 ぜ 4 4 ん 5 5 の 6 6 う 7 7 以下の中で一番小さい数を入れる  自分のマスの上のマスの数字 +1  自分のマスの左のマスの数字 +1  自分のマスの左上のマスの数字 +c (ただし自分の縦と横の文字が等しい 場合は c=0、異なる場合は c=1)
  19. 動的計画法の例:編集距離の計算 • 「じんこうちのう」を「ぜんちぜんのう」に変えるには • 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う

    ち の う □ 0 1 2 3 4 5 6 7 ぜ 1 1 2 ん 2 2 1 ち 3 3 2 ぜ 4 4 3 ん 5 5 4 の 6 6 5 う 7 7 6 以下の中で一番小さい数を入れる  自分のマスの上のマスの数字 +1  自分のマスの左のマスの数字 +1  自分のマスの左上のマスの数字 +c (ただし自分の縦と横の文字が等しい 場合は c=0、異なる場合は c=1)
  20. 動的計画法の例:編集距離の計算 • 「じんこうちのう」を「ぜんちぜんのう」に変えるには • 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う

    ち の う □ 0 1 2 3 4 5 6 7 ぜ 1 1 2 3 ん 2 2 1 2 ち 3 3 2 2 ぜ 4 4 3 3 ん 5 5 4 4 の 6 6 5 5 う 7 7 6 6 以下の中で一番小さい数を入れる  自分のマスの上のマスの数字 +1  自分のマスの左のマスの数字 +1  自分のマスの左上のマスの数字 +c (ただし自分の縦と横の文字が等しい 場合は c=0、異なる場合は c=1)
  21. 動的計画法の例:編集距離の計算 • 「じんこうちのう」を「ぜんちぜんのう」に変えるには • 編集(一文字挿入、一文字削除、一文字置換)が何回必要? □ じ ん こ う

    ち の う □ 0 1 2 3 4 5 6 7 ぜ 1 1 2 3 4 5 6 7 ん 2 2 1 2 3 4 5 6 ち 3 3 2 2 3 3 4 5 ぜ 4 4 3 3 3 4 4 5 ん 5 5 4 4 4 4 5 5 の 6 6 5 5 5 5 4 5 う 7 7 6 6 6 6 5 4
  22. 動的計画法の例:ビタビアルゴリズム • 観測された系列データの背後にある状態の遷移として妥当な ものを計算する方法 • 応用例 – 音声信号系列から音素の推定 – 自然言語(単語列)から品詞の推定

    [Pulford 1999]
  23. PonanzaとAlphaGo • Ponanza – 山本一成が作成 – 2013年に現役の将棋棋士をハンデ無しで破った世界初のソフト • AlphaGo –

    Google DeepMindが作成 – 2015年に現役の囲碁棋士を ハンデ無しで破った世界初 のソフト ©Benson 2016
  24. ゲーム=探索 • 展開型ゲーム – プレイヤー間で多段階の意思決定を経るゲーム cf. 標準型ゲーム • 展開型ゲームの例 –

    オセロ、将棋、チェス • ゲーム木 – プレイヤーの手番を 交互にノードとして 展開した木 プレイヤー白 の利得 プレイヤー白 プレイヤー黒 1 2 3 1 5 9 5 3 6 2 4 1 3
  25. ミニマックス法 • 先手 は後手 が「先手の利得を最低にする手を取る」と仮 定(ミニ) • その上で自らが最も高い利得(マックス)になるよう行動 プレイヤー白 の利得

    プレイヤー白 プレイヤー黒 1 2 3 1 5 9 5 3 6 2 4 1 3
  26. ミニマックス法 • 先手 は後手 が「先手の利得を最低にする手を取る」と仮 定(ミニ) • その上で自らが最も高い利得(マックス)になるよう行動 プレイヤー白 の利得

    プレイヤー白 プレイヤー黒 1 2 3 1 5 9 5 3 6 2 4 1 3 先手:マックス 2 5 9 6 4
  27. ミニマックス法 • 先手 は後手 が「先手の利得を最低にする手を取る」と仮 定(ミニ) • その上で自らが最も高い利得(マックス)になるよう行動 プレイヤー白 の利得

    プレイヤー白 プレイヤー黒 1 2 3 1 5 9 5 3 6 2 4 1 3 先手:マックス 2 5 9 6 4 後手:ミニ 2 4
  28. ミニマックス法 • 先手 は後手 が「先手の利得を最低にする手を取る」と仮 定(ミニ) • その上で自らが最も高い利得(マックス)になるよう行動 プレイヤー白 の利得

    プレイヤー白 プレイヤー黒 1 2 3 1 5 9 5 3 6 2 4 1 3 先手:マックス 2 5 9 6 4 後手:ミニ 2 4 先手:マックス
  29. アルファ・ベータ法 • ミニマックス法では手を読むほど有利になる手を打てる – ただし、探索範囲がどんどん広がるので時間がかかる – 適切に省略する方法が欲しい • アルファ・ベータ法 –

    後手:利得の高い手は選ばない (ベータカット) – 先手:利得の高い手は選ばない (アルファカット) プレイヤー白 の利得 1 2 3 9 5 3 6 2 4 1 3 ベータカット
  30. モンテカルロ木探索 • CrazyStoneという囲碁ソフトによって有用性が実証された – AlphaGoでも利用されている • ランダムに終局までプレイアウトして盤面を評価する – Selection: 現在で最良のパスを選択

    – Expansion: 閾値に応じて子ノードを生成 – Simulation: その先をランダムにプレイ(モンテカルロ) – Backpropagation: 評価更新 [By Mciura, Dicksonlaw583 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=64174613]