テクノロジー・イノベーション

まるで人間?!経験から学習するコンピューター

人間の脳をモデルとするマシンラーニングでは、新しいことを学習し、パターンを認識して判断する方法を 、AI コンピューターに教えます。

「人間は経験から学習する」とは、古代ギリシャの哲学者、アリストテレスの言葉です。 今となっては、経験に基づく学習は人間だけに適用されるものではありません。マシンも、経験に基づいて識別、推論、行動、適応できるようになっています。

まさか人工知能を持つマシンが人間のように経験から学習し、人間の 論理体系 に似たプロセスを使用して、精密医療や自動運転車の改良、さらにはデータの分析を行うようになるとは、古代ギリシャの哲学者も夢にも思わなかったでしょう。

コンピューター科学者がマシンをスマート化する方法を考案するまでに 60 年以上 を費やし、この研究は今もなお続いています。 マシンラーニングでは、実際に行うのと教え込むのとでは、非常に大きな違いがあることが分かっています。

初期の人工知能 (AI) の開発においては、研究者は知っておくべきことをすべてコンピューターに教え込もうとしていました。 この方法が失敗したとき、科学者は AI プログラムがデータを直接分析し、そこから学習できるようにするマシンラーニングの戦略へと切り替えたのです。

インテルの Saffron コグニティブ・ソリューション・グループの元チーム・プロダクト・オフィサーであるアンディー・ヒックルによると、これはスマートな選択だったと言えそうです。

「マシンラーニングの技術は、3 つのことを注力することで軌道に乗りました」とヒックルは振り返ります。

その 3 つとは、高性能コンピューターの処理能力、より多くのデータ (テキスト、ビジョン、画像、センサーデータなど) へのオンラインアクセス、そしてデータに付与する注釈です。この 3 つの要素によって、知識を推論する AI システムの機能が劇的に向上したそうです。

現在のソフトウェア開発者は、ソフトウェア、ハードウェア、インターネットの組み合わせによって、優れた AI アプリケーションを開発できます。現に、金融詐欺の検出 から、クイズ番組での優勝、さらには オンラインでのお客様とのチャット まで、あらゆることを AI アプリケーションで実行できるようになっています。

マシンのスマートな学習方法

インテルの AI 向けスチューデント・プログラムのプログラム / コミュニティー・マネージャーであるニーブン・シンは、「現在さまざまな業界で使用されている マシンラーニング は、開発者が直接プログラムしなくても、データから学習し、経験をもとに改良できるコンピューター・プログラムを活用しています」と説明。 シンがマネージャーを務める AI 向けスチューデント・プログラムでは、開発者向けに AI トレーニングやツールを提供するインテル® Nervana™ AI アカデミー の一環として、世界中の大学の大学院生による革新的な研究を紹介しています。

「マシンラーニングの最大の利点は、ほかの方法で実行するよりもかなり素早く実行できることです。

人間が解けない問題を解くことはできませんが、膨大な量のデータを取り込み、そのデータに基づく関連付けや予測が非常に素早く行えます」とシン。

例えば、ゲームでは、マシンラーニング・アルゴリズムによって、対戦相手のプレイを分析して動きを予測したり、より難易度の高い対戦相手を作り上げたりすることができます。

製造業では、データを理解することによって、修理の予測や予防的メンテナンスの改善を行うことができます。

また、医療においては、AI を使って複数の病気に関する医療データベースを分析することで、より素早く正確な診断が行えます。

マシンラーニングは、最も高性能な計算機の 1 つである、人間の脳内の神経回路網 (ニューラル・ネットワーク) がベースになっています。

つまり、人間の脳が行う問題解決方法を模倣して、情報を取り込み、それを処理して、アウトプットを生成するのです。この人工ニューラル・ネットワーク (ANN) は、 アルゴリズムを使用して学習し、パターンを認識して判断を行います。

人と物を識別するマシンラーニング
マシンラーニングにより、コンピューター・プログラムは人と物を識別する方法を学習。

ヒックルによると、ANN は 重み を使って、どの情報が最も重要かを認識するといいます。

人工ニューロンは、ネットワーク全体にわたって互いに結合しており、その結合に重み付けを行うことで、ニューロンが別のニューロンに与える影響の強さを示すことができるというわけです。 この重みはトレーニング・プログラムを通じて調整されます。入ってきた情報に対して適切に応答する方法を、プログラムがニューラル・ネットワークに指示するのです。

また、ディープラーニング・プログラムが実行する演算は、多層の ANN で構成されます。 ある層の結果は次の分析のために入力され、データをさらに複雑に把握していく仕組みです。

例えば、ビルの画像を分析する ANN の場合、ある層でエッジを検出した後、次の層でそのエッジが長方形であることを認識します。 また次の層では、その長方形がビルであることを認識し、最後の層でビルが超高層ビルか納屋かを判断するという具合です。

ANN が学習するように、ソフトウェア開発者は、膨大な入力データセットを使用してトレーニングします。 ヒックルは、「生データ自体はそれほど役に立たないため、開発者が正しい答えを含んだ注釈を入力データに付与します。

データに注釈を付与することが、正確な判断を可能にするための重要な要素の 1 つです」と説明しています。

独学するコンピューター

マシンラーニングでは、実際にプログラムしなくても、コンピューターが学習します。 「ソフトウェア開発者が開発する学習アルゴリズムによって、ANN は時間の経過とともに多くのデータに触れ、改良されていきます」とシン。

また、学習アルゴリズムには、マシンラーニングの手法として「教師あり学習」「準教師あり学習」「教師なし学習」の 3 種類があります。 最初の 2 つには、期待される結果を導くために大規模なトレーニング用のデータセットが必要です。

「例えば、顔検出アルゴリズムを作成するには、ラベルのない画像を見ただけでマシンが確実に顔を認識できるようになるまで、それぞれにラベルを付けた景色、人物、動物の画像を供給していきます」(ヒックル)。

AI による顔認識
アルゴリズムを使用して顔のパターンを認識し、照合する人工ニューラル・ネットワーク。

「3 番目の『教師なし学習』は、マシンラーニング分野における大部分の研究にとって究極の目標です」とヒックル。

インテル® Saffron™ テクノロジーで用いられるこの 3 番目の手法は、データの意味することをプログラムが独力で見つけ出します。 この場合、開発者はラベル付きの画像を供給するのではなく、人間には認識しにくいような共通の特徴に基づいて、マシンが画像を分類できるようにします。

AI 構築ツール

AI にはどことなく謎めいた雰囲気がありますが、実際には、スマートなシステムを構築するためのツールが幅広く用意されています。 最新の開発では、Lisp、Prolog などの古い AI 専用言語は使用されていません。 現在の開発者たちは PythonJavaC++ などの汎用言語を利用しています。

また、素晴らしい「教師あり学習」用のツールキットもあります。 CaffeTheanoMXNetTensorFlow など、一部のプログラムは、インテル® ハードウェア上での実行に最適化されていますし、 インテル® Xeon® プロセッサーなどの高性能なチップは、マシンラーニング・アルゴリズムに必要な行列乗算を高速に行えます。

「各種データの分析と融合に基づいて判断を行う AI。その今後の進化にわくわくします」とシン。

マシンも人間と同じように、経験をもとに学習しつつ、進歩し続けることでしょう。

 

 

この記事をシェア

関連トピック

テクノロジー・イノベーション サイエンス

次の記事

Read Full Story