
8,889 文字

私たちの主なる行列積の小さな可視化についてお話しします。クールなデモを作るように依頼されたので、ここにご紹介します。これは単一のフラグメントシェーダーで、完全にGPU上で描画されています。インポートされたアセットやトライアングルメッシュはなく、純粋に数百行のGSLだけです。シェーダーアートはニッチなデジタルアート形式で、ぜひ皆さんにも試していただきたいと思います。
GPUはこのような使い方を想定していませんでしたが、機械学習の分野全体が、これのおかげでルネサンス期を迎えています。
それはどのように起こったのでしょうか。今日は、このような二次的効果と、なぜ意図しない結果が起こるのか、そして将来をより確実に予測する方法について少し探ってみたいと思います。
ディープブルーが1996年にチェスでガスパロフに勝利し、2015年にはアルファ悟が有名な李世ドルに囲碁で勝利しました。当時の悲観論者の多くがそうであったように、チェスと囲碁はもう終わりだと言うかもしれません。人間がトップでなくなった今、もう意味がないのではないかと。しかし、その後実際に何が起こったのかを見てみましょう。
これはプロの囲碁棋士の判断力の質を時系列で示したグラフです。アルファ碁が登場したのはどこだと思いますか?
まったく関係ない話題ですが、これはライフゲームです。白と黒のセルがあり、セルの相互作用に関する単純なルールがいくつかあります。一見大したことはありませんが、これらを使ってマクロパターンを構築し始めると、このようなクールなものが得られます。そしてこれは、ライフゲームの中で実装されたライフゲームです。
これらは、量と質、そしてパフォーマンスの桁違いの向上によって生み出される創発的な振る舞いの例です。機械学習の分野はこの現象に精通しており、一般的に言えば、創発的な振る舞いはほとんどNP完全なので、簡単に計算することはできません。
これらのパターンを作るために、人々はレベルを一段階引き上げて、より高次のマクロダイナミクスを考える必要がありました。新しいルールセットと、様々なヒューリスティクスやエラーです。彼らは数学者や物理学者というよりも、生物学者のように働きます。
私が言いたいのは、私たちの低レベルの直感を超えて拡大された単純なシステムの創発的な振る舞いを、簡単に予測することはできないということです。
この講演では、AIの二次的効果、つまりこのAI時代のより直接的な結果によって引き起こされる波及効果を予測するために、私が使用している個人的な思考プロセスをいくつか紹介したいと思います。ある有名なSF作家が言ったように、「良いSFは車を予測し、偉大なSFは渋滞を予測する」のです。
最初に使いたいのは、広く「誰が学んでいるのか」と呼ばれるものです。あなたが学んでいるのか、それとも機械が学んでいるのか、そしてそれを気にするのかということです。
主に人々が何を望むかについて話しています。例えば、チェスは死んでいません。むしろ良くなっただけです。なぜなら、村で唯一チェスを教えてくれる人を探す代わりに、いつでも無料のチェス教師を利用できるようになると、結果的に誰もがチェスを知るようになるからです。そして、その群衆の知識が十分に広く分散されると、より多くのプロフェッショナルなプレイを維持する観客を得ることができます。
なぜなら、究極的には、あなたが学びたいと思い、観客になるからです。これは、機械があなたよりも上手に学ぶかどうかとは関係ありません。機械がどれだけジムに通っても、あなた自身が同じことをしなければ、上手くはならないのと同じように、精神的なジムに行くようなものです。
描画についても同じことが言えます。初心者にとって、空白のキャンバスは実際にとても手強い挑戦です。しかし、すぐに私たちが「ストロークオートコンプリート」と呼ぶものと同等のものを持つことができるようになるでしょう。
このスライダーのような概念を想像してみてください。一方では何も起こらず、もう一方では完全な描画が行われます。興味深いのは、今では私たちはそれを中間に設定できる学習行動を持つことができるということです。
システムにプロンプトを与えて椅子を描こうとすると、システムは「ああ、あなたはこのように曲がっているので、ビクトリア朝時代の椅子を描きたいのですね」と理解します。青い色調を使うと、システムは「ああ、彼女の顔に海の反射を描きたいのですね。でも実際には砂があるので、もう少し緑がかっているはずです」と理解します。
色彩を学ぼうとすると、これをマスターするためのフィードバックループがどれほど長いかわかりますが、今では必要に応じてそれを調整し、即座にフィードバックを得ることができます。そして皆さん、興味深いことに、時間とともにスライダーは実際にはるかに左側に移動し、最終的にはAIの使用を完全に止めることになります。なぜなら、すべてを内面化し、スキルがあなたに戻ってくるからです。
音楽についても同様です。はい、今では実用的な目的のために一発で完全な曲を生成できますが、AIは異なる方法であなたの学習を助けることもできます。
私が興味を持っているのは、音楽においては、UIで言うところの楽器の直接操作を使用することがほとんどだということです。ピアノの鍵盤を押すことと期待される音を聞くことの間の不一致はほとんどありませんが、その直接性の欠如もまたトレードオフです。
これはテルミンですが、すでに少し間接的な操作が見られます。指を使って音楽のスペクトログラムを作成し操作するのはどうでしょうか?明らかに指は十分に細かくありませんが、AIが十分な世界モデルの知識を持っているなら、いわばそれをスーパーサンプリングしてくれるかもしれません。
そうすれば、パペットマスターのように間接的にジェスチャーを行い、アナログ音楽の操作では達成できない新しい種類の音楽を作り出すことができるかもしれません。
これらの例を挙げるもう一つの理由があります。私の分野は現在主にユーザーインターフェースです。誰が学んでいるのかを考えると、ユーザーインターフェースの直接操作は実際には自分自身のための学習であるという結論に達するかもしれません。
つまり、自分のためにジムに行くことや、自分のために描画を学ぶこと、自分のために抽象的な楽器を学ぶことです。従って、タップしてこれをタップしてあれをするという古典的なユーザーインターフェースが次第に自動化され、実用的な目的が達成されると、残るのは一種のライフスタイルユーザーインターフェースだけです。
あなたが機械よりも効率的だからではなく、何らかの自己実現の理由でそれらを学ぼうとしているからこそ使用するものです。そしてその意味で、二次的効果として、贅沢なライフスタイルやその他の目的のために、より職人的で風変わりなニッチなインターフェースが増えるかもしれません。
私が話したい二つ目のカテゴリーは、私がよく使う情報帯域幅を広げるというアイデアです。
先日、疎オートエンコーダーに関するアンスロピックの新しい研究結果を見ていたのですが、関連して、クラスターの単純な可視化があり、純粋に視覚的な観点から、ドゥニ・ヴィルヌーヴ監督の映画「メッセージ」を思い出させました。
その映画では、人類が自分たちの潜在能力を解き放つことができる異星人の言語を学びます。そこで、なぜそれをさらに進めて、一人一言語にしないのかと考えました。情報帯域幅全体を広げるのです。
これまで、人間の言語はある程度標準化されたコミュニケーションインターフェースであり、非常に狭い帯域幅で、非常に損失の多いものでした。私たちは比較的少数の、主に標準化された言語を学び、私たちの曖昧な情報のエーテルすべてを、翻訳での損失が少ないことを願いながら詰め込んできました。
今やAIは基本的に翻訳を解決したので、なぜ一歩進んで、ある英語を別の英語に翻訳しないのでしょうか。例えば、私が誰かと議論していて「I feel blue(私は憂鬱です)」と言ったとします。これは私の視点から来ているので、この意図が相手に無傷で届くかどうかは不明確です。
もしかしたら、その特定の聞き手に対しては、「I feel blue」を「I’m feeling purple」に翻訳すべきだったのかもしれません。そして、もし私のチャットの吹き出しがもっとダイナミックで、もっとニュアンスに富んでいたらどうでしょうか?なぜならAIは相手の美的な好みを理解しているからです。
もし物事が加速して、すべての文章が静的な絵文字や基本的な曲線よりもはるかに豊かな情報を持つ4Dの動的なアートピースにパーソナライズできるとしたらどうでしょうか?そして、私はそれをARで相手に手渡すことができます。
そして、もしあなたがARで通勤していて、これらが受信者のために、時間を調整する個人固有の言語翻訳メカニズムとして、あなたの周りの一種の雲に機械翻訳されるとしたらどうでしょうか?一つのサイズですべてに適合する低帯域幅のテキスト言語の妥協から解放されるのです。
おそらく50年後には、言語的な対立解決が分単位や時間単位ではなく、秒単位で行われるようになるかもしれません。
いくつかの例をさらに挙げましょう。これはiPhoneのハードウェアのユーザーインターフェースで、次はiPadのキャンバスアプリについてです。タブレットに対してペンシルを押すことは、通常、線を描くことを意味しますが、それは選択、移動、サイズ変更などにも使われています。
しかし、実際にはもっと高い帯域幅があります。例えば、誰かがペンシルで画面をマルチタップした場合、その直前に「なぜこの部分が赤いの?」と言ったかもしれません。「変更できますか?」とか、あるいはストロークを描いて「そうですね、これはおそらくそこに行くべきです」と言ったかもしれません。
なぜなら、なにもなぎなた工具を探して選択し、戻ってきて円を描き、長押しでオブジェクトを保持し、移動し、ペンシルをダブルタップして前のペンに戻るといった体操をする必要はないからです。アイテムを移動したいだけなのに。
従来のデザインを使用して単一のストロークジェスチャーを分類し、オーバーロードしようとすると、必然的により混乱した振る舞いと暗黙のルールセットが生まれます。
伝統的に、現在のストロークが現在選択されているツールの状態、ペンシルの下のオブジェクト、そして場合によっては1秒前のアクションに条件付けられている場合、タップとして解釈するためにストロークを元に戻す必要があるのであれば、これは非常に混乱します。
それは非常に細かいデザインと職人技ですが、この新しい時代では、その線は基本的な経路の始まりだけでなく、世界全体に条件付けられるべきです。タップとストロークの挙動は、できる限り機械学習的であるべきです。
時々、人々の短い押し方が少し長すぎて、間違ったジェスチャーや様々な不適切なアクションをトリガーしてしまうことがありますが、人間の観察者なら1秒以内に修正できるようなものです。ならば、なぜ機械学習もローカルでそれができないのでしょうか。
私がよく使う最後の思考プロセスは、特定の量や質を極限まで外挿することです。これは前述のライフゲームのように、様々な面白い創発的な振る舞いを引き起こします。そこから第一原理に基づいて推論し、どのような新しいものが得られるかを考えることができます。
プログラミング言語に興味のある方なら、これは1970年代のSmalltalkというプログラミング言語環境です。これは元々のオブジェクト指向プログラミングの祖父で、Objective-Cなどの言語にインスピレーションを与えました。
その主な特徴の一つは、メッセージパッシング、つまりコマンドの送信です。場合によっては、LANやのちにインターネットを介して、他のコンピュータ上の別のSmalltalkオブジェクトにも送信できます。
詳細は省きますが、その発明者の一人であるアランは、このインスピレーションは基本的に細胞から来ていると言いました。各オブジェクトは基本的に完全なコンピュータであり、調べたり突っついたりすることができ、再帰的にそれは一対一でコンピュータにマッピングされるかもしれないし、一つのコンピュータが多くのオブジェクトを持つかもしれません。
また、彼はやや不明確に、メッセージを送ることは簡単だが、受信者を見つけることが難しいとも言いました。各Smalltalkオブジェクトは理論的に賢くインターネットに行き、何かを行い、小さな自己指向型の知的エージェントのように答えを持って戻ってくることができます。
この聴衆にとって馴染みがあるように聞こえるかもしれませんが、Smalltalkには大きな問題がありました。エージェントが賢くなればなるほど、それは任意にリソース集約的になり得るということです。
各エージェントが十分なリソースを使用すると、数字の法則によって、シングルディジットか二桁のエージェントしか持つことができません。そのため、低レベルであまりにも賢くなろうとしたために、量と協力から生まれる創発的な振る舞いの全カテゴリーを逃してしまいました。
一方、このマルチレイヤーパーセプトロンを見てください。これはグラフです。興味深いことに、これは受信者の発見問題を解決しています。なぜなら、完全結合させたり何でもできるからです。重みが学習されるため、伝播し、一部の接続は他よりも重要になります。
これとエージェントの群れの最大の違いは、ノードができる限り単純であることです。そして、単純で愚かなときには、何百万ものノードを持つことができ、その結果、集合体の創発的な振る舞いを活用して、完全に新しいメディアを作り出すことができます。
機械学習の分野には、エージェントに焦点を当てた講演がいくつかありますが、この機会を利用して、この方法を使って興味深い考察を提供したいと思います。
例えば、エージェントが多くなればなるほど、より引き離して見るようになり、低レベルのエージェントよりも集合体をより気にかけるようになります。人々と文明のように。そして、より引き離して見るほど、個々のエージェントをあまり気にしなくなります。
別の現実では、ではなく、この現実では、私たちはウィキペディアと呼ばれるインターネットをスキャンするために数個のエージェントを発明し、情報の断片を持って戻ってきました。しかし、幸いなことに、私たちの現実では、何十億もの愚かなノードをウィキペディアを読むために送り出し、それらすべてを集約して、単一のトップレベルの賢いトップレベルプロセスによって調整された電話の中に置きました。
最後の例を紹介します。これは実は最近のものです。これはApple TVのmacOS UIで、かなり見栄えの良いものです。この赤い丸で囲まれた部分、つまり「もっと見る」ボタンに注目してください。
完全な説明を見るためにクリックすると、どうなると思いますか?説明はどこに展開されるのでしょうか?実は、クリックすると、文字通り大きなUIテキストビューが表示される、非常に非AppleらしいUIが表示されます。
実際、メモ帳のような未完成のものに見えます。選択して何かができるほどです。これは奇妙です。実は、このApple TV Macアプリは、Catalystアプリなのです。iOS開発をしない人のために説明すると、これは彼らのiOSアプリの直接的な移植です。
iOSでは、説明をタップして新しいビューを得ると、物事はそれほど場違いには見えません。実際、それはかなり慣用的です。
UIデザインの欠如、配慮の欠如、職人技の欠如が問題だと言うかもしれません。しかし、この講演のポイントを作るために、これは実際にはより多くのUIを文字通り必要とする欠如、より多くのUIの欠如かもしれないという視点を提供したいと思います。
量を外挿し、桁違いに多くのUIを持つとしたら、世界はどのように見えるでしょうか?それは一体どういう意味なのでしょうか。
単純な12列のグリッドから始めましょう。まず、このビュー全体、あるいはアプリ全体で潜在的に表示したいすべての離散的な情報を列挙します。現在ではAIがありますので、デザイン時に、ランタイムではなく、ショーのUI画面のレイアウトの何千もの置換を生成することができます。
これらをすべて出荷するのではなく、潜在的な候補を生成するためにAIを使用するだけです。以前は、特定のニッチにいない限り、従来の手段ではこのタスクを達成することはできませんでした。
例えば、ショーのタイトルと、他のアイテムとの関係におけるボックスのサイズと位置との間の意味的な関係に注意を払う方法がなかったからです。従来の確率的な生成アルゴリズムを通してPLボックスを生成することはできましたが、各ボックスに正しい情報を付けるのは難しかったでしょう。
最初のパスの後、従来型あるいは洗練されたAI駆動のスコアリングヒューリスティック、美的な要素を使用して、データ生成時に望ましくないレイアウトを排除することができます。もちろん、ここでもデザイナーを関与させます。
これはランタイムではなく、デザイン時にオフラインで行われるので、必要なだけ遅いアルゴリズムを使用することができ、デザイナーは必要な時間をかけて、かなり大きなサブセットを慎重に選別することができます。
ここでのポイントは、10個ではなく、より賢い生成的および意味的なフィルタリング技術を通じて、何千ものレイアウトを生成したということです。桁違いに増やしているのです。
Figmaで単一桁のデザインを自分で箱を動かして作り、上司が「この箱を他の場所に移動できますか?」と言うのを待ち、「もう一つだけアドホックなデザインをお願いします。約束します、これが最後です。すべてが解決します」と言うのではありません。
もちろん、この段階でもデザイナーを関与させたいと思います。ある時点で、上司により没入感を与えるために、コントロールNなどを使って荒いウェブサイトを生成することを決めるかもしれません。「このレイアウトは機能します。単なる箱ではありません」と言うために。
そして、アプリのランタイムでは、私が個人的に興味を持っている力が発揮されます。現在、LLMの生成は書き込み時に生成され、2つか3つ生成して1つを選び、それを出荷して従来のウェブアプリになります。
しかし、ウェブ部分がボトルネックであれば、AGIでさえJavaScriptをC++より速くすることはできません。したがって、ウェブプラットフォームやその他のプラットフォームを前進させ、使用したい場合は、これらのアイテムの一部をニューラルネットと交換する必要があります。
ランタイムでは、例えば、正しいレイアウトを選択するための迅速な決定木があります。現代のウェブ開発では、これはメディアクエリと呼ばれる、正しいデザインを選択するための単一のヒューリスティックを大まかに持っています。
これは、ウィンドウの幅に応じてアイテムを表示または非表示にするだけです。しかし、この全体のスペースは、学習アルゴリズムの助けを実際に使用することができます。
例えば、ユーザーがオンボーディング中の場合、それは異なる概念なのに、なぜ異なるボックスを表示したり非表示にしたりするのでしょうか?それは単なる別のボックスのセットです。
ユーザーがスーパーユーザーの場合、おそらく段階的に異なるレイアウトのセットを表示するでしょう。おそらく彼らは異なる画面を必要とします。
ユーザーが異なる国にいる場合はどうでしょうか?異なる年齢、検索クエリの場合は?明確にしておくと、UberやFacebookのような大企業は、すでに日常的にこれを行っています。
インドや中国でUberアプリを使用すると、見た目は大きく異なります。しかし、現在は何千人もの技術者の努力が必要です。大企業向けです。そして彼らは、より多くのデザインUIと、公平に言えばビジネスロジックを持っているという事実から、モジュールを作成します。
そして、それは非常に脆弱です。すべてを見ることはできず、アルゴリズムは基本的に単純な決定木分類器よりも制御が難しいのです。
ユーザーがファジー検索をしている場合、これはより良い例かもしれません。「デンが作った映画は何?」というように。これは決定木に入り、キュレーションされたレイアウトを表示します。
代わりに、ユーザーが「デニス・ヴィルヌーヴが作った映画は何で、誰と一緒に作ったの?」と言っている場合、代わりにこのキュレーションされたレイアウトを表示します。
チャットボットに尋ねている場合、レイアウトはさらに文脈依存的です。必要なUIの生成とキュレーションの数のナプキン計算をすると、実際には10個ではなく1000個かもしれません。幸いなことに、AIのおかげで1000個でもまだキュレーションできます。
本質的に、これは自己回帰的な問題でも拡散問題でもありません。離散的なカテゴリーがあるため、単純な分類問題です。これで、ダイナミックUIの完成です。
少しまとめてみましょう。二次的効果は非常に予測不可能で、それらについて考えるための方法は多くあります。これらのポイントなどについて考えれば、その時が来たときに十分な準備ができていると思います。
もちろん、歴史から学び、物事を行う必要があります。未来を予測する最良の方法は、それを発明することだということを忘れないでください。ありがとうございました。
コメント