ニューラルネットワークの驚異的な機能は、予測不可能な場合に匹敵する場合があります。 現在、数学者は、ニューラルネットワークの形状がその作業にどのように影響するかを理解し始めています。
超高層ビルを設計するとき、最終的にはすべての仕様を満たすことを期待します。つまり、タワーはそのような重量に耐えることができ、一定の強さの地震にも耐えることができます。
しかし、私たちは本質的に現代世界で最も重要な技術の1つを盲目的に設計しています。 さまざまなスキーム、さまざまな設定で遊んでいますが、システムの試用を開始するまでは、何ができるのか、どこで機能しなくなるのか、まったく分かりません。
最先端の人工知能システムの根底にあるのは、ニューラルネットワークの技術です。 ニューラルネットワークは徐々に社会の最も基本的な領域に移行しています。ソーシャルネットワークのニュースフィードから世界について学ぶことを決定し、医師が診断を下すのを助け 、犯罪者が刑務所に送られるかどうかにも影響を与えます。
そして、「私たちが知っていることの最良の説明は、ニューラルネットワークが実際にどのように機能するか、そしてそれらを記述する理論がどうあるべきかについて事実上何も知らないと言うことです」とテキサス大学の数学者、 ボリス・ガニンは言いましたFacebook AI Researchのニューラルネットワーク研究スペシャリスト。
彼はこの状況を、さらに別の革新的な技術である蒸気エンジンの開発と比較しています。 当初、蒸気エンジンは水しか送れませんでした。 その後、蒸気機関車のエンジンとして機能し、今日のニューラルネットワークはおそらくほぼ同じレベルに達しています。 科学者と数学者は、熱力学の理論を開発しました。これにより、エンジン内で何が起こっているのかを正確に理解できます。 そして、最終的に、そのような知識は私たちを宇宙に連れてきました。
「最初は優れたエンジニアリングの成果、次に優れた列車があり、それからこれからミサイルに移行するには理論的な理解が必要でした」とGaninは言いました。
成長しているニューラルネットワーク開発者のコミュニティには、数学的なバイアスを持つ少数の研究者グループがあり、それらがどのように機能するかを説明し、特定の構成のニューラルネットワークを作成した後、特定のタスクを実行できることを確認できるニューラルネットワークの理論を作成しようとしています。
作業は初期段階ですが、過去1年にわたって、研究者はすでに、ニューラルネットワークの形式と機能の関係を詳細に説明するいくつかの科学論文を発表しています。 この作業では、ニューラルネットワークをその基礎まで完全に説明します。 彼女は、ニューラルネットワークが自動車を運転する能力を確認するずっと前に、数字を掛ける能力を証明する必要があることを実証しています。
最高の脳のレシピ
ニューラルネットワークは人間の脳を模倣する傾向があります-彼の作品を説明する1つの方法は、彼が小さな抽象化をより大きな抽象化につなぐと言うことです。 この観点から、思考の複雑さは、犬と鳥の違いを研究するなどのタスクで、思考の根底にある小さな抽象の数と、低レベルの抽象から高レベルの抽象への組み合わせの数によって測定されます。
「人が犬を認識することを学ぶと、4本の足の毛むくじゃらのものを認識することを学びます」と、 Google Brainチームのメンバーであるコーネル大学のコンピューターサイエンスの大学院生であるMaitra Ragu氏は語っています 。 「理想的には、ニューラルネットワークで同様のことができるようにしたいと考えています。」
マイトラ・ラグ
抽象化は自然な方法で人間の脳に始まります。 ニューラルネットワークはこのために機能する必要があります。 脳のようなニューラルネットワークは、「ニューロン」と呼ばれるビルディングブロックで構成され、さまざまな方法で相互に接続されています。 同時に、ニューラルネットワークのニューロンは、脳のニューロンのイメージで作成されていますが、完全に模倣しようとはしません。 各ニューロンは、抽象化の各レベルでニューラルネットワークが考慮する属性または属性の組み合わせを表すことができます。
エンジニアは、これらのニューロンを組み合わせるための多くのオプションを選択できます。 ニューラルネットワークに必要なニューロンの層数を決定する(つまり、その「深さ」を決定する)必要があります。 たとえば、画像を認識するニューラルネットワークを考えてみましょう。 画像はシステムの最初のレイヤーに含まれています。 次の層では、ネットワークのニューロンが画像のエッジを単に認識する場合があります。 次のレイヤーは、線を組み合わせて曲線を定義します。 次のものは曲線を形状とテクスチャーに結合し、最後は形状とテクスチャーを処理して、彼が見ているものに関する決定を下します:毛皮のマンモス!
「アイデアは、各レイヤーが前のレイヤーのいくつかの側面を結合することです。 円は多くの場所での曲線であり、曲線は多くの場所での線です」と、ペンシルベニア大学の数学者であるDavid Rolnik氏は言います。
エンジニアは、ネットワークが抽象化の各レベルで考慮するさまざまな機能の数に対応して、各レイヤーの「幅」も選択する必要があります。 画像認識の場合、レイヤーの幅は、ニューラルネットワークが各レベルで考慮するライン、曲線、または形状のタイプの数に対応します。
ニューラルネットワークの深さと幅に加えて、レイヤー内およびレイヤー間でニューロンを接続する方法の選択、および各接続の重みの選択があります。
特定のタスクを完了することを計画している場合、どのニューラルネットワークアーキテクチャがそれを最良の方法で実行できるかをどのようにして知るのですか? かなり一般的なサンプルルールがあります。 画像認識を伴うタスクの場合、プログラマーは通常、「畳み込み」ニューラルネットワークを使用します。これは、レイヤー間で繰り返されるレイヤー間のリンクのシステムです。 自然言語-音声認識または言語生成-を処理するには、プログラマーがリカレントニューラルネットワークが最適であることを発見しました。 それらのニューロンは、隣接層からだけでなくニューロンと接続できます。
ただし、これらの一般原則以外では、プログラマーはほとんど実験的証拠に頼らなければなりません。彼らは単に1,000の異なるニューラルネットワークを実行し、どれがより良い結果をもたらすかを確認します。
「実際には、これらの選択は多くの場合試行錯誤によって行われます」とGaninは言いました。 「これはかなり複雑な方法です。なぜなら、無限に多くの選挙があり、誰が最良かわからないからです。」
最善の選択肢は、試行錯誤に頼るのではなく、特定のニューラルネットワークアーキテクチャが何を提供できるかについての既存の理解に頼ることです。 最近出版されたいくつかの科学論文は、この方向にこの分野を進めています。
「この作業は、適切なニューラルネットワークを設計するためのレシピ本のようなものを作成することを目的としています。 あなたがそれで何を達成したいかを知っているなら、あなたは正しいレシピを選ぶことができます」とロルニックは言いました。
なげなわ赤い羊
ニューラルネットワークアーキテクチャの初期の理論的保証の1つは、30年前に登場しました。 1989年に、コンピューター科学者は、ニューラルネットワークに含まれるニューロンの数とニューロン間の接続の数に制限がない計算層が1つしかない場合、ニューラルネットワークはあらゆるタスクを実行できることを証明しました。
これは多かれ少なかれ一般的な声明であり、かなり直感的で特に有用ではないことが判明しました。 これは、画像に無制限の数の行を定義できる場合、1つのレイヤーだけですべてのオブジェクトを区別できるということと同じです。 原則として、これは満たされるかもしれませんが、実行に移してください。
今日、研究者は、そのような広くてフラットなネットワークを「表現力豊か」と呼んでいます。理論的には、入力データ(画像など)と出力(画像の説明など)の間の豊富な関係をカバーできるからです。 同時に、これらのネットワークを訓練することは非常に困難です。つまり、これらのネットワークに実際にこのデータを提供させることは事実上不可能です。 また、どのコンピューターよりも多くの計算能力が必要です。
ボリス・ガニン
最近、研究者は反対方向に進むことでニューラルネットワークをどれだけ遠くまで運ぶことができるかを理解しようとしています-狭く(レイヤーあたりのニューロンが少なく)、深く(レイヤーが多く)しています。 認識できるのは100本の異なる線だけかもしれませんが、これらの線のうち100本を10個の異なる形状に組み合わせることができる50個の曲線に変換するために必要な接続により、ほとんどのオブジェクトを認識するために必要なすべてのビルディングブロックを取得できます。
昨年完成した研究で、MITのRolnikとMax Tegmarkは、深さを増やし幅を減らすことで、指数関数的に少ないニューロン数で同じタスクを実行できることを証明しました。 彼らは、シミュレートする状況に100個の入力変数がある場合、1つの層で2,100個のニューロン、または2つの層で2,10個のニューロンを使用することで、同じ信頼性を得ることができることを示しました。 彼らは、一度にすべてのレベルの抽象化をカバーしようとするのではなく、小さなパーツを取り出してそれらをより高いレベルの抽象化で結合することには利点があることを発見しました。
「ニューラルネットワークの深さの概念は、多くの簡単な手順を実行することによって複雑な何かを表現する可能性と関連しています」とRolnik氏は述べています。 「組立ラインのように見えます。」
RolnikとTegmarkは、ニューラルネットワークに単純なタスク(多項式関数の乗算)を実行させることにより、深度の有用性を証明しました。 (これらは、y = x 3 + 1のように、変数が自然度に上げられた方程式です)。 彼らはネットワークを訓練し、方程式の例とその乗算の結果を示しました。 その後、彼らはニューラルネットワークに、これまで見たことのない方程式の乗算の結果を計算するよう指示しました。 より深いニューラルネットワークは、小さなニューロンよりもはるかに少ないニューロンでこれを行う方法を学びました。
そして、乗算が私たちの世界をひっくり返す可能性は低いとはいえ、ロルニックは重要なアイデアがこの作品で説明されたと言います:「浅いニューラルネットワークが乗算さえできないなら、あなたはそれを他のもので信用してはいけません」
デビッド・ロルニク
他の研究者は、最小の十分な幅の問題を調査しています。 9月末、元オクラホマ大学の数学者であり、現在製薬会社サノフィで働いている研究者であるJesse Johnsonは 、幅の不足を何らかの深さで補うことができないことを証明しました。
これを理解するために、フィールド上の子羊を想像してください。しかし、それらをパンクロック子羊にしてください。それぞれがいくつかの色の1つで塗られます。 ニューラルネットワークは、同じ色のすべての羊の周りに境界線を引く必要があります。 本質的に、このタスクは画像の分類に似ています。ニューラルネットワークには一連の画像(多次元空間の点として表されます)があり、同様の画像をグループ化する必要があります。
ジョンソンは、層の幅が入力データの量より小さいか等しい場合、ニューラルネットワークはこのタスクに対処できないことを証明しました。 私たちの羊はそれぞれ、フィールド上の位置の座標xとyの2つの入力データで記述できます。 次に、ニューラルネットワークは各羊を色でマークし、同じ色の羊の周りに境界線を描画します。 この場合、問題を解決するには、レイヤーごとに少なくとも3つのニューロンが必要です。
より具体的には、ジョンソンは、変数の数に対する幅の比率が十分でない場合、ニューラルネットワークが閉ループを描画できないことを示しました。たとえば、すべての赤い羊が牧草地の中央に蓄積した場合、ニューラルネットワークはそのようなループを描画する必要があります。 「レイヤーのどれもが入力測定の数よりも厚い場合、レイヤーの数に関係なく、関数はいくつかのフォームを作成できません」とジョンソンは言いました。
このような作業により、ニューラルネットワークの理論の核が構築され始めます。 これまでのところ、研究者は、アーキテクチャと機能の関係に関する最も単純なステートメントのみを作成することができます。これらのステートメントは、ニューラルネットワークによって解決されるタスクの数と比較して非常に少数です。
したがって、ニューラルネットワークの理論は近い将来に設計のプロセスを変更することはできませんが、コンピューターのトレーニング方法の新しい理論のための青写真が作成されています-その結果は、人が宇宙に入るよりもさらに強くなります。