8.4K Views
May 08, 22
スライド概要
公立小松大学の講義で使っている資料です.極めて初心者向けの人工知能の実現方法が書かれています.
⼈⼯知能を実現するには 公⽴⼩松⼤学 藤⽥ ⼀寿 Ver. 20240508
⼈⼯知能とは
⼈⼯知能とは • ⼈⼯知能とは「⼈間が知能を使ってすること」ができる機械もしくはそれを実現するための 技術 • ⼈間の知的営みをコンピュータに⾏わせるための技術(IT⽤語辞典バイナリ) • 学習・推論・判断といった⼈間の知能を持つ機能を備えたコンピュータシステム(⼤辞林第三 版) • ⼈間や動物が可能な知的作業ができるコンピュータを作ることに関する事柄 (Artificial Intelligence for Games) • ⼈(研究者)によって⼈⼯知能の捉え⽅が違う. • 知能の定義が出来ないから,⼈⼯知能も定義できないという考え⽅もある. (平成28年度情報通信⽩書) • そもそも知能が何を意味するか,知的営みがどの程度の知的な⾏動を意味するかが曖昧である. そのため,⼈⼯知能という⽤語も曖昧になる. • この講義では⼀般的な認識に近い⾚字の解釈をしておく.
⼈⼯知能とは • ⼈⼯知能に関連する⽤語 • 特化型⼈⼯知能 • ある問題に対し特化した⼈⼯知能 • 例:画像認識,⾳声認識,画像⽣成など • 汎⽤⼈⼯知能 (Artificial general intelligence : AGI) • ⼈間レベルの知能 • 2022年から⼈⼯知能はAGIに着実に近づきつつある • ⼈⼯超知能(Artificial Super Intelligence: ASI) • ⼈間の知的能⼒を超えた⼈⼯知能
Google DeepMindによるAGIのレベル Levels of AGI: Operationalizing Progress on the Path to AGI Levels of AGI Performance (rows) x Generality (columns) 計算機ソフトはNo AIらしい Level 0: No AI Level 1: Emerging equal to or somewhat better than an unskilled human Level 2: Competent at least 50th percentile of skilled adults Level 3: Expert at least 90th percentile of skilled adults 画像⽣成⼈⼯知能 囲碁⼈⼯知能 ゲーム⼈⼯知能(ゲーム 以外にも適⽤できる) Level 4: Virtuoso at least 99th percentile of skilled adults Level 5: Superhuman outperforms 100% of humans 特化型⼈⼯知能 Narrow clearly scoped task or set of tasks 汎⽤⼈⼯知能 General wide range of non-physical tasks, including metacognitive abilities like learning new skills Narrow Non-AI General Non-AI calculator software; compiler human-in-the-loop computing, e.g., Amazon Mechanical Turk Emerging Narrow AI Emerging AGI GOFAI4 ; simple rule-based sys- ChatGPT (OpenAI, 2023), Bard tems, e.g., SHRDLU (Winograd, (Anil et al., 2023), Llama 2 1971) (Touvron et al., 2023) Competent Narrow AI Competent AGI toxicity detectors such as Jig- not yet achieved saw (Das et al., 2022); Smart Speakers such as Siri (Apple), Alexa (Amazon), or Google Assistant (Google); VQA systems such as PaLI (Chen et al., 2023); Watson (IBM); SOTA LLMs for a subset of tasks (e.g., short essay writing, simple coding) Expert Narrow AI Expert AGI spelling & grammar checkers not yet achieved such as Grammarly (Grammarly, 2023); generative image models such as Imagen (Saharia et al., 2022) or Dall-E 2 (Ramesh et al., 2022) Virtuoso Narrow AI Virtuoso AGI Deep Blue (Campbell et al., not yet achieved 2002), AlphaGo (Silver et al., 2016, 2017) Superhuman Narrow AI Artificial Superintelligence AlphaFold (Jumper et al., 2021; (ASI) Varadi et al., 2021), AlphaZero not yet achieved (Silver et al., 2018), StockFish (Stockfish, 2023) 2023年における対話型⼈⼯知能 は汎⽤⼈⼯知能で,スキルを持 たない者と同等か幾らか良い程 度の能⼒はあるらししい. 2023年では,まだこのレベルの ⼈⼯知能は登場していない. GoogleのGemini Ultraはこのレ ベルに達したのだろうか? (Morris, et al. 2023)
電卓も⼈⼯知能では? • 電卓による計算も⼈間の知的活動を機械がやっていると⾔えるが,なぜ電卓は ⼈⼯知能と呼ばれないのか? 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)
⼈⼯知能を実現するには
⼈⼯知能 • ⼈⼯知能とは • ⼈⼯知能とは「⼈間が知能を使ってすること」ができる機械もしくはそれを実現 するための技術 • どのように⼈⼯知能を実現するのか どうすれば⼈間のように知 的になれますか? 機械
中国語の部屋
中国語の部屋 • 中国語を理解できない⼈を⼩部屋にいれ,中国語のあらゆる返答が書かれた辞 書を持たせる. • 部屋に中国語の質問を書いた紙を⼊れると,中の⼈が辞書をひいて適切な返答 を紙に書き返す. ⼩部屋 中国語の質問が書 かれた紙 中の⼈は中国語は 分からないが,辞 書をひいて適切な 返答を探す. 中国語の返答が書 かれた紙
中国語の部屋 • 箱の中の⼈は中国語を分かっていないのに適切に返答できる. • チューリングテストでは⼩部屋の中の⼈が中国語を理解しているかどうか分からないだろう. • つまり,⼩部屋の中に⼈が⼊っているか機械が⼊っているか分からない. • また,箱の中で答えている機械に知能がなくても,知性的な返答が出来る. 中の⼈は中国語は 分からないが,辞 書をひいて適切な 返答を探す. 中国語の質問が 書かれた紙 中国語の返答が 書かれた紙 チューリングテストとは アラン・チューリングが提案した 機械が⼈間的であるかどうか判定 するテスト 外から⾒て,中の⼈(機械)が中国語 を理解しているかどうか分からない. • 中国語の部屋に対する私⾒ • 中⾝が何であれ,適切な返答ができるなら,それで良いのではないか. • 適切な返答が書かれた辞書を作ること,もしくは作る⽅法を考える事が重要ではないか. • 適切な返答ができる仕組みを考えることが重要ではないか.
⼈⼯知能の⽬的
中国語の部屋を別の視点で⾒る • 中国語の部屋は外部から⾒れば,その部屋は適切な返答をするため知的に動い ているように⾒える. • 逆に⾔えば,部屋を知的に⾒せるためには,部屋が適切な返答をすれば良い. ⼊⼒ 中国語の質問が書かれ た紙 出⼒ 中国語の返答が書かれ た紙 中国語の部屋を実現するには,部屋の中の機械が適 切な返答をすれば良い.
⼈⼯知能技術の開発の⽬標とは ⼈⼯知能開発の⽬標は⼊⼒に対し適切な出⼒をする 機械(箱)を作ること. ⼊⼒ 中国語の質問が書かれ た紙 出⼒ 中国語の返答が書かれ た紙 中国語の部屋を実現するには,部屋の中の機械が適 切な返答をすれば良い. ⼈⼯知能は,⼊⼒に対し適切な出⼒をする関数と⾔える.⼈⼯知能を作るとは,その関数を作ることであ る.⼈間の応答を関数で表現できれば,その関数を使った⼈⼯知能は⼈そのものと⾔えるかも知れない.
⼈⼯知能の実現⽅法
⼈⼯知能の実現⽅法 • ⼈⼯知能を実現するには,⼊⼒に対し適切な出⼒を出す仕組みを機械に組み込 めば良い. • ⼤雑把な実現⽅法 1. 機械に問題を確実に解く⽅法を組み込む. 2. 機械に知識とそれを使った条件分岐処理を組み込む. 3. 機械に⼊⼒と出⼒の規則性を学習する仕組みを組み込み,得られた規則性に従っ て判断させる.
⼈⼯知能の実現⽅法1 機械に問題を解く⽅法を組み込む この⼿法を⼈⼯知能と呼ぶかは議論があるだろうが,外から⾒て知的に⾒えればどんな⼿法でも⼈⼯知能に ⾒えるという考えからすると,この⼿法も⼈⼯知能と呼んでも良いのではないか.
機械に問題の解き⽅を組み込む • 機械に問題の解き⽅を教えれば,機械は答えを導ける. 例:最⼤値を求める. ⼊⼒ 2 6 1 8 5 7 9 8 4 出⼒ 最⼤値を探 して 9 解き⽅ 最⼤値を求める⽅法を機械に事前に⼊⼒し ておく. 機械はその⽅法に従って最⼤値を探す. 最⼤値を求める⽅法 1. 1番⽬の数値をaに保存する. 2. i=2 3. i番⽬の数値がaより⼤きければ,a にその数値を保存する. 4. i=i+1 5. iが⼊⼒の数値の個数以下なら3に, ⼤きければ終了する.
機械に問題の解き⽅を組み込む • マルバツゲームを考えてみよう. • ○とXを交互に3x3のマスに埋めていき3つ並べたほうが勝ち. • この場合,起こりうるすべての⼿(盤⾯)を探し出せば必勝の⼿が⾒つかる. • 何か問題を解くとき,考えられる解を評価し条件に合うものを探すことを探索 といい,このために⽤いられるアルゴリズムを探索アルゴリズムという. • 探索を組み込んだ機械は,ゲームをプレイすることができる.
マルバツゲームにおける探索の例 現在の状態 マルが選べる盤⾯ バツが選べる盤⾯ 起こりうる盤⾯の⼀覧.起こりうる盤⾯を⽊構造で書いたものをゲーム⽊という.
マルバツゲームにおける探索の例 現在の状態 マルが選べる盤⾯ バツが選べる盤⾯ 引き分け 勝ち 引き分け 勝ち ゲーム⽊をたどることを⽊探索という. 引き分け 引き分け
マルバツゲームにおける探索の例 現在の状態 マルが選べる盤 ⾯ バツが選べる盤 ⾯ 引き分け 勝ち 引き分け 勝ち 引き分け ゲーム⽊から各プレーヤーが最善⼿を選べば引き分けになることが分かる. 勝つ可能性があるのは右の⼿以外だということも分かる. 引き分け
問題の解く⼿法の例 • 検索する • リニアサーチ • バイナリサーチ • 探す • バックトラック法 • 幅優先探索 • 並び替える(ソート) • バブルソート • クイックソート • 動的計画法
機械に問題の解き⽅を組み込む⽅法の問題 • 解き⽅が分かっている問題は限られる. • 問題や解く⽅法によっては答えが出るまでに時間がかかることがある. • 例えば探索により正解を探す⽅法では,選択肢が多いと探索時間が多くかかってしま う. • 例:ボードゲーム • ゲームで起こりうる盤⾯の数(state-space complexity) • マルバツゲーム:10! • オセロ: 10"# 1盤⾯の処理に1秒かかるとしたら約16分処理時間がかかる. 1盤⾯の処理に1秒かかるとしたら約10"$ 年処理時間がかかる. • チェス: 10%% 1盤⾯の処理に1秒かかるとしたら約10!& 年処理時間がかかる. • 将棋: 10'( 1盤⾯の処理に1秒かかるとしたら約10&! 年処理時間がかかる. • 囲碁: 10('$ 1盤⾯の処理に1秒かかるとしたら約10(&" 年処理時間がかかる. • 効率的な⽅法(良いアルゴリズム)を考えることが重要である.
⼈⼯知能の実現⽅法2 機械に知識とそれを使った条件分 岐処理を組み込む この⼈⼯知能は,⼈間が作成した条件分岐のルールに従い判断する.このため,これに当たる⼈⼯知 能は,ルールベースシステムもしくはルールベース⼈⼯知能に分類されるだろう.
知識と簡単な条件分岐で問題を解く • 例えば,⼈の抱える問題に対し,機械が簡単な質問をする.その質問に対し⼈ が「はい」か「いいえ」で答えていくと,機械が問題を解いてくれる. 90点以上ですか はい Sです いいえ 成績を知 りたい. 80点以上ですか はい Aです いいえ 80点以上で すか? はい 成績は Aです. 70点以上ですか 質問と 答え はい Bです いいえ 60点以上ですか いいえ Dです はい Cです
知識と簡単な条件分岐で問題を解く • 機械にお湯を沸かさせたい. • お湯を沸かすには • スイッチが⼊った場合,⽔を熱する. • ⽔の温度が100度になると,⽔を熱するのをやめる. • 機械がこの条件に沿って⾏動すればお湯をわかせる(かもしれない). ボタンが 押された 電流を流 そう 100度に なった 電流を⽌ めよう 湯の沸 かし⽅
知識と簡単な条件分岐で問題を解く • 機械に⾵邪かどうか判断させたい. 熱はあるか 喉は痛いか • ⾵邪の条件とは • 熱はあるか . • のどが痛いかどうか. • 咳は出るか. いいえ いいえ 質問と 答え • ⿐⽔が出るかどうか. • 筋⾁痛があるか. 注:ここの⾵邪の条件はあくまでも条件分岐の例として上げたもので す.この条件で実際の⾵邪の判断ができるわけではありません. ⾵邪では ない • これらの条件を機械が患者に聞き,条件の当てはまり具合で⾵邪かどうか判断 することができる(かもしれない).
知識と簡単な条件分岐で問題を解く • 図の条件分岐を機械に組み込めば,熱中症の処置も機械が答えてくれるかもし れない. 呼びかけに答え るか. ⽔分を地⼒で取 れるか はい いいえ 質問と 対処法 医療機関へ⾏っ てください. (https://www.wbgt.env.go.jp/img/heatillness_ch ecksheet.png)
知識と簡単な条件分岐で問題を解く 疲れやすい? はい 質問と 答え ⾷事を⾷べるの は楽しい? 右のような質問をすることで,⾷事の改善⽅法を提⽰ できるかもしれない. 農林水産省,あなたの食育 https://www.maff.go.jp/j/syokuiku/minna_navi/check/chart2.html
例:エキスパートシステム • ある分野の専⾨家の持つ知識をデータ化し、専⾨家のように推論や判断ができ るようにするコンピュータシステム(IT⽤語辞典) 成績を知り たい. 80点以上です か? 知識 ベース はい 成績は Aです. ユーザイン タフェース 推論エ ンジン エキスパート
例:エキスパートシステム • エキスパートが専⾨知識を知識ベースに登録する. • If-Thenルール,つまり条件と結論の形で知識を表現する. • 推論エンジンが知識ベースの情報を⽤いて結論を導く. 成績を知り たい. 80点以上で すか? 知識ベー ス はい 成績は Aです. ユーザインタ フェース 推論エ ンジン エキスパート
問題 • こんな単純な条件分岐でなんでも判断できるか? • 必要な知識と条件がはっきりしているのなら上⼿くいくだろう. • 成績判定 • 簡単な問い合わせの対応 • 電気ポットなどの⽐較的単純な機械の制御 • 条件分岐(知識ベース)を作るのが難しい,もしくは⾯倒くさい. • 必要な知識,条件を網羅できないかもしれない.
⼈⼯知能の実現⽅法3 機械に⼊⼒と出⼒の規則性を学習 する仕組みを組み込み,得られた 規則性に従って判断させる
規則性を学習させ,それに従って判断させる • 機械はデータの規則性を学習し,学習した規則性に従い判断する. ⼊⼒ 0, 1, 2, 3, 4 出⼒(答え) 5, 6, 7, 8, 9 規則性を 学習する ⼈間は機械に,画像とそれに対 応する出⼒を与える. 機械は⼊⼒と出⼒の関係の規則 性を⾃動で学習し,それを保存 する. 学習データ ⼊⼒ 出⼒ 学習した 規則性 学習した規則性を⽤い判断する. 0, 1, 2, 3, 4 5, 6, 7, 8, 9
規則性を学習させ,それに従って判断させる 学習 直線1本のときは「1」 と答えればよいのか. ⼊⼒ 出⼒(答え) 1 規則性を 学習する 直線1本だから「1」だ な. 推論 ⼊⼒ 出⼒ 学習した 規則性 学習した規則性を⽤い判断する 1
機械学習 • 機械にデータを⼊⼒し,その規則性を⾒つけさせる(覚えさせる)ことを学習 という. • 機械に学習させる仕組みを取り扱う学術分野のことを機械学習という. • 機械学習の説明は別の資料で⾏う. • 現在の⼈⼯知能でよく使われる⼈⼯ニューラルネットワークや強化学習は機械学習に 属する. • 機械学習の⼿法は,正しい答えが必ず得られる保証がないものが多い. • 機械学習は過去の学習(記憶)に基づき,それらしい解を得る⼿法である. • 間違える可能性がある.
現在の主要な⼈⼯知能のための機械学習技術 • ニューラルネットワーク • 識別:データを分ける • 多層パーセプトロン,畳み込みニューラルネットワーク,Vision Transformerなど • ⽣成:データを作る • GAN,Diffusion model, Transformerなど • 強化学習+ニューラルネットワーク • ゲームのプレイやロボット制御 • AlphaZero,DQNなど 強化学習は問題と条件によっては正しい答え を⾒つけられる. ニューラルネットワークの場合,訓練に使っ たデータをすべて正解でき,ニューラルネッ トワークに与えられるデータが訓練データに 限られる場合は間違えないといえるだろう. • ⾔語モデルの調整 これらの⼿法は正しい答えが得られる保証はないと思っ ていたほうが良い.
⼈⼯知能の実現⽅法の分類
⼈⼯知能の実現⽅法の分類は難しい • 先は3つの⼈⼯知能の実現⽅法を考えた. • しかし,⼈⼯知能の⼿法を3つに明確に分けるのは難しい. • 次に,答えの正確さや,その導出⽅法の違いで⼿法を分けてみる.
⼈⼯知能の実現⽅法の特徴 • 必ず正しい答えが得られる⽅法 • ⼈間が正しいと思う出⼒が出ることが保証されている. • ソートや探索アルゴリズムがこれに当たる. • 出⼒を得られる⽅法を⾒つける必要がある.その⽅法で問題を現実的な時間で解けなければならない. • ある条件やある範囲内で正しい答えが得られる⽅法 • 正しく答えられる条件が決まっている.または,答えの誤差があらかじめ分かっている. • 数値計算や近似的⼿法,ルールベースの⼿法,機械学習の⼀部がこれに当たる. • 出⼒を得られる⽅法を⾒つける必要がある.その⽅法で問題を現実的な時間で解けなければならない. • たまたま問題の正しい答えが得られるかもしれない⽅法 • 正しいと思う答えが出るかも知れないし出ないかも知れない. まあまあの答えは出るだろう. • 発⾒的⼿法がこれにあたる.ただし,数理解析により正しい解が出る条件や解の誤差の範囲が計算できれば「あ る条件や範囲内で問題の正しい答えが出る⽅法」になる. • 出⼒を得られる⽅法を⾒つける必要がある.その⽅法で問題を現実的な時間で解けなければならない. • 問いと答えの間の関係を学習により⾒出し,それに基づき答えを出す⼿法 • 多くの場合,⾒出した関係が正しい保証は無い. • 機械学習がこれに当たる. • 学習⽅法を⾒つける必要がある. 明確に分けるのは困難.⽬安と思っておこう.
なぜ間違った答えを出すかもしれない⽅法が存在するのか? • 正しい答えを確実に得る⽅法はあるが現実的な時間で得られない. • 例:囲碁などのボードゲーム • ⼈間が正しいと思う答えを確実に得られる⽅法・⼿順が分からない. • 多くの問題がこれに当てはまる.この場合,いい加減(良い加減)に解くことにな る. • 答えを定義することが難しい. ⽂章の場合は,⼀部の単語を抜き,それを予測する⽳埋め問題にして答えを 作ることもできる.絵は,⼈が描いた絵が答えだと考えることもできる. • 例:⽂章,絵,曲 • このような場合は正しい答えを求める⽅法を使うことができない.
注意 • 正しい問題を得られる⽅法が既知で,その⽅法を⽤い現実的なコスト(時間 など)で問題が解けるのならば,それを使うべき. • 最⼤値を求めるために⼤規模⾔語モデルを使⽤することは出来るかもしれないが誰 も使わない. • 精度が同程度ならより簡単な⼿法の⽅が良い. • より簡単な⼿法のほうが速いし,制御しやすい. • K-nearest neighbor法や線形回帰で性能が出るなら深層ニューラルネットワークを 使う必要は⼀切ない.
まとめ
まとめ • ⼈⼯知能とは「⼈間が知能を使ってすること」ができる機械もしくはそれを実 現するための技術である. • AGIはあと数年で達成するかもしれない. • ⼈⼯知能を実現する⼿法はたくさんある. • 今の⼈⼯知能にはニューラルネットワークがよく使われる. • しかし,ニューラルネットワークは必ず正しい答えを出す⼿法ではない. • つまり,今の⼈⼯知能は間違えるかもしれない. • 問題によっては必ず正しい答えを出す⼿法がある. • 現実的な時間で答えを出せないと使えない. • 逆に,現実的な時間で正しい答えを出せるなら,必ず正しい答えを出す⼿法を使い べき. • 精度が同じなら簡単な⼿法の⽅が良い.