AIに関する歴史的背景からAIの現状を理解しよう

# この記事について

社内LTで発表するためのAIに関する資料です。

## 対象

- AIについて興味を持っている人
- 非エンジニアに対して、現状どういうことがAIでできるのかを説明する人

## 対象外の事柄

- これを読んでも本格的に機械学習を開発することはできません
- あくまで概要のため学術的に価値のあるほどの歴史的事実を求めることはできません
- 各アルゴリズムを詳しく説明するものではありません

## ゴール

- AIに関わる基本的な用語を知る
- AIが今まで何を問題としていて、どのような背景でどのようにブレイクスルーが起こってきたのかを知る
- 現時点でAIと呼ばれるものにより何が解決できそうかの大雑把な視野を得る

# 免責事項

- 筆者は一般的な技術ファンであり、AI/機械学習の専門家ではありません。そのため、誤った記述などがあるかもしれません。お気づきの際にはコメントでご指摘いただければ幸いです。
- 記載の事柄に対してはいくつかの本やWeb上の記載を参考にしておりますが、参照元の記載は省略させていただきます（学術的な記事ではない && 時間的余裕が不足していたため）

# 用語集

本記事で記述される用語の簡単な説明

## AI(人工知能)

機械が知性を持っているかのように振る舞い、課題に対して適切な回答・行動をするための技術または実現されたもの。

## 探索

最適解が理論的に存在している課題の、最適解を求めるためのアルゴリズム

## ニューラルネットワーク（NN）

入力データをもとに、何らかの関連する知識を特定するアルゴリズム

## エキスパートシステム

膨大な知識をもった機械に問い合わせることで、正しい結果を得るためのシステムとその構想

## ML(機械学習)

課題に対する正しい予測を、基礎となるデータをもとに行うためのアルゴリズム。

## ディープラーニング

NNを多層につなげることで、精度を高める手法

## 教師あり学習

正解がすでに判明している複数のデータをもとに機械学習を行う手法

## 教師なし学習

正解データをもたないデータ群をもとに機械学習を行う手法

## 強化学習

教師あり学習に似ているが、教師データと入力データが１：１対応しないもの。投資と株価の関係など、結果（報酬）を最大限にするための行動を学習する手法

## 分類(Classification)：教師あり学習

特定のカテゴリが決まっており、入力されたデータをカテゴリに分類すること

## クラスタリング(Clustering)：教師なし学習

入力された複数のデータを、近しいものでまとめ上げること

## 回帰(Regression)：教師あり学習

教師データをもとに、入力のどの部分がどのように結果に寄与するかを予測すること。入力値を変数として、結果の値を算出する

# AIの歴史

## 推論と探索：第一次AIブーム(1950〜60頃)

コンピュータが登場し、その処理能力により人間の知性をコンピュータに移植しようというブームが早々に起こっている。
人の理性的行動はアルゴリズムによって再現できるという前提による。

### ブレイクスルーとなった出来事

コンピュータの普及と自動処理への期待

### 問題領域

アルゴリズムによってどこまで知性を再現できるか

### 推論と探索

一般的に第一次AIブームは推論と探索の時代と呼ばれるが、それぞれが独立して行われていたわけではない。
「ある種の課題は推論によって最適解を得られる」という哲学と、その「実現方法としての探索アルゴリズム」の組み合わせがこの時代のAIブームを支えたと理解してよいだろう。

###　主な成果

- 数学的な命題に対して、推論で証明を行った
- 最適解を持つゲームに対して解答を得られるようになった
- 自然言語処理の先駆けとなった
- ニューラルネットワークの発見

### 限界

現実的に解決したい課題は複雑であり、探索ロジックによる解決はなかなか難しかったため、資金の調達が困難となった

## エキスパートシステム：第二次AIブーム(1980年代)

人間の持つ知識を集積し、問い合わせの解答として正しいものを出せるようにすることが、人工知能を実現するという期待のもとに発生するブーム。

### ブレイクスルーとなった出来事

- エキスパートシステムを実現するプラットフォームの隆盛（Mycin, Prologなど）
- ストレージの普及

### 問題領域

知性を定式化する（アルゴリズムとして表現する）こと

### エキスパートシステム

ルールと知識の組み合わせにより最適な解答を取得するためのプラットフォーム、あるいは言語系を指す。
論理型言語の代表として有名なPrologなどは、知識を明快な単位で記述して積み上げることにより、総合した解答を出力することを目的としている。
例えば以下のようなルールの組み合わせと実行結果（すべて日本語による擬似言語）のような関係を作り上げるものである。

```
三角形：
　３つの辺を持つ
　３つの角を持つ
二等辺三角形： 三角形の一種
　同じ長さの２つの辺と、異なる長さの１つの辺を持つ

5cm,5cm,3cmの辺で成り立つ図形は？
　＞二等辺三角形（三角形に内包される）
```

### 主な成果

- ニューラルネットワークの進化と再評価
    - 論理エンジンの精度向上のためにニューラルネットワークが用いられ、改良されたことからニューラルネットワークが再評価される

### 限界

- 最適解を求めるために入力すべき知識量の多さにより断念
- 知識の間で矛盾を起こすものも多くあり、現実への対応が不十分となった

## 機械学習：第三次AIブーム（2006〜)

第二次AIブームで足かせとなった知識入力の制約を打ち払うように、機械が自ら学習をするように研究され、ディープラーニングを皮切りとして、第三次AIブームが生まれる。

### ブレイクスルーとなった出来事

- ディープラーニングの実現
- 大量の計算量を実現するネットワーク、ハードウェア性能の向上

### 問題領域

知覚に基づく判断の再現

### 機械学習

多岐にわたるので別項にて説明する

### 主な成果

- クラスタリングの精度向上
- 様々なアルゴリズムの発見
- 画像認識の飛躍
- 音声認識の飛躍
- 自然言語処理の飛躍

### 限界（2019/4現在）

- 教師あり学習を実現するためのデータクレンジングはまだ人の手によって経験的に行われる[^dc]
- 教師なし学習ではクラスタリングを主な対象としており、そこに意味付けを行うことはできない
- 確率的なアプローチであり、絶対的な結果を得ることはできない
- 機械学習に関する知識のない利用者に対して適切な説明がなされていない

[^dc]: 一部サポートするツールもあるが、今の所決定的に使える段階に至っていない

# 機械学習のこと

## ディープラーニングとは

ニューラルネットワークを複数層（通例では４層以上）に渡ってつなぎこんだ手法。
それまでもニューラルネットワークを多層化する発想はあったが、学習結果が収斂し（過学習）期待する結果を得られることはできなかった。
そこに対してある種のノイズを加えたデータを一部で用いることで成果が生まれた。
ディープラーニング（と派生する各種学習方法）は手法であり、学習方法（教師あり/なし/強化学習）を限定するものではない。

## 強化学習の成果

ゲーム的な関係にあるもの（何らかの行動を起こしたら最終的な報酬が変化する）ものに対して、その時点で最適な行動を提案するための学習方法。
DQN(Deep Q Network)[^dqn]が強化学習の代表例で、Alpha Zeroでも利用されている。
個人的には遺伝的アルゴリズムが面白い。

[^dqn]: 発表されたときには名前が衝撃的でした

## 分類の成果

一般的に第三次AIブームの成果を最も目にするのが分類だろう。
画像の分類により、画像判別、OCRの制度が向上し、ARもかなり自由度が広がっている（マーカーレス）。
分類機（モデル）の準備に関しても、一般的な語句に対しては提供されているものも増えており、とても扱いやすくなっている。

## 回帰

回帰も様々な場面で見ることができる。
IoTとの組み合わせが良く、一般ユーザや各地に散財する「モノ」からデータを取得し、それに対して将来予測を行うなどの使い方がよくされている。
有名な例ではGEの不良予測等が挙げられる。

## シンギュラリティ（技術的特異点）

機械学習が普及し、人の知識を自律的に学習できる状況が見えてくることで、シンギュラリティが取り沙汰されるようになった。
ただし、感情に訴える部分もあるので人によって様々な印象をもたらしているバズワードでもある。
筆者が目にした中で最も中立的で明確だと感じたのは以下のような定義であった。

> 機械が自らを超える処理能力やアルゴリズムをもった新たな機械を生み出せるようになること

# 現時点(2019/4)での第三次AIブームへの接し方

[ハイプサイクルで見ればAIは幻滅気に入っている](https://japan.zdnet.com/article/35126917/)が、まだまだ関心は高い時期が続くと見られる。
しかし、ビッグデータとディープラーニングで支えられる機械学習に対しては、投入リソースと天秤にかけなければならない時代でもある。
クラウドコンピューティングでコンピュートリソースを短期で手軽に利用できるとはいえ、精度の高い機械学習に適した人材の確保も難しいままである。
また、従来の統計的なアプローチでも成果の出る課題は多く、すべてを機械学習/AIへ転嫁するにはまだ時期尚早だと見ている。
事業規模や集められるデータの質、量、求めたい成果に応じて、機械学習を適用する箇所を見極めていく日々は続く[^rd]。

[^rd]: 先行投資としてのR&Dは必要で、その一部で機械学習がどのように進化していくのか、それがどのように活用できるようになるのかも、依然注視すべき分野であることは間違いない

# 追記

過去のブームで出てきた考え方やアルゴリズムも今なお有用である。