Python3 エンジニア認定データ分析試験の模試結果があまり振るわなかったので、より難易度の低い資格とシステムエンジニアに要求される知識を改めて学習し直してみることにしました。今回はコードはほぼありませんが「専門用語を使わない「AI/人工知能」ビジネス活用講座」で学習したことを纏めてみました。
専門用語を使わない「AI/人工知能」ビジネス活用講座
- 初級者向けのAI講座。AI・MLを扱うプロジェクトに参加できる人材・エンジニアを目指す。
- 1からの実装(ハンズオン学習)ではなく、前例のあるAI活用を把握して実践できるようにする(技術者より情報ではなく、マネジメントする人材)
AIとは何か
人工知能(Artificial Intelligence)=人工的に作られた知能
人間が知性を用いて複雑なタスクをこなす仕組みは、完全には解明されていない。
なので世間一般に広まっているAI・機械学習プログラムは人間のタスク全てを代替することはできない。
現状のAI=人間の知能の一部を模倣することができるプログラム。厳密な定義はなく、機械学習を用いないハードコードされたプログラムでも目的に合った性能が発揮できればAIと呼ばれることもある。そのような人間の知能の様に「見える」タスクをこなせる機械やプログラムが総称して”AI”と呼ばれている。
昨今では、第三次AIブームによって登場したディープニューラルネットワークを用いた機械がAIと呼ばれている。第四次AIブームが訪れるとディープニューラルネットワークを用いた機械はAIと呼ばれなくなる可能性もある。
(「人間しかできなかった事を機械ができるようになると、AIと呼ばれる。」)
現状のAIは1つの機能のみに特化している。人間の様に複数のタスクやマルチタスクを並行して解くことはできない。また当然AIに人格や意志・感情は存在しない。ChatGPTやBardはテキストを出力することで意志や感情を持つよう「演出」することはできるが、所詮はプログラムに従うだけの機械である。
人工知能をめぐる歴史と動向
第1次AIブーム
1947年:アラン・チューリングがヒトと同じタスクができる機械・AIの概念を提唱。1950年にはチューリングテストの方法の考案、1956年にはダートマス会議にて人工知能という言葉が初めて使用された。
第1次AIブーム(1950-1960)時に推論と探索による人工知能が台頭。1958年には機械学習アルゴリズムの基礎となる「パーセプトロン」のプログラムが考案された。当時のAIで解ける問題はトイプロブレムと呼ばれるチェスの手・迷路の探索といった機械的な物に限られていた。
問題点:
- 処理能力の限界 - 解けるのはシンプルなゲームのみ
- 現実の問題解決には役立たない - チェスや囲碁はトイプロブレムよりもより複雑
第2次AIブーム
第2次AIブーム(1980-1990)時にエキスパートシステムが台頭。専門家の知識をAIに移植し、知識ベースと推論エンジンを用いて様々な問題に対処することを目指していた。知識の定式化は難しく、複雑な問題が解けるようにはならなかった。実用化されたものには抗生物質の処方、有機化合物の判定を行うAIが存在した。
問題点:
- 知識量の限界 - 全ての知られている知識を1対1対応にするのは難しい
- ルール化の限界 - 人間の直感や経験は知識に還元できない
- 矛盾する知識 - 知識が矛盾する場合どう処理するか、という柔軟性がない
第3次AIブーム
1985年にニューラルネットのバックプロパゲーションが考案され人工知能の能力を飛躍的に向上するための理論が整った。
第3次AIブーム(2010-)時にニューラルネットワークを用いた機械学習が台頭。特に深層学習・ディープラーニング(DL, Deep Learning)と呼ばれる多層から成るニューラルネットワークを用いて予測・学習を行う手法が脚光を浴びている。ニューラルネットと深層学習を組み合わせたアルゴリズムは推論と探索・エキスパートシステムではできなかった非明示的なアルゴリズムを用いた学習による特徴の発見、およびハードコードされたプログラムと比べ新しいデータの予測を得意としている。
2012年のILSVRC(画像認識コンペティション)にてジェフリー・ヒントン率いるチームが用いたディープラーニングを応用したソフト(AlexNet)が圧倒的な精度を記録したことから注目を浴びるようになった。また、2015年にILSVRCのディープラーニングソフト・MSRAの正解率が96%を超え、ヒトの画像認識能力(95%)を凌駕し始めた。
ニューラルネットワーク型AIの動く原理
ニューラルネットワークは動物・人間の神経系を模したモデルとアルゴリズムを用いている。ニューラルネットワークの数とパターンが複雑になると、「怖い」「痛い」といった複雑な感情や感覚を理解・経験し、最終的に「その場から逃げる」という判断を下せるようになる。
(情報 → 判断)
機械のニューラルネットワークは、正しい判断・予測をするのに適した正しい「重み」を学習することでその機能に特化したAIとなることができるよう学習を施すことができる。このアルゴリズムには順伝播と逆伝播、線形代数と微積分・ベイズ統計の理論等々が使われていて、動物や人間の脳の「モデル」であっても厳密には脳そのものとは異なる。
機械学習の問題点
- データの質によって結果が左右される。特に分析対象の性別や人種・国籍等々にバイアスが掛かってしまうと大問題になる。
- データを適切に加工する必要がある。サンプル数が少ない・欠損値が多すぎるデータは学習に適していない。
- 精度は必ずしも100%ではない。最終的には人間が判断する必要がある。
- 過学習(未知のデータに対応できない)を起こすことがある。
機械学習・AIでできること
AIが絶対にできないこと
・学習していない事の判断
・過去に例のない(学習用データセットに含まれていない)事
・100%正しい予測
・新しい企画や計画の考案
AIができること
・過去のデータに基づいた判断の自動化
→食品の品質の判断(分類)、来客数の予測(回帰)、利用者にレコメンドする商品・サービスの判断(クラスタリング)
分類アルゴリズムの応用先:
・スパムメールの判別
・手書き文字の認識
・不良品の検出
回帰アルゴリズムの応用先:
・物件の情報から家賃・販売価格を予測
・ヒトの顔から年齢・性別等々を予測
・天気・気温等から来客数を予測
クラスタリングの応用先:
・顧客情報から興味のありそうな商品・サービスをレコメンドする
・ユーザーの行動履歴からユーザーのプロファイルを分析する
AIを作成する・活用するための条件
・具体的にどのような値を予測・分析するか、出したい結論が明確化されている
・学習用のデータを必要なだけ用意できる
AIが得意な判断
・人間が判断するとある程度正しい予測が一致する問題
・目的変数を数値やラベルに還元できる問題
AIが使われているサービス
AI面接官(回帰)
履歴書の記載内容、面接時の質問に対する答えと言った情報を得る
採用した社員の「業務パフォーマンス」を数値化する・段階評価にする等して目的変数にする(教師あり学習で面接情報から業務パフォーマンスを予測するモデルが作成できる)
注意点:時間がたつにつれて予測に適したモデルが変わる、新規事業の「業務パフォーマンス」の予測には使えない
粗大ごみの判別(分類)
写真から粗大ごみの種類を判別するAI。横浜市が導入している。
学習用の粗大ごみの画像を大量に集め、必要な精度を上回るまで学習させる。
「新しい種類のゴミ」等の分類には当然使えないので要注意。
故障予測AI(分類)
工場で稼働している機械が故障する可能性を予測できる。
総稼働時間、エラー回数、修理回数、メンテナンスからの経過日数等といった説明変数を集める。計測後に実際に故障したかを記録して目的変数にする。
AIをビジネスで活用する
AIを使ったビジネスで避けた方が良いパターン
まずは「AIを使ったビジネスで避けた方が良いパターン」を把握する。
1、明確なビジョンがない事業。特に「とりあえずAIで画期的なことがしたい!」
と言うだけの事業はヤバい。AIは所詮ツールなので、事業に必要な情報を分類・回帰・クラスタリングといったAIの基礎となるアルゴリズムで集められるかをまず考える。
2、専門領域外の事業。AIは大量かつ質の高いデータが揃っていないと全く効果がないのでほぼ確実に失敗する。この場合は得意な事業のAI化・自動化を検討した方が良い。
3、結論が明確でない仕事。アーティストやイラストレーター、評論家・研究者の様な独自の発想やアイデア・価値観が求められるタスク。昨今の生成AI等ではそれらをマネすることはできても、新たに生み出す・判断することは不可能。
AIを使ってやるべきこと
1、会社・自身が手がけている専門領域の判断を自動化する
業界内の課題や、カンや直感などが要求される「業界に長年いないとわからないこと」
が最もAI化に適している。またAI化によって生まれる効率・利益といった効果を予想することができる。特にローコストで継続的な利益が求められる場合、競合他社との差別化を目指す場合に適している。
2、判断精度の基準が分かる事業を自動化する
例えば不良品を見分ける精度といった、AIに必要とされる能力を明確化できるとAIでするべきことが明確になる。
- 課題が明確になっている
- 判断精度の基準がわかる
- データを用意できる
- 成功する確率が高い事業を手がける
AIの先進性・華々しいイメージに流されず、手堅い事業から出発することが大切。
AI導入に携わるプロジェクトチームの役割
1、経営・企画担当
事業の現状と課題を把握する。
AIを使うことで解決・効率化できる問題、より効果の高いAI活用を提案できる。
今回学習しているのは経営・企画担当者向けの情報。
2、AIエンジニア
学習・テスト用データの収集と加工・モデルの学習と評価指標の算出を行う。
3、システムエンジニア
生成したモデルをソフトウェア・Webサービスに組み込み実装する。
AIエンジニアだけではモデルの生成はできてもその実装はできない。