AI(人工知能)はあらゆるところに存在します。スマートアシスト、機械翻訳、自動運転などのアプリケーションだけではなく、新しい方法として共通の課題に対処するための技術をエンジニアや科学者に提供しています。しかし最近の調査によると、多くの組織は AI の価値とポテンシャルを認識しているものの、活用している組織は僅かです。3,000社を対象にしたガートナーの調査では、50%の組織は AI に関する計画を何かしら立てているにも関わらず、実際に実施している組織は4%にしかすぎません。1

多くの組織は AI の実現という目がくらむような課題を前にして思いとどまってしまいます。

  • AI を行うにはデータサイエンスの専門家でなければならないという思い込み
  • AI システムの開発は膨大な時間とコストが必要という懸念
  • 精度の良いラベル付きデータの不足
  • 既存のアルゴリズムとシステムにAI を統合するコストと複雑さ

MATLAB® を使うことで AI の取り組みがいかに容易になるかを3つの実例でご紹介します。MATLAB は、Caffe やTensorFlow のような専用の AI ツールに似た AI 機能を提供します。より重要なのは、MATLAB は運用を前提としたシステムを開発するためのワークフローに対して AI を統合できることです。

AI モデルは設計されたシステムを開発するためのワークフロー全体の一部にすぎません。

AI とは何か? AI の仕組みとは?

AI とは1950年代に考えられた造語で、「人間の知的行動を模倣する機械の能力」という定義が未だに使われています。AI が面白いのは機械が人間の能力を模倣するだけでなく、それを凌駕する可能性を示しているからです。それによって繰り返し中心の作業をコンピューターに任せ、さらには人間以上に安全かつ効率的な仕事をコンピューターが担うことを実現していきます。

多くの人は AI 技術について考えるときに機械学習のことを考えます。機械学習とは機械に学習をさせてパターンを習得させることです。

従来のプログラミングでは、望ましい出力が得られるようにデータを処理するプログラムを作成します。
機械学習ではこの手順が逆になります。人間がデータと目的の出力をコンピューターにフィードし、それを基にコンピューターがプログラムを作成します。機械学習プログラム(より正確にはモデル)は大部分がブラックボックスです。望ましい出力を生成することはできるのですが、従来のプログラムやアルゴリズムのような操作のシーケンスでは構成されません。

ディープラーニングと呼ばれる特殊な機械学習の手法は大きな関心を集めています。ディープラーニングはニューラルネットワークが元となる機械学習モデルです。(「ディープ」という表現は、ネットワーク内の層の数を指しています。層が多いほどネットワークは深くなります)。ディープラーニングの大きな利点として、手作業によるデータ処理作業、統計的手法に対する専門知識を多く広範に持たなくても試すことができる点が挙げられます。

機械学習とディープラーニングは AI の実現方法を考える上で重要な用語です。これらは今日適用されている技術として最も広く普及しています。

最初に取り上げる例では、ある科学者が他の方法では解決できなかった問題に取り組むためにどのようにして MATLAB を使って機械学習を習得し、それを応用したかをご紹介します。

機械学習を使ったスナック食品の食感/サクサク感の検知

食品科学者の Solange Sanahuja 博士は、スナック食品のサクサク感を測定するための再現可能なプロセスを開発する必要がありました。Sanahuja 博士はスナックの物理モデルを開発しようとしましたが、成功しませんでした。他の科学者はスナックの咀嚼音を分析するために信号処理を使用していましたが、完全に新鮮な状態のものとわずかに湿気ったものの違いを検出できるプロセスを開発することはできませんでした。

博士は、MATLAB が機械学習をサポートしていることを知り試してみることにしました。博士は異なる鮮度のスナックを用いて、スナックを噛み砕く音とその際に加わる圧力、そして訓練を受けた試験官が判断する鮮度を記録する実験を何百回も行いました。

博士は食品科学者としての専門知識を使って、圧力の測定値、硬さ、砕けやすさの計算値などから特徴を特定しました。博士はその後、録音データからも特徴を抽出するために複数のアプローチを試み、最終的にオクターブ分析が最も効果的であることを見出しました。

次のステップとして選択した特徴に基づいてモデルを作成しましたが、これは博士にとって初めての経験でした。非常に多くの選択肢がある中で適切なモデルを見つけることは時に困難を伴います。博士は各選択肢を手動で試す代わりに、Statistics and Machine Learning Toolbox™ の 分類学習器アプリを使用して自動ですべてのモデルを検証しました。

博士は最初にモデルをトレーニングするためのデータを用意しました。その後、MATLAB を使用してすべてのモデルを学習させました。MATLAB はモデルのリストを作成し、それぞれを学習させ、予測精度を可視化しました。

これらの結果に基づいて、博士はプロジェクトに最適なモデルとして2次多項式カーネルのサポートベクターマシンを選択しました。このモデルは約90〜95%の予測精度で、人が感知できる微妙なサクサク感の違いを検出することもできます。


次の例では、複雑な画像認識の課題に取り組むためにエンジニアはディープラーニングを使用しました。ディープラーニングのネットワークを一から学習するには大量のデータが必要です。しかし、 転移学習を使用することで 、エンジニアは限られた量のデータを使ってディープラーニングを適用することができました。

ディープラーニングによるトンネル掘削の効率化

日本の建設会社である大林組は、トンネル掘削に NATM(新オーストリアトンネル工法)と呼ばれる技術を利用しています。この方法では、現場技術者は掘削が進むにつれて掘削面の強度を監視し、風化変質や割目間隔などの地質特性を評価します。この手法により建設コストを削減することが可能ですが、一方でいくつかの制限があります。まず、一箇所を分析するのに時間を要することがあったり、適切な評価がなされない場合もあります。さらに、この技術に熟練した地質専門家も不足しています。

そこで、大林組ではディープラーニングを適用することにしました。ディープラーニングのネットワークを学習させて、掘削面の画像に基づいて、さまざまな指標を自動的に認識させます。しかし、課題は十分なデータを準備することでした。精度の高いディープラーニングネットワークは何百万枚という画像で学習されていますが、大林組が持っている画像はわずか 70 枚でした。

大林組の地質専門家はまず、その 70 種類の画像のそれぞれ 3 つの領域にラベルを付け、風化の変化や破壊状態などの指標の値を記録しました。その後、これらのラベル付けした領域をより小さな画像に分割し、最終的に約 3000 枚のラベル付き画像にすることができました。ディープラーニングのネットワークをゼロから構築し学習させるには、多くの時間、専門知識、さらに何倍もの画像が必要になるため、大林組は事前学習済みのディープラーニングネットワークである AlexNet をベースに転移学習を使用しました。

AlexNet は、食品、家庭用品、動物などの一般的な物体を認識するために、何百万もの画像を学習していますが、当然ながらトンネルの掘削面の写真から地質条件を解釈することについては何も知りません。大林組のエンジニアは、トンネルの掘削面の画像に基づいて地質学的測定値を推定するために、AlexNet の一部のみを再学習させました。

転移学習のワークフロー

これまでのところ、大林組の再学習されたネットワークは、風化変質と割目状態において、90% 近い予測精度を達成しています。



エンジニアリングシステム全体への AI の統合

ここまで、経験やデータが十分になくても MATLAB を使用することで機械学習モデルやディープラーニングネットワークを作成し学習させることができることを見てきました。しかし、もちろん作業はこれで完了ではありません。多くの場合、モデルを大規模なシステムに統合する必要があります。

最後の事例は、AI システムを構築し、稼働システムに統合するために必要なすべての要素をまとめたものです。

農業収穫作業の自動化

Case New Holland の巨大な FR9000 シリーズの飼料収穫機は、トウモロコシや草などの作物を 1 時間当たり 300 トン以上の収穫量で収穫しながら、同時に 4mm という短さに作物を切断することができます。収穫機の作業者は、最適な速度で操縦し維持することに加えて、収穫物をトレーラ側に流し、さらにその充填レベルを監視しなければいけません。運転をしながら同時に収穫量の監視に集中する必要があるため、複雑な作業はさらに困難になります。

彼らはラボで複雑な収穫機の操作条件を再現することができず、また試作機によるフィールドでの実験は収穫期が短すぎてできませんでした。代わりに、AI アルゴリズムを Simulink システムモデルにインポートし、フィールド条件を模倣した 3D シーンシミュレータを使用して、デスクトップ上で閉ループシミュレーションを実行しました。

Case New Holland シミュレーションフレームワークの簡略図

シミュレーション結果。左:ハーベスターブームとトレーラー。右上:カメラ出力。
右下:距離と充填レベル。

デスクトップシミュレーションを使用して機能をテストしたら、コンピュータビジョンと制御メソッドを備えたラップトップを収穫機に設置し、作業者のフィードバックに基づいてリアルタイムで AI アルゴリズムを微調整しました。

彼らは、コントローラーモデルから量産用 C コードを生成し、収穫機のディスプレイパネルソフトウェアを実行するARM®9プロセッサに実装しました。

作業者からは、ラップトップで実行していたときと同じようにシステムが実行されたと報告されています。New Holland IntelliFill™ システムは現在、FR9000 シリーズの飼料収穫機で実用化されています


まとめ

MATLAB があれば、機械学習の経験がなくても AI の開発に取りかかることができます。アプリを使用して、さまざまなアプローチをすばやく試し、専門領域の知識を使ってデータの準備することができます。

データ内の特徴が不明瞭な場合は、学習プロセスの一環として特徴も学習するディープラーニングを使用すると良い結果を得られることがあります。ディープラーニングには膨大なデータが必要ですが、転移学習を使用することで既存のネットワークを拡張して、手持ちのデータを扱うことができます。

また、MATLAB を使えば AI システムの一部としてモデルを組み込み機器に配布することもでき、実環境に容易に展開することができます。

1「The Real Truth of Artificial Intelligence」 2018年3月のGartner Data&Analytics Summitで発表されました。