ディープラーニングも使える確率的プログラミングツール「Gen」を開発、MIT:AIモデルやアルゴリズム作成の民主化に貢献
マサチューセッツ工科大学(MIT)の研究チームが開発した確率的プログラミングツール「Gen」を使えば、初心者でも簡単にAIに触れることができ、専門家は高度なAIプログラミングが可能になる。ディープラーニングよりも適用範囲の広いことが特徴だ。
【訂正:2019年7月4日10時50分 記事タイトルの一部に誤解を招く表現があり訂正しました。
訂正前:ディープラーニングを超える汎用AIツール→訂正後:ディープラーニングも使える確率的プログラミングツール】
マサチューセッツ工科大学(MIT)の研究チームは、2019年6月下旬に米アリゾナ州フェニックス市で開催されたカンファレンス「Programming Language Design and Implementation」で、新しい確率的プログラミングツール「Gen」に関する論文を発表した。
Genを使えば、初学者でも簡単に人工知能(AI)に触れることができ、専門家は高度なAIプログラミングが可能になる。Genユーザーは方程式を扱ったり、高度なコードを記述したりすることなく、コンピュータビジョンやロボット工学、統計など、AIが適用されるさまざまな分野のモデルやアルゴリズムを作成できる。専門研究者であれば、Genを用いてこれまで実現できなかった、予測タスクに使われる洗練されたモデルや推論アルゴリズムを作成できる。
研究者は論文で、3次元空間内のヒトの姿勢を(不十分なデータから)推論する短いGenプログラムを紹介した。これはコンピュータビジョンにおける難しい推論タスクだ。この問題を容易に解くことができれば、自律システムや人と機械のやりとり、拡張現実(AR)などに応用しやすくなる。
Genは、グラフィックス描画やディープラーニング、ある種の確率シミュレーションを実行するコンポーネントを含んでいる。こうした多様な技術の組み合わせが、推論タスクの高い精度と、処理速度の改善につながっている。
Genのアーキテクチャ(左)と一般的な確率的プログラミングアーキテクチャ(右端)の違い(出典:Gen: a general-purpose probabilistic programming system with programmable inference)
研究者によれば、シンプルであること、さらに場合によっては自動化のおかげで、初心者から専門家まで、誰でもGenを容易に利用できる。
「Genを開発した動機の一つは、コンピュータ科学や数学の専門知識が少ないユーザーでも、自動AIにアクセスできるようにすることだった。さらにわれわれは、専門家が簡単かつ迅速に、AIシステムの反復開発やプロトタイピングを行えるようにすることも目指している」(MITのElectrical Engineering and Computer Scienceで博士課程に所属するMarco Cusumano-Towner氏)
研究者は論文で、別のGenプログラムを使って、データ分析が容易であることを紹介した。このGenプログラムは、専門家が通常、データパターンの分析や解釈、予測に使用する高度な統計モデルを自動的に生成する。研究チームはGenを発表する以前から、ユーザーがわずか数行のコードを記述するだけで、財務トレンドや航空旅行、投票パターン、病気の感染拡大など、さまざまな傾向に関する洞察を発見できるようにするための研究を続けてきた。今回のGenのデータ分析はこの取り組みに基づいている。
「Genは、コンピュータビジョンとデータサイエンスにおける多様な用途をカバーするために十分な柔軟性や自動化、効率性を備え、最先端のパフォーマンスを提供する初のシステムだ」(MITのDepartment of Brain and Cognitive Sciencesに所属するVikash K.Mansinghka氏)
ディープラーニング以降のAIの民主化を実現
Googleが2015年にリリースしたオープンソースのライブラリ「TensorFlow」は、初心者か専門家かに関わらず数学をほとんど使わずに、機械学習システムを自動生成できるよう支援する。TensorFlowは現在、広く使われており、AIの「民主化」に役立っている。だが適用範囲が広くない。自動化されており、効率的ではあるものの、ディープラーニング(深層学習)モデルという限られた分野に特化しており、このモデルはさまざまなコストも高い。
現在では、統計モデルや確率モデル、シミュレーションエンジンなど、ディープラーニング以外にもさまざまなAI技術が利用できるようになった。一部の確率的プログラミングシステムは、幾つかのAI技術を十分カバーできる柔軟性を備えているものの、実行効率が不十分だ。
そこで研究チームは、これらの手法のいいとこ取りをすることによって、自動化と柔軟性、高速動作という優れた特徴を全て兼ね備えたシステムを目指した。
「これが実現できれば、TensorFlowがディープラーニングで実現したように、広範なモデリングや推論アルゴリズムの民主化に貢献できるかもしれない」(Mansinghka氏)
確率的AIでは、推論アルゴリズムがデータ演算を実行し、新しいデータに基づいて確率を連続的に調整しながら予測を行う。これにより、最終的に、新しいデータに基づいて予測を行う方法を記述するモデルが得られる。
研究者は、Genを開発するに当たって、既にMITで開発済みの確率的プログラミング言語「Church」で採用された概念を用いた。幾つかのカスタムモデリング言語を、やはりMITで開発された汎用(はんよう)プログラミング言語「Julia」に組み込むことで、Genに至った。これらのモデリング言語は、異なるタイプのAIモデリング手法に最適化されており、全体として汎用性を実現する。
またGenは、最適化や変分推論、特定の確率的方法、ディープラーニングといった多様なアプローチを使用して、推論タスクについて高レベルのインフラを提供する。
IntelがロボットにGenを適用
Genは既にMIT外でユーザーを獲得している。例えば、IntelはMITと協力して、ロボット工学や拡張現実システムで使うIntelの奥行き感知カメラにGenを適用し、3D姿勢推定を進めている。MITのリンカーン研究所は、人道支援と災害対応のための航空ロボット工学において、Genを用いたアプリケーションを開発している。
MITはヒトの知能を再現できるAIを開発する野心的なプロジェクト「Quest for Intelligence」を推し進めている。同プロジェクトに参加する研究にもGenが使われ始めている。例えば、MIT-IBM Watson AI Labプロジェクトの中心的存在だ。1歳半の子どもが持つようなヒトの常識をモデル化することを目的とした国防高等研究計画局の「Machine Common Sense」プロジェクトでもGenが使われている。
他の分野のAI研究者にとってもGenの魅力は大きい。UberのAI担当チーフサイエンティストでバイスプレジデントを務めるZoubin Ghramani氏(ケンブリッジ大学教授でもある)は、Genの研究には加わっていないものの、次のようにコメントしている。
「確率的プログラミングは、ディープラーニングの登場以来、AIのフロンティアで最も有望な分野の一つ。Genはこの分野における重要な進歩であり、確率論的推論に基づくAIシステムのスケーラブルで実用的な実装に貢献するだろう」
Googleの研究責任者で、やはりGenの研究にも参加していないPeter Norvig氏も、Genの研究を称賛している。
「問題を解決しようとしているユーザーはGenを使うことで確率的プログラミングを使用できるようになる。問題に対するより原理的なアプローチが可能になった。さらに(柔軟性があるために)確率的プログラミングシステムの開発者が取り入れた制約に左右されにくい。(例えばC言語のような)汎用プログラミング言語を使うと、プログラマーは新しい問題を効率的に解決するための新しい手法を実現できる。Genを使うと、確率的プログラミングについて同様のことができるのだ」
Genのソースコードは公開されており、Dockerイメージもある。今後、「JuliaCon」(2019年7月、米メリーランド州ボルチモア)や「Strange Loop」(2019年9月、米ミズーリ州セントルイス市)などのオープンソース開発者カンファレンスでも、Genをプレゼンテーションする予定だ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 第1回 TensorFlowとは? 入門連載始動! データフローグラフ、事例、学び方
TensorFlowの概要と適用範囲を説明。最重要な基本概念であるデータフローグラフについて解説する。また、深層学習との関係や、事例、学び方についても紹介する。 - 人工知能(AI:Artificial Intelligence)とは?
用語「人工知能」について説明。人間が行う「知的活動」をコンピュータプログラムとして実現することを指す。 - フェイクニュースの言語パターンを特定、MIT研究チームがAIモデルを開発
MITの研究チームはフェイクニュースを自動検出するシステムを研究。これにより、機械学習モデルが本物の記事と偽の記事の言語パターンを捉えられることが分かった。ただし、「正しい」記事の特徴をつかむ際に課題が残っているという。