機械学習において、パーセプトロンはバイナリ分類器の教師あり学習のためのアルゴリズムです。バイナリ分類器は、数値ベクトルで表される入力が特定のクラスに属するかどうかを決定できる関数です。[ 1 ]これは線形分類器 の一種であり、特徴ベクトルと重みのセットを組み合わせた線形予測関数に基づいて予測を行う分類アルゴリズムです。


人工ニューロンと人工ニューラルネットワークは、1943年にウォーレン・マカロックとウォルター・ピッツが彼らの画期的な論文「神経活動に内在する観念の論理計算」の中で発明した。[ 5 ]
1957年、フランク・ローゼンブラットはコーネル航空研究所にいた。彼はIBM 704上でパーセプトロンをシミュレートした。[ 6 ] [ 7 ]ハードウェア実装により興味を持っていた彼は[ 8 ]、米国海軍研究局情報システム部門とローマ航空開発センターから資金を得て、カスタムメイドのアナログコンピュータ、マークIパーセプトロンを製作した。ローゼンブラットのチームは、1959年6月から1959年12月14日の間に、米国ニューヨーク州バッファローのコーネル航空研究所(CAL)でこれを組み立て、テストした[ 8 ]。最初の公開デモンストレーションは1960年6月23日に行われた[ 9 ] 。このマシンは「1963年から1966年にかけて、このアルゴリズムを写真判読者にとって有用なツールに開発するための、以前は秘密にされていた4年間のNPIC(米国国立写真判読センター)の取り組みの一部」であった。[ 10 ]
ローゼンブラットは1958年の論文でパーセプトロンの詳細を説明した。[ 11 ]彼のパーセプトロンの構成は、3種類の細胞(「ユニット」)であるS、A、Rで構成されており、それぞれ「感覚」、「連想」、「応答」を表している。彼は1958年11月に開催されたAIに関する最初の国際シンポジウム「思考プロセスの機械化」で発表を行った。 [ 12 ]
ローゼンブラットのプロジェクトは、1959年から1970年まで続いた契約 Nonr-401(40)「認知システム研究プログラム」[ 13 ]と、1957年から1963年まで続いた契約 Nonr-2381(00)「プロジェクト PARA」(「PARA」は「知覚および認識オートマタ」を意味する)[14]の下で資金提供を受けた。
1959年、国防分析研究所は彼のグループに1万ドルの契約を与えた。1961年9月までに、ONRはさらに15万3000ドル相当の契約を与え、1962年には10万8000ドルが約束された。[ 15 ]
ONRの研究マネージャーであるマービン・デニコフは、このプロジェクトが近中期的に技術的成果を生み出す可能性が低いことから、 ARPAではなくONRがパーセプトロン・プロジェクトに資金を提供したと述べた。ARPAからの資金は数百万ドル規模に達するが、ONRからの資金は1万ドル規模である。一方、ARPAのIPTOの責任者であるJCR・リックライダーは、1950年代には「自己組織化」、「適応型」、その他の生物学的着想に基づく手法に興味を持っていたが、1960年代半ばにはパーセプトロンを含むこれらの手法を公然と批判するようになった。代わりに、彼はサイモンとニューウェルの論理的AIアプローチを強く支持した。[ 16 ]

パーセプトロンはプログラムではなく機械として意図されており、最初の実装はIBM 704用のソフトウェアでしたが、その後、画像認識用に設計された「Project PARA」というプロジェクト名でMark Iパーセプトロンとしてカスタム構築されたハードウェアに実装されました[ 17 ] 。この機械は現在、スミソニアン国立アメリカ歴史博物館にあります[ 18 ]。
マークIパーセプトロンは3層構造であった。あるバージョンは以下のように実装された。
ローゼンブラットはこの3層パーセプトロンネットワークをアルファパーセプトロンと呼び、彼が実験した他のパーセプトロンモデルと区別した。[ 9 ]
Sユニットは、プラグボードを介して(乱数表に従って)ランダムにAユニットに接続され(写真参照)、パーセプトロンにおける特定の意図的なバイアスを排除します。接続重みは固定されており、学習されません。ローゼンブラットは、網膜が視覚皮質にランダムに接続されていると信じており、彼のパーセプトロンマシンが人間の視覚知覚に似ていることを望んでいたため、ランダムな接続に固執しました。[ 19 ]
AユニットはRユニットに接続されており、調整可能な重みはポテンショメータにエンコードされ、学習中の重みの更新は電気モーターによって実行されました。[ 2 ]: 193ハードウェアの詳細はオペレーターズマニュアルに記載されています。[ 17 ]

1958年に米国海軍が主催した記者会見で、ローゼンブラットはパーセプトロンについて発言し、黎明期のAIコミュニティの間で激しい論争を引き起こした。ローゼンブラットの発言に基づき、ニューヨーク・タイムズはパーセプトロンを「海軍が歩行、会話、視覚、筆記、自己複製、そして自己存在の認識が可能になると期待している電子コンピュータの胚芽」と報じた。[ 20 ]
中央情報局の写真部門は、1960年から1964年にかけて、航空写真から軍事的に興味深いシルエット目標(飛行機や船など)を認識するために、マークIパーセプトロンマシンの使用を研究した。[ 21 ] [ 22 ]
ローゼンブラットは、パーセプトロンマシンのさまざまなバリエーションを用いた実験について、著書『神経力学の原理』(1962年)で述べている。この本は、1961年の報告書を出版したものである。[ 23 ]
バリエーションには以下のようなものがある。
この機械は、海軍研究局が管理する政府移管により、1967年にコーネル大学からスミソニアン博物館へ輸送された。[ 10 ]
パーセプトロンは当初有望視されていたものの、多くの種類のパターンを認識するように訓練することはできないことがすぐに明らかになった。このため、ニューラルネットワークの研究分野は長年停滞したが、その後、2層以上のフィードフォワードニューラルネットワーク(多層パーセプトロンとも呼ばれる)は、1層のパーセプトロン(単層パーセプトロンとも呼ばれる)よりも処理能力が高いことが認識されるようになった。
単層パーセプトロンは、線形分離可能なパターンしか学習できません。 [ 24 ]ステップ活性化関数を持つ分類タスクでは、単一のノードは、パターンを形成するデータポイントを分割する単一の線を持ちます。ノードを増やすと分割線が増えますが、それらの線は何らかの方法で結合して、より複雑な分類を形成する必要があります。2 層目のパーセプトロン、あるいは線形ノードでも、分離不可能な多くの問題を解決するのに十分です。
1969 年、マービン・ミンスキーとシーモア・パパートによる有名な書籍『パーセプトロン』では、これらの種類のネットワークがXOR関数を学習することは不可能であることが示されました。 彼らが同様の結果が多層パーセプトロン ネットワークにも当てはまると推測したと誤って信じられることがよくあります。 しかし、これは正しくありません。ミンスキーとパパートは、多層パーセプトロンが XOR 関数を生成できることを既に知っていたからです。 (詳しくは、パーセプトロン (書籍)のページを参照してください。) それにもかかわらず、しばしば誤って引用されるミンスキーとパパートのテキストは、ニューラル ネットワーク研究への関心と資金の大幅な減少を引き起こしました。 ニューラル ネットワーク研究が 1980 年代に復活するまでには、さらに 10 年かかりました。[ 24 ]このテキストは 1987 年に「パーセプトロン - 拡張版」として再版され、元のテキストのいくつかの誤りが示され、修正されています。
ローゼンブラットは資金が減ってもパーセプトロンの研究を続けた。最後の試みは、1961年から1967年にかけて構築された音声認識用のトバーモリーであった。[ 25 ]それは部屋全体を占めていた。[ 26 ]トロイダル磁気コアによって実装された12,000個の重みを持つ4層構造であった。完成する頃には、デジタルコンピュータによるシミュレーションは、専用のパーセプトロンマシンよりも高速になっていた。[ 27 ]彼は1971年にボート事故で亡くなった。
IBM 7090/7094用にニューラルネットワークのシミュレーションプログラムが作成され、文字認識、バブルチャンバー写真の粒子軌跡、音素、単語、連続音声認識、話者照合、画像処理の注意中心メカニズムなど、さまざまなパターン認識アプリケーションを研究するために使用されました。[ 28 ] [ 29 ]

カーネルパーセプトロンアルゴリズムは、1964 年に Aizerman らによって既に導入されていました。[ 30 ]一般的な非分離ケースにおけるパーセプトロンアルゴリズムのマージン境界保証は、最初にFreundとSchapire (1998) によって与えられ、[ 1 ]最近ではMohriと Rostamizadeh (2013) によって以前の結果を拡張し、より好ましい新しい L1 境界を与えています。[ 31 ] [ 32 ]
パーセプトロンは生物学的ニューロンの単純化されたモデルです。生物学的ニューロンモデルの複雑さは神経の挙動を完全に理解するためにしばしば必要となりますが、パーセプトロンのような線形モデルが実際のニューロンに見られる挙動の一部を再現できることが研究で示唆されています。[ 33 ]
すべての二値関数と学習行動の決定境界の解空間は、[ 34 ]で研究されています。

現代的な意味では、パーセプトロンは閾値関数と呼ばれる二値分類器を学習するためのアルゴリズムである。閾値関数とは、入力をマッピングする関数である。(実数値ベクトル)を出力値に変換する(単一のバイナリ値):
どこはヘヴィサイド階段関数(入力は出力は1、それ以外の場合は0が出力されます。は実数値の重みのベクトルです。ドット積ここで、mはパーセプトロンへの入力数、bはバイアスです。バイアスは決定境界を原点から遠ざけるものであり、入力値には依存しません。
同様に、バイアス項を追加できます別の重さとして座標を追加する各入力に対してそして、それを原点を通過する線形分類器として記述します。
バイナリ値(0または1)は、バイナリ分類を実行するために使用されます。正例または負例のいずれかとして扱われます。空間的には、バイアスによって平面決定境界の位置が移動しますが、向きは変わりません。
ニューラルネットワークの文脈において、パーセプトロンとは、活性化関数としてヘヴィサイド階段関数を用いる人工ニューロンのことである。パーセプトロンアルゴリズムは、より複雑なニューラルネットワークを指す「多層パーセプトロン」という名称と区別するために、「単層パーセプトロン」とも呼ばれる。線形分類器として、単層パーセプトロンは最も単純なフィードフォワードニューラルネットワークである。
情報理論の観点から、 K個の入力を持つ単一のパーセプトロンは2Kビットの情報容量を持つ。[ 35 ]この結果はトーマス・カバーによるものである。[ 36 ]
具体的には、K次元空間でN個の点を線形分離する方法の数をとする。Kが大きい場合、1に非常に近いしかし、ゼロに非常に近いのは言い換えれば、1 つのパーセプトロンユニットは、N 点に対するバイナリ ラベルのランダムな割り当てをほぼ確実に記憶することができます。しかし、ほぼ確実にそうではない。
バイナリ入力のみで動作する場合、パーセプトロンは線形分離可能なブール関数、または閾値ブール関数と呼ばれます。n個の入力に対する閾値ブール関数の数列はOEIS A000609です。その値は正確にはまでしかわかりません。ケースではあるが、桁数は正確にわかっている。上限は下限[ 37 ]
任意のブール線形閾値関数は、整数重みのみで実装できます。さらに、単一の整数重みパラメータを表現するために必要かつ十分なビット数は、[ 37 ]
単一のパーセプトロンは、任意の半空間を分類することを学習できます。しかし、ブール論理の排他的論理和問題(有名な「XOR問題」)のような、線形分離不可能なベクトルを解くことはできません。
隠れ層が1つだけのパーセプトロンネットワークは、任意のコンパクトな部分集合を任意の精度で分類することを学習できます。同様に、任意のコンパクトな台を持つ連続関数を任意の精度で近似することもできます。これは本質的に、ジョージ・サイベンコとカート・ホーニックの定理の特殊なケースです。
パーセプトロン(ミンスキーとパパート、1969年)は、様々なブール関数を学習するために必要なパーセプトロンネットワークの種類を研究した。
パーセプトロンネットワークを考えてみましょう。入力ユニット、1 つの隠れ層、および 1 つの出力で構成され、Mark I パーセプトロンマシンに似ています。ブール関数を計算します。それらは、次数 の関数を結合的にローカルと呼ぶ。隠れ層の各ユニットが最大で入力単位。
定理(定理3.1.1):パリティ関数は次数で結合的に局所的である。。
定理(第5.5節):連結関数は次数で結合的に局所的である。。

以下は、単一の出力ユニットを持つ単層パーセプトロンの学習アルゴリズムの例です。複数の出力ユニットを持つ単層パーセプトロンの場合、1つの出力ユニットの重みは他のすべての出力ユニットの重みとは完全に独立しているため、各出力ユニットに対して同じアルゴリズムを実行できます。
隠れ層が存在する多層パーセプトロンの場合、バックプロパゲーションなどのより高度なアルゴリズムを使用する必要があります。活性化関数またはパーセプトロンによってモデル化される基底プロセスが非線形である場合、活性化関数が微分可能であれば、デルタルールなどの代替学習アルゴリズムを使用できます。とはいえ、以下の手順で説明する学習アルゴリズムは、非線形活性化関数を持つ多層パーセプトロンに対しても多くの場合有効です。
人工ニューラルネットワークにおいて複数のパーセプトロンを組み合わせると、各出力ニューロンは他のすべてのニューロンとは独立して動作する。したがって、各出力の学習は個別に考えることができる。
まず、いくつかの変数を定義します。
各特徴量の値は以下のとおりです。
重みを表すには:
時間依存性を示すために私たちは以下を使用します:
オフライン学習の場合、反復エラーが発生するまで2番目のステップを繰り返すことができます。ユーザーが指定したエラーしきい値よりも小さいまたは、所定の反復回数が完了した。ここで、sはサンプルセットのサイズである。
アルゴリズムはステップ2bの各トレーニングサンプル後に重みを更新しますが、重みは変更されないことに注意する必要があります。。

単一のパーセプトロンは線形分類器です。すべての入力ベクトルが正しく分類された場合にのみ、安定状態に到達できます。訓練セットD が線形分離可能でない 場合、つまり、正例と負例を超平面で分離できない場合は、解が存在しないため、アルゴリズムは収束しません。したがって、訓練セットの線形分離可能性が事前にわからない場合は、以下の訓練方法のいずれかを使用する必要があります。収束定理の詳細な分析と拡張については、『パーセプトロン』(1969 年)の第 11 章を参照してください。
線形分離可能性は時間的にテスト可能である、 どこはデータポイントの数であり、は各点の次元です。[ 38 ]
トレーニングセットが線形分離可能であれば、パーセプトロンは有限回の誤りを犯した後、収束することが保証される。[ 39 ]この定理は Rosenblatt らによって証明されている。
パーセプトロン収束定理—データセットが与えられた場合、したがって、そしてそれはある単位ベクトルによって線形分離可能である。余白付き: :=\min _{(x,y)\in D}y(w^{*}\cdot x)}
そして、パーセプトロン0-1学習アルゴリズムは、最大で学習率やデータセットからのサンプリング方法に関わらず、誤りが発生する。
以下の簡単な証明は、ノビコフ (1962) によるものです。証明の考え方は、重みベクトルは常に、負のドット積を持つ方向に一定の量だけ調整されるため、重みベクトルの変更回数をtとすると、O ( √ t )で上限が定められるということです。しかし、満足できる (未知の) 重みベクトルが存在する場合、すべての変更はこの (未知の) 方向に入力ベクトルのみに依存する正の量だけ進むため、O ( t )で下限も定められます。
ステップで重み付きパーセプトロンデータポイントに誤りがあるすると、更新されます。
もし議論は対称的であるため、省略します。
WLOG、、 それから、、 そして。
仮定として、分離にはマージンがあります。したがって、
またそしてパーセプトロンが間違いを犯したので、、 など
私たちが始めたのは作成後間違い、だけでなく、
この2つを組み合わせると、

パーセプトロンアルゴリズムは、線形分離可能な訓練セットの場合、何らかの解に収束することが保証されているが、それでも任意の解を選択する可能性があり、問題によってはさまざまな品質の多くの解が存在する可能性がある。[ 40 ]最適安定性パーセプトロン(現在では線形サポートベクターマシンとしてよく知られている)は、この問題を解決するために設計された(Krauth and Mezard、1987)。[ 41 ]
データセットが線形分離可能でない場合、単一のパーセプトロンが収束する方法はありません。しかし、それでも[ 42 ]
パーセプトロンのサイクリング定理—データセットが有限個の点しか持たない場合、上限数が存在する任意の開始重みベクトルに対してすべての重みベクトルノルムは制限される
これはブラッドリー・エフロンによって最初に証明された。[ 43 ]
次のようなデータセットを考えてみましょう。からすなわち、原点を中心とするn次元超立方体の頂点であり、つまり、正の値を持つすべてのデータポイント持っている、そしてその逆も同様です。パーセプトロン収束定理によれば、パーセプトロンは最大で を した後で収束します。間違い。
同じタスクを実行する論理プログラムを作成する場合、各正例は座標の 1 つが正しいものであることを示し、各負例はその補数が正例であることを示します。既知のすべての正例を収集することにより、最終的に 1 つの座標を除くすべての座標が削除され、その時点でデータセットが学習されます。[ 44 ]
この境界は、最悪の場合に関して漸近的にタイトである。最悪の場合、最初に提示された例は全く新しいものであり、情報ビットですが、後続の各例は前の例と最小限の違いしかなく、それぞれ1ビットずつ与えます。例として、情報ビットはパーセプトロンにとって十分である(情報のビット)。[ 35 ]
しかし、例が均一にランダムに提示される場合、期待値の観点からはタイトではない。なぜなら、最初の例ではビット、2番目ビットなど、合計例数。[ 44 ]
ラチェット付きポケットアルゴリズム(Gallant、1990)は、これまでに得られた最良の解を「ポケット」に保持することで、パーセプトロン学習の安定性問題を解決します。ポケットアルゴリズムは、最後に得られた解ではなく、ポケットに格納されている解を返します。このアルゴリズムは、誤分類の少ないパーセプトロンを見つけることを目的とする非分離データセットにも使用できます。ただし、これらの解は純粋に確率的に出現するため、ポケットアルゴリズムは学習の過程で徐々にこれらの解に近づくことはなく、また、与えられた学習ステップ数以内にこれらの解が現れることを保証するものでもありません。
Maxover アルゴリズム (Wendemuth、1995) は、データセットの線形分離可能性に関する (事前) 知識に関係なく収束するという意味で「ロバスト」です。 [ 45 ]線形分離可能な場合、必要に応じて、最適な安定性 (クラス間の最大マージン)でトレーニング問題を解決します。分離不可能なデータセットの場合、計算可能な少数の誤分類で解を返します。[ 46 ]すべての場合において、アルゴリズムは、以前の状態を記憶したり、確率的ジャンプを行ったりすることなく、学習の過程で徐々に解に近づきます。収束は、分離可能なデータセットの場合はグローバル最適性に、分離不可能なデータセットの場合はローカル最適性に向かいます。
投票型パーセプトロン(FreundとSchapire、1999)は、複数の重み付きパーセプトロンを使用する変種です。このアルゴリズムでは、サンプルが誤分類されるたびに新しいパーセプトロンが開始され、重みベクトルは直前のパーセプトロンの最終重みで初期化されます。各パーセプトロンには、誤分類するまでに正しく分類したサンプルの数に対応する別の重みも与えられ、最終的にすべてのパーセプトロンに対する重み付き投票が出力されます。
分離可能な問題では、パーセプトロンのトレーニングは、クラス間の最大の分離マージンを見つけることを目標とすることもできます。いわゆる最適安定性のパーセプトロンは、Min-Over アルゴリズム (Krauth と Mezard、1987) [ 41 ] や AdaTron (Anlauf と Biehl、1989) ) [ 47 ]などの反復トレーニングと最適化スキームによって決定できます。AdaTron は、対応する二次最適化問題が凸であるという事実を利用します。最適安定性のパーセプトロンは、カーネルトリックとともに、サポートベクターマシンの概念的基盤となっています。
のさらに、パーセプトロンは、閾値処理された出力ユニットを備えた、固定のランダムな重みを持つ前処理層を使用しました。これにより、パーセプトロンはアナログパターンをバイナリ空間に投影することで分類することが可能になりました。実際、投影空間の次元が十分に高ければ、パターンは線形分離可能になります。
複数の層を使用せずに非線形問題を解決するもう一つの方法は、高次ネットワーク(シグマパイユニット)を使用することです。このタイプのネットワークでは、入力ベクトルの各要素が、入力のペアごとの組み合わせ(2次)で拡張されます。これはn次ネットワークに拡張できます。
パーセプトロンモデルの一般化として、入力間の非線形相互作用を組み込んだレセプトロンがある。単一のレセプトロンは、非線形ブール関数を分類することができる。
ただし、最適な分類器とは、すべての訓練データを完全に分類できるものとは限らないことに留意する必要があります。実際、データが等変ガウス分布から得られるという事前制約がある場合、入力空間における線形分離が最適であり、非線形解は過学習になります。
その他の線形分類アルゴリズムには、Winnow、サポートベクターマシン、ロジスティック回帰などがあります。
線形分類器を訓練するための他のほとんどの手法と同様に、パーセプトロンは多クラス分類に自然に一般化できます。ここで、入力はそして出力任意の集合から抽出される。特徴表現関数各可能な入力/出力ペアを有限次元の実数値特徴ベクトルにマッピングします。これまでと同様に、特徴ベクトルは重みベクトルと乗算されます。しかし、現在では、得られたスコアを使用して、多数の可能な出力の中から選択するようになっています。
学習は再び例を繰り返し、それぞれに対して出力を予測し、予測された出力が目標と一致する場合は重みを変更せず、一致しない場合は重みを変更します。更新は次のようになります。
このマルチクラスフィードバック定式化は、次の場合に元のパーセプトロンに帰着する。は実数値ベクトルであり、から選ばれる、 そして。
特定の問題では、入出力表現と特徴を次のように選択できます。効率的に見つけることができるが、非常に大きな集合、あるいは無限の集合から選ばれる。
2002年以来、パーセプトロンのトレーニングは、品詞タグ付けや構文解析などのタスクにおいて、自然言語処理の分野で人気を博している(Collins、2002)。また、分散コンピューティング環境における大規模な機械学習問題にも適用されている。[ 48 ]