JDLAのG検定に向けて、「人工知能は人間を超えるか」をまとめてみた

JDLA(日本ディープラーニング協会)のG検定というのが12/16(土)に実施されるようです．

「ディープラーニングを事業に活かすための知識を有しているかを検定する」を目的としているようなので，事業に活かすための知識を得るためにはこれを取得するために勉強するのも良いかと思ったので，ちょっと勉強してみようと思います．

この記事はシラバスの一部について，参考図書[人工知能は人間を超えるか ディープラーニングの先にあるもの](http://amzn.to/2AF3sHJ)をもとにまとめて見ました．

# 人工知能（AI）とは（人工知能の定義）
## 人工知能とは何か 
一言でいうと「人間のように考えるコンピュータ」のこと．
1956年のダートマスで開かれたワークショップにて生まれた言葉であり概念．

### 人工知能は作れるのか？
脳は電気回路のようなものであり，思考はなんらかの計算であると捉えられる．
その場合，アルゴリズムで表現できるものはチューリングマシンにて実行することが可能なので，人工知能は作れるはずだ．

### 知能理解へのアプローチ
#### 構成論的アプローチ
脳を作ることによって知能を理解することを目指すアプローチで，人工知能の研究はこちらのアプローチである．

#### 分析的アプローチ
脳を解剖学的に理解するアプローチである

### 強いAIと弱いAI
人間の知能の原理を理解し，それを工学的に再現するAIを強いAIといい，限定的な知能によって一見知的な問題解決が行われれば良いと言った
スタンスのAIを弱いAIという．
中国語の部屋のようなAIは弱いAIである．



# 探索と推論(第一次AIブーム)
## 推論
人間の思考過程を記号で表現し，実行する

## 探索
様々な選択肢のパターンを網羅するように木構造を作り(これを探索木という)，どんどん場合分けを進めていくことで
最終的にゴールにたどり着くような方法．

例えば，迷路を解くときに，それぞれの選択肢をとるとどんな状態になるのか？をどんどん木構造で表現していき，
ゴールにたどり着くまで続ける．
深さ優先探索とか幅優先探索とか戦略は色々ある．

### プランニング
プランニングと呼ばれる，ロボットの行動計画も探索木で作ることができる．
前提条件と行動と結果からなるノードをそれぞれつなぎ合わせることで，最終的に目的達成にたどり着くことができるというもの．
仮想的な世界においては，これは一定の成果を納めるに至った考え方．

だが，探索では迷路や将棋など明確に定義されたルールに基づく問題は解くことができるが，現実的に解きたいような応用問題を解くことが
できなかった．現実の問題は複雑すぎたり，ルールが明確でなかったりするので．

これにより期待がしぼみ，第一次AIブームが終わった．

# 人工知能をめぐる動向
## 知識表現(第二次AIブーム)
第二次AIブームでは，工場や現実の産業への応用が始まった．

### エキスパートシステム
大きな役割を果たしたのは「知識」である．
特定の専門領域の知識を大量に取り込み，推論を行うことで，ある特定の領域におけるエキスパートのように振る舞うことができる
ようになったエキスパートシステムというものが作られた．
例えばMYCINというシステムは田先生の血液疾患の患者を診断して適切な抗生物質を処方することを目指す．

この頃のAIには知識を入れるのにコストがかかるという課題や，知識自体の矛盾解決など維持管理が大変だという課題があった．

実際，より汎用的な一般常識を知識として表現しようとするCycプロジェクトというプロジェクトが立ち上がり，実施されているが，
30年経った今でもまだ完遂されていない．

### オントロジー研究
さらに，そもそも知識を正しく記述するのが難しいという問題もあり，オントロジー研究という分野が生まれた．
その中でもウェブデータの解析などを通して，人間が知識を与えるのではなく機械が勝手に知識を獲得するための方法の研究分野を
ライトウェイト・オントロジーと呼ぶ．Wikipediaからライトウェイト・オントロジーで知識を生成し，成功を収めたのがIBMのワトソンである．

### 知識利用の難しさ
ところで，知識をいっぱい溜め込んだとしても，機械はその意味を理解しているわけではないため，機械が知識を扱うということはかなり難しい問題になる．

#### フレーム問題
機械は解こうとしている問題に対して知識を活用し解決策を推論するが，解こうとしている問題や背景と関係のある知識なのかない知識なのかを
見分けることができない．

そのため，持っている知識全てについて考え始めるため，知識の量が増えるに従って，機械が考える領域が広がり，
実用に耐えるレスポンスタイムを得ることが難しい．人間は関係のある知識とない知識を無意識に選別できるが，機械はこれができない．
これをフレーム問題と呼ぶ．

#### シンボルグラウンディング問題
知識として得られた概念(記号)と実際のモノを結びつけることが機械はできない．

「シマウマは縞模様の馬である」という知識を得たとしても，それぞれが実際のモノと結びつかないため，例えば人間が
初めてシマウマを見たときに，前述の知識から「シマウマってこれか」と思いつけるが，機械はそれができない．

このような問題をシンボルグラウンディング問題と呼ぶ．

これを解決し，モノと概念を結びつけるためには，「身体」をもつ必要があると主張する科学者がいて，
そのような考え方に基づいた研究を「身体性」に基づく研究と呼称する．

## 機械学習
プログラム自身がデータから学習する仕組みのこと．
大量のデータの中から，例えば分類タスクの場合は「分け方」を見つけ出す．
分け方の見つけかたには色々あるが，なんにせよ，分け方を見つけ出す．

分け方を見つけ出す作業を学習と呼び，これには大量のデータを対象に長い時間をかける必要がある．
一方で，得られた新しいデータを分ける作業は一瞬でできる．

機械学習にも問題があり，それは分けるためにどの情報に着目したら良いか？は人間が決める必要があるという点だった．

注目する情報のことを特徴量と呼ぶ．例えば画像認識であればエッジに注目したり，尖った部分に注目させたりといったような特徴量を人間が設計してあげるしかなかった．

この作業が結局キモになる作業であり，高い技術力と時間をかけて調整する必要があるものだった．

## 深層学習
2012年の画像認識コンペ「ILSVRC」にてトロント大学が革命を起こした．
エラー率で10%以上の大差をつけて，優勝した．

これまでは，いかに特徴量を設計するか？という点で各研究機関がしのぎを削っていたが，トロント大学はこの特徴量を機械が自分で見つけ出すという方法で大きな成果を出した．

これが深層学習であり，上記の通り特徴量を機械が自分で獲得することから，特徴表現学習とも呼ばれる．

特徴表現の問題は第一次AIブームや第二次AIブームで問題になっていたような問題の根本にあった課題であり，これに対する回答が示されたため，
機械学習の分野の大きな飛躍が期待されている．これが現在の第三次AIブームに繋がっている．


# 人工知能分野の問題
## トイプロブレム
明快なルールがあり，非常に限定された状況下での問題．
現実的に解く必要のある問題に比べて比較的単純であり解きやすい．

## フレーム問題
知識の応用時における選別に関する問題．
自分の状況や解きたい問題に関わる知識とそうではない知識を機械は簡単に判別することができない．

そのため，持っている知識全てを思考しないといけないので，レスポンスタイムがかかりすぎたりして実用に耐えないという問題．

## 弱いAI/強いAI
知能や心の原理を解明して工学的に作り出すのが強いAI．
心をもたず，限定された知能によって一見知的な振る舞いをするのが弱いAI．
中国語の部屋は弱いAIの典型的な例．

## 身体性
AIに体を持たせることで，記号とモノとを紐付けることを可能にし，シンボルグラウンディング問題を解決できる
という考え方．

## シンボルグラウンディング問題
記号とモノを紐づけることができるか？という問題．
例えば「シマウマは縞模様の馬である」という知識を持っていたとして，かつシマウマを見たことはないとする．

人間は初めてシマウマを見た際に，その特徴から「これがシマウマか！」と気がつくことができるが，機械はそれができない．
「縞模様」や「馬」という概念について記号とモノが紐づいていないことが要因．

## 特徴量設計
画像認識などのタスクを実施する際に，Inputとなるデータの何に注目して判定したらいいか？という特徴量を
いかに定義するかがこれまでの機械学習の分野では大事な点だった．特徴量を定義することを特徴量設計という．

特徴量の設計は，従来の機械学習の分野において精度にダイレクトに反映される重要な作業であり，研究者の腕の見せ所だった．

DeepLearningではこの特徴量の設計を人間がする必要がなく，機械がデータから特徴量を学びとることができ，特徴量設計を
技術者が行う必要がなくなった．

DeepLearningはこの特徴から，特徴表現学習とも呼ばれる．

## チューリングテスト
アランチューリングによって提唱された，AIのテスト．
テスターが人とAIとそれぞれ会話し，AIを人と誤認させることができるか？というテスト．

*ちなみに補足だが、2014年に[ユージーン・グーツマン君](http://www.itmedia.co.jp/news/articles/1406/09/news049.html)というAIが史上初(?)のチューリングテスト合格者となったとのこと。*

## シンギュラリティ
技術的特異点のこと．
AI自身が自分より賢いAIを作り出せるようになる点をさす．

AIが自分より賢いAIを作り出すようになると，そこから発散的に賢いAIがAIによって作成されるようになる．
自身を基準として賢さが0.999のような値であれば1000回かけ合わせると0に近くが，1.001のように1.000を越えると無限大に発散する．

このように，AIが作り出せる賢さが1を越える点が特異点である．