見出し画像

イリヤ・サツケヴァー | 職場を変革するAI駆動ツール | 生産性と効率性の向上

皆さん、こんにちは。ご紹介ありがとうございます。UMESからこのイベントへの招待を受けたとき、とてもワクワクしました。講演者リストを見て、「素晴らしい、参加して何か話そう」と思いました。ところが問題に直面しました。OpenAIで行っている技術的な仕事の多くについて、実際には話せないのです。そこで、今何について話そうかと本当に頭を悩ませました。
最近、私はAIアラインメントに関する研究に全ての焦点を当てるようになりました。そこではとてもクールな結果を示すことができるのですが、まだその時期ではありません。ですので、「次の講演のためにとっておこう」と思いました。では今回の講演に何がふさわしいだろうか、と考えました。そして思いついたのは、OpenAIで何年も前、2016年にさかのぼる非常に古い結果についてお話しすることです。それは教師なし学習に対する私の考え方に大きな影響を与えたものです。皆さんとそれを共有したいと思います。
この時点で、皆さんはすでにそれらを当たり前だと思うかもしれません。でも、そうでない部分もあるかもしれません。少なくとも、興味深く感じていただける可能性は小さくありません。ですので、期待値を控えめに設定し、それを上回ることを願っています。
さて、教師なし学習の理論とは、そのようなものがどのように存在し得るのでしょうか。教師なし学習について話す前に、学習一般について話したいと思います。学習とは何か、そしてなぜ学習は機能するのか、そもそもなぜ学習は機能すべきなのか、そしてなぜコンピューターが学習できるはずなのか、これらの疑問について考えてみましょう。
私たちは今、ニューラルネットワークが学習することを当たり前のように思っていますが、数学的になぜそうなのでしょうか。なぜデータには、機械学習モデルが捉えられる規則性があるのでしょうか。これは明白な質問ではありません。
機械学習において何年も前に複数の人々によって行われた重要な概念的進歩の一つは、教師あり学習の発見と形式化でした。これは、PAC学習や統計的学習理論という名前で知られています。教師あり学習の良い点は、学習が必ず成功する正確な数学的条件を与えてくれることです。
あるデータ分布からのデータがあれば、低い訓練損失を達成し、自由度の数が訓練セットよりも小さければ、低いテスト誤差を達成することが保証されると言われています。つまり、「もし私の関数クラスから低い訓練誤差を達成する関数を見つけることができれば、学習は成功する」と言える数学的条件があるのです。これは非常に理にかなった数学的なもので、私たちは推論することができます。だからこそ教師あり学習は簡単なのです。
そして、私が単純で優雅だと思った定理がいくつかありました。おそらく皆さんはこのような定理を見たことがあるでしょう。もし知っていれば、「ああ、あれね」と言うでしょうし、知らなければ30秒では説明できませんが、5分あれば説明できます。
これらは複雑ではありません。関数クラスにある関数の数があり、少なくとも1つの関数について訓練誤差がテスト誤差から大きく離れる確率があります。そこには数学がありますが、その数学は単純です。わずか3行の数学で、教師あり学習のすべてを証明できるのです。
これはとても素晴らしいことです。教師あり学習は比較的よく理解されています。なぜ成功しなければならないかを知っています。だから私たちは自信を持って大規模な教師あり学習データセットを収集し、モデルが改善し続けることを確信できるのです。これが教師あり学習の話です。
そして、ここで非常に重要な点を述べるのを忘れていました。テスト分布と訓練分布は同じである必要があります。もしそれらが同じであれば、教師あり学習の理論が適用され、成功します。
概念的には、これは単純です。なぜ教師あり学習が機能するのか、なぜ音声認識が機能するはずなのか、なぜ画像分類が機能するはずなのかについて、答えがあります。なぜなら、それらはすべて教師あり学習に還元され、教師あり学習には数学的保証があるからです。
これはとても素晴らしいことです。ここで、VC次元についての小さな補足をしたいと思います。興味のある方のために、次の30秒ほど聞き流してもらっても構いません。
統計的学習理論に関する多くの文献は、VC次元を重要な要素として強調しています。しかし、VC次元が発明された主な理由、実際唯一の理由は、無限の精度を持つパラメータを扱えるようにするためでした。VC次元は、無限精度のようなパラメータを扱うために発明されたのです。
例えば、線形分類器を使う場合、各パラメータは無限の精度を持っています。しかし、現実には、私たちのすべての浮動小数点数は有限の精度を持ち、その精度は縮小しています。コンピュータによって実装される関数の数は実際には小さく、この小さな公式に還元できます。これは教師あり学習から得られるほぼすべての最良の境界を与えてくれます。
私はこれがクールだと思います。証明の行数が少なくなるので、魅力的だと感じます。
さて、教師なし学習について話しましょう。まず、教師なし学習とは何でしょうか。教師あり学習は、「ここでこれをやり、あそこでそれをやる」というデータがあり、訓練誤差が低く、関数クラスのパラメータの自由度よりも多くの訓練データがあれば、教師あり学習が成功すると言えます。
しかし、教師なし学習とは何でしょうか。教師なし学習について数学的に何が言えるでしょうか。少なくとも私は、教師なし学習について満足のいく説明を見たことがありません。直感的には推論できますが、数学的に推論できるでしょうか。
ちょっと文脈を説明しますと、教師なし学習の古い夢があります。この夢は実現されましたが、経験的に実現されたのです。私たちは経験的結果を少し超えて考えることができるでしょうか。その考えは、ただ画像を見たり、テキストを見たりするだけで、何をすべきか教えられることなく、データに存在する真の隠れた構造を発見し、それが何らかの形で役立つというものです。
なぜそれが起こるべきなのでしょうか。起こるべきなのでしょうか。起こることを期待すべきなのでしょうか。教師あり学習の保証に似たものは何もありません。教師あり学習の保証は、「低い訓練誤差を得れば、学習は素晴らしい成功を収めるだろう」と言います。教師なし学習では、そうではないように見えます。
80年代にはすでに人々がこれについて話していました。ボルツマンマシンはすでに教師なし学習について話していました。小規模では教師なし学習はうまく機能しませんでしたが、古い考えはそこにありました。ノイジーオートエンコーダーを覚えている人もいるでしょう。それは今日の拡散モデルのようなものです。ほんの少しのひねりを加えただけです。
言語モデルも、その時代には素晴らしいサンプルを生成しましたが、その教師なし学習の性能は今日のものほど印象的ではありませんでした。しかし、私はこれが混乱する理由を説明したいと思います。なぜ混乱するのでしょうか。
ある種の再構成誤差や、ある種のノイズ除去誤差、あるいはある種の自己教師あり学習誤差を最適化すると言います。一つの目的関数を最適化するのです。そう、私はそう言いましたが、あなたは別の目的関数を気にしています。そうすると、良い教師なし学習の結果が得られると期待する理由はないのではないでしょうか。
あるいは、経験的には得られていますが、一つの目的関数を最適化し、別の目的関数を気にしているのに、それが役立つというのは、まるで魔法のように思えませんか。どうしてそんなことが可能なのでしょうか。魔法です。
もう一つ付け加えると、教師なし学習は... まあ、90%正しいことを言おうとしています。教師なし学習は、入力分布の構造を学習し、それが役立つと言えるかもしれません。しかし、一様分布から学習した場合、すべての教師なし学習アルゴリズムは失敗するでしょう。それについてどのように考えるべきでしょうか。
何が言えるでしょうか。仮定を立てる必要がありますか。どのような仮定でしょうか。教師なし学習について考える一つの方法を提示したいと思います。私はそれを興味深いと思っていますが、皆さんも興味深いと感じるかもしれません。一緒に見てみましょう。
教師あり学習と同様に、必ず機能する教師なし学習の方法を一つお見せしたいと思います。これはあまり広く知られていない方法です。教師なし学習の主流の方法にはなりませんでしたが、教師あり学習と同様に必ず機能するという素晴らしい特徴があります。
どのような不思議な教師なし学習の手順であれば、入力にラベルを与えられていないにもかかわらず、必ず機能するのでしょうか。それは分布マッチングです。分布マッチングとは何でしょうか。
データがあるとします。XとYのデータソースがあります。それらの間に対応関係はありません。ただ二つのデータソース、XソースとYソースがあるだけです。言語1と言語2、テキストと音声、対応関係はありません。
次のような基準を考えてみましょう。f(X)の分布がYの分布に似ているような関数fを見つけることです。これはfに対する制約です。例えば、機械翻訳や音声認識の場合、この制約は意味を持つかもしれません。
長い文があって、英語の文の分布を取り、それに関数fを適用し、フランス語の文の分布に非常に似たものを得られると言われたら、fについての真の制約を見つけたと言えるでしょう。XとYの次元が十分に高ければ、それは多くの制約を与えてくれるでしょう。実際、その情報からfをほぼ完全に復元できるかもしれません。
これは、教師あり学習が保証されているのと同じ意味で、依然として機能することが保証されている教師なし学習の例です。また、置換暗号のような単純な暗号化もこの枠組みに適合します。
私は2015年にこれを独立して発見し、とても魅了されました。教師なし学習について数学的に意味のあることが言えるかもしれないと思ったからです。しかし、この設定はまだ少し人工的です。実際の機械学習の設定はこのようではありませんし、私たちが教師なし学習について考えたい方法もこれとは異なります。
ここで、私が言いたかった本題をお話しします。教師なし学習について考える提案された方法は、教師あり学習と同等のものとして扱います。数学的に何をしているのか、教師なし学習が良いことをどのように確信できるのかについて説明します。
圧縮が救いの手となります。明らかに、圧縮は予測であることがよく知られています。むしろ、明らかではありませんが、よく知られています。すべての圧縮器は予測器になり得ますし、その逆も成り立ちます。すべての圧縮器とすべての予測器の間には一対一の対応関係があります。
しかし、教師なし学習について考える目的のためには、圧縮の言語がいくつかの利点を提供すると私は主張します。少なくとも私にとってはそうでした。おそらく皆さんにとってもそうかもしれません。
次の思考実験を考えてみましょう。この思考実験が最も重要なスライドです。XとYという二つのデータセットがあるとします。これらは巨大なハードディスク上の二つのファイルです。そして、データを入力として受け取り、圧縮されたオブジェクトを出力する非常に優れた圧縮アルゴリズムCがあるとします。XとYを連結して一緒に圧縮するとどうなるでしょうか。
十分に優れた圧縮器は何をするでしょうか。私の答えは直感的に、X内に存在するパターンを使ってYを圧縮し、その逆も行うということです。同じことを予測について言うこともできますが、なぜか圧縮について言う方が直感的です。
これが私たちの手がかりです。次のような方程式を立てることができます。圧縮が十分に優れていれば、つまり本当に素晴らしい圧縮器であれば、巨大なファイルの連結の圧縮は、二つのファイルを別々に圧縮したものよりも悪くならないはずです。連結によって得られた追加の圧縮は、圧縮器が気づいた何らかの共有構造です。圧縮器が優れているほど、より多くの共有構造を抽出します。そのギャップが共有構造、つまりアルゴリズム的相互情報量です。
これは興味深いと思いませんか。教師あり学習のタスクのデータがXで、教師なし学習のタスクがYであるとすると、突然、X内のパターンがYを助けようとする数学的な理由が得られます。
また、これが分布マッチングをどのように一般化するかにも注目してください。分布マッチングの場合、Xが言語1、Yが言語2で、ある単純な関数fが一方の分布を他方に変換すると言われれば、優れた圧縮器はそれに気づいて利用し、おそらく内部的にこの関数を復元しようとするでしょう。これはとてもクールだと思います。私たちは一周回って元に戻ってきました。
では、これをどのように形式化すればよいでしょうか。教師なし学習の形式化はどうなるでしょうか。考えてみましょう。
機械学習アルゴリズムAを考えてみましょう。ここで、以下では少し大雑把に圧縮と予測を互換的に使用します。アルゴリズムAがYを圧縮しようとしていて、Xにアクセスできるとします。XはファイルHONTで、Yはファイル2です。機械学習アルゴリズム、つまり圧縮器にはYをできるだけよく圧縮するという目標があり、適切にXをプローブすることができます。
私たちは、この特定のアルゴリズムを使用することの後悔が何であるかを自問することができます。ここでどこに向かっているかがわかるでしょう。何に対する後悔でしょうか。十分にうまくやれば、つまり低い後悔があれば、このラベルなしデータから可能な限りの助けを得たことになります。このラベルなしデータは可能な限り私を助けてくれました。そして、私は後悔していません。誰か他の人がより良い圧縮アルゴリズムを使って利用できたかもしれない予測の価値を放置したとは感じていません。
これが意味することです。特に、もし教師なし学習のデータセットに私のタスクを助ける情報があれば、誰も私以上にうまくそれを利用することはできなかったということです。私は教師なし学習データから恩恵を受ける最高の仕事をしたのです。
これが教師なし学習について考えるための一歩前進だと思います。教師なし学習のデータセットが実際に有用かどうかはわかりません。それは非常に有用かもしれませんし、答えを持っているかもしれません。あるいは、完全に無用で一様分布かもしれません。しかし、低い後悔を持つ教師なし学習アルゴリズムがあれば、それが最初のケースなのか2番目のケースなのかを言うことができます。私は最善を尽くしたと知っています。私は教師なし学習データから恩恵を受ける最善の努力をしたと知っています。そして、誰も私以上にうまくできなかったのです。
ここで、理論の世界に少し寄り道をしたいと思います。これは少し難解かもしれませんが、興味深いと思います。究極の圧縮器としてのKolmogorov複雑性は、究極の低後悔アルゴリズムを与えてくれます。これは実際にはアルゴリズムではありません。計算可能ではないからです。しかし、すぐにその意味がわかるでしょう。
まず、コンテキストとして、Kolmogorov複雑性をご存じの方はどれくらいいますか。約50%ですね。これは1分で説明できるような簡単なものです。ですので、簡単に説明します。
例えば、私があなたにデータを与えたり、あなたが私にデータを与えたりしたとします。そして、私はそれを圧縮しようとします。そのデータを出力する可能な限り最短のプログラムを与えることで圧縮します。存在する可能な限り最短のプログラムで、それを実行すればあなたのデータが出力されるのです。はい、その通りです。Xを出力する最短のプログラムの長さです。
直感的に、この圧縮器がかなり優れていることがわかります。なぜなら、次の定理を証明できるからです。この定理も実際にはとても簡単に証明できます。あるいは、感じることは簡単で、一度感じれば、私が証明が簡単だと言うのを信じることができるでしょう。
基本的に、Kolmogorov圧縮を使って文字列を圧縮すると、圧縮の品質について非常に低い後悔を持つと言えます。この結果を証明できます。文字列X、つまりあなたのデータセット、データベース、何でも構いませんが、Xを出力する最短のプログラムは、あなたの圧縮器が出力する必要があったものよりも短く、さらにあなたの圧縮器がデータを圧縮した程度に、あなたの圧縮器を実装するのに必要なコードの文字数を加えたものよりも短いのです。
直感的にこれが意味をなすことがわかります。シミュレーション引数ですね。シミュレーション引数は、あなたが「私には本当に素晴らしい圧縮器Cがあります」と言えば、私は「素晴らしい、それはコンピュータープログラムとして提供できますか」と答えます。そのコンピュータープログラムをKに与えれば、Kはあなたの圧縮器を実行します。なぜなら、Kはコンピュータープログラムを実行するからです。ただし、プログラムの長さの分だけ支払う必要があります。
詳細は省きますが、私はその感覚を伝えたと思います。Kolmogorov複雑性、Kolmogorov圧縮器は他のコンピュータープログラムをシミュレートできます。これも計算可能でない理由です。すべてのコンピュータープログラムをシミュレートする自由を感じているからです。しかし、これは存在する最高の圧縮器です。そして、私たちは教師なし学習のための優れた圧縮について話していました。
ここで、Kolmogorov複雑性、Kolmogorov圧縮器を一般化して、サイド情報を使用できるようにしましょう。もっと詳しく説明します。このポイントは重要なので、何度か繰り返します。
明らかに、Kolmogorov圧縮器は計算可能ではありません。決定不能です。なぜなら、すべてのプログラムを検索するからです。しかし、100層のニューラルネットのパラメータ上でSGDを実行すると、自動的にある量のメモリと一定のステップ数を持つコンピューター上でプログラム検索を行っているようなものだということをご存知でしたか。それは一種のミクロミクロミクロファルネットのようなものです。その類似性を感じませんか。それは一種の魔法のようなものです。
ニューラルネットワークは小さなプログラムをシミュレートできます。それらは小さなコンピューターです。回路はコンピューターです。計算機械です。そしてSGDはプログラムを検索し、深層学習のすべてはSGDの奇跡の上に成り立っています。実際にデータからそれらの回路を見つけることができるのです。したがって、私たちはミニチュアKolmogorov圧縮器を計算できます。そして、シミュレーション引数がここにも適用されます。
ちなみに、このF HON事実を言及したいと思います。より良いニューラルネットワークアーキテクチャを設計しようとしたことがあるでしょうか。もしそうなら、それがかなり難しいことに気づくでしょう。「このコネクションを追加し、あのコネクションを追加し、これとそれを修正しよう」と言います。なぜ難しいのでしょうか。シミュレーション引数です。新しいアーキテクチャは、古いアーキテクチャによって非常に簡単にシミュレートできるからです。できない場合を除いては。そのような場合は稀で、その稀な場合に大きな改善が見られます。
例えば、小さなRNNからTransformerに切り替えた場合です。RNNには隠れ状態というボトルネックがあるので、Transformerを実装するのは難しいです。しかし、もし私たちが非常に大きな隠れ状態を持つRNNを設計する方法を見つけていたら、おそらくそれはTransformerと同じくらい優れたものになっていたでしょう。
これが、私たちが形式的な世界からニューラルネットワークの世界に切り替わる際のつながりです。その類似性が見えてきましたね。
条件付きKolmogorov複雑性は教師なし学習の解決策です。基本的に同様の定理を証明できます。K(Y|X)が何であるか定義しませんでしたが、それはXをプローブすることができる場合にYを出力する最短のプログラムの長さです。そして、同じ結果を証明できます。
これが定義上、教師なし学習の解決策であることがすぐにわかります。これを使えば、誰も自分以上に教師なし学習をうまくできないと確信して安心して眠ることができます。文字通りそういうことです。
これが教師なし学習の究極の低後悔解決策です。ただし、計算可能ではありません。しかし、私はこれが有用な枠組みだと思います。ここでは、例ではなくデータセットに条件付けています。この方法は、YをXデータセットことです。
これが教師なし学習の解決策です。成功です。そして、少し時間を割いて話す必要がある小さな技術的な問題が一つあります。私たちは、この条件付きKolmogorov複雑性について話していました。つまり、一つのものを圧縮しようとしながら、別のものにアクセスできる圧縮器について話していました。
これは、少なくとも今日の時点では、大規模なデータセットを扱う機械学習の文脈では少し不自然です。大規模なデータセットに適合させることはできますが、真の意味でそれに条件付けることはまだできません。
この結果は、教師あり学習タスクYについて予測を行うことを気にかけている場合、XとYを連結して圧縮する古典的なKolmogorov圧縮器を使用することが、条件付き圧縮器を使用するのと同じくらい良いということを示しています。
私が今言ったことには、もっと詳細や微妙な点がいくつかありますが、もし誰かが興味があれば、オフラインで話し合うことができます。しかし、基本的には、以前のスライドでは条件付きKolmogorov圧縮器を使って教師なし学習を解決できると言っていましたが、これは通常のKolmogorov圧縮器も使えるということを示しています。すべてのデータを取り、すべてのファイルを連結し、それらを圧縮すれば、教師あり学習タスク、つまりあなたが気にかけているタスクについて素晴らしい予測ができるのです。
これが真実である理由についてはいくつかの直感があります。この結果を証明するのは少し難しいので、ここでは行いません。そして、はい、教師なし学習の解決策は、すべてをKolmogorov複雑性に、つまりKolmogorov圧縮器に与えるだけです。
最後に言及したいのは、この種の結合圧縮が、過剰に適合しない場合、最尤推定であるということです。データセットがあれば、パラメータに対する尤度の和がデータセットを圧縮するコストになります。パラメータを圧縮するコストも支払う必要がありますが、2つのデータセットを圧縮したい場合、問題ありません。単にデータセットに、つまりあなたの訓練セットにより多くのポイントを追加し、和にさらに項を加えるだけです。
この結合圧縮は機械学習の文脈では非常に自然なものです。だからこそ、「はい、条件付きKolmogorov複雑性があります」と言い、そして完全に擁護することなく主張を立てました。しかし、通常の「すべてを圧縮する」Kolmogorov複雑性も機能すると言うことは可能です。これは私にとって優雅に思えます。
なぜなら、よく見れば、これが私たちのニューラルネットワークが行っていることを説明していると言えるからです。大きなニューラルネットワーク上のSGDは、私たちの大規模なプログラム検索であり、より大きなニューラルネットワークはKolmogorov圧縮器をより良く近似していきます。
だからこそ、私たちは大きなニューラルネットを好むのかもしれません。なぜなら、予測価値の抽出に関する限り、本当に後悔のないKolmogorov圧縮器の到達不可能な理想に近づいていくからです。私たちは、より大きく、より大きなニューラルネットを訓練することで、より少ない後悔を持ちたいのです。
さて、これがGPTモデルにどのように適用されるかについてですが、この理論がGPTモデルにも適用されると主張します。ただし、GPTモデルに関して少し厄介なのは、その振る舞いの理論が圧縮や教師なし学習に言及することなく説明できることです。
単にインターネット上のテキストの条件付き分布だと言えばいいのです。学習は、繰り返しパターンのある文書を想像してください。そのパターンはおそらく続くでしょう。したがって、GPTモデルの振る舞い、少なくともそのフューショット学習の振る舞いは、直感的にこの理論に言及することなく説明できます。
そこで、この理論の直接的な検証を他の分野で見つけることができれば良いと思いました。例えば、視覚の分野ではどうでしょうか。ピクセルがあります。ピクセルでこれを行えば、良い教師なし学習につながることを示せるでしょうか。答えは、はい、できます。
これは2020年に行った研究で、iGPTと呼ばれています。これは高価な概念実証であり、実用的な手順になることを意図していませんでした。非常に優れた次のステップ予測器があれば、素晴らしい教師なし学習の価値が得られることを示すことを目的とした論文でした。そして、それは画像領域で証明されました。
画像領域では、次のように説明します。画像があり、それをピクセルのシーケンスに変換します。各ピクセルには離散的な強度値が与えられるべきです。そして、次のピクセル予測を行うだけです。同じTransformerを使用します。それだけです。
これは単なる次のトークン予測とは異なります。なぜなら、これは尤度を最大化するからです。したがって、圧縮します。そして、一つの即座の結果が見られます。
これらはCIFAR-10に関する結果です。異なるサイズのモデルがあります。これは教師なし学習タスク、つまりピクセル予測タスクにおける次のステップ予測精度です。そして、これは線形プローブ精度です。線形プローブとは、ニューラルネット内の最適な層を選び、線形分類器を適合させ、その性能を見ることです。
これらの素晴らしい曲線が得られ、それらはますます似てきます。これはまさに望んでいたものです。機能しているのです。次のワード予測と同じ種類の次のピクセル予測、単なるピクセル予測ではなく、次のピクセル予測が、より良い、より良い教師なし学習につながるのです。私はこれがとてもクールだと思いました。
私たちはこれを様々な程度にスケールアップし、確かに合理的に学習することを示しました。教師なし学習と、当時の最高の教師なし学習の間のギャップに近づきましたが、完全には埋めることはできませんでした。ImageNetでは明らかにスケールしているように感じられ、計算の問題だと思われました。
なぜなら、これらのものは大規模な高解像度画像を使用しますが、私たちは当時としては巨大な、今日の基準では小さな60億パラメータのTransformerで、わずか64x64の画像を使用したからです。
つまり、大規模な画像データセットで教師なし次のピクセル予測を行い、ImageNetで線形プローブを適合させると、強力な結果が得られるのです。はい、それはクールです。CIFAR-10では99%の精度を達成しました。それは素晴らしかったです。2020年は異なる時代でしたが、クールでした。
線形表現について、いくつかのコメントで締めくくりたいと思います。圧縮理論が好きな理由は、長い間教師なし学習について厳密に考えることができないことが気になっていたからです。今では、少なくともある程度は可能だと主張します。まだ多くの手振りが必要ですが、以前よりは少し減ったかもしれません。
しかし、なぜ表現が線形分離可能であるべきかについては説明していません。線形プローブが機能するべき理由を説明していません。線形表現は常に発生し、その理由は深遠でなければなりません。いつかそれを明確に表現できるかもしれません。
興味深いと思ったのは、これらの次のピクセル予測モデル、自己回帰モデルが、BERTよりも優れた線形表現を持っているように見えることです。青い精度は自己回帰対BERTです。なぜそうなのかはわかりません。というか、推測はできますが、それらの線形表現が形成される本当の理由について、より深い理解を得られれば良いと思います。
はい、これで終わりです。ご清聴ありがとうございました。[拍手]
人間: 推測を教えていただけますか?
アシスタント: はい、推測についてお話しします。基本的に、次のピクセル予測を行っている場合、すべての前のピクセルから次のピクセルを予測しているので、長期的な構造を見る必要があります。
一方、BERTの場合、ベクトルがあり、例えば25%のトークン(この場合はピクセル)を削除したとします。そうすると、どんな予測でも、過去と未来を少し見るだけでかなりうまくできてしまいます。
つまり、すべての難しい予測タスクを取り除くか、それらをずっと簡単にしてしまうのです。次のピクセル予測における最も難しい予測タスクは、BERT予測の場合の最も難しい予測タスクよりもずっと難しいのです。
これは一つの議論です。もしかしたら、少し考えてこの仮説をテストする実験を設計できるかもしれません。はい、これが推測です。より堅牢な2D版の次のピクセル予測はありますか?
より堅牢というよりも、ニューラルネットワークを異なる入力に確率を割り当てる確率モデルに変換するものなら何でも、そうだと言えるでしょう。次のトークン予測を行う他の大きな方法は拡散モデルです。
高品質な画像生成に使用される拡散モデルは、実際には入力の尤度を最大化しません。それらは異なる目的関数を持っています。しかし、最も元々の定式化は尤度の最大化です。
ちなみに、拡散モデルは私の...というよりも、拡散モデルもBERTと同じ理由で、次のトークン予測モデルよりも悪い表現を持つはずだという主張に対する反論です。
ですので、これはさらに私の心の中で、線形表現が形成される原因についての謎を深めています。
人間: ありがとうございます。Kolmogorov複雑性とニューラルネットワークの類似性が気に入りました。一種の不一致があるように思える点が一つあります。ニューラルネットワークには訓練ダイナミクスがあり、データの順序が重要です。Kolmogorov複雑性の場合、すべてのコンピュータープログラムを取ると、データの順序は明らかに関係ありません。訓練の初期に学習された単純なヒューリスティックスや特徴が、訓練の後期まで残っている可能性があります。この観点からどのように考えればよいでしょうか?
アシスタント: はい、その通りです。類推は完璧ではありません。あなたが説明した方法で、類推が最も崩れるのは探索手順においてです。これがまさにあなたが言及していることです。
データの順序が重要なのはなぜかというと、私たちが確率的勾配降下法(SGD)という非常に特定の探索手順を使用しているからです。一方、Kolmogorov圧縮器は、毎回すべてを最初から列挙するという無限に高価な探索手順を使用します。
つまり、この特定の類推を使用する際には注意が必要だと言えます。明らかに普遍的に適用できるものではありません。しかし、教師なし学習がどこから来るのかを説明する上で、ある程度の価値があると私は考えています。
形式的に、圧縮と次のビット予測、教師なし学習と教師あり学習を行き来していますが、暗号理論に戻ると、この種の理論は80年代にまでさかのぼります。そこでは、圧縮が次の予測と等価であり、分布を区別できることと等価であると論じられています。予測できるアルゴリズムがあれば、圧縮できるアルゴリズムがあるということです。暗号理論では、圧縮する方法がないことを示しています。この区別できるという考え方は、何か自然なものに変換できるでしょうか?
人間: はい、質問を理解したと思います。その分野についてはあまり詳しくないのですが、あなたが言っているのは、2つの分布を区別できれば、その区別可能性を使って何かを予測できるということですね。サンプルが一方からのものか、もう一方からのものかを区別でき、そこで私の質問は、どの程度うまく予測できるかということです。少し予測できるということですか?
アシスタント: はい、その通りです。あなたの質問をよく理解しました。これに関連して一つ言及できることがあります。それはエネルギーベースモデルです。
エネルギーベースモデルは、ニューラルネットワークを確率分布に変換する別の方法を提供します。エネルギーベースモデルは、ベクトルの構成を与えられると、単にそれがどのように「感じる」かを教えてくれます。そして、それらすべてにわたって正規化します。
エネルギーベースモデルに関しては特に、分布の比率がエネルギーの差に対応するように思えます。おそらくこれがあなたが言っていることと何か関係があるかもしれません。
あなたが言ったことに正確にコメントしているわけではないかもしれませんが、残念ながらこれ以上付け加えることはないと思います。
人間: VC次元の名誉を守るために一言言わせてください。2007年に量子状態のPAC学習に関する定理を持っていました。これは、無限の精度を気にしなくても、状態空間を離散化しても、VC次元や脂肪粉砕次元などを見ると、仮説クラスのサイズの対数よりも指数関数的に小さいという正確な例でした。だから、VC次元を使いたい場合がまだあると思います。
アシスタント: はい、それは素晴らしい例ですね。ご指摘ありがとうございます。
あなたの2007年の量子状態のPAC学習に関する定理は、確かにVC次元の重要性を示す非常に興味深い例です。この場合、無限精度を考慮しなくても、状態空間を離散化しても、VC次元(または脂肪粉砕次元)が仮説クラスのサイズの対数よりも指数関数的に小さいという事実は、非常に重要です。
これは、私が先ほど述べた一般化とは異なる特殊なケースを示しています。確かに、このような状況では、VC次元がまだ非常に重要な役割を果たすことを示しています。
量子系の学習理論におけるこの発見は、古典的な学習理論とは異なる興味深い側面を持っており、VC次元の概念がより広い文脈で依然として重要であることを示しています。
このような例は、機械学習理論の豊かさと複雑さを示しており、単純化しすぎた一般化には注意が必要であることを思い出させてくれます。異なる問題設定や領域(量子学習のような)では、従来の概念が予想外の形で重要性を持つ可能性があるのです。
あなたの研究は、理論的な概念の適用範囲を拡大し、新しい領域での их relevance を示す素晴らしい例だと言えるでしょう。ありがとうございます。このような洞察は、機械学習理論の発展に非常に重要です。あなたの表記法についてよく理解できませんでした。大文字のXは分布からのサンプルなのか、それともデータセットそのものなのでしょうか。そうすると、TransformerのSGDを、圧縮のための最良のプログラムと考えるのは難しいかもしれません。おそらく一度に一つのサンプルしか与えられないからです。
アシスタント: はい、その指摘は正しいです。ここでもう一つ仮定を置いていることを説明させてください。
ニューラルネットワーク(Transformerである必要はありません)があり、データにログ確率を割り当てるとします。そして、大量の訓練事例があるとします。ニューラルネットを実行して、各事例のログ確率を計算し、それらの合計を取ることができます。これが、ニューラルネットワークが訓練データセット全体に割り当てるログ確率になります。
この特定の定式化では、ニューラルネットワークはデータの順序における構造を明示的に知ることはできません。しかし、それでも次のように言うことは意味があると私は主張します:
ええ、データセット全体のログ確率を計算できます。そしてそれは、このニューラルネットワークを圧縮器として使用した場合の、このデータセットを圧縮するために必要なビット数の負の値を文字通り与えてくれます。
あなたは圧縮を教師なし学習を理解または動機づけるための枠組みとして主張していますが、最後に指摘したポイントは、その枠組みを言語モデルや次の単語予測に適用すると、少し表面的に感じるかもしれないということでした。次の単語予測では、どんなテキストタスクでも次の単語予測に変換できるので、テキストの場合、教師なし学習が教師あり学習と表面的に同じになってしまいます。
そこで、image GPTに目を向けました。ここでは、任意のタスクを次のピクセル予測として定式化することはできません(できるかもしれませんが、ここではできないとしましょう)。しかし、線形表現を使用することで、圧縮が教師なし学習を定式化する良い方法であることを示すことができます。
ただし、有用な線形表現を与えない高効率な圧縮器も存在します。そこで私の質問は、教師なし学習と教師あり学習が表面的に同じではない場合で、かつ圧縮器が効果的な線形表現を与える必要がない場合に、圧縮が良い教師なし学習の目的関数であることを示せる例はありますか?
アシスタント: はい、この質問については考えがあります。
まず、良い線形表現はボーナスであると言えます。この議論のどこにも、「したがって線形表現が現れるはずだ」とは言っていません。しかし、この理論は良いファインチューニングが現れるはずだと言っていると主張できます。なぜなら、結合圧縮は、SGDという悪い探索アルゴリズムを使用した、ある種のハッキーな近似的ファインチューニングだからです。
古い実験からの証拠は、BERTが画像で実行された場合、次のピクセル予測よりも悪い線形表現を学習することを示唆しています。おそらく拡散モデルについても同じことが言えるでしょう。それはかなりありそうです。
拡散モデルのファインチューニングがどのように比較されるかを見るのは非常に興味深いでしょう。ここにいる誰かがすでに知っているかもしれません。
この理論の特定の洞察として得られるかもしれないのは、望ましい関数クラスへの洞察です。例えば、多くの層を持つニューラルネットが必要だということです。多くの層があれば、より多くの「思考」ができます。それらがより広く、より大きなニューラルネットであることを望みます。
基本的に、これは分野がすでに発見したことですが、パラメータの数よりも多くの例が必要ないかもしれません。
この理論の大きな実用的な弱点は、計算コストを無視していることです。情報にのみ焦点を当てています。例えば、Universal Transformerを知っていますか?基本的に、各層で同じ重みを使用するTransformerです。素晴らしいアイデアですが、多くのパラメータを持ちたい場合、計算に多くのコストを払う必要があります。誰もそれをしたくありません。
計算コストを無視すると、どのように進めるべきかのレシピを与えてくれます。
エネルギーベースモデルは、さらに素晴らしいことを成し遂げるかもしれませんが、この観点からは全て同じです。
GPT-4は現時点で最高の圧縮器かもしれませんが、おそらく最大のモデルでもあります。一方では、よりよく圧縮できますが、他方では圧縮器自体のサイズが増加しています。理論複雑性の観点からは、必ずしもそうではないのでしょうか?
実際に重要なのは、固定されたデータセットを圧縮したいということですが、GPTモデルの訓練方法では、大きな訓練セットがあり、テストセットは無限大であると仮定します。テストセットが無限大で、テストセットを圧縮することを気にするなら、テストセットのサイズが十分に大きい限り、圧縮器のサイズは気にしません。
これも、より慎重に考えれば明確になる可能性がある、類推が適切でない別の点だと言えるでしょう。独立した検証セットを使用するだけで十分でしょうか?それは格差を埋めるのに近いですか?
十分かどうかは、良い方法ではあります。しかし、本当に「適切」かどうかについては、シングルエポックの場合を考えてみましょう。シングルエポックの場合、訓練しながらログ確率を計算するだけで、それがデータセットに対するモデルの圧縮の一種のものになります。これは検証の良い推定値も与えてくれます。
シングルエポックの場合、状況はかなり似ていると思います。
先月、圧縮文字列を見つけるのに続いて、gzipを使用するという論文があったことをお知らせしたいと思います。あなたが示したように、2つの文字列を連結し、個別に、そしてgzipの出力を使用しています。
私のコメントとしては、gzipはテキストの非常に強力な圧縮器ではありません。ある程度のことが可能であることを示していますが、本当に重要なことは最後のビットを絞り出すときに起こります。わかりますか?
カリキュラム効果について、Jacobが言及しましたね。これらはニューラルネットでは見られますが、Kolmogorov複雑性では見られません。昼食時に、カリキュラム効果が実際にどの程度重要なのかについて、現在の経験的状況はどうなのかという話をしましたが、私たちの誰も答えを知りませんでした。
これについて、私の見解を述べさせてください。私たちは分野として、Transformerなど、使用しているアーキテクチャを比較的最適化しやすくするために多くの作業を行ってきました。良い初期化を見つけ、良いハイパーパラメータを見つけ、トレーニングをできるだけ容易にするようにアーキテクチャに変更を加えました。
訓練の最適化問題が簡単であればあるほど、カリキュラム効果の影響を受けにくくなります。例えば、Neural Turing Machineのような非常に複雑なものや、異種の層が大量にある非常に複雑なアーキテクチャを訓練している人々は、カリキュラムに非常に注意深くなければなりません。なぜなら、最初からフルデータを与えると単に失敗してしまうからです。
最後に、もう一度感謝の言葉を述べさせてください。


この記事が気に入ったらサポートをしてみませんか?