

GPTの頭文字は「事前学習済み生成的トランスフォーマー」を意味します。最初の単語は十分明確です。これはテキストを生成するロボットです。事前学習とは、モデルが膨大な量のデータから学習するプロセスを経ていることを指し、接頭辞は特定のタスクに対してさらなる学習で微調整する余地があることを示しています。しかし、最後の単語が本当の核心部分です。トランスフォーマーは特定のタイプのニューラルネットワーク、機械学習モデルであり、現在のAIブームの背後にある基本的な発明です。
このビデオと以降の章で私がやりたいのは、トランスフォーマーの内部で実際に何が起こっているのかを視覚的に説明することです。データがどのように流れるかを追跡し、ステップバイステップで進めていきます。トランスフォーマーを使って構築できる様々なタイプのモデルがあります。音声を取り込んでテキストを生成するモデルもあります。この文は逆方向に進み、テキストのみから合成音声を生成するモデルから来ています。2022年に世界を席巻したDalleやMidjourneyなどのツールは、テキストの説明を取り込んで画像を生成しますが、これらはトランスフォーマーに基づいています。パイ生物が何を表すべきかわからなくても、このようなことがリモートでも可能だということに驚きます。
Googleが2017年に発表した元のトランスフォーマーは、テキストをある言語から別の言語に翻訳するという特定のユースケースのために発明されました。しかし、私たちが焦点を当てる変種は、ChatGPTのようなツールの背後にあるタイプのモデルで、テキストの一部を取り込み、おそらく周囲の画像や付随する音声も含めて、その後に続くものを予測するように訓練されたモデルになります。この予測は、次に来る可能性のある多くの異なるテキスト片に対する確率分布の形を取ります。
一見すると、次の単語を予測することは、新しいテキストを生成することとは全く異なる目標に思えるかもしれません。しかし、このような予測モデルがあれば、より長いテキスト片を生成する簡単な方法は、作業する初期の抜粋を与え、作成した分布からランダムにサンプリングし、そのサンプルをテキストに追加し、そして新しく追加されたものを含む完全なテキストに基づいて新しい予測を行うために全体のプロセスを再度実行することです。
私にはわかりませんが、これは本当にうまくいくべきではないように思えます。例えば、このアニメーションでは、私のラップトップでGPT-2を実行し、繰り返し予測してテキストの次の部分をサンプリングし、初期テキストに基づいてストーリーを生成するよう依頼しています。ストーリーにはあまり意味がありません。しかし、代わりにGPT-3へのAPI呼び出しに置き換えると、これは同じ基本モデルですが、はるかに大きいものです。突然、ほとんど魔法のように、合理的なストーリーが得られます。パイ生物が数学と計算の土地に住むと推論しているようです。
ここでの繰り返し予測とサンプリングのプロセスは、基本的にChatGPTや他の大規模言語モデルと対話し、それらが一度に1つの単語を生成するのを見るときに起こっていることです。実際、私が本当に楽しむ機能の1つは、選択される各新しい単語の基礎となる分布を見ることができることです。
トランスフォーマーを通じてデータがどのように流れるかの高レベルの概要から始めましょう。各ステップの動機付け、説明、詳細を掘り下げるのに多くの時間を費やしますが、一般的に、これらのチャットボットの1つが特定の単語を生成するとき、カバーの下で起こっていることは次のとおりです。
まず、入力が小さな塊に分割されます。これらの塊をトークンと呼び、テキストの場合、これらは通常、単語や単語の小さな部分、または他の一般的な文字のグループになる傾向があります。画像や音声が含まれている場合、トークンはその画像の小さな斑点や音声の小さな部分である可能性があります。
次に、これらの各トークンがベクトルに関連付けられます。これは数値のリストであり、何らかの方法でその塊の意味をエンコードすることを目的としています。これらのベクトルが非常に高次元の空間の座標を与えると考えると、類似した意味を持つ単語は、その空間で互いに近いベクトルに落ち着く傾向があります。
このベクトルのシーケンスは、アテンションブロックと呼ばれるプロセスを経て、ベクトルが互いに「話し合い」、情報を行き来させて値を更新できるようにします。例えば、「機械学習モデル」というフレーズの中の「モデル」という単語の意味は、「ファッションモデル」というフレーズの中の意味とは異なります。アテンションブロックは、関連する文脈の単語を知り、他の単語の意味をどのように更新すべきかを正確に決定する役割を果たします。繰り返しになりますが、単語の意味について言及するたびに、それは完全にそれらのベクトルの入力に何らかの方法でエンコードされています。
次に、これらのベクトルは異なるタイプの操作を経ます。参照する出典によっては、これは多層パーセプトロンまたはフィードフォワード層と呼ばれることがあります。ここでは、ベクトルは互いに「話し合う」のではなく、すべてが並行して同じプロセスを経ます。このブロックを解釈するのは少し難しいですが、後で各ベクトルについて長いリストの質問を投げかけ、それらの質問への回答に基づいて更新するようなものだと話します。
両方のブロックの操作はすべて、大量の行列乗算のように見え、私たちの主な課題は、基礎となる行列をどのように読むかを理解することです。間に行われる正規化ステップについていくつかの詳細をスキップしていますが、これは結局のところ高レベルの概要です。
その後、基本的にプロセスが繰り返され、アテンションブロックと多層パーセプトロンブロックの間を行き来します。最後には、願わくば、パッセージの基本的な意味がすべて何らかの方法で順序の最後のベクトルに焼き付けられています。
その後、最後のベクトルに特定の操作を行い、可能なすべてのトークン、つまり次に来る可能性のあるすべての小さなテキスト片に対する確率分布を生成します。そして、先ほど言ったように、テキストの抜粋に基づいて次に何が来るかを予測するツールがあれば、少しの初期テキストを与えて、次に何が来るかを予測する遊びを繰り返し、分布からサンプリングし、それを追加し、そしてそれを何度も繰り返すことができます。
ChatGPTがシーンに登場する前の時代を覚えている人もいるかもしれませんが、これはGPT-3の初期のデモがどのように見えたかです。初期の抜粋に基づいてストーリーや記事を自動的に完成させることができました。
このようなツールをチャットボットに変えるための最も簡単な出発点は、AIアシスタントとやり取りするユーザーの設定を定義する少しのテキストを取得することです。これはシステムプロンプトと呼ぶことができます。その後、ユーザーの最初の質問またはプロンプトを対話の最初の部分として使用し、そこから助けになるAIアシスタントが何を言うかを予測し始めることができます。これを成功させるために必要なトレーニングステップについては多くのことが言えますが、高レベルではこれがアイデアです。
この章では、ネットワークの始まりと終わりで何が起こっているかの詳細を掘り下げていきます。また、重要な背景知識の一部を復習するのにも多くの時間を費やしたいと思います。これらは、トランスフォーマーが登場する頃には、機械学習エンジニアの第二の天性になっていたであろうものです。この背景知識に慣れていて、少し我慢できるなら、次の章に飛んでもらって構いません。そこでは、一般的にトランスフォーマーの心臓部と考えられているアテンションブロックに焦点を当てます。その後、多層パーセプトロンブロック、トレーニングの仕組み、そしてその時点までスキップされるいくつかの他の詳細についてもっと話したいと思います。
より広い文脈として、これらのビデオはディープラーニングに関するミニシリーズへの追加です。以前のビデオを見ていなくても大丈夫だと思います。システム外でキャッチアップできると思いますが、特にトランスフォーマーに深入りする前に、ディープラーニングの基本的な前提と構造について同じページにいることを確認する価値があると思います。
明白なことを述べるリスクを冒しますが、これは機械学習のアプローチの1つであり、モデルがどのように振る舞うかを何らかの方法でデータを使用して決定する任意のモデルを記述します。私が言いたいのは、画像を取り込んでそれを説明するラベルを生成する関数が欲しいとします。あるいは、テキストの抜粋に基づいて次の単語を予測する例や、直感とパターン認識の要素を必要とするように見える他の任意のタスクがあります。
私たちは今日これを当たり前のことと考えていますが、機械学習のアイデアは、コードでこのタスクを実行する方法の明示的な手順を指定しようとする代わりに、これはAIの初期の日々に人々がやっていたことですが、代わりに非常に柔軟な構造を設定し、調整可能なパラメータ、つまりノブやダイヤルのセットを持ち、そして何らかの方法で、特定の入力に対して出力がどのように見えるべきかの多くの例を使用して、その動作を模倣するようにそれらのパラメータの値を調整するということです。
例えば、おそらく最も単純な形の機械学習は線形回帰です。ここでは入力と出力が単一の数値、例えば家の平方フィートとその価格のようなものであり、あなたが欲しいのはこのデータを通る最適な当てはまり線を見つけることです。ご存知のように、将来の家の価格を予測するためです。この線は2つの連続したパラメータ、例えば傾きとy切片によって記述され、線形回帰の目標はデータに密接に一致するようにそれらのパラメータを決定することです。
言うまでもなく、ディープラーニングモデルははるかに複雑になります。例えば、GPT-3は2つではなく、1750億のパラメータを持っています。しかし、ポイントは、トレーニングデータを大幅にオーバーフィットしたり、トレーニングが完全に停滞したりすることなく、膨大な数のパラメータを持つ巨大なモデルを作成できるということは当然のことではないということです。ディープラーニングは、過去20年間で顕著にスケーラブルであることが証明されたモデルのクラスを記述しています。
それらを統一しているのは、バックプロパゲーションと呼ばれる同じトレーニングアルゴリズムです。私たちが進むにつれて得たい文脈は、このトレーニングアルゴリズムが大規模にうまく機能するためには、これらのモデルは特定の非常に特定のフォーマットに従う必要があるということです。このフォーマットを知っていれば、トランスフォーマーが言語を処理する方法に関する多くの選択を説明するのに役立ちます。これらは恣意的に感じるリスクがあります。
まず、あなたが作成しているモデルが何であれ、入力は実数の配列としてフォーマットする必要があります。これは数値のリストかもしれませんし、2次元の配列かもしれません。あるいは、多くの場合、より高次元の配列を扱います。一般的な用語はテンソルです。
入力データが徐々に多くの異なる層に変換されていくと考えることがよくあります。各層は常に何らかの実数の集合として整理されており、最終的に出力と見なす最後の層に到達します。例えば、テキスト処理モデルの最後の層は、可能なすべての次のトークンの確率分布を表す50,000個の値のリストです。
ディープラーニングでは、これらのモデルパラメータは常に重みと呼ばれます。なぜなら、これらのモデルの主な特徴は、処理されるデータとこれらのパラメータが相互作用する唯一の方法が加重和を通じてであるためです。非線形関数をあちこちにスプリンクルすることもできますが、それらはパラメータに依存しません。
通常、すべての加重和がこのように露骨に書かれているのを見るのではなく、それらがマトリックス・ベクトル積の異なるコンポーネントとしてグループ化されているのを見つけるでしょう。それは同じことを言っているだけです。マトリックス・ベクトル積がどのように機能するかを考え直せば、出力の各コンポーネントが加重和のように見えます。
私にとって、そしておそらくあなたにとっても、概念的にはより清潔なのは、処理されているデータから抽出されたベクトルを変換する、調整可能なパラメータで満たされた行列として考えることです。例えば、GPT-3の1750億の重みは、28,000弱の異なる行列に整理されています。
これらの行列は8つの異なるカテゴリーにさらに分割され、私たちがこれから行うのは、これらの各タイプが何をしているのかを理解するために、それぞれを順番に見ていくことです。
進むにつれて、GPT-3の具体的な数字に戻って、その1750億の正確な由来を計算するのは面白いと思います。現在はより大きくてより良いモデルがあるかもしれませんが、このモデルには、機械学習コミュニティの外の世界の注目を集めた大規模言語モデルとしての特別な魅力があります。また、実用的には、企業はより最新のネットワークの具体的な数字を非公開にする傾向があります。
私はただシーンを設定したいだけです。ChatGPTのようなツールの中で何が起こっているかを見るために覗き込むと、実際の計算のほとんどすべてが行列とベクトルの乗算のように見えます。数十億の数字の海に迷子になるリスクが少しありますが、モデルの重み(私は常に青か赤で色付けします)と、処理されているデータ(私は常に灰色で色付けします)の間に非常に鋭い区別を心の中で描くべきです。重みは実際の頭脳であり、トレーニング中に学習されるものであり、どのように振る舞うかを決定するものです。処理されているデータは、特定の実行のためにモデルに供給される特定の入力をエンコードしているだけです。例えば、テキストの抜粋などです。
それを基礎として、このテキスト処理の例の最初のステップ、つまり入力を小さな塊に分割し、それらの塊をベクトルに変換することに深入りしましょう。これらの塊をトークンと呼ぶと言いましたが、それらは単語の一部や句読点かもしれません。しかし、この章や特に次の章では、時々それらがより明確に単語に分割されていると単に装うつもりです。
私たち人間は単語で考えるので、これは小さな例を参照し、各ステップを説明するのをはるかに簡単にします。モデルには事前に定義された語彙、つまりすべての可能な単語のリストがあります。例えば50,000個です。私たちが遭遇する最初の行列は、埋め込み行列として知られており、これらの単語の各々に対して1つの列を持っています。
これらの列は、その最初のステップで各単語が変換されるベクトルを定義します。私たちはそれらを、そして私たちが見るすべての行列を、ランダムな値で始めますが、データに基づいて学習されます。
単語をベクトルに変換することは、トランスフォーマーの遥か前から機械学習で一般的な実践でしたが、以前に見たことがなければ少し奇妙です。そしてそれは以下のすべてのための基礎を築くので、それを認識するために一瞬立ち止まりましょう。
これをしばしば単語埋め込みと呼びます。これは、これらのベクトルを高次元空間の点として非常に幾何学的に考えるように誘います。3つの数字のリストを3次元空間の点の座標として視覚化するのは問題ありませんが、単語埋め込みははるかに高次元になる傾向があります。GPT-3では12,288次元あり、ご覧のように、多くの異なる方向を持つ空間で作業することが重要です。
3次元空間を通る2次元のスライスを取り、すべての点をそのスライスに投影できるのと同じように、私が提供する単純なモデルからの単語埋め込みを動かすために、この非常に高次元の空間を通る3次元のスライスを選択し、単語ベクトルをそこに投影して結果を表示することで同様のことをします。
ここでの大きなアイデアは、モデルがトレーニング中に重みを調整して単語をベクトルとしてどのように組み込むかを決定するとき、空間の方向が何らかの種類の意味論的な意味を持つ埋め込みのセットに落ち着く傾向があるということです。
ここで使用している単純な単語からベクトルへの変換モデルでは、タワーという単語の埋め込みに最も近いすべての単語を検索すると、それらがすべて非常に似たタワーのような感覚を与えているように見えることに気づくでしょう。
家でこれを再現して遊びたい場合は、アニメーションを作成するために使用している特定のモデルです。これはトランスフォーマーではありませんが、空間の方向が意味論的な意味を持つ可能性があるというアイデアを説明するには十分です。
これの古典的な例の1つは、女性と男性のベクトルの差を取ると、一方の先端からもう一方の先端へのつながりを小さなベクトルとして想像できますが、それが王と女王の差に非常に似ているということです。女王という単語を知らないと仮定すると、王を取り、女性-男性の方向を加え、その点に最も近い埋め込みを探すことで見つけることができます。
少なくともある程度は。これは私が遊んでいるモデルの古典的な例ですが、実際の女王の埋め込みは、これが示唆するものよりも少し遠いです。おそらく、トレーニングデータで女王が使用される方法が単に王の女性版ではないためでしょう。
そして、これを探索したとき、家族関係がアイデアをはるかによく説明しているように見えました。
重要なポイントは、トレーニング中にモデルが、この空間の1つの方向が性別に関連する情報をエンコードするような埋め込みを選択することが有用であることを見出したように見えるということです。
別の例は、イタリアの埋め込みを取り、ドイツの埋め込みを引き、それをヒトラーの埋め込みに加えると、ムッソリーニの埋め込みに非常に近いものが得られるということです。モデルがいくつかの方向をイタリアのアイデンティティと関連付け、他の方向を第二次世界大戦の枢軸国指導者と関連付けることを学んだかのように見えます。
おそらく、この文脈で私のお気に入りの例は、一部のモデルでは、ドイツと日本の差を取り、それを寿司に加えると、ソーセージに非常に近いところに落ち着くということです。
また、最近接を見つける遊びをしているときに、猫がキティとキトゥンにどれほど近いかを見るのが楽しかったです。
特に次の章で役立つ数学的な直感の1つは、2つのベクトルの内積をそれらがどれほど互いに整列しているかを測定する方法と考えることができるということです。
計算的には、内積は対応するコンポーネントをすべて掛け合わせて結果を加算することを含みます。これは良いことです。なぜなら、私たちの計算の多くは加重和のように見える必要があるからです。
幾何学的には、内積は、ベクトルが類似した方向を指しているときに正になり、直交しているときにゼロになり、反対方向を指しているときに負になります。
例えば、このモデルで遊んでいて、猫から猫を引いたものが、この空間で一種の複数形の方向を表していると仮定したとしましょう。
これをテストするために、このベクトルを取り、いくつかの単数形の名詞の埋め込みに対する内積を計算し、それを対応する複数形の名詞との内積と比較します。
これを操作すると、複数形は常に単数形よりも高い値を与えているように見えることに気づくでしょう。これは、それらがこの方向により整列していることを示唆しています。
また、この内積を単語1、2、3などの埋め込みと取ると、それらが増加する値を与えるのも面白いです。したがって、モデルが特定の単語をどれほど複数形と見なしているかを定量化できるように見えます。
繰り返しになりますが、単語をどのように埋め込むかの詳細はデータを使用して学習されます。
この埋め込み行列、その列が各単語に何が起こるかを教えてくれる行列は、モデルの最初の重みの塊です。
GPT-3の数字を使用すると、語彙サイズは正確に50,257です。そして繰り返しになりますが、これは技術的には単語そのものではなく、トークンで構成されています。
埋め込み次元は12,288で、それを掛け合わせると、これが約6億1700万の重みで構成されていることがわかります。
これを累積合計に追加しましょう。最終的に1750億まで数え上げる必要があることを覚えておいてください。
トランスフォーマーの場合、埋め込み空間のこれらのベクトルが単に個々の単語を表すものではないと本当に考えたいのです。
一つの理由は、それらがその単語の位置に関する情報もエンコードしているからです。これについては後で話します。しかし、より重要なのは、それらが文脈を吸収する能力を持っていると考える必要があることです。
例えば、”王”という単語として人生を始めたベクトルは、このネットワークのさまざまなブロックによって引っ張られ、最終的には何らかの方法でより具体的で詳細な方向を指すかもしれません。それは、スコットランドに住んでいた王、前の王を殺して王位に就いた王、シェイクスピアの言語で描写されている王、というようなことをエンコードしているかもしれません。
特定の単語に対するあなたの理解について考えてください。その単語の意味は明らかに周囲の環境によって形作られ、時にはその文脈は遠くから来ています。したがって、次に来る単語を予測する能力を持つモデルを組み立てる際の目標は、何らかの方法で文脈を効率的に組み込むことを可能にすることです。
明確にするために、その最初のステップで、入力テキストに基づいてベクトルのセットを作成するとき、それらの各々は単に埋め込み行列から引き出されているだけなので、最初は各々が周囲からの入力なしに1つの単語の意味しかエンコードできません。
しかし、これらのベクトルが流れるこのネットワークの基本的な目標は、それぞれが単なる個々の単語が表現できるよりもはるかに豊かで具体的な意味を吸収できるようにすることだと考える必要があります。
ネットワークは一度に固定数のベクトルしか処理できません。これはコンテキストサイズと呼ばれます。
GPT-3の場合、2048のコンテキストサイズでトレーニングされました。したがって、ネットワークを流れるデータは常にこの2048列のセットのように見えます。各列は12,000次元です。
このコンテキストサイズは、トランスフォーマーが次の単語を予測する際に組み込むことができるテキストの量を制限します。これが、ChatGPTの初期バージョンのような一部のチャットボットとの長い会話で、長く続けると会話の流れを失っているような感じがするのが一般的だった理由です。
アテンションの詳細については後ほど扱いますが、先に進んで、最後に何が起こるかについて少し話したいと思います。思い出してください、望ましい出力は、次に来る可能性のあるすべてのトークンに対する確率分布です。
例えば、最後の単語が「教授」で、文脈に「ハリー・ポッター」のような単語が含まれ、その直前に「最も嫌われている教師」が見られ、また、私にトークンが単に完全な単語のように見えると装う自由を与えてくれるなら、ハリー・ポッターの知識を獲得した十分に訓練されたネットワークは、「スネイプ」という単語に大きな数字を割り当てるはずです。
これには2つの異なるステップが含まれます。まず、別の行列を使用して、このコンテキストの最後のベクトルを語彙内の各トークンに1つずつ、50,000個の値のリストにマッピングします。
次に、これを確率分布に正規化する関数があります。これはソフトマックスと呼ばれ、すぐに詳しく説明しますが、その前に、最後の埋め込みだけを使用して予測するのは少し奇妙に思えるかもしれません。結局のところ、その最後のステップでは、豊かな文脈的意味を持つ他の数千のベクトルがその層にあります。
これは、トレーニングプロセスにおいて、最終層のそれらのベクトルの各々を使用して、その直後に来るものを同時に予測することがより効率的であることがわかるという事実に関連しています。トレーニングについては後でもっと話すことがありますが、今はそれを言及するだけにしたいと思います。
この行列は逆埋め込み行列と呼ばれ、WUと名付けます。繰り返しになりますが、私たちが見るすべての重み行列と同様に、そのエントリはランダムに始まりますが、トレーニングプロセスを通じて学習されます。
合計パラメータ数を追跡し続けるために、この逆埋め込み行列は語彙内の各単語に対して1つの行を持ち、各行は埋め込み次元と同じ数の要素を含んでいます。これは埋め込み行列と非常によく似ていますが、順序が逆になっているだけなので、ネットワークにさらに6億1700万のパラメータを追加します。これは、現在の合計が10億をわずかに超えていることを意味します。これは1750億の小さな、しかし無視できない部分です。
この章の最後の小さなレッスンとして、このソフトマックス関数についてもう少し詳しく話したいと思います。なぜなら、アテンションブロックを掘り下げるときにそれが再び登場するからです。
アイデアは、一連の数字を確率分布として機能させたい場合、例えばすべての可能な次の単語の分布のように、各値は0と1の間でなければならず、また、すべてを合計して1にする必要があります。
しかし、教育的なゲームをしていて、あなたがしているすべてのことが行列とベクトルの乗算のように見える場合、デフォルトで得られる出力はこれを全く満たしません。値はしばしば負であったり、1よりもはるかに大きかったり、そしてほぼ確実にそれらの合計は1になりません。
ソフトマックスは、ランダムな数字のリストを、より大きな値が1に近く終わり、より小さな値が0に非常に近く終わるような方法で、有効な分布に変換する標準的な方法です。
これがあなたが本当に知る必要のあるすべてです。しかし、もし好奇心があれば、それが行われる方法は、まず各数字をeの累乗にすることです。これは正の値のリストを与えます。その後、これらの正の値をすべて合計し、各項をその合計で割ることで、1に合計するリストに正規化します。
入力の1つの数字が他のものよりもはるかに大きい場合、出力では対応する項が分布を支配することに気づくでしょう。したがって、そこからサンプリングすると、ほぼ確実に最大の入力を選択することになります。
しかし、それは単に最大値を選択するよりも柔軟です。他の値も同様に大きい場合、それらも分布で意味のある重みを得ます。そして、入力を連続的に変更すると、すべてが連続的に変化します。
いくつかの状況では、例えばChatGPTがこの分布を使用して次の単語を生成する場合、この関数にさらに少しの興奮を加えることができます。それらの指数の分母にt定数を加えることによってです。
これを温度と呼びます。なぜなら、それがいくつかの熱力学方程式における温度の役割を漠然と思い起こさせるからです。効果は、tが大きいほど、より小さな値により大きな重みを与え、つまり分布がより均一になり、tが小さいほど、より大きな値がより強く支配し、極端な場合、tをゼロに設定すると、すべての重みが最大値に行きます。
例として、GPT-3に「昔々、Aがありました」という基本的なテキストでストーリーを生成するよう依頼しますが、それぞれの場合で異なる温度を使用します。
温度ゼロは、常に最も予測可能な単語に一致することを意味し、最終的に得られるのは平凡なものの派生物です。
高温では、より可能性の低い単語を選択する機会が得られますが、リスクも伴います。この場合、ストーリーは韓国の若いウェブアーティストについてより独創的に始まりますが、すぐにナンセンスに変わってしまいます。
技術的には、APIは2より大きな温度を選択することを許可していません。これには数学的な理由はありません。ただ、彼らのツールが無意味なものを生成して見えるのを防ぐために課された恣意的な制限です。そのため、この動画が実際に機能する方法は、GPT-3が生成する最も可能性の高い次の20個のトークンを取得し、それが与えてくれる最大値であるようです。その後、15の指数に基づいて確率を調整します。
別の用語として、この関数の出力の成分を確率と呼ぶのと同じように、入力を対数、または一部の人々はログと言い、一部の人々はログと言いますが、私はログと言います。
例えば、いくつかのテキストを供給すると、これらのすべての埋め込まれた単語がネットワークを流れ、逆埋め込み行列を使用してこの最後の乗算を行うと、機械学習の人々は次の単語を予測するためのこの初期の非正規化された出力の成分を対数確率と呼びます。
この章の多くの目的は、注意メカニズムを理解するための基礎を築くことでした。ワックスオンワックスオフのカラテキッドスタイルです。
見ていただいたように、単語埋め込みへの強い直感、ソフトマックス、内積が類似性をどのように測定するか、そしてほとんどの計算が調整可能なパラメータで満たされた行列と行列の乗算のように見える必要があるという基本的な前提があれば、注意、つまり現代のAIブームの礎石であるこのメカニズムを理解することは比較的スムーズであるはずです。
だから、次の章で私に参加してください。これを投稿している間、次の章のドラフトはPatreonサポーターによるレビューのために利用可能です。
最終版は通常1〜2週間以内に一般に公開される予定です。これは通常、そのレビューに基づいて最終的にどれだけ変更するかに依存します。
その間、注意に深く飛び込みたい場合、そしてチャンネルを少し助けたい場合は、それがあなたを待っています。


コメント