ディープラーニングを超える新しいAIプログラミング言語Genについて1つの記事で学びましょう

ディープラーニングを超える新しいAIプログラミング言語Genについて1つの記事で学びましょう

AI の急速な発展は多くの人々の学習意欲をかき立てていますが、初心者にとっては大量の手動プログラミングが妨げになっています。コンピューターサイエンスや数学の専門知識があまりない人でも、簡潔なコードを使用して特定の AI アプリケーションを完成させることができるプログラミング言語はあるのでしょうか?

今日は、予測に特化した複雑なモデルと推論アルゴリズムである Gen を推奨したいと思います。文在寅氏とともにその過去と現在を見てみましょう。

Gen以前のAI学習ライブラリ(フレームワーク)

2015 年、Google は、数値計算にデータフロー グラフを使用するオープンソース アプリケーション ソフトウェア ライブラリ TensorFlow (データフロー プログラミングに基づく記号数学システム) をリリースしました。これにより、初心者や専門家は、あまり計算を行わなくても機械学習システムを自動的に生成できるようになります。このプラットフォームは現在広く使用されており、何らかの形でAIの民主化に貢献することが期待されています。

自動化され効率的ではあるものの、その焦点はディープラーニング モデルに限定されており、これは一般に、人工知能の幅広い可能性と比較すると高価で制限があります。

しかし、今日では統計モデルや確率モデル、シミュレーション エンジンなど、多くの AI 技術が利用可能です。他の確率的プログラミング システムの中には、さまざまな AI 技術をカバーできるほど柔軟性が高いものもありますが、効率的に動作しません。

ゲン

これまでの AI アプリケーション開発フレームワークの柔軟性の欠如を考慮して、研究者たちは自動化、柔軟性、効率性を兼ね備えたシステムの開発に取り組んでいますが、Mansinghka 氏 (研究者の 1 人) は、「これが実現できれば、TensorFlow がディープラーニング研究に役立ったのと同じように、より広範なモデリングおよび推論アルゴリズムの使用を民主化できるかもしれません」と述べています。

MITの研究者チームは、人工知能の初心者を育成するとともに、この分野の専門家の進歩を支援する取り組みを行っている。研究者らは、確率ベースの人工知能では推論アルゴリズムを使用してデータを操作し、新しいデータに基づいて確率を継続的に調整して予測を行っていることを発見した。これを行うと、最終的には新しいデータに対して予測を行うことができるモデルが作成されます。

研究者らは、以前の確率的プログラミング システム「Church」で使用されていた概念を基に、MIT で開発された汎用プログラミング言語「Julia」にいくつかのカスタム モデリング言語を組み込みました。各モデリング言語は、異なるタイプの AI モデリング アプローチに合わせて最適化されており、より汎用性が高まります。 Gen は、最適化、変分推論、確率統計、機械学習などのさまざまな方法も使用して、推論タスクのための高レベルのインフラストラクチャを提供します。さらに、研究者らは、効率的に実行できるように最適化の調整も行いました。

一方、今週のCPLDでは、研究者らがGenと呼ばれる新しい確率的プログラミングシステムについて講演した。このシステムでは、ユーザーがコンピュータービジョン、ロボット工学、統計学など、さまざまなAI技術応用分野のモデルやアルゴリズムを記述できる。これらのモデルとアルゴリズムは、複雑な数式を解いたり、高性能なコードを手動で記述したりする作業を置き換えることができる。

Gen を使用する理由

例えば、研究者らは記事の中で、短い Gen プログラミングで 3D の体の姿勢を推測できるが、この複雑なコンピューター ビジョンの推測タスクには、自動システム、人間とコンピューターの相互作用、拡張現実などのテクノロジーの使用が必要であると述べています。舞台裏では、これらのプログラムには、画像レンダリング、ディープラーニング、その他の種類の確率シミュレーションを実行するコンポーネントが含まれています。これらのさまざまな技術を組み合わせることで、一部の研究者によって開発された以前のシステムよりも高い精度と速度でタスクを実行できるようになります。

調査によると、Gen は使い方が簡単で、一部のユースケースでは自動化されているため、初心者と専門家の両方にとって非常に使いやすいツールであることがわかっています。 「このプロジェクトの動機の 1 つは、自動化された AI を、コンピューター サイエンスや数学の専門知識があまりない人でも利用しやすくすることです」と、電気工学およびコンピューター サイエンス学部のマルコ クスマノ タウナー博士は述べています。「生産性も向上させたいと考えています。つまり、専門家が AI システムを高速で反復してプロトタイプ化しやすくすることです。」

研究者らはまた、データ内の根本的な傾向を分析、説明、予測するために専門家が通常使用する複雑な統計モデルを自動的に生成する別の Gen プログラムを使用して、Gen がデータ分析を簡素化できることを実証しました。正確な予測を行うために大量の手作業によるコーディングを必要とした以前のシステムとは異なり、このシステムは研究者のこれまでの研究に基づいており、ユーザーはわずか数行のコードを記述するだけで、金融、航空旅行、投票パターン、病気の蔓延の傾向を明らかにし、理解することができます。

「Gen は、コンピューター ビジョンとデータ サイエンスの幅広いユース ケースで最先端のパフォーマンスを実現する、柔軟性、効率性、自動化を備えた初のシステムです」と、確率的コンピューター プログラムを率いる脳認知科学部の研究者、Vikash K. Mansinghka 氏は述べています。

「確率的プログラミングは、機械学習の登場以来、AIの最も有望な分野の一つです」と、ウーバーの主任科学者でAI担当副社長であり、このプロジェクトには関わっていないケンブリッジ大学の教授、ズービン・ガフラマニ氏は述べた。「Genはこの分野における大きな進歩であり、確率的推論に基づくAIシステムを拡張可能かつ実用的なものにするのに役立つでしょう。」

グーグルの研究ディレクターで、この研究には関わっていないピーター・ノーヴィング氏もこの研究を称賛し、「Gen は、確率的プログラミングを使用する問題解決者が、確率的プログラミング システムの設計者の選択に制約されることなく、問題に対してより原則的なアプローチをとることを可能にします」と述べた。さらに、「汎用プログラミング言語が成功したのは、プログラマーがタスクを達成しやすくすると同時に、プログラマーがまったく新しいものを作成して新しい問題を効率的に解決できるようにしたからです。Gen は確率的プログラミングにも同じことをもたらします」と付け加えた。

「ゲン」の本質を探る

これほど多くの基礎を築いた上で、ゲンはどうやってこれを達成したのでしょうか?

以下の記事では、論文の第 3 部と第 4 部を例に、実装メカニズムを紹介します。論文内の退屈な数式による推論は省略し、まず原理を説明します。興味のある読者は、元の論文を読むことができます。

オリジナルリンク:

http://delivery.acm.org/10.1145/3320000/3314642/pldi19main-p645-p.pdf?ip=118.144.138.198&id=3314642&acc=OA&key=4D4702B0C3E38B35%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35%2EE959BD37CA561672&__acm__=1562839037_72bcb9e83ef52bd8c297ff545e867515

生成関数インターフェイス (GFI) は、モデリング言語と特定の推論アルゴリズム間のインターフェイスを実装するために使用される「ブラック ボックス」です。生成関数は、モデリング言語エディターによって生成されます。具体的な実装プロセスは次のとおりです。

  1. ユーザーは @gen 構文を使用して、実装する必要がある関数を記述します。
  2. 構文記述を動的モデリング言語コンパイラに送信して生成関数を生成します。
  3. 生成関数による GFI の実装

以下のことを理解するために、まず 2 つの名詞を紹介します。

  • 選択マップは、アドレスと実際の値の間のマッピングです
  • 生成関数はタプルとして表現されます: G = (X, Y, f ,p,q)

インターフェースメソッド

この論文では、次の 5 つのインターフェース メソッドを紹介しています。

  1. 生成 (制約のトレース) - パラメーター: u (選択マップ)、x - マッピング セット u とパラメーター x を入力として受け取り、結果を返します。
  2. 提案パラメータx-return t(選択マップ), 重みw;
  3. assess(選択マップの尤度を評価する): このメソッドは、生成関数によって生成された特定の選択マップ (u) の尤度を評価および計算します。
  4. 更新: 更新メソッドは、実行トレースの (t, x) のランダム選択を調整します。これは、MCMC や MAP 最適化などの反復推論アルゴリズムで一般的なパターンです。
  5. choice_gradients: choice_gradients(differentiation) このメソッドは、パラメータ x の値および/または選択されたランダム値を追跡する対数確率の勾配を計算します。

具体的な実行プロセスについては、下図の foo() 関数のトレースと選択マップの生成プロセスを参照してください。

システム概要

以下では、Gen のプログラミング スタイルを説明するために、回帰タスクを例に挙げます。

図aでは、データセット(x, y)が与えられ、xとyの関係を推測し、外れ値を検出する必要があり、これは典型的な回帰問題です。図bは@gen構文によって生成された記述パターンです。図cは図bの生成されたアドレス空間です。図fとgは、「Julia」(前述のMITが開発した汎用プログラミング言語)で実装された2つのユーザープログラムを示しています。各プログラムはタスクを解決するために異なるアルゴリズムを実装しており、図hに示すように、結果は異なる効率を示しています。

実験室外の「Gen」:Genの産業応用

ここまで述べてきましたが、Gen はオープンソースなのでしょうか?業界での使用例はありますか?以下をご覧ください:

外部のユーザーは、すでに AI 研究のために Gen を活用する方法を見つけています。たとえば、Intel は MIT と協力して、ロボット工学や拡張現実システム向けの深度検知カメラを使用し、Gen を使用して 3D ポーズ推定を実行しています。 MIT リンカーン研究所は、人道救助や災害緊急対応への応用を実現するために、航空ロボットの分野で Gen の応用にも協力しています。

MIT は人工知能の研究に力を入れており、Gen は野心的な人工知能プロジェクトで使用され始めました。たとえば、Gen は MIT と IBM の Watson AI ラボのプロジェクトの中心であり、米国国防総省の高等研究計画局も、18 か月の子供が持つ人間の常識をシミュレートすることを目的とした進行中の Machine Common Sense プロジェクトで Gen を使用しています。マンシンカ氏はこのプロジェクトの主任研究者の一人でもある。

「Gen により、研究者は初めてさまざまな AI 技術を簡単に統合できるようになりました」とマンシンカ氏は言う。「この段階で人々が何が可能かを見出すかは興味深いところです。」

Gen のオープンソース コードは公開されており、Strange Loop や JuliaCon などの今後のオープンソース開発者カンファレンスでデモが行われる予定です。この作業は、米国国防高等研究計画局 (DARPA) によっても部分的にサポートされています。

<<:  データセキュリティの向上における人工知能の役割

>>:  考えてみましょう: なぜ AI が必要ないのでしょうか?

ブログ    
ブログ    
ブログ    

推薦する

機械学習は創造的な仕事に役立つ

【51CTO.com クイック翻訳】 [[397384]] [序文]直感に反するように聞こえるかもし...

...

このレポートを読めば、人工知能に関するあなたの常識は基本的に正しいものとなるでしょう。

[[266878]]中国における人工知能に関する議論の多くは体系化されておらず、断片的であり、人工...

AI導入における主な障壁とその解決策

COVID-19 パンデミックにより、企業はデジタル変革の取り組みを数か月、場合によっては数年も加速...

マスク氏は5年以内に人間の言語を無意味にするだろうと言っているが、今回は狂気ではないかもしれない

イーロン・マスク氏は、わずか5年で人間の言語を無意味にすることができる技術に取り組んでいると述べてい...

...

2020年に人工知能がIT業界を変える

21 世紀は人類史上刺激的な時代であり、人々の日常生活に技術の進歩が起こっています。今では、患者の健...

「公平性」、人工知能はこれを達成できるのか?

2020年の東京オリンピックはこれまで以上に盛り上がっています。 7月28日に行われた男子体操個人...

AI革命はネットゼロデータセンターに終止符を打つのでしょうか?

これらの施設は重要であるにもかかわらず、あまり理解されていません。しかし、最近ではデータセンターに注...

...

ホワイトハウスは開発者にCとC++を放棄するよう求める声明を発表した。メモリの安全性のためにRustが「選ばれた」

最近、ホワイトハウスの国家サイバースペース局長室(ONCD)は、「基本的な構成要素への回帰:安全なソ...

...

MIT の驚くべき証明: 大きな言語モデルは「世界モデル」ですか?アンドリュー・ン氏の視点が再び確認され、LLMは空間と時間を理解できる

大きな言語モデルの中には世界モデルがあるのでしょうか? LLM には空間感覚がありますか?そして、こ...

...

...