人工知能 (AI)

人工知能 (AI) は、人間の知的行動を模倣します。AI は、環境を認識し、意思決定を行い、アクションを実行するように設計された、コンピューターやシステムのソフトウェアです。成功する AI システムを構築するには、ワークフロー全体を理解し、単なる AI モデルの学習を超えた作業に焦点を当てる必要があります。

AI の仕組み

より多くのエンジニアが幅広いアプリケーションに AI を組み込むにつれ、人工知能 (AI) という言葉が広く使用されるようになり、その関連範囲も拡大し続けています。自動運転車からロボティクス、自然言語処理に至る、最近の AI アプリケーションについていくつか考えてみましょう。これらのアプリケーションに AI を実装する方法はさまざまですが、意思決定を行うシステムの構築にディープラーニングまたは機械学習のモデルが使用され、基盤となる技術は変わりません。

AI、機械学習、およびディープラーニングの定義について、これら 3 つすべてを示したイラストで説明します。

AI アプリケーションのアルゴリズムとして、ディープラーニングと機械学習のどちらを選択するかは、システムの目標と要件によって異なります。

機械学習とディープラーニング

アプリケーション、処理するデータのサイズ、解決したい問題のタイプに応じて、さまざまな手法やモデルを選択できます。機械学習とディープラーニングには、それぞれ次のような独自の利点があります。

従来の機械学習では、サポート ベクター マシン (SVM) や決定木など、さまざまな分類器の学習を行うことができます。機械学習では、特徴抽出の最適化も行えます。異なるアプローチを組み合わせて、データの最適な配置を決定することができます。

MATLAB の分類アプリは、機械学習アルゴリズム選択のプロセスを加速します。

さまざまな機械学習アルゴリズムを試して、使用するモデルに最適なものを見つけます。

機械学習とディープラーニングのどちらを選択するにしても、さまざまなアルゴリズムを試して、アプリケーションと要件に適したものを決定する能力が必要です。

AI の活用に不可欠な概念

堅牢な AI ワークフローには、データの理解、モデルの作成、モデルを実行する最終システムの設計およびテストが含まれます。以下のセクションでは、AI を業務に導入する際に考慮すべき重要な AI の概念について説明します。

データ駆動型 AI

多くの AI アプリケーションにおいて、その中核をなす要素はデータです。生データを取得し、それを正確で有意義なモデルで役立てるには、AI 構築の作業にかなりの時間を費やすことが想定されます。データの準備には、データの重要な特徴、重要でない特徴、および考慮すべきまれな事象を理解するための専門知識が必要です。

データの準備やラベル付きデータの取得には、多くの場合、手間と時間がかかります。このプロセスには、合成データやより多くのサンプルによるデータセットの拡張も含まれる場合がありますが、エンジニアは、ラベル付けに費やす時間を自動化することで、クリーンなラベル付きデータをより早く入手することを検討する必要があります。

AI モデリング

成功する AI モデルを構築するために重要な 2 つの要素は、次のとおりです。

  • 一連のアルゴリズムの選択: 機械学習とディープラーニングのどちらに注目していますか。アルゴリズムの完全なセットと事前構築済みモデルから始めることは、ゼロから始めるのとは違い、AI コミュニティのより広範な研究成果を活用している時点で、既に一歩先に進んでいます。
  • モデルの繰り返し: ここで、最も堅牢で正確なモデルを取得するために最適なパラメーターセットを特定します。正確なモデルの構築には時間がかかります。幸いなことに、1 つまたは複数の GPU での実行など、ハードウェアを追加することで、パラメーター、入力データ、層のあらゆる組み合わせでのモデルの学習時間を大幅に短縮できます。

AI 設計におけるシミュレーション

AI モデルは通常、大規模で複雑なシステムの中に存在します。たとえば、自動運転システムでは、知覚のための AI は、位置推定やパスプランニングのためのアルゴリズムや、ブレーキ、加速、およびその他のコンポーネントの制御と統合する必要があります。これらの要素を組み合わせることで、完全なシステムを構築します。このような複雑な AI 駆動システムには、統合とシミュレーションが必要です。

AI の活用事例を見る: BMW、機械学習を使用して車のオーバーステアを検出

ロボティクスシステムの 3 つの異なるコンポーネントと、その上に表示された各コンポーネントを制御する Simulink ブロック線図。

AI は、複雑なロボティクスシステムのさまざまな部分で使用されます。

シュミレーションは、それらが全体としてどのように機能するかを試す方法です。ここでは、すべての要素が正しく連携して動作することを検証します。シミュレーションすることで、あらゆる状況で期待どおりの結果と反応が得られます。また、ハードウェアに展開する前に、モデルが正しく動作することを検証できます。

このトピックについてさらに詳しく

実世界での AI の適用

AI は多くのアプリケーションで使用されており、車載 ECU、化学工場のエッジシステム、複数の場所からデータを受信するクラウドベースのストリーミング システムなど、その用途に応じたさまざまな展開の要件があります。AI はこれらのシステムのあらゆる部分で使用される可能性があるため、モデルはどのようなプラットフォーム上でも展開して運用できることが必要です。

MATLAB によるエンタープライズ AI の開発

AI をシステムに組み込む際には、考慮すべきことが多くあります。エンジニアとして重要なのは、モデルを構築するだけでなく、AI ワークフロー全体に焦点を当てることです。

  • データの取得: 異なるデータ収集ハードウェアとのインターフェイスをすばやく確立、大量のデータを整理、または限られた学習データしか用意できない場合に合成データを生成します。
  • データの前処理とラベル付け: 前処理アプリとラベル付けアプリを使用して、より適切なデータセットをすばやく構築します。MATLAB® のローコードアプリと組み込み関数を使用して、データ品質を向上させ、グラウンド トゥルースに自動的にラベル付けします。
  • AI モデルの構築: さまざまなモデルを試し、機械学習アルゴリズムとディープラーニングアルゴリズムを比較して、アプリケーションに適したソリューションを見つけます。TensorFlow™ や PyTorch® のモデルを含む何百もの事前学習済みモデルにアクセスし、転移学習を実行して時間とリソースを節約します。
  • 意思決定の可視化: 説明可能性の手法を使用し、AI モデルの堅牢性を検証することで、AI の意思決定に対する信頼を高めます。LIME、Shapley、Grad-CAM などの手法には MATLAB で直接アクセスできるため、関数を手作業で書く必要はありません。
  • シミュレーション: AI モデルを Simulink に統合して、複雑なシステムに直接 AI 機能を構築できます。この統合により、エンジニアは運用環境にモデルを展開する前に、システム全体で AI をシミュレーションできます。
  • エッジへの展開: コードを自動生成し、使用するデバイスをターゲットにすることにより、コーディングエラーを特定し、排除します。MATLAB は、エンタープライズ システム、クラスター、クラウド、または組み込みハードウェアにモデルを統合できるように、特定のターゲット ハードウェア用のコードを自動的に生成します。

エンジニアと科学者は、AI プロジェクトの成功に不可欠な洞察を提供する特定分野の専門家です。MATLAB は、エンジニアや科学者がそれぞれの領域で AI を使用し、さまざまな産業分野のチームや組織全体で共同作業を実現できるよう支援します。

関連するトピック

MATLAB で始める

ディープラーニング向け MATLAB

MATLAB によるディープラーニングのサポートについてご紹介します。

チュートリアルおよび例

MATLAB で AI をを始めましょう。