ITデジタルイノベーションのカギを握る基礎知識【AI 機械学習の基本】
当ブログ記事はIT・デジタルイノベーションに不可欠と言ってもよい人工知能AI・機械学習について基本をまとめました。
AIと機械学習の言葉の違いなどあやふやな人もおさらいしておきましょう。
Contents【クリックできる目次】
ITデジタルイノベーションのカギを握る基礎知識【AI 機械学習の基本】
「人口知能、AI、機械学習ってよく聞くけど何が違うの?」
「実際に自分の業界に使えるのかねえ、、」
そんな思いを持つ人のためにChatGPTによってブームが再燃している人工知能について、ざっくり理解できるようにまとめました。
これからIT・デジタルイノベーションを扱う分野に関わる人にとっては必須だと思っています。
私自身も製造業に長らく身を置きながら、時流の大きな変化に不安を感じて大学院にてAI機械学習の授業の履修に至った人間です。
当ブログ記事は私が学んだことを実際に活用する視点で整理してまとめました。
当ブログ記事に目を通しておけばAIについて誰かに簡単に説明できるくらいの知識量になります。
自分でAIを作る、プログラムを書くというよりも、AIや機械学習エンジニア、データサイエンティストといった専門家と協業するイメージを持っておきましょう。
後半では「さらに勉強したい人」におすすめの書籍やアクションも挙げておいたので、自業務に取り込みたいと考えた人は参考にしてください。
人工知能 目的の機能は4つに分けられる
最初にAIという言葉ですがArtificial Intelligenceの略で日本語にすると人工知能という意味です。
人工知能の機能は大きく4つのパターンに分けられます。
- 識別や判別をする
- 将来や傾向を予測する
- 会話や応対をする
- 実行や行動をする
「あらかじめ学習した人工知能に対して、どんなことをさせたいか」について考えてみると4つの種類がイメージしやすいです。
具体例を挙げながら見ていきましょう。
識別や判別をする
あらかじめ学習して蓄積したデータを元にAIにて識別する、判別する機能です。
- 画像処理にて人の顔を認識する
- 様々な表情から感情を判別する
- Web上の画像の中から似ている画像を探す
- 工場の生産ラインで不良品を判定する
事前にA~DのパターンをAIに学習させておいて、新しいモノがA~Dのどれに該当するか判別・識別するようなイメージです(後述の「教師あり学習」を参照)。
人が見る画像を数値データにしたり、耳で聞く音や感覚を波形データにしてAIが学習し、蓄積した学習内容によって識別や判断をします。
将来や傾向を予測する
過去のデータや記録、出来事の影響度や推移のデータをAIが学習し、蓄積した学習内容をもとに将来について予測する機能です。
- 過去の気温、気圧、記録から天気を予測する
- 過去のイベント影響度から為替変動や株価変動を予測する
- 数年間の工程設備の年間の工程不良項目と不良率から翌年度のクレーム発生確立を算出する
- 設備故障パターンの学習結果から、この先の設備故障発生確立やタイミングを予測する
ある将来の特定イベント前後や近い将来の話、それとも10年後の将来の話など予測したい事象に対して必要なデータを学習させる必要があります。
過学習
【過学習】過去に適合し過ぎて未来予測が当たらない
過去の事象に過剰に最適化してしまい適切な予測ができなくなる状況を過学習または過剰適合と呼びます(Overfitting)。
例えば株価や為替について過去データを元にバックテストを行い、精度よく過去のイベントに追従するプログラムを作ったのに、実際に運用開始したら的中しないプログラムをイメージするとわかりやすいです。
学習が過去の特徴的(限定的)なイベントに適合し過ぎて「適切な傾向の分析や場合分け」が軽視されると生じる現象です。
会話や応対をする
あらかじめ学習して蓄積したデータを元に会話や応対をする機能です。
- お客様窓口で会話しながら案内する
- SiriやGoogleアシスタント、AmazonのAlexa、pepper
「オッケーグーグル」でお馴染みのGoogleアシスタントやAppleのSiri、AmazonのAlexa、SoftBankのロボットPepperのように、相手の状況や発言に対して対話するAIです。
日常生活に浸透しているのでイメージしやすいと思います。
あえて会話にこだわらずに、泣き声を出したり、色が変わったり、特定の仕草をさせたりといったようにペットに近い関係性を構築するロボットも出てきています。
実行や行動をする
蓄積データを元にプログラムや動作を実行、行動する機能です
- 在庫状況を監視して必要に応じて注文
- 自動運転の無人の自動車や工場内AGV
工場における生産オペレーションをAIにて実行するシステムや画像や距離センサなど外部情報を取り込んで進行・減速を決定しながら進むような自律運転のAIです。
プログラム実行や運転、ロボット動作といったような "実際の動き" を伴うものをイメージするとわかりやすいです。
よく心配される「AIの判断によって危険にさらされたり、損失が生じた場合の責任はどうなるのか」という話が出るのが「実行・行動」の面です。
人口知能にできること「代行と拡張」
AIの役割はこちらの2つに分類できます。
- 代行型:人間の替わりに作業を代行する
- 拡張型:人間にできないレベルの作業を実現する
人間の替わりに作業を代行する
人間が行う作業や判断をAIに代行してもらうことによって作業や生活が楽になる、効率的になるイメージです。
- 生産ラインで作業者が実施している外観検査、聴覚検査をAIで判断
- Googleに好みの音楽を再生してもらう
- AIロボットに工場見学を案内してもらう
などなど、便利で効率的なAIは既に導入が進んでいます。
一方で誰もが生活や仕事の中で「これAIでできるんじゃない?」と感じる部分なので、自分の仕事に危機感を持つ人もいると思います。
私個人としては、「無くなる仕事も出てくるが、それ以上に新しい仕事が増える」と思っています。
(古くからの技術進歩の過程と仕事との関係と同じという考えです)
人間にできないレベルの作業をする
人間の能力を超えた作業や判断をAIにしてもらう(人間の能力以上に拡張する)ことによって作業が効率的になるイメージです。
例えばこのような例があります。
- Web上の大量の画像データから似ている画像を瞬時に探す
- トレーに置かれた無数の電子部品の外観検査を画像処理で1秒で行う
- 3か国間の会議での多言語同時通訳
人間だと一人ではできない、数時間かかるような作業がAIを使うことによって一瞬で実現できます。
機械学習とディープラーニング
AIにおいて認識・判定・対応などのタスクができるようにするために、必要な特徴やパターン・ルールを学習させることを機械学習と言います。
ディープラーニングは機械学習の一つの手法です。
AIの機械学習は最初にこちらの3点をおさえておきましょう。
- 教師あり学習
- 教師無し学習
- 強化学習
答えがある課題を学習する教師あり学習
答えがある課題を学習することを教師あり学習と呼びます。
例えば生産ラインでの良品・不良品を判定するためのAIについて考えてみます。
不良品サンプルが不良項目別にA~Eの5種類あるとして、良品サンプルと不良品サンプルをAIに学習させます。
無作為にサンプルを判定させた際に良品なのか、もしくは不良品A~Eなのか判定することができるようになります。
答えが無い課題を学習する教師無し学習
答えが無い課題をAIが自己学習することを教師なし学習と呼びます。
先ほど同様に生産ラインでの良品・不良品を判定するためのAIについて考えてみます。
教師無しなので無作為に大量のサンプルをAIに学習させます。
AIはそれぞれのサンプルの特徴を学習しながら良品、A~E不良品に分類するようになります。
クラスタリング
【クラスタリング】特徴別に対象を分類すること
AIの自己学習によって対象を分類していくことをクラスタリングと呼びます。
強化学習とは?
最終的に求める状態に辿り着くために "よい選択を繰り返すための学習" を強化学習といいます。
よい選択をすると報酬が与えられ、悪い選択をすると罰が与えられるます。これを学習することで報酬を最大化することを目的として行動を選ぶようになり、良い選択ができるようになる仕組みです。
ちょっとわかりにくいのでこちらも例を挙げて説明します。
2足歩行のロボットを歩かせる環境について考えます。
この環境では少しでも長い距離・時間を歩けると報酬が与えられる、反対にバランスを崩して転倒すると罰が与えられるとします。
AIは様々な関節角度、スピード、荷重移動を試しながら多くの報酬が獲得できるパターンを学習していきます(具体的には関節モータへの角度・速度・加速度指令などを探りながら学習)。
それを繰り返すことで長い距離・時間を歩くようになることができる学習の仕組みです。
囲碁やチェスのAIについても同様です。
ニューラルネットワーク
【ニューラルネットワーク】人間の脳モデルを真似た学習の仕組み
脳の神経細胞ニューロンの繋がりのようにそれぞれが太い・細い伝達経路で繋がり、運ばれる情報が重要度や頻度に応じて判断できるようします。
取り込んだ学習情報を通過させる層をいくつか設けて、各層を通過する頻度や重要度によって場合分けできるように学習します。
ディープラーニングとは?
ディープラーニング(Deep Learning)はAIにおける機械学習の一つです。
ニューラルネットワークの仕組みで作る層をたくさん用意してAIの学習能力を高めることから、日本語では深層学習と呼ばれます。
近年大きな注目を集めているAIの進歩はこのディープラーニングによって実現されているものが多いです。
例えば車の自動運転を実現するにはたくさんの外部情報を取り込んで、それらに対して重要度を判断しながら動作を実行していく必要があります。
「人がいたら止まる」、「青なら進む」といった基本的な定義付けは最初に行ったうえで、無数の多くの情報やそれらの組み合わせに対してたくさんの層を深くまで作りながら、それらの重要度をAIが自ら学習して最適な運転ができるようになるのです。
AIをつくる・使う・活用する
実際にAIに関わる、活用するにはどのようなアプローチがあるか挙げていきます。
AIはプログラミングができなくても簡単なものであれば作れますし、もちろん出来上がったものを活用することもできます。
おそらく将来的にさらに簡単に活用することができるサービスも出てくるハズです。
プログラミングでAIをつくる
AIのアルゴリズムを実際にプログラミングコードを書いて作り上げる方法です。
プログラミングを学ぶというと、AIエンジニアやデータサイエンティスト、AIサーバエンジニアになるといったようなイメージがありますが、敷居が高すぎます。。
一方で入門コースくらいをやっておくと、流れが理解できるので専門家と会話ができるようになる利点もあります。
例えば、プログラミング言語やインターフェースは何を使って、サーバをどうするか、実装に際して懸念点は何か、タイムラグがどこで発生しそうか、といったようにプログラム内容はわからなくても実務としての流れについて会話できるようになります。
GUIでAIをつくる
実はプログラミング不要でAIが作れます。
GUI(Graphical User Interface)といってプログラムコードを書かずにマウス操作でAIを構築するツールが既にたくさんリリースされています(下記の他にもたくさんあります)。
- Amazon SageMaker
- Create ML
- Google AutoML
- Azure Machine Learning
細かなカスタマイズを求めるとプログラミングが必要ですが、GUIツールを使って基本的なAI環境を構築して試すことは非常に有効です。
GUIツールもさらに直観的にわかりやすく、使いやすく進歩すると思います。
現時点では「プログラミングはちょっと」と思う人も、このような手段があることは把握しておきましょう。
既に提供されているAIサービスを活用する
自分で作らなくても既に存在するAIサービスの機能が自分のニーズに合えば使うことができます。
有名なところでGoogle、Amazon、Lineなどが既にAIサービスを提供しています。
ChatGPTのサービス単体を使うのももちろん、頭脳であるGPT-4が他サービスと連携してリリースされていることも増えています。
自分でプログラミングしなくても、GUIを活用したり、GPT-4のAPIサービスと連携させたりして既存サービスを活用することでAIを使いこなすことも可能です。
GUIと同じく、さらに使いやすいAIサービスがドシドシ出てくると思いますのでアンテナを張っておきましょう。
人工知能の未来「AIのせいで仕事が無くなる?」
AIがこのまま発展した未来では「人間の仕事は無くなる」と予測する人がいるけど本当なのでしょうか?
ChatGPTのようなIT分野におけるイノベーションが普通の人にも使えるようになった現在を見ると不安になる人も多いと思います。
私の意見は「そんなことは無い」と思っています(もちろん反対意見があることも知っています)。
もちろん無くなる仕事もあると思いますが、それ以上に新しい仕事が増えると思っています。
人類の過去のイノベーションを見ても同じでした。
自動車が世の中に出たときに馬車の仕事が激減しましたが、それ以上に自動車に関わる仕事(より付加価値のある仕事)が大量に増えたのと同様なのではないでしょうか。
電話交換士もそうですね(私はリアルタイムで知りませんが、、)
パソコンが普及して無くなった仕事よりもパソコンによって発生した仕事の方が多いと思います。
今となってはパソコン無しで仕事ができていたのが不思議です。
よって「新しい事、イノベーションを拒絶するのではなく、受け入れて活用する、適応する、自ら生み出す」という姿勢でいきましょう。
AIを作るのは専門エンジニアが必要(将来はもっとカンタンに作れるようになりそう)ですが「活用する、使いこなす」ことは多くのビジネスマンにとって必要になるスキルと思います。
イノベーションのほとんどが既知の固有技術や手法の組み合わせ、使い方の変更であると分析する学者もいます。
パソコンやスマホと同じ様に「作れなくても使えればいい」のであって、さらに人より詳しければ重宝される人材になれる、と思います。
そのためにはAIに対する理解や活用への興味関心が必要になります。
こちらの書籍は現在のAIの活躍している分野や案件について実例を紹介して解説されています。
内容も簡単で読みやすいので明るいイメージを膨らませるのにおすすめです。
専門エンジニアではない人がAIやIoT、DXも含めてシステムの仕様を決めて導入するにあたり、知っておいた方がいい事についてこちらの本がわかりやすく説明されているのでおすすめです。
(「作らせる」という表現が好きではないですが、そのような立ち位置に居る人が多いので視点として参考になります)
シンギュラリティ AIは人を超えるのか?
AIの世間話でよく出るのがシンギュラリティ(Singularity)という言葉です。
シンギュラリティは「技術的特異点」という解釈で「AIが人間の知能を超える特異点」という意味です。
「2045年には人工知能が人間の知能を超えてしまう」という話を聞いたことがある人も多いと思います。
映画ターミネータのようにAIが意志を持って人間に危害を加える世界になって人類が滅亡してしまうかも、と心配する人もいるかもしれません。
現時点でAIが行うのは事前に学習した内容を元にした明確な作業や行動であり「意識や願望」など人間特有の感情・衝動をもとにしたものではありません。
あくまで "機能としてのAI" として客観的に考えています。
将来的に人間のもつ感情・欲望・アイデンティティの確立・種の保存欲求などAIが学習するのであればSF映画のように未知数かもしれません(ただし作り手である人間が制限をかけることももちろんできます)
どちらかというとAIが弾き出した結果を人が悪用することによって、危ない状況になる可能性はあるかもしれませんね。
一方でムーアの法則(一定レベルで技術の進歩スピードが落ち着く)のように、技術的に進歩が停滞・飽和する可能性もあります。
それがAIの学習機能なのか、半導体の処理速度なのか、なにかの技術課題がある一定レベルで停滞してしまうかもしれません。
現時点ではいろいろな説があるのでどこまで進歩するかはわからないというのが正直なところですが、悲観する必要は無いと思います。
あくまで人間が考えたツールですので使い方の問題です。
包丁や車も危険ですがルールのもとで有効に活用することで生活が便利になります。
必要ならルールや運用体制を決めれば便利に使うことができます。
もっとAIについて学びたいなら
もしもAIに興味を持つことができたなら、その小さな興味をもう少し伸ばしてみましょう。
まずは数冊の書籍を読んでみるのがおすすめです。
AIを学びたい人におすすめ本
まずはAIに関する入門書を2~3冊読んでみましょう。
AIに関する書籍は思想的な本もよく見かけるので、まずは日本人著作者のわかりやすい入門書がおすすめです。
書籍を読みながら自分の気持ちの熱量も意識してみましょう。
本を読みながら、
「こんな風にAIを活用できたら面白いな」
「自分の業界でこんなAIがあったらいいかも」
このように考えながら読むと楽しいです。
最初に読む入門編としてはこちらの本あたりがいいと思います。
もう少し踏み込んだ知識を身に付けたい人はこちらがおすすめです。
図解即戦力 機械学習&ディープラーニングのしくみと技術がこれ1冊でしっかりわかる教科書
すでに現時点で
「もっとちゃんと勉強してみたい」
「AI分野への転職の可能性を探りたい」
「Pythonで実際のAIプログラミングをしてみたい」
というように自分に火が着いているならプログラミングにチャレンジしましょう。
この分野のプログラミング言語はPythonが主流なので、最初に入門書籍を一冊自分でチャレンジして考えてもいいでしょう。
いちばんやさしいPython機械学習の教本 人気講師が教える業務で役立つ実践ノウハウ
大学や大学院で学問としてAIを勉強してみたい
さらに、それだけでは物足りない人あるいは進学する人生のタイミングの人で、
「学問として体系的に学びたい」
「進路先として選びたい」
「研究テーマとして掘り下げたい」
と考えるなら大学や大学院での就学を検討しましょう。
AIというと東京大学が有名ですが近年のブームもあって多くの大学の学部・大学院に設置が進んでおり、社会人にも門戸が開かれています。
私自身も20年以上機械設計や生産技術分野でエンジニアをしていましたが、この先の数十年も「技術」に関わることを考慮して、大学院に入学して学び直しました。
自分の業界分野におけるAI活用が知りたいなら
自分の業界においてAIをうまく活用したいと考えている人も多いのではないでしょうか。
上司や役員から
「ウチで使えるAIやIoTは無いの?」
「君はITに詳しいから今後の当社でのAI活用について考えてくれ」
「株主にウケのいいAIツールをリリースしたいから何か考えて」
なんてザックリとした指示を受けて困っている人もいると思います。
そんな人のための最初のアプローチについて紹介しておきます。
まずはWeb検索そして書籍探し
まずはググりましょう。
「建設 AI」、「製造業 AI」といった具合に自分の業界+AIでWeb検索してみたり、Amazonで書籍を検索してみましょう。
AI入門書籍にもいくつかの業界における活用事例があるので参考に。
1冊でも本を読んでおけば大きなアドバンテージとなるので自己投資としては最適です。
こういった書籍を読むコツとしては「業界が違う事例だから使えない」という視点ではなく、「どうやったら自分の業界・分野に使えるかな」という視点で読む(考える)ことが大事です。
パートナー探し 外注に電話する前に社内で相談しましょう
ITイノベーションやAI活用というと真っ先に大手ITコンサルの得意(好物)とするところで、電話一本ですぐに来てくれる企業が多いと思います。
一方でITコンサル(とくに大手)では既にパッケージされた「売りたいAIツール」があり、これを売ることを第一目標にして来社・営業してくることを念頭に置きましょう。
よってITコンサルに電話する前に社内の関係者を集めてブレストしましょう。
先に「自社にとって本当に必要なAI活用がどのようなものか」について、既存業務のボトルネックや課題点に熟知した現場社員と社内のAIに詳しいIT人材を交えて、一緒にブレストすることをお勧めします。
まとめ
以上、人工知能についての基本的な説明と興味を持った人のアクションについてまとめました。
少しでも「面白そう」、「これから必要になりそうだな」と思った人はまず本を1冊読んでみましょう。
本を読みながら
「こんなサービスがあるといいな」
「こんな分野に応用できるのでは」
といった感じで将来について想像してみると楽しいのでおすすめです。