マナビDX - 「AI入門」

# マナビDXの学習目標
会社の研修でデジタル推進人材育成プログラム **「マナビDX Quest」** での学習を始めました。機械学習エンジニア・WEBエンジニアとして成長するほか、マナビDXで学習できることをビジネスに結び付ける方法を身につけようと思います。具体的にはDX推進スキル標準（データサイエンティスト、Python中級者）準拠コースのクリアを3か月以内に目指します。

https://dxq.manabi-dx.ipa.go.jp/


# “AI入門”

https://biz.quest.signate.jp/quests/10004

本講座ではAIに関する基本的な知識を学びました。具体的にはAIの仕組み・歴史、機械学習との関係やAI事例などが取り上げられています。更に、AI開発を進める上で、重要と考えられる3要素（AIクラウドサービス、データサイエンティスト、データ）について解説をします。

# AIの歴史

### AIの定義
AIとは、人工的にコンピューター上などで人間と同様の知能を必要するタスクを実現したものの総称である。ロボットに組み込まれたAIや売り上げ・株価の予測、不審者発見やリコメンデーションシステムなど広範にわたる能力を持つプログラムにAIが応用されている。**（AI＝人間の行為を計算器で模倣するためのプログラムやソフトウェア）**

> 強いAI（汎用人工知能、AGI）
ヒトとほぼ同じ仕事をこなせる、幅広い知識と自我意識をもつAI。ドラえもんや鉄腕アトムなど、AIと聞いてイメージされるのは多くがこれ。現行の技術ではまだ強いAIを実現するには至っていない。人間と同じように自ら知識を獲得することを目指しているが、未だ実現の見込みはない。

> 弱いAI（特化型人工知能）
幅広い知識・自我意識のような全認知能力を必要としない問題解決・推論を行うソフトウェア。AlphaGO、画像認識AI、自然言語処理AIもこれに該当する。一部の能力に関しては、既に人間の脳の処理能力を大きく上回っている弱いAIも存在する。人間によってプログラミングされるので、特定の処理しか対応できない。

→AIが特徴量を獲得するには、大量の良質なデータが必要。

### 人工知能の処理能力のレベル

>レベル1: 制御プログラム
人間があらかじめ定めた条件に基づき機械が動作する。エアコンや冷蔵庫など。

>レベル2: 制御プログラムの対応パターンをより複雑化
ゲームや掃除ロボットなどが該当する。

>レベル3: 対応パターンを自動的に学習するプログラム
データからルールを学習してより適切な判断をする。回帰分析のような数値予測や、分類問題を解くAI等。

>レベル4: 特徴量を自力で獲得するプログラム
パターン・ルール双方を自力で獲得する。画像認識、強化学習など。

### 人工知能が得意・不得意とするタスク
AIが特に不得意としているのが雑談や論理的な対話、自由な対話など複雑かつ曖昧な能力が必要とされるタスク。逆に囲碁のようなゲームや顔認識、画像・音声認識に関してはヒトを凌駕し始めている。


# 人工知能のブーム
1947年：アラン・チューリングがヒトと同じタスクができる機械・AIの概念を提唱。1950年にはチューリングテストの方法の考案、1956年にはダートマス会議にて人工知能という言葉が初めて使用された。

- 第1次AIブーム（推論と探索）
第1次AIブーム（1950-1960）時に**推論と探索**による人工知能が台頭。
1958年にはニューラルネットワークの基礎となる「パーセプトロン」のプログラムが考案された。当時のAIで解ける問題はトイプロブレムと呼ばれるチェスの手・迷路の探索といった機械的な物に限られていた。パーセプトロンで解ける問題の限界、およびフレーム問題が指摘されたことでAI研究は冬の時代を迎える。
（当時の課題：トイプロブレムのような簡単な問題しか解けない）

- 第2次AIブーム（エキスパートシステムと知識工学）
第2次AIブーム（1980-1990）時に**エキスパートシステム**が台頭。
専門家の知識をAIに移植し、知識ベースと推論エンジンを用いて様々な問題に対処することを目指していた。知識の定式化は難しく、複雑な問題が解けるようにはならなかった。実用化されたものには抗生物質の処方、有機化合物の判定を行うAIが存在した。
また、1985年にニューラルネットのバックプロパゲーションが考案され人工知能の能力を飛躍的に向上するための理論が整った。
（当時の課題：ハードの処理能力、複雑な問題に対する頑健性がない）

- 第3次AIブーム（深層学習、大量の良質なデータ）
第3次AIブーム（2010-）時に**ニューラルネットワークを用いた機械学習**が台頭。特に深層学習・ディープラーニング(DL, Deep Learning)と呼ばれる多層から成るニューラルネットワークを用いて予測・学習を行う手法が脚光を浴びている。2012年のILSVRC（画像認識コンペティション）にてジェフリー・ヒントン率いるチームが用いたディープラーニングを応用したソフト(AlexNet)が圧倒的な精度を記録したことから注目を浴びるようになった。
また、2015年にILSVRCのディープラーニングソフト・MSRAの正解率が96%を超え、ヒトの画像認識能力（95%）を凌駕し始めた。



### シンギュラリティ(技術的特異点)
コンピューターの情報処理能力が指数関数的に上昇しているのに対し、ヒトの能力は直線的にしか発展していない。機械の情報処理能力は近年ヒトの処理能力を超え、その十数年でヒトをはるかに凌駕する「超知性」を生み出すと予測するものもいる。

レイ＝カーツワイル(Ray Kurtzweil)が提唱している「将来人工知能が人間の知能を超え技術革新の役割を果たすようになり、文明の主役にとって代わる」と予測される現象を **シンギュラリティ（技術的特異点、Singularity)** と呼ぶ。("The Singularity is Near")レイはシンギュラリティは2045年ごろに起こると予測している。ただし、カーツワイルの理論は「コンピューターのサイズの縮小・処理速度は指数関数的に向上する」というムーアの法則に基づいていて、最近この法則に基づく処理能力の向上の予測は外れ始めている。カーツワイルは2020年に汎用人工知能が登場すると予測したが、2023年現在実際にはその1/500ほどのパラメータ数の特化型人工知能しか実現していない。

# AIと機械学習
機械学習はデータから特定のパターンを発見することを目的としている。
パターンを発見するためのアルゴリズムとしては重回帰・ロジスティック回帰のように
明示的なコードを用いる場合もあれば、ニューラルネットのように非明示的なコードで自力でパターンを獲得する場合もある。
**「自力でパターンを発見する」ことは人間の学習能力に非常に近い** （厳密には異なる。人間と同じように汎用的に記憶や知識を学習できるAIは未だ実現していない）ことから、主に非明示的なコードを用いるアルゴリズムが「機械学習」と呼ばれている。

>機械学習が得意としていること
・分類・回帰といった未知の情報の予測
・データを異なるグループにクラスタリングする

### 機械学習と統計学
決定木やニューラルネットを用いる機械学習は、線形代数や微積分の処理を高速で実行出来る技術と「事前確率から事後確率を予測する」というベイズ統計の理論が基礎となっている。機械学習が予測の精度向上を重視するのに対し、統計学は人間が立てた仮説（統計量の算出や統計的仮設検定を行う）の説明可能性を重視する。

### 機械学習の活用事例
- AlphaGo - 2015年、人間を凌駕する将棋プログラム。
- Google Translate - 2016年、深層学習と自然言語処理モデルを使った高精度な翻訳。翻訳精度が大きく向上したと話題になった。
- GAN - 「敵対的生成」というアルゴリズムで学習データに近い画像を生成する。インテリアデザインやファッションコーディネートの作成などに応用できるのではないかと注目されていた。
- Pixiv Sketch, Prefferd Networks - イラストの自動着彩をTensorFlow・PyTorchで実現。60万枚のイラストをデータセットに使っている。イラスト制作の効率化につながると待望されていた。

### その他の活用事例

- 商品の需要予測：
商品の需要予測をし、損失や食品ロスを予防する。

- 天候予測：
車・列車への着水・着雪を予測し交通災害の予防や対策人員の配置を行う。
交通以外への災害・事故の予防にもつながる。

- 画像・動画の物体検知：
食品・製造工場等で異物を検出する。目視での確認は重労働だったが、作業負担が減らされたことで軽作業化・品質向上が実現した。
また物体検出は自動運転技術にとっても重要。道路標識や道の連続性の検知に活用されているが、まだ自動運転は試験段階の技術となっている。

- その他：
クレジットカードの不正使用検知、文章の自動校閲、メディカルコーディング

→機械学習によるプロジェクトを成功させるためには、先行事例を研究することが重要。

# AIとクラウドサービス
AI活用の3資源
- 計算資源（ハード、クラウド）
- データサイエンティスト（人員）
- 大量・良質なデータ（データ）

機械学習に特化したクラウドソーシングサービスとしては **Google Cloud Platform、Amazon Machine Learning、Microsoft Azure** の3つが著名。
AI特化型クラウドサービスは主にサービス、プラットフォーム、インフラストラクチャーの3レイヤーを提供する。

- サービス - 学習済みのモデルや特定タスクをこなせるフレームワーク
- プラットフォーム - 機械学習プロジェクトの開発支援・デプロイなどの機能
- インフラストラクチャー - CPU・GPU、データのストレージといった計算資源

# データサイエンティストの役割
AI・機械学習に携わる人材の中でも、データサイエンティストと呼ばれる役職の需要が今伸びている。データサイエンティストはビジネス(背景課題の理解)・データサイエンス（情報科学）・データエンジニアリング（プロジェクトの実装と運用）の3能力を備えた人材の事で、現在日本では求人数に対し25万人が不足していると予測されている。

データサイエンティストの行う作業は、主に3工程に分けられる。
- 課題設定フェーズ(要件定義、実現したい事と具体的に作るべきものの明確化)
- AI開発フェーズ(データ収集と開発、評価。どの程度の精度を出せるかを計測する)
- 運用フェーズ(現場で運用し、データの蓄積と改善につなげる)

様々な課題の中でも、複雑な深層学習が最も良い解決法となることは稀。
AIにしてしまうことにこだわるのではなく、その他のサービスや解決法も合わせて検討する。