#「人工知能は人間を超えるか」の整理
参考図書:人工知能は人間を超えるか ディープラーニングの先にあるもの
##人工知能(AI:Artificial Intelligence)とは
人のように考えるコンピュータ
##人工知能(AI)の動向
4段階のレベルで表現
###レベル1:単純な制御プログラム
マーケティング的に人工知能と呼んでいるもの
###レベル2:古典的な人工知能
将棋プログラム・掃除ロボット・質問に答える人工知能
####探索・推論(第1次AIブーム:1950年代後半~1960年代)
#####探索
様々な選択肢のパターンを網羅するように木構造を作る
⇒ 探索木
どんどん場合分けを進めていくことで最終的にゴールにたどり着くような方法
#####プランニング
ロボットの行動計画も探索木で表現できる
この時代の人工知能は
・迷路やパズルを解く
・チェスや将棋で人間に挑戦
など明確に定義されたルールの問題(トイ・プロブレム)のみしか解けなかった
現実の問題を解くことが難しく、1970年代に第1次AIブームが下火になる
####知識表現(第2次AIブーム:1980年代~1990年代半ば)
知識をたくさんインプットすればAIは賢くなるという考え
例)医者の変わりをするAI:病気に関するたくさんの知識をつめる
弁護士の変わりをするAI:法律に関するたくさんの知識をつめる
「知識がありそうに見える方法」
ELIZA(イライザ)(1964年)
コンピュータと人間がテキストデータでやり取りして、
「対話」しているように見えるシステム
単純なルールベースで回答される仕組み
iPhoneのSiriのベース
#####エキスパートシステム
例)MYCIN(マイシン)
伝染病の血液疾患の患者を診断して抗生物質を処方するシステム
500のルールの下に質問に順番に回答
⇒感染した細菌を特定し、合った抗生物質を処方
正解率:69%
専門医の正解率:80%
たくさんの「if - then」を用意しているようなイメージ
[課題]
・専門家から知識を取り出すコストがかかる
・知識の数が増えると知識に矛盾が発生することがあり、維持管理が大変
・一般常識の登録が大変
⇒ Cyc(サイク)プロジェクト
一般常識を知識表現しようとしているプロジェクト
30年経過しても終わってない
#####オントロジー研究
知識を記述すること自体に対する研究
知識を記述する事が大変だとわかってきたため、研究が行われるようになった
知識を書くときにも仕様書があるべきという考え
######ヘビーウェイト・オントロジー
人間がきちんと考えて知識を記述していくためにどうしたらよいかを考える
######ライトウェイト・オントロジー
コンピュータにデータを読み込ませて自動で概念間の関係性を見つける
WEBマイニングやデータマイニングと相性がよい
WEBマイニング:WEBデータを解析して知識を取り出す
データマイニング:ビッグデータを分析して知識を取り出す
例)IBM ワトソン
wikipediaの記述をもとにライトウェイト・オントロジーを生成して解答に使用
#####フレーム問題
コンピュータでは、ある課題を実行するのに「関係ある知識だけを取り出して使う」
という作業できないという問題
コンピュータは要求された課題に対し、知識を活用して解決策を探す。
⇒ 保持している知識の中で今対応している課題と関係のある知識なのか
関係ない知識なのかを見分ける時間が掛かる
※人間が無意識にやっていることができない
#####シンボルグラウンディング問題
コンピュータに与えたもの(文字列・言葉)がどのようにして
実世界の意味と結びつけられるかという問題
例)縞馬:縞のある馬
人間の場合:
縞と馬の意味がわかっている場合、
「縞のある馬」といえば縞馬を想像できる
⇒ 初めて縞馬をみたときに、「あれが縞馬かもしれない」と認識できる
コンピュータの場合:
「縞のある馬」が何を指すのか理解できない
⇒ 初めて縞馬をみたときに、「あれが縞馬かもしれない」と認識できない
この問題を解決するためには、身体がないと解決できないとする考えがある。
⇒ 身体性に着目した研究
⇒ 外界と相互作用できる身体がないと概念はとらえきれないとする考え
工場など産業的にも使えるようになったが、
知識を書く限界とフレーム問題・シンボルグラウンディング問題の存在から
人工知能実現が難しいと思われたため、第2次AIブームが下火に
###レベル3:機械学習を取り入れた人工知能(第3次AIブーム:2000年代~)
検索エンジン・ビッグデータのデータ分析
####機械学習
インプットとなるデータをもとに、プログラムがルールや知識を自分で学習する
学習させることにより特定のタスクを実行可能にする
⇒ 未知のものに対する判断・予測をする
学習には時間が掛かり、タスクの実行には時間が掛からない
タスクに使用する情報(特徴量)は人間が教える必要がある
#####教師あり学習
入力データと出力データ(特徴量と正解)をセットで渡して学習させモデルを作成する
#####教師なし学習
入力データを渡してデータの一定のパターンやルールを抽出する
データの共通点を見つけてクラスタに分けたり、頻出パターンの抽出を行う
#####機械学習の問題
特徴量の決め方によって予測精度は変わるが、
AIに与える特徴量は人間が考える必要がある
#####データの扱い
#####応用
###レベル4:ディープラーニングを取り入れた人工知能
ディープラーニング
機械学習をする際の特徴量(変数)を自分で学習する
##人工知能(AI)の問題
###強いAI/弱いAI
####強いAI
人間のようにものごとを認識し仕事を行い、人間のような自意識を備えているAI
####弱いAI
限定された知能によって問題解決をするAI
###トイプロブレム
明快なルールがあり,非常に限定された状況下での問題
現実的に解く必要のある問題に比べて比較的単純であり解きやすい
###身体性
物理的な身体があることによって、環境との相互作用ができることにより、
学習や知能の構築にもたらす効果や性質を指す。
###特徴量設計
###チューリングテスト
アラン・チューリングが考案
機械が知的(人工知能)かどうかを判定するテスト
【テスト方法】
機械と人間との間で会話(人間側はディスプレイとキーボードで会話)させ、
人間が機械か人間か確実に判断できなかった場合、合格となる
###シンギュラリティ
技術特異点
人工知能が自分の能力を超える人工知能を生み出せるような時点
##深層学習(ディープラーニング)
###手法
####活性化関数
入力信号の総和をどのように活性化させて出力するかを制御する関数
・ステップ関数
単純パーセプトロンで使用される
・シグモイド関数
多層ニューラルネットワークで使用される
主に隠れ層で使用する
\frac{1}{1 + exp^{-x}}
・ソフトマックス関数
多層ニューラルネットワークで使用される
分類問題の場合出力層で使用する
多クラス分類が可能になる
\frac{e^x_{i}}{\sum^n_{j=1}e^x_{j}}
・恒等関数
多層ニューラルネットワークで使用される
出力層で使用する
入力をそのまま出力する
・ReLU
0以下の場合は0
0より大きい場合はそのまま出力する
####損失関数
ニューラルネットワークの出力と教師データの相違を算出する関数
学習を重ねることで損失関数を最小化していく
・二乗和誤差
回帰問題で使用する
\frac{1}{2}\sum^n_{i=1}(y_i - t_i)
$ t_i $は教師データ
・クロスエントロピー誤差
分類問題で使用する
-\sum^n_{i=0}t_i \log y_i
####学習率の最適化
####CNN
####RNN
####深層強化学習
####深層生成モデル
###研究分野
####画像認識
####然言語処理
####音声処理
####ロボティクス(強化学習)
####マルチモーダル
###応用
####産業
####法律
####倫理
####現行の議論
##機械学習
###サポートベクターマシン
- カーネル法
- カーネルトリック