初心者によるまるごと人工知能講座

人工知能について学習を進めました。すべて簡単な解説となっており気になる部分に関しては、他の記事を見ていくなど各々工夫していただけると幸いです。

体系的に知識を整理したい方におすすめしたい記事となっております。

もくじ
[1 人工知能とは](#人工知能とは)
[1.1 人工知能](#人工知能)
[1.2 人間と人工知能を比較してみる](#人間と人工知能を比較してみる)
[2 機械学習とは](#機械学習とは)
[2.1 機械学習の機能について](#機械学習の機能について)
[2.2 機械学習の三大トピック](#機械学習の三大トピック)
[2.3 AIブームの火付け役](#ブームの火付け役)
[2.4 その他](#その他)

# 人工知能とは
科学者は人間の知能を再現しようとしました。

## 人工知能
人工知能とはArtifical Intelligenceの略であり人間の知能を再現しようとしたことがきっかけで生まれました。

機械学習は人工知能の機能の一部だとされることが多いです。単純に言い換えると、機械学習は人工知能の仕組みを担う部分であるということです。

また機械学習の中にディープラーニングという分野があり、そこでSVMやランダムフォレストなど様々な手法を用いて予測や分類を行います。


## 人間と人工知能を比較してみる
### 人間との共通点とは
機械学習の行うアルゴリズムも人間と同様に情報を外部から取り込む場合があります。
例えば、、、
| 人間 | 機械 |
|:-:|:-:|
| 視覚  | 画像  |
| 聴覚  |  音声 |
| 言語  | 自然言語  |

### 人間との相違点とは

ここに関しては私の主観の話になります。

ここは哲学的な話になりますが人間と機械との相違点について考えていきましょう。

皆さんのそれぞれ思う違いはなんでしょうか？
私は**人間とAIの違いは積極性**だと考えております。

#### 積極性から考える相違

人間は自分から動くエネルギーを持っています。それは原動力やモチベーションとも言われます。

しかし機械にはそれがありません。命令されたことだけを愚直に実行するものが機械なのではないかと考えています。

長くなるので少々雑ですがここで割愛します。

# 機械学習とは
入力と出力の関係を見つけ出すことです。

## 機械学習の機能について
### パラメータについて

機械学習は定量化されたデータを最小化するように動きます。
例えば誤差を小さくするような場合は、誤差がパラメータに該当します。

パラメータは学習することで少しずつ最適化がされます。
例えば誤差を最小化するようなパラメータを作ることでどれだけ精度が高いのか良し悪しを判断するための情報になりえます。

#### ハイパーパラメータについて
こちらはパラメータとは違い人の手によって数値を設定することになるものを指します。

この数値によって機械学習のパフォーマンスが変化するため非常に重要な数値だと言えます。

### モデルについて
こちらはやや想像しにくいかも知れません。
これはデータの特性を数式で表現したものであり、特に学習が終わったモデルを学習済みモデルと呼びます。

### 学習と推論
機械学習は学習と推論を重ねることで未知のデータに対しても対応できるようになります。

それは見分けのつきやすいものであれば比較的少ないコストで学習を完了することができますが、見分けるものが難しいものであればより膨大なデータや時間が必要になってしまいます。

例えば人と犬を見分けることは簡単ですが、レントゲン写真から腫瘍の有無を見極めることは難しいと言えます。

このように見分けるための法則性を見つけ出すことを機械学習は行います。
## 機械学習の三大トピック
G検定について少しでも勉強した方は聞いたことがあるかと思います。
### 教師あり学習
教師あり学習とはその名の通り、答えとなるデータを機械に教えて学習をすすめる手法のことを言います。

例えば熟した美味しいりんごの正解データを機械に教えて学習をすすめると熟した美味しいものとそうでないものを判別するようなアルゴリズムを作ることができます。

他にも家賃の予測も行う事が可能です。
駅からの距離や部屋の広さなどと実際の家賃という正解データを与えることで、未知の物件に対してもある程度家賃を予測することが可能になります。

また教師あり学習はさらに２つに大分することができます。

### 分類問題
分類問題とは商品カテゴリや動植物の種類などの分類をする問題を指します。
上記の例でいうとりんごのそれに当たります。

分類問題は分類する結果が２択の場合は**２値分類**といい分類する結果が３つ以上ある場合を**多値分類**といいます。

### 回帰問題
回帰問題とは数値の予測を行う問題のことを指します。
同じように上記の例でいうと家賃の予測がそれに当たります。

### 教師なし学習
教師なし学習とは機械に正解データを与えずに学習を行う手法を指します。
すなわち学習を進める過程で自ら答えとなる情報を見つけ出すことが必要になります。

また教師なし学習は**クラスタリング**と**次元削減**で使われることが多いです。

#### クラスタリング
クラスタリングとは類似データをグループ化することです。

例えば顧客データを渡して機械はそれを顧客の属性別に分けるなどの使われ方をします。

#### 次元削減
次元削減はデータを特徴づける変数（特徴量）を見抜きデータの次元数を減らすことです。

例えば５教科それぞれの点数を見るとどんな科目が得意か図に起こすことは難しいですが、それが２次元平面で表せるようになればひと目で得意不得意が判別できます。

そこで活躍するのが次元削減と呼ばれる手法であり、５教科の評価軸から文系科目・理系科目など次元数を５→２に減らすことが可能となります。

### 強化学習
強化学習とは自ら試行錯誤して学習する手法です。

ゲームや自動運転で使われることが多いです。

AlphaGoという囲碁をするロボットをご存知でしょうか。
これは勝つために学習しており、勝負の機会が与えられるほど強くなります。

余談ですがこのような強化学習の歴史はG検定でもしばしば聞かれるため頭に入れておく必要があります。

## ブームの火付け役
少々疲れたと思うのでAIブームがなぜ今起こったのか考えていきましょう。
主に４つの要因が挙げられます。
- IoTとAI
- ディープラーニングの登場
- ハードウェアの進化
- OSSフレームワークの登場


AIブームの後押しとなっているのが収集できるデータの量が増えたからです。すなわちIoTです。

### IoTとAI
IoTが進むことでデータを簡単に取得できるようになりました。

IoT→Internet of thingsの略でありオブジェクトとネットが繋がったことで、データの収集が楽になったことがAIブームの一要因だと考えられます。

Apple Watchや無人レジはデータが取り放題です。
しかし日本は個人情報という問題があり中国ほど手軽にデータを取得することができません。

そのため今後このようなトレードオフ関係をどのように解決するべきか、多くの国民が考える必要があると私は考えています。

### ディープラーニングの登場
ディープラーニングの登場によりこれまで扱えなかった画像や自然言語といった情報量の多いものの解析が可能になりました。

### ハードウェアの進化
GPUなどのハードウェアの進化があったため短い時間で大量の演算処理を行うことが可能となりました。
特に画像処理についての処理が高速化されました。
GPUというワードはゲームをする人なら１度は聞いたことあるのではないでしょうか。

またクラウドコンピューティングにより導入のハードルが低くなったことも挙げられます。

### OSSフレームワークの登場

オープンソースソフトウェアが公開されたため車輪の再開発にかかるコストを減らすことができています。

つまり技術を共有することで全員で高いところを目指すことができるようになりました。

## データに関して
## その他
最後に技術的な事以外についても書き記しておこうと思います。
### 機械学習活用プロセス
機械学習の活用プロセスには後述の8つのステップが挙げられます。
- 企画
- 環境構築
- データ収集
- 目標値作成
- 前処理
- モデル作成
- デプロイ
- 再学習

いくつか、かいつまんで説明いたします。

まず企画とはビジネスでの問題を明確化し解決案を考案します。このときに機械学習が必要でないと判断した場合は、それに拘る必要はありません。

次にデータ収集です。IoT化でデータの取得が楽になったとはいえまだまだ課題はあります。特にデータサイエンスに関してはデータがなければ始まりません。
１年に１度しか集められないようなデータであれば１０年分のデータだとしても１０個しか集められず、思うように学習をすすめることも難しくなります。

デプロイとは学習済みモデルをプロダクトに組み込むことを指します。
顧客の状況を考えて、相手に合わせて提供方法を考える必要があります。
例えば高齢化の進む農業のような領域では複雑な仕組みの商品よりも単純で機能の少ない商品のほうが好まれることは想像できると考えられます。

再学習とはデータの更新があった際に適宜モデルを再学習することです。
簡単に言えば最新のデータの傾向に対応するために、モデルを時々アップデートする必要があるということです。

### AIにできること・できないこと
#### できること
- 大量のデータの高速処理
- ルールベースでの処理

AIはこの2点を得意としています。

ルールベースでの処理とは厳格なルールが定まった範囲での処理ということです。

曖昧性を許容できる点は人間特有の強みなのかもしれません。
人間ほど一般化が得意な動物もいないため、抽象的な理解のできる機械が開発されることは現段階ではないと考えてもよいのではないかと思います。

#### できないこと
- 人間が見ても判断がつかない事象の予測
- ノイズがたくさんあるデータの処理

1つ目について。
人間でも判断がつかないような事象の処理が難しいとされています。

例えば株価の予測は経験のない人では数日先の株価の予測も難しく、経験豊富なトレーダーであっても常に利益を上げ続けることは難しいです。

このように人間でも難しいような問題を扱うことはAIにはできません。

ちなみにシンギュラリティとは、人間以上のことができる機械の誕生した点のことを言います。

部分的には人間の性能を超える機械は現段階でも数多く発明されていますが、汎用型AIの発明は未だなされていないため現在は人間が見ても判断がつかないような事象の予測が難しいとされています。