人工知能とその技術

スライド概要

公立小松大学大学院で使っている資料です.

profile-image

藤田 一寿

@k_fujita

作者について:

コンピュータを使って色々計算しています

スライド一覧
シェア
埋め込む»CMSなどでJSが使えない場合

公開日

2022-05-08 10:21:00

各ページのテキスト

1. ⼈⼯知能とその技術 藤⽥ ⼀寿

2. ⼈⼯知能とは

3. ⼈⼯知能とは • ⼈間が知能を使ってやることをできる機械もしくはそれを実現するための技術 • ⼈間の知的営みをコンピュータに⾏わせるための技術(IT⽤語辞典バイナリ) • 学習・推論・判断といった⼈間の知能を持つ機能を備えたコンピュータシステム(⼤辞林第三 版) • ⼈間や動物が可能な知的作業ができるコンピュータを作ることに関する事柄 (Artificial Intelligence for Games) • ⼈(研究者)によって⼈⼯知能の捉え⽅が違う!! (平成28年度情報通信⽩書) • そもそも知能が何を意味するか,知的営みがどの程度の難易度の⾏動ができること を意味するかが曖昧である.そのため,⼈⼯知能という⽤語も曖昧になる. • 考えてもキリがないので,⼀般的な認識に近い⼀番上の解釈をしておく.

4. ⼈⼯知能とは • 汎⽤⼈⼯知能 (Artificial gereral intelligence) • ⼈間レベルの知能 • 特化型⼈⼯知能 • ある問題に対し特化した⼈⼯知能 平成 30 年版 情報通信⽩書 p333 • ⼈⼯知能という⾔葉を技術⽤語として使わないほうが分かりや すい. • 現状では「⼈⼯知能を使って〇〇やります」は「コンピュータ使って〇〇 を⾃動化します」に近い • ⼈⼯知能を理解していないと「⼈⼯知能が機械学習」といったよくわから ない⽂章を書いてしまう.

5. 電卓も⼈⼯知能では? • 電卓による計算も⼈間の知的活動を機械がやっていると⾔える が,なぜ電卓は⼈⼯知能と呼ばれないのか? As soon as it works, no one calls it AI any more. John McCarthy (https://cacm.acm.org/blogs/blog-cacm/138907-john-mccarthy/fulltext)

6. ⼈⼯知能を実現するには

7. ⼈⼯知能 • ⼈⼯知能とは • ⼈間が知能を使ってやることをできる機械もしくはそれを実現するための 技術 • どのように⼈⼯知能を実現するのか どうすれば⼈間のように 知的になれますか? 機械

8. 中国語の部屋

9. 中国語の部屋 • 哲学者のサールが発表した思考実験 • 中国語を理解できない⼈を⼩部屋にいれ,中国語のあらゆる返 答が書かれた辞書を持たせる. • 部屋に中国語の質問を書いた紙を⼊れると,中の⼈が辞書をひ いて適切な返答を紙に書き返す. 中国語の質問が書 かれた紙 中の⼈は中国語は 分からないが,辞 書をひいて適切な 返答を探す. 中国語の返答が書 かれた紙

10. 中国語の部屋 • 中国語を分かっていないのに適切に返答できる. • チューリングテストでは中の⼈が中国語を理解しているかどうか分か らないだろう. 中国語の質問が 書かれた紙 中の⼈は中国語は 分からないが,辞 書をひいて適切な 返答を探す. 中国語の返答が 書かれた紙 チューリングテストとは アラン・チューリングが提案した 機械が⼈間的であるかどうか判定 するテスト 外から⾒て,中の⼈が中国語を理 解しているかどうか分からない. • 私⾒ • 適切な返答ができるなら,それで良いのではないか. • 適切な返答が書かれた辞書を作ることが⼤事ではないか. • ⼈⼯知能では辞書を作る⽅法を機械に組み込むが重要ではないか.

11. 逆に⾒れば • 中国語の部屋のように,部屋の中⾝が何であれ適切な返答がで きれば部屋は知的に動いているように⾒える. • ⼈⼯知能を実現するには,⼊⼒に対し適切な出⼒をする機械を 作れば良い. ⼊⼒ 中国語の質問が書かれ た紙 出⼒ 中国語の返答が書かれ た紙 中国語の部屋を実現するには,部屋の 中の機械が適切な返答をすれば良い.

12. ⼈⼯知能の実現

13. 機械に適切な出⼒をさせるためには • ⼈間があらかじめ⼊⼒から出⼒を求めるルールを作り,機械に 組み込む. • 機械に辞書を作らせる. • ⼈間は辞書を作らせ,それを活⽤する技術を考える ⼊⼒ 出⼒ 中国語の返答が書かれ た紙 中国語の質問が書かれ た紙 機械は適切な返答をすれば良い.

14. 機械に問題の解き⽅を組み込む

15. 機械に問題の解き⽅を組み込む • 機械に問題の解き⽅を教えれば,機械は正しい答えを導ける. ⼊⼒ 2 6 1 8 5 7 9 8 4 出⼒ 最⼤値を 探して 9 解き⽅ 最⼤値を求める⽅法を機械に事前 に⼊⼒しておく. 機械はその⽅法に従って最⼤値を 探す.

16. 機械に問題の解き⽅を組み込む • マルバツゲームを考えてみよう. • ○とXを交互に3x3のマスに埋めていき3つ並べたほうが勝ち. • この場合,起こりうるすべての⼿を探し出せば必勝の⼿が⾒つ かる. • なにか問題を解くとき,考えられる解を評価し条件に合うもの を探すことを探索といい,このために⽤いられるアルゴリズム を探索アルゴリズムという. • 探索を組み込んだ機械は,ゲームをプレイすることができる.

17. 探索の例 現在の状態 マルが選べる 盤⾯ バツが選べる 盤⾯ 起こりうる盤⾯の⼀覧.起こりうる盤⾯を⽊構造で書いたものをゲーム⽊という.

18. 探索の例 現在の状態 マルが選べる 盤⾯ バツが選べる 盤⾯ 引き分け 勝ち ゲーム⽊をたどることを⽊探索という.

19. 探索の例 現在の状態 マルが選べる 盤⾯ バツが選べる 盤⾯ ゲーム⽊から各プレーヤーが最善⼿を選べば引き分けになることが分かる. 勝つ可能性があるのは右の⼿以外だということも分かる.

20. 機械に問題の解き⽅を組み込む • このやり⽅は様々な場所で応⽤されている. • 検索アルゴリズム • リニアサーチ • バイナリサーチ • 探索アルゴリズム • バックトラック法 • 幅優先探索 • 並び替え(ソート)アルゴリズム • バブルソート • クイックソート • ゲームAI • Mini-max法 • この⽅法はコンピュータアルゴリズムの分野で研究される.

21. 探索の問題 • 選択肢が多い問題では困るかもしれない. • データ量や選択肢が多いと探索時間が多くかかってしまう. • ゲームで起こりうる盤⾯の数(state-space complexity) • • • • • マルバツゲーム:10! 1盤⾯の処理に1秒かかるとしたら約16分処理時間がかかる. オセロ: 10"# 1盤⾯の処理に1秒かかるとしたら約10"$ 年処理時間がかかる. チェス: 10%% 1盤⾯の処理に1秒かかるとしたら約10!& 年処理時間がかかる. 将棋: 10'( 1盤⾯の処理に1秒かかるとしたら約10&! 年処理時間がかかる. 囲碁: 10('$ 1盤⾯の処理に1秒かかるとしたら約10(&" 年処理時間がかかる. • 効率的な⽅法(良いアルゴリズム)を考えることが重要である. • 明確に選択肢を提⽰できない問題では困るかもしれない. • ボードゲームでは選択肢は離散的だが,連続的な選択肢の場合どうするか?

22. 知識と簡単な条件分岐で問題を 解く

23. 知識と簡単な条件分岐で問題を解く • ⼈の抱える問題に対し,機械が簡単な質問をする.その質問に 対し⼈が「はい」か「いいえ」で答えていくと,機械が問題を 解いてくれる. 成績を知 りたい. 80点以上 ですか? はい 成績は 優です. 質問と 答え アキネーターのようなも のだと思ってほしい(ア キネーターの中⾝がどう なっているかは分からな いが…).

24. 知識と簡単な条件分岐で問題を解く • 機械にお湯を沸かさせたい. • お湯を沸かすには • スイッチが⼊った場合,⽔を熱する. • ⽔の温度が100度になると,⽔を熱するのをやめる. • このように,機械が条件に沿って⾏動すれば様々な問題が解け る(かもしれない).

25. 知識と簡単な条件分岐で問題を解く • 機械に⾵邪かどうか判断させたい. • ⾵邪の条件とは • • • • • 平熱かどうか. のどが痛いかどうか. ⿐⽔が出るかどうか. 筋⾁痛があるか. 冬かどうか. • これらの条件を機械が患者に聞き,条件の当てはまり具合で⾵ 邪かどうか判断することができる(かもしれない).

26. 例:エキスパートシステム • ある分野の専⾨家の持つ知識をデータ化し、専⾨家のように推 論や判断ができるようにするコンピュータシステム(IT⽤語辞 典) 成績を知 りたい. 80点以上 ですか? 知識ベ ース はい 成績は 優です. ユーザイン タフェース 推論エ ンジン エキスパート

27. 例:エキスパートシステム • エキスパートが専⾨知識を知識ベースに登録する. • If-Thenルール,つまり条件と結論の形で知識を表現する. • 推論エンジンが知識ベースの情報を⽤いて結論を導く. 成績を知り たい. 80点以上で すか? 知識ベー ス はい 成績は 優です. ユーザインタ フェース 推論エ ンジン エキスパート

28. こんなに単純でよいのか • 単純な条件分岐でなんでも判断できるか? • 条件がはっきりしているのなら上⼿くいくだろう. • 簡単な問い合わせの対応 • 電気ポットやケトルなどの⽐較的単純な機械の制御 • 条件分岐(知識ベース)を作るのが⾯倒くさい. • 知識,条件が網羅できないかもしれない.

29. 規則性を覚えさせ,それに従っ て判断させる

30. 規則性を覚えさせ,それに従って判断させる • 機械はデータの規則性を覚え,覚えた規則性を使い判断する. 機械は⼊⼒の規則性を覚 え,それを保存する. 0, 1, 2, 3, 4 5, 6, 7, 8, 9 規則性を 覚える 学習データ ⼊⼒ 覚えた 規則性 出⼒ 0, 1, 2, 3, 4 5, 6, 7, 8, 9 覚えた規則性を⽤い判断する.

31. 機械学習 • 機械にデータを⼊⼒し,その規則性を覚えさせることを学習と いう. • 機械に学習させる仕組みを取り扱う分野のことを機械学習とい う. • 機械学習の説明は別の資料で⾏う.

32. まとめ

33. ⼈⼯知能のための技術のまとめ • 計算⽅法を組み込む • コンピュータアルゴリズム • ソートアルゴリズム • 探索アルゴリズム • 検索 • ゲームAI • 動的計画法 • 知識と条件分岐を組み込む • エキスパートシステム • IF-THENルール • 学習の仕組みを組み込む • 機械学習 • ニューラルネットワーク,深層学習

34. 歴史 • • • • • • • • • • • • 1942年 Bombe machineがEnigmaを解読に成功 1943年 ニューラルネットワーク登場(McCullochとPitts) 1950年 Turing test提案(Turing) 1955年 ダートマス会議にてArtificial Intelligenceという⽤語ができる 1959年 機械学習という⽤語ができる(Samuel) 1966年 チャットボットEliza発表 1980年代 エキスパートシステムが利⽤される 1997年 チェスでDeepblueが世界チャンピョンを破る 1999年 Aibo発売 2002年 Roomba発売 2011年 Siri登場 2011年 IBMのWatsonが早押しクイズで⼈間に勝つ

35. まとめ • ⼈⼯知能のための技術は機械学習(深層学習)だけではない. • ⽬的に合わせて,効率的な⼿法を選ばなければならない.