人工知能原理 (改訂版)
探索,ゲーム,機械学習,知識表現・セマンティックWeb技術に焦点を絞り,平易に解説
- 発行年月日
- 2024/09/30
- 判型
- A5
- ページ数
- 232ページ
- ISBN
- 978-4-339-02723-5
- 内容紹介
- まえがき
- 目次
- 広告掲載情報
【本書の特徴】
人工知能は多様な側面を持ちます.昨今,深層学習が脚光を浴びており,それとともに人工知能を学びたい初学者も増えてきていますが,深層学習以外にも,探索や知識ベース,自然言語処理など「知能の方向性」が大きく異なる研究分野が存在します.機械学習についても深層学習の他に,強化学習や進化的計算,サポートベクターマシンなど,様々な手法が存在します.
本書は,人工知能アルゴリズムの中でも,探索,ゲーム,機械学習,知識表現,セマンティックWebについて解説した教科書です.本書を通して,様々な状況で最適な解を見つける方法や意思決定の方法,またそれらを機械学習で自動化する方法の基礎を学べます.また,人の知識をコンピュータが理解し,推論できるようにするための技術やWeb上でそれを活用する技術の基礎について学べます.
加えて,本書では,各種アルゴリズムのソースコードもC言語(C++言語)およびPythonで提供しています.実際に動作するプログラムを作成することで人工知能アルゴリズムに対する理解を深めてください.
【各章について】
1章では, 人工知能の歴史について解説します.過去どのような研究がなされてきたのか,説明しています.本書では解説していない手法などの名称も挙げられているので,興味のある方法について調べてみるのもよいでしょう.
2章では,探索について解説します.具体的には,深さ優先探索,幅優先探索から始まり,ダイクストラ法,山登り法,最良優先探索,A*アルゴリズム,反復深化法,IDA*について学びます.また,アルゴリズムの健全性や無矛盾性についても確認し,動作原理に対する理解を深めます.
3章では,まず,群論によるパズルの分析とA*アルゴリズムでパズルを解く際のヒューリスティック関数の設計について8-パズルを題材としながら解説します.次に,2人対戦ゲームに関する概念や探索手法としてゲーム木,AND-OR木,証明数と反証数,MINMAX法,αβ法を解説します.
4章では,機械学習のうちの進化的計算手法について解説します.遺伝的アルゴリズムや遺伝的プログラミングといった生物の進化を比較的忠実に模倣した方法から,差分進化や粒子群最適化といった多点・直接探索法についても学びます.また人が次世代に残す個体を選択する対話型進化計算についても概説します.
5章では,機械学習のうちのニューラルネットワークについて解説します.人の神経細胞を模したニューロンモデルの説明から始まり,パーセプトロン構造について学んだ後に,ニューラルネットワークの学習方法である誤り訂正学習法および誤差逆伝播法について学びます.深層学習(ディープラーニング)についても概説します.また,教師なし学習手法として自己組織化マップについても触れます.
6章では,機械学習のうちの強化学習について解説します.強化学習は学習の指針となる教師信号を与えるのではなく,行動の良し悪しを評価する報酬を与えることで学習する枠組みです.強化学習手法として,TD学習,SARSA,Q学習について学びます.
7章では,4章から6章での分類以外の機械学習手法として,サポートベクターマシンとt-SNEについて解説します.
8章では,知識表現について解説します.人間の知識をモデル化するための技法について解説するとともに,与えられた知識や既存の知識を利用し新たな知識を得る「推論」について学びます.またインターネット上の情報記述の基礎として,マークアップ言語とメタ言語についても学びます.
9章では,セマンティックWeb技術について解説します.セマンティックWebを構成する要素技術として,マークアップ言語やメタ言語,スキーマ言語について学びます.また知識や情報を構造化し整理するモデルであるオントロジーについて学び,その応用事例や将来展望についても解説します.
【著者からのメッセージ】
探索・ゲーム,機械学習,知識表現,セマンティックWebは人工知能の基礎となる分野です.これらの分野を学ぶことで,人工知能に関する技術的なスキルや理論的な理解が深まり,現代の情報社会での多様な問題解決に貢献できると思われます.ぜひとも本書を手に取り,人工知能の原理について学びを深めてください.
【キーワード】
深さ優先探索,幅優先探索,ダイクストラ法,山登り法,最良優先探索,A*アルゴリズム,反復深化法,IDA*,ゲーム木,AND-OR木,MINMAX法,αβ法,遺伝的アルゴリズム,遺伝的プログラミング,差分進化,粒子群最適化,対話型進化計算,ニューラルネットワーク,自己組織化マップ,強化学習,SARSA,Q学習,サポートベクターマシン,t-SNE,意味ネットワーク,プロダクションシステム,推論,HTML,XML,スキーマ言語,オントロジー
2017年は,第3次人工知能ブームの中にある。
人工知能(artificial intelligence ,AI)という言葉が初めて使用された1956年のダートマス会議から第1次AIブームが始まるが,マービン・ミンスキーが,ニューラルネットワークの最も基本的な「単層パーセプトロン」は線形分離不可能なパターンを識別できないことを示したことなどもあり,1970年代中ごろには冬の時代を迎えることになる。
その後,1980年代になると,隠れ層をもつパーセプトロンはその問題を解決できること,ニューラルネットワークの学習アルゴリズム「誤差逆伝播法」が発見されたことから,第2次AIブームが到来する。この期間には,ニューラルネットワーク以外にもエキスパートシステムによる知識表現が隆盛し,わが国では第五世代コンピュータプロジェクトが推進されるなどの活況の中にあった。しかし,その状況も長くつづかず,およそ7年程度で再び冬の時代を迎えることになる。これにはさまざまな理由が考えられるが,その一つに,人工知能の構築に必要な大量のデータがなかったことが挙げられる。
そして,その環境が2010年代に激変する。「ディープラーニング(深層学習)」の登場である。大量なデータと,それを処理するのに十分な能力を有するコンピュータが比較的容易に入手できるようになったことがきっかけで,高い精度の学習が可能になったのである。Google社のAlphaGoが2015年10月に人間のプロ囲碁棋士に勝利したのは衝撃的な出来事である。現在われわれはこの渦中にいる。
上述の人工知能の歴史は,ニューラルネットワークの視点から記したが,この期間,さまざまな人工知能アルゴリズムが研究されてきた。例えば,探索アルゴリズムは,第1次AIブームから脈々と研究され,近年では先ほどふれたAlphaGoにも採用されているモンテカルロ木探索が注目を集めている。第2次AIブームで脚光を浴びたエキスパートシステムでは比較的単純な知識表現構造が用いられていたが,現在では,文書の意味を形式化することでコンピュータによる自動的な情報収集や分析を行うセマンティックWebの研究が盛んに行われている。本書では,人工知能アルゴリズムの中でも特に,探索・ゲーム,機械学習,および知識表現・セマンティックWeb技術に焦点を絞り,平易な文章で解説する。また,読者の理解を助けるために,実際のプログラミングコードも掲載した。本書を読み,人工知能に興味をもち,さらなる勉学を進めるためのきっかけとなれば幸いである。
各章の執筆者はつぎのとおりである。
第I部「探索とゲーム」:山田
第II部「機械学習」:加納
第III部「知識表現」:遠藤
最後に,本書の出版の機会を与えてくださり,種々ご指導いただいた本シリーズの編集委員長曽和将容先生,担当編集委員岩田彰先生,ならびにコロナ社には心から感謝申し上げます。
2017年9月
加納政芳
改訂にあたって
人工知能,機械学習は,技術革新も目覚ましく情報系の中心的立ち位置になりつつある。そこで本書の内容を見直し改訂することとなった。
すでに古くなってきている内容を刷新するとともに,4章に粒子群最適化,新設した第7章にサポートベクターマシンならびにt-SNEについて加筆することで,本書で取り扱う内容の充実を図った。
2024年7月
加納政芳
1.人工知能とその歴史
1.1 人工知能とは
1.2 人工知能の歴史
第I部 探索とゲーム
2.探索
2.1 状態空間のグラフ表現
2.2 深さ優先探索と幅優先探索
2.2.1 深さ優先探索
2.2.2 幅優先探索
2.2.3 プログラム
2.2.4 深さ優先探索と幅優先探索の比較
2.3 ダイクストラ法
2.3.1 プログラム
2.3.2 健全性
2.4 山登り法
2.5 最良優先探索
2.6 A*アルゴリズム
2.6.1 プログラム
2.6.2 健全性
2.6.3 ヒューリスティック関数の精度・無矛盾性
2.7 反復深化法とIDA*
2.7.1 深さを閾値とした反復深化法
2.7.2 IDA*
演習問題
3.ゲーム
3.1 群論によるパズルの分析
3.1.1 コマの並びの表現
3.1.2 巡回置換による操作の表現
3.1.3 等価な巡回置換
3.1.4 偶置換・奇置換
3.2 ヒューリスティック関数の設計
3.3 ゲーム木
3.4 AND-OR木
3.5 証明数と反証数
3.6 MINMAX法
3.6.1 局面の評価
3.6.2 MINMAX探索
3.7 αβ法
3.8 ゲームプログラミングの進展
3.8.1 いろいろな手法
3.8.2 パズルやゲームの解を求める試みの事例
演習問題
第II部 機械学習
4.進化的計算
4.1 遺伝的アルゴリズム
4.1.1 選択
4.1.2 交叉
4.1.3 突然変異
4.1.4 GAによる探索の具体例
4.2 遺伝的プログラミング
4.2.1 選択
4.2.2 交叉
4.2.3 突然変異
4.3 差分進化
4.4 粒子群最適化
4.5 対話型進化計算
演習問題
5.ニューラルネットワーク
5.1 ニューロンモデル
5.2 パーセプトロン
5.2.1 誤り訂正学習法
5.2.2 誤差逆伝播法
5.2.3 誤差逆伝播法の導出
5.3 ディープラーニング
5.3.1 たたみ込みニューラルネットワーク
5.3.2 技術的補足
5.4 自己組織化マップ
演習問題
6.強化学習
6.1 強化学習の枠組み
6.2 TD学習
6.3 SARSA
6.4 Q学習
6.5 適格度トレース
演習問題
7.その他の機械学習アルゴリズム
7.1 サポートベクターマシン
7.1.1 ハードマージン最適化
7.1.2 ソフトマージン最適化
7.1.3 SVMの非線形化とカーネルトリック
7.2 t-SNE
7.2.1 SNE
7.2.2 t-SNE
演習問題
第III部 知識表現
8.知識表現
8.1 知識とその表現
8.2 知識表現技法
8.2.1 フレーム
8.2.2 意味ネットワーク
8.2.3 プロダクションルール
8.2.4 スクリプト
8.3 推論
8.3.1 フレームシステムにおける推論の事例
8.3.2 意味ネットワークによる推論の事例
8.3.3 プロダクションシステムによる推論の事例
8.3.4 スクリプトによる推論の事例
8.4 マークアップ言語とメタ言語
8.4.1 HTML
8.4.2 XML
8.5 知識表現とその活用
演習問題
9.セマンティックWeb技術
9.1 セマンティックWeb設計の原則と技術階層
9.2 スキーマ言語
9.2.1 DTD
9.2.2 XML Schema
9.3 Webにおけるメタデータの活用事例
9.4 オントロジー
9.4.1 RDF
9.4.2 OWL
9.5 セマンティックWebの応用事例
9.5.1 Linked Open Data
9.5.2 SPARQL
9.6 セマンティックWebの未来
演習問題
引用・参考文献
索引
-
掲載日:2024/10/15
-
掲載日:2024/10/01