
10,820 文字
パーセプトロンは1950年代に世界を驚かせた機械です。完全に自動的にパターンを認識することを学習し、今日ではそのアルゴリズムがChatGPTのような AI システムの中核的な構成要素となっています。しかし、なぜこれが今日の知的システムの最小単位となっているのでしょうか。
パーセプトロンは、これらのスイッチを使用して入力されたパターンを処理することで動作します。上向きのT字型スイッチはプラスの電圧を出力し、下向きのスイッチはマイナスの電圧を出力します。各スイッチは表示用LEDに接続され、その後ダイヤルの1つに接続されます。ダイヤルを回転させると、スイッチの出力にダイヤルに表示された数値が掛け合わされ、メーターにはすべてのダイヤルからの信号を足し合わせた結果が表示されます。
T字型に対しては常に正の信号を出力し、このJ字型のような他の種類の形状に対しては負の値を出力するように、ダイヤルを設定する方法はあるでしょうか。なお、形状は毎回同じ位置にあるとは限りません。驚くべきことに、その問題を解決するような設定が存在する場合、それを必ず見つけることができる単純な手順があることが判明しています。
このT字型から始めると、メーターはゼロに近い値を示していますが、この場合は正の値にしたいと考えます。この手順では、スイッチがオンになっているすべてのノブを学習率と呼ばれる一定の値だけ右に回し、スイッチがオフになっているすべてのノブを学習率だけ左に回すように指示します。
次のパターンはJ字型で、機械に負の値を出力させたいのですが、現在のダイヤル設定では正の値を出力しています。この場合、手順ではスイッチがオンになっているすべてのダイヤルを下げ、スイッチがオフになっているすべてのダイヤルを上げるように指示します。
次のパターンである位置をずらしたJ字型では、パーセプトロンは望ましい負の値の代わりに再び正の値を出力するので、再びオンになっているスイッチをすべて下げ、オフになっているスイッチをすべて上げます。
4番目の最後の例に到達すると、現在のダイヤル設定はT字型に対して期待される正しい正の値を出力します。この場合、手順ではダイヤルをそのままにしておくように指示します。
パターンを再度巡回すると、機械が4つの例すべてを正しく分類することを学習したことがわかります。この手順は1957年に心理学者のフランク・ローゼンブラットによって発見され、パーセプトロン学習則として知られています。
ローゼンブラットは1958年7月7日の記者会見でこのアプローチを一般に公開しました。翌日、ニューヨーク・タイムズは、この機械が歩き、話し、見て、書き、自己複製し、自己の存在を意識することができるようになると期待されていると報じました。
ローゼンブラットのパーセプトロンは、いくつかの点で私たちの機械よりも洗練されています。入力グリッドは4×4ではなく20×20で、人工ニューロンも1つではなく複数あり、ダイヤルを回すためにモーターを使用していたため、学習は完全に自動的でした。しかし、学習アルゴリズムと動作原理は同じです。
ローゼンブラットの主張は大げさですが、徐々に現実のものとなっています。1971年の早すぎる死の前に、ローゼンブラットは現代のニューラルネットワークによく似た多層アーキテクチャに取り組んでいました。
しかし、ローゼンブラットの設計、そして実際にこの時代のすべてのニューラルネットワークには問題がありました。それは、現代のニューラルネットワーク駆動型AIアプローチをほぼ完全に停止させることになりました。
このビデオ用のパーセプトロン機械を製作するには、早朝のデザインとはんだ付けのセッションが何度も必要でした。このようなプロジェクトでは、朝のルーティンをしっかりと確立しておくことが重要で、このビデオのスポンサーであるag1は私のルーティンの重要な部分となっています。
数年前、私は特に疲れを感じ、いつもより頻繁に体調を崩すようになったため、何か問題がないか詳細な血液検査を受けることにしました。医師はビタミンDレベルが非常に低いことを発見し、数ヶ月間サプリメントを摂取した後、大きな違いを感じました。
この経験から、栄養摂取の最適化についてより広く考えるようになり、ag1は私にとって素晴らしいツールとなりました。毎朝ag1を1杯摂取することで、いくつかの別々のサプリメントを置き換えることができました。成分リストは本当に印象的で、ag1を摂取して最も感じた効果はエネルギーと消化の改善です。
休暇中に朝のルーティンを中断してag1の摂取を忘れてしまい、休暇の終わりには、より多くの睡眠を取っていたにもかかわらず、エネルギーが減少していることに気づきました。
ag1は研究に裏付けられており、彼らは消化管をシミュレートする特殊な機械を使用して生体外研究を行い、腸内細菌叢に対するag1の影響を非常に制御された状態で研究することができます。ag1チームはまた、人間の参加者を対象とした研究も行っており、最近の研究では、参加者の97%が1ヶ月間ag1を摂取した後、より多くのエネルギーを感じたと報告しています。
drinkag1.com/Welchlabsにアクセスするか、説明欄のリンクをクリックすることで、ag1の初回サブスクリプションを20ドル割引で購入することができます。このビデオのスポンサーとなってくれたag1に大きな感謝を捧げます。
さて、パーセプトロンに話を戻しましょう。パーセプトロン機械が特定のパターンを素早く区別することを学習できることを見てきましたが、パーセプトロンには具体的にどのようなことができて、できないのでしょうか。
1962年、アルバート・ノヴィコフは、与えられた例のセットをきれいに分離するダイヤル設定が存在する場合、パーセプトロン学習則は必ずそれを見つけ出すことを数学的に証明しました。しかし、すべての種類の入力パターンに対して、きれいに分離するダイヤル設定は存在するのでしょうか。
この問題の本質に迫るために、入力が2つだけのさらに単純なバージョンのパーセプトロンを作ってみましょう。これで可能な入力パターンは4つだけになります:両方のスイッチがオフ、どちらか一方のスイッチがオン、または両方のスイッチがオンです。
2つの入力しかありませんが、ダイヤルは3つあることに注意してください。余分なダイヤルはバイアスと呼ばれ、どのスイッチにも接続されていませんが、効果的に常にオンになっています。バイアスダイヤルにより、現在のスイッチ設定に関係なく、メーターに送られる最終値に直接加算または減算することができます。これは、私たちの完全な機械が16ではなく17のダイヤルを持っている理由でもあります。
さて、一方または両方のスイッチがオンの場合に正の値を出力し、両方のスイッチがオフの場合に負の値を出力するようにパーセプトロンに要求してみましょう。パーセプトロン学習則に従って、機械はわずか3ステップでこれらのパターンを正常に学習することができます。
しかし、例に対する他の割り当てはどうでしょうか。どちらか一方のスイッチがオンの場合に出力を正にし、両方のスイッチがオンの場合または両方のスイッチがオフの場合に負にしたい場合はどうでしょうか。同じパーセプトロン学習則に従うと、機械は実行可能な解決策に落ち着くことなく、ループに陥ってしまいます。
なぜパーセプトロンは最初のパターングループを学習できるのに、2番目のグループは学習できないのでしょうか。各入力設定を2次元グリッド上にプロットすることで、何が起こっているのかを視覚的に理解することができます。x軸は最初の入力値を、y軸は2番目の入力値を表します。
オン位置のスイッチは+1ボルトの入力を生成するので、両方のスイッチがオンの設定はグリッド上の(1,1)の点で表されます。オフのスイッチは-1ボルトの入力を表すので、両方のスイッチがオフの設定はグリッド上の(-1,-1)に表示され、一方のスイッチがオンの設定は(1,-1)と(-1,1)に表示されます。
では、パーセプトロンの数学は2次元グリッド上でどのように表現されるでしょうか。機械の各ダイヤルは効果的に各入力値を設定可能な重みで掛け算しているので、機械の出力は最初のダイヤルの重み値×X + 2番目のダイヤルの重み値×Y + XやYに依存しないバイアスダイヤルの出力(これをBと呼びます)に等しくなります。
出力値が0より大きい場合、パーセプトロンは入力XYを正として分類します。では、グリッドのどの領域で私たちのパーセプトロンの出力が0より大きくなるでしょうか。出力を0より大きいと設定し、方程式でyについて解くと、傾きが-W1/W2でy切片が-B/W2の直線の式が得られます。したがって、パーセプトロンはこの直線より上のグリッド上のすべての点を正として分類します。
この動作は、スイッチの一方または両方がオンの場合に正として分類した最初の例で確認することができます。グリッド上では、これらは点(-1,1)、(1,1)、(1,-1)です。パーセプトロンが学習し、重みを更新するにつれて、直線が移動し、すべての正の例が決定境界の正の側に位置する設定に素早く落ち着きます。
では、一方のスイッチがオンで両方ではない場合に機械が設定を正として分類したい、パーセプトロンが学習に失敗した例についてはどうでしょうか。グリッド上では、これらの設定は点(-1,1)と(1,-1)に対応します。パーセプトロンがこのパターンを学習しようとする様子を見ると、私たちの例をきれいに分離する位置に落ち着くことができずに直線が飛び回っているのがわかります。
これは、単一の直線でこのパターンを分離する方法が実際には存在しないためです。少なくとも1つの例を見逃してしまいます。言い換えれば、私たちのデータは線形分離可能ではないのです。
この例は、入力から出力へのマッピングが論理的な排他的論理和関数に従うため、排他的論理和問題として知られており、線形分離不可能なパターンの最も単純な例の1つです。この単純な排他的論理和関数を学習できないことは、ローゼンブラットのパーセプトロンや他の初期のニューラルネットワークに対する大きな批判点でした。
この例は少し人工的に感じるかもしれませんが、線形分離可能性は実際のデータにおいて重要な懸念事項です。1958年の記者会見で、ローゼンブラットは画像の左側と右側にマークがある例を区別することをパーセプトロンが学習する例を示しました。これらのパターンは線形分離可能です。
しかし、その年の後半にニューヨーカー誌のインタビューで、ローゼンブラットはパーセプトロンが猫と犬の画像を区別できると主張しました。彼は原理的な意味で言ったのかもしれませんが、Pythonで猫と犬の顔の画像で試してみると、パーセプトロン学習則はいくつかの基本的なパターンを学習できますが、不安定で約20%のエラー率を下回ることができません。つまり、この猫と犬のデータセットは線形分離可能ではないということです。
ローゼンブラット自身が指摘したように、線形分離可能性の問題には解決策がありますが、それには注意点があります。私たちのパーセプトロン機械は単一の人工ニューロンを実装しており、単一の線形決定境界を作成することに限定されています。パターンを認識するために、これらの人工ニューロンのネットワークに拡張すると、複数の線形決定境界を組み合わせてより複雑なパターンを学習することができます。
実は、2層にわたるわずか3つのニューロンを持つ非常に単純なネットワークで排他的論理和問題を解決できることがわかっています。最初の層で2つの決定境界を作成し、第2層でこれらの境界を組み合わせて、(-1,-1)と(1,1)を排除しながら(-1,1)と(1,-1)を捕捉するバンドをグリッド上に作成する仕組みです。
しかし、1960年代には多層ニューラルネットワークがこのような線形分離不可能な問題を原理的に解決できることは広く知られていましたが、誰も重みを学習するための適切なアルゴリズムを見つけることができませんでした。単一のニューロンでは非常にうまく機能するパーセプトロン学習則は、多層ネットワークには一般化できません。
排他的論理和のようなおもちゃの問題を解決する重みを手動で見つけるのは簡単ですが、多層ニューラルネットワークで猫と犬を区別するような実際の問題には、実データに基づいてすべてのニューロンの重みを同時に更新できる学習アルゴリズムが必要です。
1960年代半ば、ニューラルネットワークは行き詰まりを迎えていました。AIの分野の2人のリーダー、マービン・ミンスキーとシーモア・パパートは、「パーセプトロンズ」と呼ばれる本のプレプリントを配布し始めました。そのタイトルにもかかわらず、この本は一般的に否定的な見解を取り、パーセプトロンができないことを数学的に厳密に示しています。
本の表紙には、パーセプトロンが区別できない2つの図が示されています。これらの形状は似ていますが、接続性が異なります。上の形状は1本の紫の線で作られており、下の形状は2本で作られています。排他的論理和問題と同様に、ローゼンブラットのパーセプトロンはこれらのパターンを分離することはできません。ただし、現代のニューラルネットワークはできます。
この明らかな行き詰まりは、1960年代と70年代に全く異なる記号的なAIアプローチの台頭と、ニューラルネットワーク研究の劇的な衰退を引き起こしました。
ローゼンブラットのパーセプトロンが当時最も注目を集めていましたが、他にもいくつかのグループが人工ニューロンのシステムに取り組んでいました。スタンフォードでは、バーナード・ウィドローのグループが多層ニューラルネットワークを訓練する問題を解決し、現代のAIアプローチを発見することに信じられないほど近づいていました。
1959年の秋のある金曜日の午後、ウィドローは新しい大学院生のテッド・ホフと最初の会合を持ちました。ウィドローが説明したように、彼のグループは人工ニューロンの重みを学習するための勾配ベースの方法に取り組んでいました。その考えは、パーセプトロン学習則のようなアドホックな方法に従うのではなく、機械の誤差を数学的に測定し最小化することが可能だというものでした。
一方または両方のスイッチがオンの場合に正として分類したい最初の2入力の例では、目標出力と機械の出力を比較することでシステムの誤差を測定できます。表記を少し変更すると、2入力パーセプトロンの出力yは、最初の入力x0×w0 + 2番目の入力x1×w1 + Bと書くことができます。
両方のスイッチがオフの最初の入力パターンを取ると、パーセプトロンにy=-1の値を出力させたいと考えます。例えば、ダイヤルが-1、1、1に設定されている場合、出力y_hatは-1×-1 + -1×1 + 1 = 1となります。しかし、目標値はy=-1なので、目標と出力の差、つまり誤差はy-y_hat=-2となります。
ここからウィドローのグループは、この誤差値を2乗しました。これにより値は常に正となり、最小化が容易になりました。したがって、2乗誤差は4となります。では、ダイヤルを回すと2乗誤差はどのように変化するでしょうか。
最初のダイヤルを-1から-0.9に動かすと、全体の出力は0.9となり、誤差は1.9、2乗誤差は3.61となります。w0ダイヤルを段階的に動かし、結果をプロットすると、誤差値が滑らかな放物線の形を描き、w0が1付近で最小値に達することがわかります。
もちろん、私たちはw0だけでなく、最適な全体的なダイヤル設定を見つけたいと考えています。w0とw1を同時にグリッド上の値の範囲で変化させると、最適なダイヤル設定がボウルの底に位置する素晴らしいボウル形状が得られます。
さて、より多くのダイヤルを持つ機械に移ると、このようにすべての設定をテストすることは現実的ではなくなります。16入力パーセプトロンの各ダイヤルに対して10個の値を試すと、膨大な10の17乗の計算が必要になります。
ここで興味深いのは、実際には最適な解決策を見つけるために誤差の景観全体がどのように見えるかを知る必要がないということです。与えられた開始設定から、誤差の景観上でどの方向が下り坂なのか(勾配としても知られています)がわかれば、その方向に増分的なステップを踏んでボウルの底に到達することができます。
この時点まで、ウィドローのグループは勾配を数値的に推定していました。w0=-1、w1=1、バイアス=1という開始点が与えられると、各重みの周りの近傍の点で誤差を計算していました。例えば、w0の重みについては、w0=-1.1とw0=-0.9での誤差を計算して誤差曲面の傾きを推定することができます。
ウィドローがホフと一緒にオフィスでこの数学を検討していたとき、彼らは今日のニューラルネットワークの訓練方法に信じられないほど近い強力な新しいアプローチを思いつきました。ただし、1つの重要な例外がありました。
各重み値の周りで誤差を計算して勾配を推定する代わりに、誤差関数の導関数を直接計算することはできないでしょうか。w0に関する誤差方程式の偏導関数は、2のべき乗を下げ、連鎖律に従って計算すると、-2×(y-y_hat)×y_hatのw0に関する導関数となります。
y_hatの完全な式を書き出すと、w0×x0の項だけがw0に依存していることがわかります。入力x0を定数として扱うと、システムを傾きx0の直線と考えることができるので、その導関数はただx0となります。
結果として、de/dw0 = -2×(y-y_hat)×x0という単純な式が得られ、dw1とdbについても同様の式を計算することができます。これらの要素を組み合わせると、与えられた開始点から誤差の景観上でどの方向が下り坂なのかを正確に教えてくれる単純な方程式が得られます。
後にウィドローが説明したように、「何も2乗する必要はなく、実際の誤差を計算する必要もありません。以前の方法と比べたその力は素晴らしいものです」。ウィドローとホフは非常に効率的に見える方法を見つけましたが、実際に機能するのでしょうか。
彼らはすぐに回路設計を考え出しましたが、金曜日の午後の会合が終わる頃には大学の在庫室は閉まっており、月曜日の朝まで再開しませんでした。次の朝、ウィドローとホフは電子部品店に急ぎ、週末をかけて私たちのものと非常によく似た人工ニューロン回路を組み立て、日曜日の夕方までに様々な入力パターンで新しい学習アルゴリズムをテストしていました。
新しいアルゴリズムは非常にうまく機能しました。興味深いことに、全く異なる方法で導き出されたにもかかわらず、ウィドローとホフのアルゴリズムは、パーセプトロン学習則と非常によく似た方法で機械の重みを更新します。
唯一の実質的な違いは、ウィドローとホフのアルゴリズム(後にLMSと呼ばれるようになりました)が、現在の誤差値を重み更新に掛けることです。つまり、各ステップで同じ固定学習率でノブを回すのではなく、目標と現在の出力値の間の誤差に比例してノブを回します。
LMSアルゴリズムは、以前パーセプトロン学習則で解決したT字型とJ字型の分類問題を素早く解決することができます。後に、LMSアルゴリズムは解が存在する場合にその解を見つけることを保証されていないにもかかわらず、例が線形分離可能ではない一般的なケースでより良い性能を発揮することが示されました。
LMSアルゴリズムは印象的ですが、ウィドローとホフは1960年代のニューラルネットワーク研究を停止させた核心的な問題に対してそれを使用することができませんでした。後にウィドローが説明したように、彼らは最善を尽くしましたが、LMSを多層ネットワークの訓練に適応させることは決してできませんでした。
ここで驚くべきことは、その日彼らが黒板に書いたアルゴリズムが、ChatGPTのような現代のシステムを訓練するために使用するバックプロパゲーションアルゴリズムにどれほど近いかということです。
先ほどの非線形分離可能な排他的論理和問題を解決できる単純な3ニューロン2層ネットワークに戻ると、単一のニューロンに対してウィドローとホフが行ったように、入力xから出力y_hatへのマッピングを一連の方程式で書くことができます。
ウィドローとホフのアプローチに従って、誤差方程式を重みに関して微分し、連鎖律に従うことができます。しかし、第1層と第2層の境界に達すると、私たちの微積分は壁にぶつかります。
1940年代にウォルター・ピッツとウォーレン・マコーロックによって最初に開発され、50年代と60年代にほぼすべての人が使用していた人工ニューロンモデルは、すべてか無かの出力を想定しています。重みと入力の積の和が0より大きい場合、人工ニューロンは発火して1を出力し、そうでない場合は0を出力します。
この2値ステップ活性化関数の傾きはどこでもゼロで、原点では未定義なので、連鎖律でこの関数に到達すると行き詰まってしまいます。この関数は効果的に私たちの勾配をゼロにスナップします。
視覚的に、2値ステップ活性化関数は誤差の景観を平坦な台地と無限に急な崖に変えてしまいます。ここに第1層の重みの関数として誤差曲面があります。これらの平坦な景観は、LMSのような勾配法が下り坂に向かって段階的に進む望みを完全に断ち切ってしまいます。
この問題の解決策は、振り返ってみると驚くほど単純です。すべてか無かのステップ活性化関数を、もっと平坦でないものに置き換えるだけでよいのです。
ステップ活性化関数をシグモイド関数に置き換えると、誤差の景観は次のようになります。まだやや平坦な領域がありますが、これらの領域には解を下り坂に導くのに十分な傾きがあります。
ここに、排他的論理和問題を解決する両層に拡張したLMSアルゴリズムの続きがあります。
1986年、ウィドローとホフがLMSアルゴリズムを発見してから27年後、デビッド・ルメルハート、ジェフ・ヒントン、ロナルド・ウィリアムスは、今日使用している現代のバックプロパゲーションアルゴリズムを発表した論文を公開しました。彼らの導出はLMSアルゴリズム(デルタルールと呼ばれています)を引用し、このルールの一般化としてバックプロパゲーションを導出していきます。シグモイド活性化関数を使用して、ウィドローとホフがほぼ30年前に開始した勾配計算を続けるのです。
2020年、OpenAIは当時最大のニューラルネットワークとなるGPT-3を訓練するためにバックプロパゲーションを使用しました。驚異的な1,750億の学習可能な重みを持ち、これらの重みは96層に分散されており、各層は2つの計算ブロックで構成されています。各層の2番目の計算ブロックは、今でもフランク・ローゼンブラットが約70年前に付けた名前で呼ばれています:多層パーセプトロンです。
GPT-3の各多層パーセプトロンブロックは、排他的論理和問題を解決した2層ネットワークと同じように2層を持っていますが、はるかに多くのニューロンを持っています。第1層に約50,000個、第2層に約12,000個のニューロンがあります。
各層の最初の計算ブロックは、アテンションと呼ばれる比較的新しいアイデアを実装しており、依然として人工ニューロンを使用していますが、より複雑な方法で使用しています。アテンションブロックの考え方の1つは、重みが他のパーセプトロンによって制御される特殊な多層パーセプトロンとして捉えることです。これにより、データ自体がモデルを通過する際に重みを制御することができます。
GPT-3の各アテンションブロックは効果的に約50,000個のニューロンを使用しており、GPT-3の96層全体で約1,000万個の人工ニューロンとなります。したがって、GPT-3を実装するには、それぞれ10,000以上のダイヤルを持つ1,000万個のパーセプトロン機械が必要になります。今日、GPT-3は約10台のGPUに収まります。
GPT-4は報告によるとGPT-3の約10倍の大きさで、ニューロン数は1億個程度になります。私たちの単純なパーセプトロン機械と同様に、GPT-4は多くの点でパターン認識器です。その巨大なニューロンネットワークにより、言語の非常に複雑なパターンを学習し、これらのパターンを使用して次にくるべきテキストを予測することができます。
この最小単位であるパーセプトロンが、巨大なネットワークで接続され、LMSアルゴリズムの拡張で訓練されることで、これまでに構築できた最も知的なシステムを生み出すことになるとは信じられません。
フランク・ローゼンブラットがパーセプトロンは歩き、話し、見て、書き、自己複製し、自己の存在を意識することができるようになると主張してから、ほぼ70年が経ちました。彼は明らかにいくつかの重要な詳細を見落としていましたが、時間は謙虚なパーセプトロンができることについて、ローゼンブラットがますます正しかったことを証明してきました。彼がすべてについて正しかったかどうかは、待って確かめる必要があります。
Imaginary Numbersの本を購入してくださったすべての方に大きな感謝を申し上げます。第1刷は完売しましたが、第2刷が入荷し、本日注文可能となりました。本書はリーマン面を含む私のImaginary Numberシリーズに続き、オイラーの公式とシュレーディンガー方程式に関する新しい章で締めくくられています。
これらの章を作成するのはとても楽しく、図や組版の出来栄えにも大変満足しています。本書は高品質の厚手の紙に印刷され、素晴らしい細部とカラー再現を実現しています。すでによく知っているトピックに対して異なる角度からアプローチを求める専門家であれ、学校の勤務や趣味のためにこれらを初めて学ぶ方であれ、本書を楽しんでいただけると確信しています。虚数は非常に深く美しいトピックです。welchlabs.com/resourcesで今すぐ本をご購入ください。
コメント