ジェフリー・ヒントン、Forward-Forwardアルゴリズムを語る
23,528 文字
クレイグ・スミス:ピンクの象が見えます。ピンクと象という言葉は世界の物事を指しています。実際に何が起こっているのか、私の頭の中で何が起こっているのかをお伝えしたいんです。こんにちは、クレイグ・スミスです。これはEye on AIです。[音楽]
ニューラルネットワークのパイオニアであり、ディープラーニングという用語を生み出したジェフリー・ヒントンは、脳を理解したいという思いに突き動かされてきました。彼が考案した誤差逆伝播法をディープネットワークに適用したことが、人工知能に革命をもたらしましたが、彼は脳が情報を処理する方法を説明するものではないと考えています。昨年末、彼はForward-Forwardアルゴリズムという新しい学習アルゴリズムを発表しました。これは、大脳皮質がどのように学習するかについての、より妥当なモデルだと考えています。
Forward-Forwardアルゴリズムについては、ここ数週間で多くのことが書かれてきましたが、ジェフはここで、このアルゴリズムと、彼がそこに至るまでの道のりについて深く掘り下げて説明してくれます。この会話は専門的で、聞き手に多くの知識があることを前提としていますが、その知識がない人には、専門的なことは聞き流して、ジェフの洞察に耳を傾けることをお勧めします。
始める前に、スポンサーのClearMLについて触れておきます。これは、オープンソースのエンドツーエンドのMLOpsソリューションです。clear.mlで無料で試すことができます。C-L-E-A-R-.mlです。Eye on AIから来たと伝えてください。それでは、ジェフです。この会話が、私と同じくらい魅力的であることを願っています。[音楽]
クレイグ・スミス:リスナーにForward-Forwardネットワークについて、そして、誤差逆伝播法がこれほどまでに成功しているにもかかわらず、なぜそれを超える何かを求めているのかを説明していただきたいと思います。
ジェフリー・ヒントン:まず、脳が誤差逆伝播法を行っていないと私が考える理由を説明しましょう。誤差逆伝播法の1つの特徴は、順方向システムの完全なモデルが必要だということです。誤差逆伝播法では、階層化されたネットワークで考えると最も分かりやすいのですが、現在のネットワークにも有効です。階層化されたネットワークでは、入力が下から入ってきて、これらの層を通過していくという順方向パスを行います。入力はピクセルかもしれません。そして、一番上から出てくるのは、猫か犬かの分類かもしれません。層を順方向に進んでいきます。そして、出力の誤差を見ます。犬と言うべきなのに猫と言ったら、それは間違いです。そして、次に正しいカテゴリを言う可能性が高くなるように、順方向パスのすべての重みをどのように変更するかを考えたいと思うわけです。
ですから、重みの変化が、正しい答えを得るのにどれだけ役立つかを把握する必要があります。そして、すべての重みを、それがどれだけ役立つかという割合で変更したいのです。そして、明らかに、それが役に立たない場合は、反対方向に変更します。さて、誤差逆伝播法は順方向パスのように見えますが、逆方向に進みます。同じ接続パターンを同じ重みで使用しなければなりませんが、方向は逆向きで、ニューロンの非線形性を逆方向に通過しなければなりません。
脳がそのようなことをしているという証拠はなく、していないという証拠はたくさんあります。最悪のケースは、リカレントネットワーックで誤差逆伝播法を行う場合です。なぜなら、リカレントネットワークを時間的に順方向に実行し、時間的に順方向に実行した最後に答えを出力し、そして、すべての微分を得るために時間的に逆方向に実行しなければならないからです。そのため、重みを変更しなければならず、これは、例えばビデオを処理しようとしている場合に特に問題になります。時間的に停止して逆方向に進むことはできません。
脳がそれを行っているという証拠がないという事実と相まって、技術的には面倒だという問題があります。パイプラインを中断してしまうので、ビデオのようなものは、処理の複数の段階があり、複数の段階を通して入力をパイプライン化し、それをパイプライン化し続けたいと思うでしょう。そこで、Fordアルゴリズムの考え方は、勾配を得るプロセスを2つの別々のフェーズに分割できれば、1つはオンラインで、もう1つはオフラインで行うことができ、オンラインで行う方は非常にシンプルで、パイプライン化できるというものです。
覚醒に対応することを意図したオンラインフェーズでは、ネットワークに入力を入れて、リカレントバージョンを入力し続けるとします。各層、各タイムステップで、レイヤーに高いアクティビティ、あるいはむしろ十分に高いアクティビティを持たせるようにしています。これは、これが実際のデータであることを把握できるようにするためです。
基本的な考え方は、実際のデータの場合はすべての層に高いアクティビティを持たせ、偽のデータの場合はすべての層に低いアクティビティを持たせるということです。ネットワークのタスク、あるいはネットワークが達成しようとしていることは、誤差逆伝播法のように正しいラベルを与えることではなく、各層が実際のデータに対して高いアクティビティを持ち、偽のデータに対して低いアクティビティを持つことによって、実際のデータと偽のデータの違いを各層で区別できるようにすることによって、この特性を達成しようとしています。
各層には独自の目的関数があります。より正確には、レイヤーのユニットのアクティビティの2乗の和を取り、あるしきい値を引いて、それをロジスティック関数に供給します。これは、単にこれが実際のデータである確率と偽のデータである確率を決定するものです。そして、ロジスティック関数が多くの入力を受け取ると、それは間違いなく実際のデータであると言うでしょう。
ですから、何も変更する必要はありません。多くの入力を受け取っていれば、その例では学習しません。なぜなら、すでに正しいからです。これは、ポジティブな例を、ネガティブな例、つまり偽のデータを実行せずに、たくさん実行できる理由を説明しています。なぜなら、ポジティブな例で飽和してしまうからです。ポジティブフェーズでは、それが正しいからです。ポジティブフェーズでは、すべての層でアクティビティの2乗和を高くしようとします。
そうすることで、それが実際のデータであることを伝えることができます。睡眠中にオフラインで実行されるネガティブフェーズでは、ネットワークは独自のデータを生成し、独自のデータを入力として与えられたときに、すべての層で低いアクティビティを持つようにしたいと考えています。そのため、ネットワークは生成モデルを学習する必要があり、それがしようとしていることは、実際のデータと、その生成モデルによって生成された偽のデータとを区別することです。
明らかに、まったく区別できない場合、実際のデータに対して得られる微分と偽のデータに対して得られる微分は等しく反対になるため、何も学習できません。学習はそこで終了します。生成したものと実際のデータの違いが分からなければ、これは、敵対的生成ネットワークをご存知なら、GANによく似ています。ただし、実際のものと偽のものの違いを区別しようとする識別ネットワークと、偽のデータを生成しようとする生成モデルは、同じ隠れユニットを使用し、同じ隠れ表現を使用するという点が異なります。
これは、GANが抱える多くの問題を克服するものです。その一方で、生成モデルを学習するために誤差逆伝播法を行っていないため、良い生成モデルを学習することはより困難です。これが、このアルゴリズムの大まかな概要です。
クレイグ・スミス:覚醒と睡眠のサイクルについていくつか質問させてください。それらの間を素早く循環させているのですか?
ジェフリー・ヒントン:ほとんどの研究では、予備的な研究では、それが当然のことなので、素早く循環させていました。後になって、対照学習ではフェーズを分離できることを知っていて、さらに後になって、フェーズを分離するとかなりうまくいくことを発見しました。最近行った文字予測の実験では、約25万文字を予測することができます。
つまり、実際のデータで実行して次の文字を予測しようとしていて、予測を行っていて、ミニバッチで実行しているので、かなり多くの予測を行った後に重みを更新し、さらにポジティブな例を見て重みを再び更新しています。ですから、これらすべてのフェーズでは、隠れ層のアクティビティを高くしようとしていますが、まだアクティビティが高くない場合に限ります。ポジティブフェーズでは25万文字のようなものを予測し、次にネガティブフェーズに切り替えることができます。
そこでは、ネットワークが独自の文字列を生成し、予測している文字の隠れ層のアクティビティを低くしようとしています。文字の小さなウィンドウを見ていて、そのように25万文字を実行します。そして、もはや同じ数である必要はありません。ボルツマンマシンでは、ポジティブフェーズとネガティブフェーズで同じ数のものを持つことが非常に重要ですが、これではそうではありません。
そして、注目すべきは、数百の予測までであれば、フェーズを分離しても、インラインの場合とほとんど同じように機能するということです。これは非常に驚くべきことです。人間の学習では、確かに、学習している複雑な概念については覚醒と睡眠がありますが、睡眠フェーズを必要としない学習は常に起こっています。
これにもあります。ポジティブな例だけを実行している場合、それがポジティブなデータであることが完全に明らかではないすべての例について重みを変更しています。そのため、ポジティブフェーズで多くの学習を行いますが、あまりにも長く続けると、壊滅的に失敗します。人間も同じようです。1週間睡眠を奪うと、完全に精神異常になり、幻覚を見て、回復できないかもしれません。
クレイグ・スミス:説明していただけますか?非実務家が理解に苦労しているのは、ネガティブデータの概念だと思います。いくつかの記事では、ネガティブデータを理解していないことを示すために、論文から引用符で囲んでそのまま載せているのを見ました。
ジェフリー・ヒントン:ネガティブデータとは、ネガティブフェーズでシステムに与えるデータのことです。つまり、すべての隠れ層のアクティビティを低くしようとしているときです。ネガティブデータを生成する方法はたくさんあります。最終的には、モデル自体にネガティブデータを生成させたいと思うでしょう。これは、ボルツマンマシンと同じです。
モデル自体が生成するデータはネガティブデータであり、実際のデータはモデル化しようとしているものです。そして、本当に良いモデルを手に入れたら、ネガティブデータは実際のデータとまったく同じように見えるので、学習は行われません。しかし、ネガティブデータはモデルによって生成される必要はありません。
例えば、画像とラベルの両方を入力することで、教師あり学習を行うように訓練することができます。これで、ラベルは出力の一部ではなく、入力の一部になります。そして、正しいラベルの画像を入力すると、それはポジティブデータになり、高いアクティビティを持ちたいと思うでしょう。手動で入力した正しくないラベルの画像を入力すると、それはネガティブデータになります。
モデルにラベルを予測させて、モデルの予測の中で最も良いものを、それが正しくないからといって入力すると、最も犯しやすい間違いをネガティブデータとして与えることになるので、うまくいきます。しかし、手動でネガティブデータを入力することもでき、うまくいきます。
クレイグ・スミス:最終的な調整は、ボルツマンマシンで行っているように、ポジティブデータからネガティブデータを引くのですか?
ジェフリー・ヒントン:ボルツマンマシンでは、ポジティブデータ、つまり実際のデータを与えて、平衡状態になるまで落ち着かせます。これは、Forward-Forwardアルゴリズムでは行う必要はありません。まあ、正確にはそうではありませんが。そして、平衡状態になったら、ペアワイズ統計量、つまり接続されている2つのユニットが一緒にオンになっている頻度を測定します。
そして、ネガティブフェーズでは、モデルが生成したデータ自体で同じことを行い、同じ統計量を測定し、それらのペアワイズ統計量の差を取り、それがボルツマンマシンの正しい学習信号になります。しかし、問題は、モデルを落ち着かせる必要があるということです。そして、それには時間がありません。また、接続が対称でなければならないなど、他のすべての条件も満たす必要があります。脳内の接続が対称であるという証拠はありません。
クレイグ・スミス:非常に単純な学習課題で、ポジティブデータとネガティブデータの具体的な例を挙げてもらえますか?数字に取り組んでいましたね。
ジェフリー・ヒントン:最も単純な例は、文字列を予測する場合だと思います。ポジティブデータでは、文字の小さなウィンドウが表示され、いくつかの隠れ層があるはずです。そして、それが文字のポジティブウィンドウなので、すべての隠れ層のアクティビティを高くしようとします。しかし、それらの隠れ層からも、それらの隠れ層のアクティビティからも、次の文字を予測しようとします。これは非常に単純な生成モデルですが、生成モデルが独自の表現を学習する必要がないことに注意してください。表現は、文字のポジティブな文字列がすべての隠れ層で高いアクティビティを与えるようにするために学習されます。それが学習の目的です。目的は次の文字を予測することではありません。しかし、その学習を行い、これらの文字列、これらの文字のウィンドウに適した表現を得たら、次の文字を予測することも学習します。そして、それがポジティブフェーズで行っていることです。文字のウィンドウを見て、すべての隠れ層がそれらの文字のウィンドウに対して高いアクティビティを持つように重みを変更しています。しかし、隠れ層のアクティビティから次の文字を予測しようとするトップダウンの重みも変更しています。これは、線形分類器と呼ばれることもあります。それがポジティブフェーズです。ネガティブフェーズでは、入力として、すでに予測された文字を使用します。つまり、このウィンドウがあり、それをずっと進めて、次の文字を予測し、ウィンドウを1つ長くして、予測した次の文字を含め、最も古い文字を削除します。そのように続けていきます。そして、それらのフレームのそれぞれについて、隠れ層のアクティビティを低くしようとします。なぜなら、それはネガティブデータだからです。そして、予測が完璧で、実際の文字列から始めれば、ネガティブフェーズで起こっていることは、ポジティブフェーズで起こっていることとまったく同じになることが分かると思います。そして、2つは相殺されます。しかし、違いがあれば、ポジティブフェーズのように、ネガティブフェーズのようにしないように学習することになります。そして、予測がどんどん上手になっていきます。
クレイグ・スミス:静的なデータに対する誤差逆伝播法を理解した限りでは、入力があり、出力があり、誤差を計算し、ネットワークを逆方向に実行して重みを修正し、それを繰り返します。そして、それは脳の良いモデルではありません。なぜなら、ニューロンを逆方向に情報が流れるという証拠がないからです。
ジェフリー・ヒントン:それは、あなたが言ったこととは少し違います。微分情報が逆方向に流れているという良い証拠はありません。つまり、これらの誤差勾配が逆方向に流れているということです。明らかに、脳にはトップダウンの接続があります。知覚システムを見ると、視床から、物事を認識する側頭葉皮質まで行く一種の順方向があります。視床は、目からの入力が来る一種の場所です。そして、逆方向の接続がありますが、逆方向の接続は、誤差逆伝播法に必要なものとはまったく異なって見えます。例えば、2つの皮質領域では、戻ってくる接続は、順方向の接続が出てくるのと同じ細胞には行きません。その意味では、相互的ではありません。皮質領域の間にはループがありますが、1つの皮質領域の情報は、元の場所に戻るまでに約6つの異なるニューロンを通過します。ですから、それはループであり、ミラーシステムのようなものではありません。
クレイグ・スミス:私の質問は、静止画像を退屈なビデオに変えることについて話していましたが、それはトップダウンの効果を持つことができるということです。
ジェフリー・ヒントン:そうです。下位層から上位層へ行く順方向があり、それに直交するのが時間次元だと考える必要があります。ですから、たとえ静止した1つのもののビデオであっても、時間的に前進するにつれて層を上下に移動することができます。それが、トップダウンの効果を持つことができる理由です。
クレイグ・スミス:分かりました。各層は、前のタイムステップの上位層と下位層から入力を受け取ることができます。
ジェフリー・ヒントン:その通りです。層が行っていることは、前のタイムステップの上位層と下位層、そして前のタイムステップの自分自身から入力を受け取ることです。そして、静的な入力があれば、時間経過に伴うプロセス全体は、ネットワークが落ち着くように見えます。それは、ボルツマンマシンが落ち着くのに少し似ています。そして、そのために使っている時間は、ビデオを投稿するために使っている時間と同じだという考え方です。そのため、変化の速すぎる入力を与えると、それを解釈するために落ち着くことができません。
私は、この素晴らしい現象を発見しました。ジャガイモのような不規則な形の物体、例えば、素敵な不規則な形のジャガイモを、1秒間に1、2回転の速度でゆっくりと回転させながら空中に投げると、その形を見ることができません。3D解釈に落ち着く時間がないからです。なぜなら、静止画像で落ち着くために使っているのと同じタイムステップを、ビデオを投稿するために使っているからです。
そして、私が魅力的だと感じたのは、これはおそらくすでに文献に載っていることですが、時間とともに層を上下に移動するというこの考え方は、以前からありましたが、それは常にリカレントネットワークにありました。そのため、最初は、リカレントネットワークは隠れ層を1つだけ持っていました。典型的なLSTMなどは、隠れ層を1つだけ持っていました。そして、アレックス・グレイブスが、複数の隠れ層を持つというアイデアを広め、それが勝者であることを示しました。
ですから、そのアイデアは以前からありましたが、常に学習アルゴリズムとして誤差逆伝播法と組み合わせて使われてきました。そして、その場合は、時間を通じた誤差逆伝播法であり、それは完全に非現実的でした。
クレイグ・スミス:現実の世界は静的ではないので、真に静的な方法で知覚しているわけではありません。これは、SimCLRの対照学習や、数年前のGrabのアクティビティの差からどのくらい生まれたものなのでしょうか?
ジェフリー・ヒントン:私は非常に興奮しました。なぜなら、SimCLRのようなものの、より生物学的に妥当なバージョンを作ろうとしていたからです。SimCLRのようなものはたくさんあります。SimCLRが最初のものではありません。実際、スー・ベッカーと私が198年、1992年にネイチャー誌に発表したものと少し似たものですが、ネガティブな例は使っていませんでした。ネガティブフェーズを分析的に計算しようとしましたが、それは間違いでした。それはうまくいきませんでした。
ネガティブな例を使い始めると、SimCLRのようなものが得られます。そして、フェーズを分離できることを発見し、それは私を非常に興奮させました。睡眠の目的を最終的に説明できたように思えたからです。SimCLRとの1つの大きな違いは、同じ画像から2つの異なるパッチを取り出して、それらが同じ画像からのものである場合は、それらに類似した表現を持たせようとし、異なる画像からのものである場合は、それらに異なる表現を持たせようとするというものです。十分に異なれば、それ以上異なろうとはしません。
えーっと、SimCLRは、2つの表現を見て、それらがどれくらい似ているかを見ることを含みます。そして、それは一致を測定する1つの方法です。実際、2つのベクトルの2乗差について考えると、それは3つの項に分解されます。最初のベクトルの2乗に関するもの、2番目のベクトルの2乗に関するもの、そして2つのベクトルのスカラー積に関するものがあります。
そして、2つのベクトルのスカラー積は、唯一の種類の、唯一の相互作用項です。そのため、2乗差はスカラー積と非常によく似ていることが分かります。大きな2乗差は、小さなスカラー積のようなものです。さて、一致を測定する別の方法があります。それは、一致させたいものを1つのニューロンのセットに供給することです。
そして、そのニューロンのセットに入ってくる2つのソースが一致すると、それらのニューロンのアクティビティが高くなります。それは、光波の正の干渉のようなものです。そして、それらが一致しないと、アクティビティが低くなります。そして、ニューロンの層のアクティビティだけで一致を測定すると、入力間の一致を測定することになります。
そうすると、2つのものを持つ必要はありません。好きなだけ多くのものを持つことができます。入力を2つのパッチに分割して、これらの2つのパッチの表現が一致すると言う必要はありません。隠れ層があり、この隠れ層はアクティビティが高いかどうかを尋ねるだけでよいのです。そして、それは私にとって、一致を測定するためのより良い方法のように思えます。脳にとっては簡単ですし、特にスパイクニューロンを持っている場合は興味深いです。
なぜなら、私が現在使っているものはスパイクニューロンを使っておらず、隠れ層は実際には、私の入力はお互いに一致しているのか、その場合はアクティビティが高くなるのか、それとも一致していないのか、その場合はアクティビティが高くならないのかを尋ねているだけだからです。しかし、入力が非常に正確な時間、スパイクのように特定の時間であれば、ニューロンが刺激されているかどうかだけでなく、まったく同時に刺激されているかどうかを尋ねることができます。
そして、それは一致を測定するためのより鋭い方法です。そのため、スパイクニューロンは、一致を測定するのに特に適しているようです。それが私が必要としているものです。それが目的関数です。ポジティブフェーズでは一致し、ネガティブフェーズでは一致しないようにすることです。そして、これをうまく機能させるためにスパイクニューロンを使う方法を考えていますが、それはSimCLRとの1つの大きな違いです。2つのものを持ってきて、それらが一致するかどうかを尋ねるのではなく、レイヤーに入ってくるすべての入力を持ってきて、それらのすべての入力が一致するかどうかを尋ねるのです。
クレイグ・スミス:アクティビティについて話すとき、それは、トップダウンの予測とボトムアップの予測を比較していたEnd-Gradsで行っていたことと似ていますか?
ジェフリー・ヒントン:Forward-Forwardアルゴリズムのリカレントバージョンを実行すると、各タイムステップで、レイヤーのニューロンはトップダウンの入力とボトムアップの入力を受け取ります。そして、それらに一致してもらいたいのです。そして、目的関数がアクティビティを高くすることである場合、それらは物事を非常にアクティブにしたいと思うでしょう。
Forward-Forwardアルゴリズムには、目的がアクティビティを低くするという別のバージョンがあります。そして、トップダウンがボトムアップを打ち消すようにしたいのです。そして、それは予測コーディングによく似ています。まったく同じではありませんが、非常に似ています。しかし、アクティビティを高くしようとするバージョンにこだわってみましょう。トップダウンとボトムアップが一致して、アクティビティが高くなるようにしたいのです。
しかし、トップダウンが微分のようなものではないことに注意してください。そのため、ニューラルネットワークで誤差逆伝播法を実装しようとすると、微分のようなトップダウンのものと、アクティビティのようなボトムアップのものを持つようにしようとします。そして、時間差を使って微分を得ようとします。それは少し違います。ここでは、すべてがアクティビティです。微分を伝播することはありません。
クレイグ・スミス:このアルゴリズムは、スタックカプセルオートエンコーダーで話していた動的ルーティングのアイデアも廃止していますね。
ジェフリー・ヒントン:はい。カプセルでは、動的ルーティングから、ユニバーサルカプセルと呼ばれるものに移行しました。カプセルは、ニューロンの小さなコレクションであり、元々のカプセルモデルでは、そのニューロンのコレクションは、鼻のような1種類のものを表現することしかできませんでした。そして、別の種類のカプセルは口を表現していました。
ユニバーサルカプセルでは、各カプセルが任意の種類のものを表現できるようになっています。つまり、そこに存在する可能性のあるさまざまな種類のものを表現するために、異なるアクティビティパターンを持つことになります。カプセルは、画像内の場所に専念することになります。つまり、カプセルは、部分全体階層の特定のレベルで、その場所でどのような種類のものを持っているかを表現することになります。
ですから、部分レベルでは鼻を持っていることを表現しているかもしれません。そして、より高いレベルでは、顔のようなものを表現している他のカプセルがあるでしょう。しかし、特定の種類のものにニューロンの束を専念させることをやめると、ルーティングを行う必要がなくなります。そして、Forward-Forwardアルゴリズムでは、ルーティングを行っていません。
そして、pアルゴリズムの論文の図の1つは、実際には、部分全体階層に関する私の論文、カプセルモデルに関する私の最後の論文から取られています。ですから、私はglomという架空のシステムを持っていて、その問題は、妥当な学習方法がなかったことです。そして、Fordアルゴリズムは、glomの妥当な学習アルゴリズムです。それは、神経学的に合理的なものです。
クレイグ・スミス:少なくとも私にとって、カプセルが魅力的だったのは、現実の3Dの性質を捉えていたことです。
ジェフリー・ヒントン:多くのニューラルネットワークが今ではそれを行っています。ですから、Nerfモデル、ニューラルラディアンスフィールドモデルは、今ではニューラルネットワークで非常に優れた3Dモデルを提供しています。ですから、いくつかの異なる視点から何かを見て、新しい視点からどのように見えるかの画像を生成することができます。それは、例えば、かなり長い時間間隔で撮影されたフレームから滑らかなビデオを作成するのに非常に役立ちます。
クレイグ・スミス:しかし、Forward-Forwardアルゴリズムでは、これが、もしすべてがうまくいけば、これが大脳皮質の情報処理のモデルであり、奥行き知覚と現実の3Dの性質が出現するというあなたの直感はどこから来るのでしょうか?それとも、それは希望ですか?
ジェフリー・ヒントン:そうです。特に、ビデオを見せていて、ビデオの途中で視点が変わっている場合は、隠れ層が3D構造を表していることが望ましいでしょう。それはすべて、今のところ夢物語です。
クレイグ・スミス:しかし、カプセルでは、ピクセルが奥行きを持っていると述べていました。そのため、1つの物体が別の物体の前を移動した場合、システムは、それが前のものの後ろにあることを理解していました。Forwardでそれを捉えていますか?
ジェフリー・ヒントン:それを処理することを学習してもらいたいですね。それを配線するわけではありませんが、ビデオの明らかな特徴なので、学習するはずです。赤ちゃんは、わずか数日で運動から構造を得ることを学習します。つまり、静的なシーンを持ってきて、観察者を動かしたり、観察者を静止させて、実験は紙をWに折りたたんで行われました。
そして、それを逆さまに見ると、奇妙に見えます。そのため、エリザベス・スペルケや他の人々が行った実験では、赤ちゃんが奇妙に見えるものに注意を払うので、何に興味を持っているかを見ることで、赤ちゃんの知覚について多くのことが分かるとされています。そして、数日以内に、3D構造が運動とどのように関連しているかを処理することを学習します。そして、それを間違って関連付けると、奇妙だと思うので、それを非常に速く学習します。
一方、少なくとも6ヶ月はかかると思います。両目からステレオ画像を得ることを学習するには、ステレオ画像から得るよりもビデオから得る方がはるかに簡単です。しかし、進化の観点からは、何かを学習するのが本当に簡単であれば、それを配線する意味はあまりありません。
クレイグ・スミス:あなたはMATLABで作業していることで有名ですが、今ではおもちゃの問題に取り組んでいます。スケールアップし始めていますか?まだ改良中ですか?
ジェフリー・ヒントン:少しスケールアップしています。GPUを使って少し高速化していますが、まだアルゴリズムの非常に基本的な特性を探っている段階です。特に、モデルから効果的にネガティブデータを生成する方法を探っています。そして、基本的なものがうまくいくまでは、スケールアップするのは愚かなことだと思います。スケールアップすると、基本的なアルゴリズムの変更を調査するのが遅くなります。
そして、私はまだ、調査したいことがたくさんある段階です。例えば、まだ調査する時間がない小さなことが1つあります。目的関数として、ポジティブフェーズではアクティビティを高くし、ネガティブフェーズではアクティビティを低くすることができます。そうすると、隠れユニットに素敵な特徴が見つかります。あるいは、目的関数として、ポジティブフェーズではアクティビティを低くすることもできます。そうすると、素敵な制約が見つかります。物理学者が何をしているかを考えてみると、彼らは、ゼロに足し合わせると明らかに異なるものを見つけることによって、自然を理解しようとしています。
別の言い方をすれば、それらは等しく反対であるということです。しかし、力を取り、質量×加速度を引くと、ゼロになります。しかし、それは制約です。ですから、力の1つと質量×加速度の2つの情報源があれば、それらの入力の両方を見て、ゼロ、つまりアクティビティがないと言う隠れユニットを持ちたいと思うでしょう。そして、物理法則に合わないものを見ると、アクティビティが高くなり、それがネガティブデータになります。
それは制約と呼ばれます。ですから、目的関数を、実際のものにはアクティビティを低くし、実際のものではないものにはアクティビティを高くするようにすると、データに制約が見つかります。特徴とは対照的です。ですから、特徴は分散が高いものであり、制約は分散が低いものです。特徴は、本来よりも分散が高いものであり、制約は、本来よりも分散が低いものです。
さて、特徴を探しているニューロンと制約を探しているニューロンの2種類のニューロンを持ってはいけない理由はありません。そして、主成分分析のような方法は、空間に分散が最も高い方向を探していることを知っています。それらは特徴のようなものです。そして、それは非常に安定しています。最小成分分析のような方法は、空間に分散が最も低い方向を探しています。それらは制約を探しています。それらは数値的に安定していません。
しかし、両方を持つことが有効であることを知っています。そのため、例えば、物事をより良くする可能性のある方向性ですが、そのようなものが約20個あります。調査する必要があります。そして、特徴を使うべきか、制約を使うべきか、あるいは両方使うべきか、ネガティブデータを生成する最も効果的な方法などについて、良いレシピを手に入れるまでは、本当に大きなシステムを調査するのは時期尚早だと感じています。
クレイグ・スミス:本当に大きなシステムに関して言えば、あなたが話していることの1つは、新しい種類のコンピュータの必要性です。そして、それについてもマスコミで混乱しているのを見ました。あなたが、ノイマン型コンピュータを廃止することについて話しているのを見ました。
ジェフリー・ヒントン:明らかに、ハードウェアとソフトウェアが分離しているコンピュータが欲しいですよね。そして、銀行口座の管理のようなことをしてもらいたいのです。これは、コンピュータに人間のように自然言語を処理したり、視覚を処理したりしてもらいたい場合のためです。
数年前にビル・ゲイツが、コンピュータは盲目で耳が聞こえないのでできないと言ったようなことです。もはや盲目で耳が聞こえないわけではありませんが、自然言語を処理したり、運動制御を行ったり、常識的な推論を行ったりするには、おそらく別の種類のコンピュータが必要になるでしょう。非常に低いエネルギーでそれを行いたい場合は、ハードウェアのすべての特性をはるかにうまく利用する必要があります。
あなたの興味は脳を理解することですが、私は低エネルギー計算を実現することに副次的な興味を持っています。そして、Forward-Forwardの良い点は、ハードウェアの良いモデルがなくても機能することです。ですから、例えば、ニューラルネットワークを持ってきて、ブラックボックスを挿入すると、レイヤーがブラックボックスになり、どのように機能するかまったく分かりません。
確率的なことを行いますが、何が起こっているのか分かりません。問題は、システム全体がそのブラックボックスを入れたまま学習できるかどうかです。そして、まったく問題なく学習できます。ブラックボックスが順方向パスで起こっていることを変えているので、異なるものを学習しますが、重要なのは、両方の順方向パスでまったく同じように変えているので、すべてが相殺されるということです。
一方、誤差逆伝播法では、これがブラックボックスであれば、完全に沈んでしまいます。できることは、ブラックボックスの微分可能なモデルを学習しようとすることだけで、ブラックボックスの挙動がさまよっている場合は、あまりうまくいきません。
ですから、Fordアルゴリズムは、順方向システムの完全なモデルを持つ必要はありません。1つのニューロンが何をしているかを十分に理解して、そのニューロンのアクティビティを高くしたり低くしたりするために、そのニューロンの入力重みを変更できるようにする必要があります。しかし、それが必要なすべてです。順方向パスを反転できる必要はありません。
クレイグ・スミス:あなたは、明らかに大きな成功を収めている誤差逆伝播法に取って代わることについて話しているわけではありません。計算能力は十分にあります。
ジェフリー・ヒントン:誤差逆伝播法で十分です。そして、これは推測ですが、あなたが研究のどこにいるのか理解しています。しかし、Fordアルゴリズムを処理できる低消費電力コンピュータアーキテクチャがあり、それをスケールアップできると想像できますか?
ジェフリー・ヒントン:それが素晴らしいと思います。実際、レインという会社で働いているジャック・ケンダルという人と話をしてきました。彼は、回路の特性を使って、電気回路の回路特性を使って、電気回路の自然な特性を使って、アナログハードウェアで何ができるかについて、非常に洞察力があります。
当初、それはボルツマンマシン学習の一種を行うのに非常に興味深いものでしたが、Forward-Forwardアルゴリズムにとっても非常に興味深いものになるでしょう。ですから、それがうまくスケールアップできると想像できますが、それを実現するには多くの作業が必要です。
クレイグ・スミス:そして、大規模言語モデルが成功した程度にまでうまくスケールアップできたとしたら、その能力は誤差逆伝播法に基づくモデルの能力を凌駕すると思いますか?
ジェフリー・ヒントン:まったく分かりません。そうではないかもしれません。誤差逆伝播法の方が、ある程度の数の接続であれば、Fordアルゴリズムよりも多くの知識をそれらの接続に入れることができるという意味で、優れたアルゴリズムかもしれません。
ですから、Forwardを使ったネットワークは、誤差逆伝播法に最適なサイズのネットワークよりも少し大きければ、より良く機能します。誤差逆伝播法は、少数の接続に多くの情報を詰め込むのが得意ではありません。誤差逆伝播法は、強制されれば、少数の接続に多くの情報を詰め込みます。強制されなければ、そうすることをあまり好みませんが、強制されればそうします。そして、Fordアルゴリズムはそれが得意ではありません。
ですから、これらの大規模言語モデルを見ると、約1兆個の接続を持つものがあります。これは、約1立方センチメートルの皮質に相当する最大の大規模言語モデルです。そして、私たちの皮質は、その約1000倍の大きさです。ですから、これらの大規模言語モデルは、実際にはあなたや私よりも多くの事実を知っています。なぜなら、ウェブ上のすべてを読んでいるからです。すべてではありませんが、非常に多くのことを読んでいます。
彼らがそれらを知っているという意味は少し怪しいですが、一般的な知識クイズをしたら、GPT-3でさえ、一般的な知識クイズで私を打ち負かすと思います。私が知らないような、あらゆる種類の人々について、彼らがいつ生まれて何をしたかを知っていて、それはすべて1立方センチメートルの皮質に収まります。接続で測ればの話ですが。ですから、それは私よりもはるかに多くの知識を持ち、脳はずっと小さいのです。
ですから、誤差逆伝播法は情報を詰め込む方がはるかに優れていると思いますが、それは脳の主な問題ではありません。私たちの脳には、たくさんのシナプスがあります。問題は、どのようにして効果的に情報をそれらに入れるか、どのようにして経験をうまく利用するかです。
クレイグ・スミス:デイビッド・チャーマーズは意識の可能性について話していました。脳の仕組みを理解して、それを複製することができれば、この種のモデルは、意識の可能性に興味を持っていることは確かです。それが美しくスケールアップすると想像してみましょう。推論の可能性が見えますか?
ジェフリー・ヒントン:ああ、推論の可能性は確かに見えます。しかし、意識は別の種類の問題です。ですから、人々は、意識について話すときに、まるで定義できるかのように話していることに驚いています。そして、それは実際には、さまざまな概念のごちゃ混ぜです。そして、それらはすべて、本質という点で本当に複雑なメカニズムを説明しようとする試みに混ざり合っています。
ですから、以前にもそのようなのを見たことがあります。100年前、哲学者に何が生物を生物たらしめるのかを尋ねたり、生物学者に何が生物を生物たらしめるのかを尋ねたりすると、彼らは生命力を持っていると答えるでしょう。生命力とは何か、機械に生命力を持たせることができるかと尋ねると、彼らは、生命力とは生物を生物たらしめるものであると言う以外には、生命力を本当に定義することができません。
そして、生化学を理解し始めると、生命力という概念を諦めます。安定した生化学的プロセスと、物が分解することについて理解します。ですから、生命力がなくなったわけではなく、以前と同じだけの生命力を持っているのですが、それは単に、単純な本質という点で何か複雑なものを説明しようとする試みなので、役に立たない概念なのです。
ですから、そのような別のモデルは、スポーツカーにはパンチがあり、中にはアストンマーチンのように、大きな騒々しい排気音とたくさんの加速、バケットシートを備えたパンチの効いたものがあります。そして、パンチは直感的な概念です。アストンマーチンはトヨタカローラよりもパンチが効いているかと尋ねることができます。そして、それは間違いなくパンチが効いています。
ですから、パンチとは何かを本当に知る必要があります。なぜなら、パンチは、速い車に興味があるなら、とにかく重要なものだからです。しかし、パンチの概念は、確かに良い概念ですが、あまり説明にはなりません。しかし、なぜアクセルを踏むととても速く進むのかを知りたい場合は、パンチの概念は役に立ちません。その仕組み、実際にどのように機能するかを知る必要があります。
そして、それは良い例えです。なぜなら、私が言おうとしていたのは、意識が何であるかは実際には重要ではなく、私たち人間が何かを意識を持っていると認識するかどうかが重要だということです。そして、それについては多くのことが言えると思います。
クレイグ・スミス:はい。ですから、このForward-Forwardが、比較的低消費電力でスケールアップする大規模モデルで、推論できる場合、ああ、でもそれは意識がないと言う哲学者は常にいるでしょうが、違いが分からなければ、実際には問題ではありません。
ジェフリー・ヒントン:それは哲学者にとっての問題です。彼らに、自分たちが作った罠から抜け出す方法を示すことができたらいいのにと思います。それは、ほとんどの人が、知覚、経験、感覚、感情に関する用語が実際にどのように機能するか、言語がどのように機能するかについて、根本的な誤解をしていると思うからです。
例えば、ピンクの象を見ていると言ったとしましょう。ピンクと象という言葉は世界の物事を指しているので、実際に起こっているのは、私の頭の中で何が起こっているのかをあなたに伝えたいということです。しかし、ニューロンが何をしているかをあなたに伝えても、あまり役に立ちません。特に、私たちの脳はすべて少しだけ配線が異なっているので、ニューロンが何をしているかをあなたに伝えても、あなたには何の役にも立ちません。
しかし、私のニューロンが何をしているにしても、それは通常、ピンクの象が外にいることによって引き起こされる種類のものであるとあなたに伝えることができます。私が真実の知覚をしている場合、私の脳の原因はピンクの象でしょう。それをあなたに伝えることができます。それは、ピンクの象が私の頭の中の不気味なものの中に存在するという意味でも、単なる精神的なものという意味でもありません。
それが実際にあなたに伝えているのは、私はあなたに反事実を与えているということです。私は、世界は実際にはピンクの象を含んでいませんが、もしピンクの象を含んでいたら、それは私の脳の状態を説明するでしょう、と言っています。それは、通常の知覚的原因に加えて、私の脳の状態を説明するでしょう。ですから、ピンクの象の経験をしていると言うとき、「経験」という言葉は、多くの人が、経験とは何かおかしな内部の出来事を指すと思っています。
それは経験です。それは何か内部のものです。いいえ、私が「経験」という言葉を使うときに示しているのは、それが現実ではないということです。私はあなたに仮説的な声明を与えているのです。しかし、もしこの仮説的なものが世界の外に存在していたら、それはこの脳の状態を説明するでしょう。そして、私は仮説的な世界について話すことによって、私の脳の状態についての洞察をあなたに与えているのです。
経験について現実的でないのは、それが私があなたに与えている仮説だということです。それが他の不気味な世界に住んでいるということではありません。そして、それは感情についても同じです。もし私があなたを殴りたい気分だと言ったら、私がしているのは、私の頭の中で何が起こっているのかを、それが通常何を引き起こすかを通してあなたに感じさせているということです。
知覚では、世界が知覚状態を引き起こし、感情では、内部状態が行動を引き起こします。そして、私は、私がするかもしれない行動を説明することによって、私の内部状態についての洞察をあなたに与えているのです。さて、私はあなたや他の誰かを殴ったり、猫を蹴ったりしたい気分かもしれません。
その場合、私はそれらの行動のいずれかをあなたに与える代わりに、怒っているのような用語を使いますが、実際にはそれはそれらのすべての怒りの行動の省略形です。ですから、私はあなたに、私がするかもしれない行動を説明することによって、私の頭の中で何が起こっているのかを見る方法を与えているのです。しかし、それらは単なる仮説的な行動です。
そして、それが私が「感じる」と言うときの「感じる」という言葉の意味です。私が「感じる」と言うとき、通常、私が「感じる」と言ってから「〜したい気分だ」と言うとき、それは、何か特別な内部の本質があって、それが感じていて、コンピュータはそれを持っていないということではありません。コンピュータは単なるトランジスタであり、感情を持っていません。感情を持つには魂が必要だとか、そういうことではありません。
いいえ、私は、もし私がそれを脱抑制したら、それが引き起こすであろう行動を通して、私の内部状態を説明しているのです。
クレイグ・スミス:別の人間の視点から見ると、もしあなたが機械で、そのようなことを言っていたら、私はそれをあなたが感情を持っていると認識するでしょう。
ジェフリー・ヒントン:では、知覚のケースを考えてみましょう。なぜなら、それは少し単純だからです。知覚を行い、言語も生成できる、大きく複雑なニューラルネットワークを作るとします。今ではそのようなものがあります。そして、それらに画像を見せることができ、それらはそこに何があるかの説明をあなたに与えることができます。そして、それらのネットワークの1つを持ってきて、「何かを想像してみて」と言うとします。
すると、それは何かを想像し、そして、それが何を想像しているかをあなたに伝えます。ですから、それは「私はピンクの象を経験しています」と言います。それは、人がピンクの象を経験していると彼らが言うときと同じくらい、ピンクの象を経験しています。それは、通常はピンクの象によって引き起こされるであろう内部の知覚状態を持っていますが、この場合はピンクの象によって引き起こされていません。
そして、それは、ピンクの象が存在しないことを示すために、「経験」という言葉を使います。
クレイグ・スミス:そうです。大規模言語モデルの現在の状態では、その種のまとまりのある内部論理を示していませんが。
ジェフリー・ヒントン:いいえ、彼らはそうするでしょう。そうするでしょう。
クレイグ・スミス:あなたはそうすると思いますか?
ジェフリー・ヒントン:ええ。ええ。意識は、人々がそれを音の壁のように扱っているとは思いません。音速以下か音速以上か。意識をまだ持っていないモデルを持っているか、そこに到達したかのいずれかです。それはまったくそのようなものではありません。
クレイグ・スミス:多くの人が、あなたがMATLABを使っていることについて話していることに感銘を受けました。感銘を受けたというのが正しい言葉かどうかは分かりません。彼らは興味を持ち、驚いていましたが、あなたの日常業務はどのようなものですか?あなたは他の責任も負っていますが、概念化に多くの時間を費やしています。それは、散歩中やシャワー中に起こる可能性があります。
それとも、MATLABでの実験のような実験に多くの時間を費やしていますか?それとも、大規模な実験を実行することに多くの時間を費やしていますか?
ジェフリー・ヒントン:それは時間とともに大きく変化します。ですから、glomに関する論文を書いたときのように、長い時間を費やすことがよくあります。より神経学的に現実的で、動的な接続の設定をしなくても部分全体階層を処理できる知覚システムをどのように構成するかについて、長い時間を費やしました。
そして、それを行う方法について考え、それに関する論文を書くのに何ヶ月も費やしました。より生物学的に妥当な学習アルゴリズムについて考え、MATLABで小さなシステムをプログラミングし、なぜそれらが機能しないのかを発見することに多くの時間を費やしました。ほとんどの独創的なアイデアの良い点は、それらが間違っているということです。そして、MATLABは、それらが間違っていることを素早く示すのに非常に便利です。
手書きの数字を認識するような非常に小さなトイプロブレムは、私はそのタスクに非常に精通しているので、アイデアがうまくいくかどうかを確かめるために非常に素早くテストすることができます。そして、おそらく私のコンピュータには、うまくいかなかったプログラムが何千もあるでしょう。午後にはプログラミングして、午後には、それがうまくいかないことを判断するのに十分でした。
おそらくうまくいかないでしょう。絶対にうまくいかないとは言い切れません。なぜなら、あなたが思いつかなかったちょっとしたトリックがあるかもしれないからです。そして、うまくいくものができたと思う時期があり、数週間かけてプログラミングと実行を行い、うまくいくかどうかを確認します。最近、Forward-Forwardでそれを行っています。
なぜMATLABを使うのかを説明させてください。私は若い頃にたくさんの言語を学びました。私は、教育用言語であるPOP-2、UCSD Pascal、Lisp、Common Lisp、Scheme、あらゆる種類のLispを学びました。そして、MATLABを学びました。それはある意味では醜いものですが、ベクトルや行列を扱う場合は、それが必要なものです。それは便利になり、私はMATLABに堪能になりました。
そして、私はPythonを学ぶべきでした。そして、私は他のあらゆる種類のものを学ぶべきでした。しかし、年を取ると、言語を学ぶのがはるかに遅くなります。そして、私はたくさんの言語を学びました。そして、MATLABに堪能で、MATLABで小さなアイデアをテストすることができ、他の人々が大きなシステムで実行することをテストすることができるので、MATLABで物事をテストすることに専念することにしました。
それについて私をイライラさせることはたくさんありますが、それは非常に便利です。
クレイグ・スミス:あなたは幼児の学習についてよく話しますが、その知識ベースはあなたが何年も前に蓄積したものですか?それとも、さまざまな分野の人々と読み続けたり、話をしたりしていますか?
ジェフリー・ヒントン:私は多くの人と話をしていて、ほとんどのことは人との会話から学んでいます。私は読書があまり得意ではありません。私は非常にゆっくりと読みます。そして、方程式が出てくると、それが私を大きく遅くするので、ほとんどの知識は人との会話から得ています。そして、私は、話すのに良い人がたくさんいることに恵まれています。テリー・セノウスキーと話すと、彼はあらゆる種類の神経科学について教えてくれます。ジョシュ・テネンバウムと話すと、彼はあらゆる種類の認知科学について教えてくれます。
J・ミッランドと話すと、彼は多くの認知科学心理学について教えてくれます。ですから、私はほとんどの知識を人との会話から得ています。
クレイグ・スミス:NeurIPSでの講演で、ヤン・ルカンについて言及していました。彼は彼の名前の発音を訂正してくれました。なぜその講演で彼について言及したのですか?
ジェフリー・ヒントン:ああ、長年、彼は畳み込みニューラルネットワークを推進していたからです。
クレイグ・スミス:なるほど。
ジェフリー・ヒントン:そして、ビジョンのコミュニティは、「手書きの数字のような小さなものには有効だが、実際の画像には決して有効ではないだろう」と言いました。そして、彼と共同研究者が、特定のベンチマークで他のどのシステムよりも実際に優れた成績を収めた有名な論文が会議に提出されました。歩行者をセグメント化したものだったと思いますが、よく覚えていません。そのようなものでした。
そして、その論文は、最高の結果を出したにもかかわらず、却下されました。そして、査読者の1人は、論文を却下した理由は、システムがすべてを学習してしまったため、ビジョンについて何も教えてくれなかったからだと言いました。そして、これはパラダイムの素晴らしい例です。そして、コンピュータビジョンのパラダイムは、実行する必要があるタスク、実行する必要がある計算を研究し、その計算を行うアルゴリズムを見つけ出し、そして、それを効率的に実装する方法を見つけ出すというものでした。
ですから、知識はすべて明示的です。ビジョンを行うために使用している知識は明示的です。それを数学的に整理して、実装する必要がありました。そして、プログラムの中にあります。そして、彼らは、それがコンピュータビジョンの機能する方法だと当然のように思っていました。そして、コンピュータビジョンはそのように機能する必要があるため、誰かがやってきてすべてを学習してしまうと、彼らはあなたには役に立ちません。
なぜなら、彼らは知識が何であるか、使用しているヒューリスティックが何であるかを言っていないからです。ですから、それはおそらくうまくいきますが、それは単なる幸運です。最終的には、私たちは本当の知識を使っていて、何が起こっているのかを理解しているので、私たちはそれよりも良く機能するに違いありません。ですから、彼らは、完全に主要なメッセージを理解できませんでした。それは、それがすべてを学習したということです。
彼が畳み込みを配線したので、すべてではありませんが、機械学習のコミュニティは、彼が明らかに賢い人なので彼を尊敬していましたが、彼らは彼が完全に間違った道を進んでいると思っていました。そして、彼らは彼の仕事を何年も何年も無視しました。そして、ファイファイ・リーと彼女の共同研究者がImageNetのコンペティションを生み出したとき、ついに、ニューラルネットワークが本当にうまく機能することを示すのに十分な大きさのデータセットを手に入れました。
そして、ヤンは実際に、ImageNetを畳み込みネットワークで真剣に試みるように、何人かの異なる学生に頼もうとしましたが、それを行うことに興味のある学生を見つけることができませんでした。同時に、イリヤはそれを行うことに非常に興味を持ち、私はそれを行うことに興味を持ち、アレックス・クリジェフスキーは、イリヤと一緒にそれを本当にうまく機能させるために多くの努力を注いだ素晴らしいプログラマーでした。
ですから、ヤンにとっては、最終的にコンピュータビジョンのコミュニティに、このものはあなたがやっていることよりもはるかにうまく機能すると確信させたのが彼のグループではなかったのは非常に残念でした。
クレイグ・スミス:あなたは今、この論文を発表しましたが、一種の軍隊に火をつけたいと思っていますか?
ジェフリー・ヒントン:ええ、人々の。私はいくつかの単純なMATLABコードも公開するつもりです。ええ、なぜなら、そうしないと機能しない小さなことがたくさんあるからです。そして、コードは公開される必要があります。それは誤差逆伝播法よりもうるさいです。誤差逆伝播法では、人々に方程式を見せるだけで、誰でもそれを実装することができます。
そして、それがうまく機能するために多くのトリックは必要ありません。本当にうまく機能するには多くのトリックが必要ですが、うまく機能するには、それで十分です。Forward-Forwardでは、それがまったく機能するためにいくつかのトリックが必要です。トリックはかなり合理的なトリックですが、それらを入れれば機能します。そして、私はそのMATLABコードを公開して、他の人々がそれを機能させることができるようにしたいと思っています。
しかし、私は自分の非常に原始的なMATLABコードを公開したくありません。なぜなら、それは嫌だからです。[音楽]
クレイグ・スミス[メールアドレスを削除しました]までメールしてください。いつものように、このエピソードのトランスクリプトは私たちのウェブサイトeye-on.aiで見つけることができます。
Forward-Forwardアルゴリズムを真剣に理解したい場合は、トランスクリプトを読むことをお勧めします。それまでの間、シンギュラリティは近いわけではないかもしれませんが、AIはあなたの世界を変えようとしていますので、注意してください。