aRick1/Shutterstock.com)
人工知能(AI)、機械学習(ML)、アルゴリズムという言葉は、間違った使い方をされ、混同され、誤解されていることがよくあります。全く違う言葉であるにもかかわらず、同じ意味で使われていることもあります。残念ながら、それぞれの意味を理解していないと、複雑で進歩の著しいこの分野では、ますます混乱することになるでしょう。そこでこの記事では、アルゴリズム、人工知能、機械学習の基礎について、この3つが何であるのか、どのように誕生し、どのように活用されているのかについて解説したい思います。まずは、人工知能と機械学習が生まれる礎となったアルゴリズムから説明しましょう。
アルゴリズム
アルゴリズムとは、簡単に言えば、計算やある問題を解決するために従うべき一連のルールのことで、問題を解くまでの手順を含んでいます。アルゴリズムというと、コンピュータに与える命令を想像しがちですが、夕食の献立の簡単なレシピなどもその1つです。
アルゴリズムは、コンピュータに次に何を行うべきかを指示するショートカットの役割を果たし、AND、OR、NOTなどのステートメントで指示を与えます。ごく単純なものもあれば(図1)、気が遠くなるほど複雑なものもあります。
図1: 無作為に並んだ数字から最大の数字を探すための単純なアルゴリズム (画像: ウィキペディア)
図1に示されたアルゴリズムの高レベルな記述は、次のようになります。
1. データセット内に数字がない場合は、最大の数字はない。
2. データセット内の最初の数字がデータセット内の最大の数字であると仮定する。
3. データセット内の他の各数字について、その数字が現在最大の数字よりも大きい場合は、その数字をデータセット内の最大の数字と見なす。
4. データセット内に反復する数字がない場合は、現在最大の数字をデータセット内の最大の数字と見なす。
命令は明示的にプログラムすることができますが、アルゴリズムによっては、機械学習を使って、コンピュータに自分で学習させることができます。機械学習について取り上げる前に、まずは、より範囲の広い人工知能について解説しておきましょう。
人工知能
人工知能(AI)とは、予期せぬ状況に対処するための一連のアルゴリズムを組み合わせたものです。AIは包括的な概念であり、機械学習と深層学習(DL)はこれに含まれています。AIシステムは、自然な形でユーザーと対話することができます。Amazon、Google、Appleは、AIと構造化されていないデータを活用するための最先端技術を持っています。
2018年、AIが読解力に関して人間と同じレベルに近づくという大きな進歩がありました。開発者は「教師あり学習」や「ラベル付きサンプル」を活用し、画像分類のような具体的なタスクを実行できるようAIモデルをトレーニングしました。それから1年後、新たなAIモデルが登場しました。「自己教師あり学習」を活用し、利用可能な関連コンテンツを通して文脈上の深い意味まで汲み取れるようになったのです。この画期的なアプローチにより、AIモデルはテキストを読んで、様々な単語をマスキングし、他のテキストに基づいて意味を予測して、学習することが可能になりました。
この自己教師あり学習を活用した、MicrosoftのTuring モデルは、2020年に170億個のパラメータによる新たな水準のAIモデルを実現し、要約、文脈予測、質問応答などの実用的な言語モデリングタスクを可能にしました。Microsoft Turingモデルは、人間の言語を深く理解しているため、意図された意味を引き出し、リアルタイムの会話や文書からの質問に正確に応答することができます。
AIシステムは学習すればするほど、精度が向上します。数年以内にパラメータ数は数兆個に増えると予測されており、そうなれば構造化されたデータだけでは到達しえない驚異的な精度でAIはユーザーを支援することが可能になります。それでは、そのような精度の高いAI学習はどのように行われるのでしょうか。
機械学習
機械学習は、入力した構造化データとアルゴリズムにより、仮定を立て、データを再評価し、新たに発見した条件に基づいて独自のアルゴリズムを再構成します(図2)。そこには人間の手が介在しないことから、機械学習と呼ばれるようになりました。機械学習システムは大量のデータを高速処理するため、人間とは比較にならない速さと能力で、可能な限りのパターンと解をすべて見つけ出すことができます。
しかしながら、複雑なシステムは複雑な課題をもたらすものです。機械学習は仮定に大きく依存しているため、システムはすぐに誤った道に行ってしまい、予想だにしない動作や結果を招くのです。その一例が2018年に起きたUberの自動運転プログラムによる事故で、システムの誤った仮定により1人の歩行者が死亡しました。
図2: 機械学習には、経験に基づいて自動的に改善を行うコンピュータアルゴリズムが含まれています。アルゴリズムは、予測(学習)を行うために、サンプルとトレーニングデータに基づいてモデルを構築します。(画像: ウィキペディア)
今日、機械学習は多くの場面で活用されています。例えば、クレジットカードの不正使用の検知です。クレジットカードが使用され、そのカード所有者に対する予測パターンから外れていれる場合、ユーザーは疑いのある取引の正当性を確認するよう求められます。それから機械学習システムは、使用可能なパターンをさらに学び、修正していきます。
機械学習がすべて正しい結果を得ることは可能ではありますが、最初はその多くは予測外のものであるかもしれません。機械学習の予測が精度に欠けるのには多くの理由があります。
今後の課題
人工知能の実験が失敗に終わる理由の1つは、初期段階で推論を学べるような指導がないからです。機械は「0」と「1」だけを理解します。曖昧さは通用しません。例えば、「痛み」という概念を考えてみましょう。子どもは「ストーブに触ると火傷して痛くなるよ、それは悪いことだよ」と教えてくれるコーチのような指導者が必要です。あるいは、同じように「走ると痛くなるよ。痛くなるけど、それはいいことだよ」と教えられる必要があります。推論によって機械学習システムはポジティブな結果とネガティブな結果の違いを判断できるようになります。
Uberの例でも見たように、システムはコーチからのフィードバックがなければ、誤った仮定を行う可能性があるため、このことは深層学習ではさらに重要になります。十分な学習が行われるまで、機械は曖昧な結果によって指導され続けるかもしれません。質問が「はい」や「いいえ」ではなく、「たぶん」で答えられる場合には、さらに多くの質問をしておく必要があります。
もう1つの問題は、もし無限の時間と無尽蔵の資金があれば、ありとあらゆる組み合わせと条件でルーチンを作るかもしれませんが、それには終わりがないということです。将来、条件と組み合わせが変わるかもしれないことを念頭に置く必要があります。ルーチンを厳密に作りすぎると、柔軟性のないデータストリームになることがよくあります。
学習は推論がすべてです。エンジンが賢くなればなるほど、修正が可能になります。例えば、買い物リストに「ハーフ&ハーフ」とはっきりと入力したつもりでも、ユーザーが修正しない限り、「ハーフ」が2回表示されてしまいます。しかし、ユーザが修正すれば、エンジンはこの修正を考慮し、他の10,000件に関しても同じ修正を行い、デフォルトで「ハーフ&ハーフ」を有効な項目として受け入れるようになります。それは子どもに話し方を教えるのと似ています。まずある言葉の意味を理解させ、その言葉と別の言葉を組み合わせると、意味が変わる可能性があることを理解させるのです。
アルゴリズムが正しく機能するためには、ルールや規則がなければなりません。アルゴリズムには常識というものがないので、明らかに間違っていることであっても、プログラムにはそれが理解できないのです。アルゴリズムは、極めて具体的で明確な行動プランに対して完璧でなければ機能しません。まさに難しさはそこにあるのです。
<まとめ>以上の3つの言葉をよく見てみると、同じ意味では使えないことがわかります。アルゴリズムとはある問題を解決するための法則や指示であり、人工知能はデータとアルゴリズムを使って行動を起こし、タスクを実行します。それに対して、機械学習は人工知能の応用であり、過去のデータや履歴に基づいて自動的に学習することを意味します。アルゴリズムは人工知能と機械学習の礎となりましたが、今後は後者の2つが未来の礎となるでしょう。
著者
Stephen Cassar
ワークフロー管理、eコマース、人工知能に関連する製品戦略とアーキテクチャ設計全般についてFortune 100企業から助言を求められ、現行プロセスに対し長期的な成果と投資対効果もたらす改善点などを提案している。
CTO/チーフシステムアーキテクトとして、SaaS(サービス型ソフトウェア)プラットフォームの構築に関する深い知識を有しており、複数のレガシーシステムを統合し、スケーラブルなクラウド型アーキテクチャにより複雑なデータセットの安全な統一表示を実現している。
0 件のコメント:
コメントを投稿