(57)【特許請求の範囲】
【請求項１】
第１のベクトルと第２のベクトルとの内積演算を光を利用して行う光演算装置であって、
前記第１のベクトルの要素値に応じて強度が符号化され、前記第２のベクトルの要素値に応じて局所的な強度重心が位置符号化された、該第１および該第２のベクトルの全ての要素に基づく符号化分布を作成する光学的ベクトル符号化手段と、
該光学的ベクトル符号化手段によって作成された前記符号化分布に基づいて、前記第１のベクトルと前記第２のベクトルとの内積値を抽出し出力する積和復号化手段とからなり、
前記光学的ベクトル符号化手段が、前記第１および前記第２のベクトルの要素ごとに光学的強度符号化ならびに位置符号化された符号化光分布を生成する光学的分布生成手段と、
前記要素ごとに符号化された符号化光分布を多重化し、前記第１および前記第２のベクトルの全ての要素に基づく符号化光分布を生成する多重結像光学系と、
前記全ての要素に基づく符号化光分布を出力する出力面とを備え、
前記要素ごとに符号化された符号化光分布を前記多重結像光学系によって前記出力面に出力することにより、前記全ての要素に基づく符号化光分布を前記出力面に出力する手段であることを特徴とする光演算装置。
【請求項２】
第１のベクトルと第２のベクトルとの内積演算を光を利用して行う光演算装置であって、
前記第１のベクトルの要素値に応じて強度が符号化され、前記第２のベクトルの要素値に応じて局所的な強度重心が位置符号化された、該第１および該第２のベクトルの全ての要素に基づく符号化分布を作成する光学的ベクトル符号化手段と、
該光学的ベクトル符号化手段によって作成された前記符号化分布に基づいて、前記第１のベクトルと前記第２のベクトルとの内積値を抽出し出力する積和復号化手段とからなり、
前記光学的ベクトル符号化手段が、前記第１のベクトルの光学的強度符号化分布を生成する光学的分布生成手段と、
前記第２のベクトルの位置符号化分布を点像分布関数とする光学系と、
該第１および該第２のベクトルの全ての要素に基づく符号化光分布を出力する出力面とを備え、
前記第１のベクトルの光学的強度符号化分布を、前記光学系によって前記出力面に出力することにより、前記全ての要素に基づく符号化光分布を前記出力面に出力する手段であることを特徴とする光演算装置。
【請求項３】
第１のベクトルと第２のベクトルとの内積演算を光を利用して行う光演算装置であって、
前記第１のベクトルの要素値に応じて強度が符号化され、前記第２のベクトルの要素値に応じて局所的な強度重心が位置符号化された、該第１および該第２のベクトルの全ての要素に基づく符号化分布を作成する光学的ベクトル符号化手段と、
該光学的ベクトル符号化手段によって作成された前記符号化分布に基づいて、前記第１のベクトルと前記第２のベクトルとの内積値を抽出し出力する積和復号化手段とからなり、
前記光学的ベクトル符号化手段が、前記第２のベクトルの位置符号化分布を生成する光学的分布生成手段と、
前記第１のベクトルの光学的強度符号化分布を点像分布関数とする光学系と、
該第１および該第２のベクトルの全ての要素に基づく符号化光分布を出力する出力面とを備え、
該第２のベクトルの位置符号化分布を、前記光学系によって前記出力面に出力することにより、前記全ての要素に基づく符号化光分布を前記出力面に出力する手段であることを特徴とする光演算装置。
【請求項４】
前記積和復号化手段が、受光された光の強度および／または位置に応じた電気信号を出力する光信号検出手段と、該光信号検出手段から出力される電気信号を演算する電気的演算手段とからなることを特徴とする請求項１から３のいずれか１項記載の光演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は光を利用してベクトルとベクトルとの内積演算を行う光演算装置に関するものである。
【０００２】
【従来の技術】
並列情報伝達性や並列情報処理性は、光波の重要な性質として、古くから指摘されてきた。この特徴が最近の情報処理社会のニーズにマッチして、光演算技術に対する期待が高まっている。その期待を背景に、近年、光波を媒体とする新しい情報処理システムの研究が活発化している。それらのシステムは、膨大な量の数値に対し、様々な演算を並列に実行し、短時間に大量の演算処理を行うものである。それらは、「光コンピューティング」あるいは「光コンピュータ」と呼ばれている。
【０００３】
光を利用する基本的な演算技術には、光に変調を加えることによる乗算の実行、および、レンズを始めとする光学素子を使用した空間積分、あるいは蓄積型検出器等を用いた時間積分による加算の実行等がある。これらのなかでも、とくに空間積分法による実時間ベクトル・行列乗算は古くから研究されている。この方法は、実際の数学において行われている通りにベクトル・行列乗算を行う。その際に、乗算を光強度の変調により実行し、次いで加算をレンズの集光作用（空間積分）によって実行している。
【０００４】
ベクトル・行列乗算は数式としては単純である。しかしながら、ベクトル行列乗算は様々の科学や技術の問題解明のための基本演算であり、計算機により行う主要な数値演算の１つである。その応用分野は非常に広く、差分方程式、偏微分方程式などの線形代数演算をはじめ、最小平方解、デコンボリューション、行列の固有値・固有ベクトル問題、最小２乗法の計算、信号処理、画像処理、ニューラルネットワークなど、応用例は極めて多種多様なものである。とくに計算物理学、画像、制御の分野においては２次元や３次元の相関問題を頻繁に扱うが、これらの場合、行列の要素数は非常に大きくなり、スーパーコンピューターを利用してもその演算には多大な時間と経費を要するものである。
【０００５】
空間積分法によるベクトル行列乗算の概念を図３２に示す。なお、図３２においてはレンズ等の表示を省略している。ベクトルＩの成分の値は、図中Ｉ１  〜Ｉ３  の位置に光強度分布として与えられる。また、被乗算行列Ｗを表す２次元空間光変調器を設置する。行列Ｗの成分の値は、空間光変調器内の小開口（画素）のパワー透過率によって与えられる。ベクトルＩを表す光は、縦方向に一様に広げられ、空間光変調器Ｗを照射する。このとき、横方向にはベクトルＩと行列Ｗとの対応に結像関係を持たせる。空間光変調器の（ｉ，ｊ）の位置に対応する小開口の透過率はＷｉｊに比例しており、ここを通過した光の強度は積Ｉｉ  ・Ｗｉｊに比例する。空間光変調器を通過した光は、横方向には集光され、縦方向には結像される。したがって、出力波面上ｊの位置における光強度はＯｊ  （積のｊ成分）の値に比例する。すなわち、図中Ｏ１  〜Ｏ３  の位置に乗算結果であるベクトルＯ１  〜Ｏ３  が光強度分布として得られる。
【０００６】
この種の光ベクトル・行列乗算装置としては、スタンフォード大学のＪ．  Ｗ．  Ｇｏｏｄｍａｎ  教授らが提案したスタンフォードプロセッサと呼ばれるものが代表的である。Ｇｏｏｄｍａｎ  教授らの装置においては、ベクトルＩはＬＥＤアレイの出射光強度分布により、行列Ｗは２次元空間光変調器の透過率分布により与えられる。スタンフォードプロセッサは、以下のような特徴を持つ。
【０００７】
・非常に高速な演算ができる。仮に、行列要素数を１００  ×１００  、光源および検出器の応答周波数を１００  ＭＨｚとすると、１秒あたり１０１２回もの積和演算を実行できる。
【０００８】
・演算処理が完全に並列に実行される。これは光を用いたからこそ可能になったことであり、光演算の重要性と効果を特に示している。
【０００９】
・インコヒーレント光により動作させることができる。このため、コヒーレント光を利用する光情報処理装置に比べ、埃などに起因するノイズが発生しにくい。
【００１０】
しかしながら、スタンフォードプロセッサには、以下のような限界があることも指摘されている。
【００１１】
・負でない実数値しか扱えない。その理由は、光強度と光透過率を演算の基本としているためである。したがって、符号付きの数値や複素数を扱う場合には何らかの符号化、あるいは複数の演算装置が必要になる。
【００１２】
・精度が期待できない。これはアナログプロセッサ全般に当てはまる限界である。
【００１３】
・行列Ｗは固定されているに等しい。なぜなら、現在開発されている多くの２次元空間光変調器の応答周波数はミリ秒のオーダーであり、これは光源および検出器の応答周波数とは比較にならないほど遅いからである。したがって、行列値を高速に変更することが必要とされる用途には適さない。
【００１４】
このなかでも特に「負でない実数値しか扱えない」という制限は、前述した応用分野の多くにとって非常に都合が悪く、例えば、ベクトル・行列乗算の応用分野として近年注目されている光ニューラルネットワークにおいても、この制限が大きな問題になっている。
【００１５】
ここでニューラルネットワークについて説明する。
【００１６】
ニューラルネットワークとは、生物の優れた情報処理機能を模倣した情報処理モデルである。ニューラルネットワークにおいては、膨大な数のニューロン（神経細胞）素子がさまざまな強さで相互に結合されており、神経回路内を信号が飛び交うことによって、並列に情報処理が実行される。
【００１７】
図３３は代表的なニューラルネットワークの１つである  Ｈｏｐｆｉｅｌｄ  モデルの構造を模式的に示したものである。ニューロンの出力Ｖｉ  とニューロン間の結合行列Ｔｉｊとから、次ステップのニューロン出力Ｕｊ  が下記の式のように決定される。出力Ｕｊ  は再度入力として使用され、出力が安定状態になるまで再帰的に信号処理が繰り返される。なおここでＩｊ  はスレッショルドレベル（閾値）である。
【００１８】
【数１】
0003630782.tif 000002
【００１９】
この各ニューロン素子の状態をベクトルの要素の値とし、また、ニューロン間の結合の強さを行列の要素の値と見なせば、ニューラルネットワークの動作はベクトル・行列乗算を繰り返し実行することと等価である。
【００２０】
この点に注目して、光ベクトル・行列乗算装置によって光ニューラルネットワークを実現しようという研究が盛んに行われている。なかでも代表的なものは、カリフォルニア大学の  Ｄ．Ｐｓａｌｔｉｓを中心とするグループの提案である（Ｏｐｔｉｃａｌ  ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  ｏｆ  ｔｈｅ  Ｈｏｐｆｉｅｌｄ  ｍｏｄｅｌ，Ｎａｂｉｌ  Ｈ．  Ｆａｒｈａｔ，  Ｄｅｍｅｔｒｉ  Ｐｓａｌｔｉｓ，  Ａｌｕｉｚｉｏ  Ｐｒａｔａ，  ａｎｄ  Ｅｕｎｇ  Ｐａｅｋ，  ＡＰＰＬ．  ＯＰＴ．，Ｖｏｌ．  ２４，  Ｎｏ．  １０，  １４６９（１９８５）  ）。
【００２１】
図３４および図３５はＤ．  Ｐｓａｌｔｉｓらによる光学的にＨｏｐｆｉｅｌｄモデルを実現した構成である。光ベクトル・行列乗算の実行部分は、先に述べたスタンフォードプロセッサと原理的に全く同じであることがわかる。しかしながら、ニューラルネットワークにおいては、抑制性のニューロン間結合が本質的に必要とされるので、Ｄ．  Ｐｓａｌｔｉｓらは、スタンフォードプロセッサを２式並べる方法をとった。１つを興奮性の結合用、もう１つを抑制性の結合用とし、それぞれ別々にベクトル・行列乗算を行った後で両者の出力を電気的に減算することで、光ニューラルネットワークに必要な抑制性のニューロン間結合を実現したのである。
【００２２】
【発明が解決しようとする課題】
上述したように、スタンフォードプロセッサに代表される空間積分法によるベクトル・行列の実時間光乗算は、簡便性、耐ノイズ性、高速性、完全並列性という優れた特徴を有する。しかしながら、数値の表現を光強度により行うため、負の数を扱うことができない、あるいは減算ができないという実用上好ましくない制限もある。この制限は、前述した光ニューラルネットワークへの応用はもちろん、多くの数値計算において大きな障害となる。
【００２３】
もちろん、上述したＤ．  Ｐｓａｌｔｉｓらの方法のように、２つの光学系を導入して、それぞれに負値と正値とを担当させれば、負値を扱うことは可能になる。しかしながら、この場合、装置サイズが約２倍の大きさになってしまうという装置の大型化の問題が生じる。
【００２４】
また、２つの光学系を用いる場合には、０近傍の値を正確に、しかも滑らかに表現することが難しいという問題もある。なぜなら、Ｄ．  Ｐｓａｌｔｉｓらの方法においては、一方の光学系により負の値から０、もう一方の光学系により０から正の値をカバーするため、それぞれの光学系により行列値を表現するために用いられる光変調媒質には、光透過率が０から直ちに線形に立ち上がるような光学特性が必要になる。しかしながら、現実にはほとんどの光変調媒質においては、透過率を０に近付けるにつれて飽和特性を示すようになり、線形性は劣化する。また、既存の光変調媒質により完全に透過率を０にすることは困難であり、ある程度の漏れ光は現実問題として避けられない。
【００２５】
さらに、負の値から正の値に渡る広い範囲において線形性良く数値を表現するためには、２つの光学系の間においてＬＥＤなどの発光素子間の特性のばらつき、光変調媒質間の透過率特性のばらつき、ならびにセンサ間の感度などの特性ばらつきを抑えることも必要になる。
【００２６】
このように、２つの光学系を導入することは、多くの実用上の問題を含んでいる。
【００２７】
本発明は上記事情に鑑み、スタンフォードプロセッサが持つ簡便性、耐ノイズ性、高速性、完全並列性という特徴を継承しつつ、負の数を扱うことができない、あるいは減算ができないという大きな実用上の欠点を改良する光学的演算装置を提供することを目的とするものである。
【００２８】
【課題を解決するための手段】
本発明による光演算装置は、第１のベクトルと第２のベクトルとの内積演算を光を利用して行う光演算装置であって、
前記第１のベクトルの要素値に応じて強度が符号化され、前記第２のベクトルの要素値に応じて局所的な強度重心が位置符号化された、該第１および該第２のベクトルの全ての要素に基づく符号化分布を作成する光学的ベクトル符号化手段と、
該光学的ベクトル符号化手段によって作成された前記符号化分布に基づいて、前記第１のベクトルと前記第２のベクトルとの内積値を抽出し出力する積和復号化手段とからなることを特徴とするものである。
【００２９】
なお、上記光演算装置においては、前記積和復号化手段が、受光された光の強度および／または位置に応じた電気信号を出力する光信号検出手段と、該光信号検出手段から出力される電気信号を演算する電気的演算手段とからなることが好ましい。
【００３０】
また、上記光演算装置においては、前記光学的ベクトル符号化手段が、前記第１および前記第２のベクトルの全ての要素に基づく光学的強度ならびに位置符号化された符号化光分布を生成する光学的分布生成手段からなることが好ましい。
【００３１】
さらに、上記光演算装置においては、前記光学的ベクトル符号化手段が、
前記第１および前記第２のベクトルの要素ごとに光学的強度符号化ならびに位置符号化された符号化光分布を生成する光学的分布生成手段と、
前記要素ごとに符号化された符号化光分布を多重化し、前記第１および前記第２のベクトルの全ての要素に基づく符号化光分布を生成する多重結像光学系と、
前記全ての要素に基づく符号化光分布を出力する出力面とを備え、
前記要素ごとに符号化された符号化光分布を前記多重結像光学系によって前記出力面に出力することにより、前記全ての要素に基づく符号化光分布を前記出力面に出力する手段であることが好ましい。
【００３２】
また、上記光演算装置においては、前記光学的ベクトル符号化手段が、
前記第１のベクトルの光学的強度符号化分布を生成する光学的分布生成手段と、
前記第２のベクトルの位置符号化分布を点像分布関数とする光学系と、
該第１および該第２のベクトルの全ての要素に基づく符号化光分布を出力する出力面とを備え、
前記第１のベクトルの光学的強度符号化分布を、前記光学系によって前記出力面に出力することにより、前記全ての要素に基づく符号化光分布を前記出力面に出力する手段であることが好ましい。
【００３３】
さらに、上記光演算装置においては、前記光学的ベクトル符号化手段が、
前記第２のベクトルの位置符号化分布を生成する光学的分布生成手段と、
前記第１のベクトルの光学的強度符号化分布を点像分布関数とする光学系と、
該第１および該第２のベクトルの全ての要素に基づく符号化光分布を出力する出力面とを備え、
該第２のベクトルの位置符号化分布を、前記光学系によって前記出力面に出力することにより、前記全ての要素に基づく符号化光分布を前記出力面に出力する手段であることが好ましい。
【００３４】
【発明の効果】
本発明による光演算装置は、内積演算を行う第１のベクトルと第２のベクトルについて、光学的ベクトル符号化手段により、第１のベクトルの要素値に応じて強度が光符号化され、かつ第２のベクトルの要素値に応じて局所的な強度重心が位置符号化された符号化光分布、すなわち、強度および強度重心が変位された符号化光分布を作成する。
【００３５】
次いで、積和復号化手段により、符号化光分布に基づいて第１のベクトルと第２のベクトルとの内積値を抽出して出力する。すなわち、第１のベクトルの強度の第２のベクトルによる変位の結果は、強度が第２のベクトルの要素値の大小あるいは正負に応じて位置が変位されたものとなっているため、符号化された強度と変位量とから第１のベクトルと第２のベクトルとの内積値が求められるのである。
【００３６】
このように、本発明による光演算装置は第１および第２のベクトルの要素値を強度および強度重心の位置として符号化するので、符号付きの実数を要素値として扱うことができる。これは、スタンフォードプロセッサをはじめとする過去に提案された方法にはない優れた特徴である。符号付きのアナログ実数値を扱える能力は、代数演算やニューラルネットワークへの応用を考える場合に、大きなメリットとなる。さらに、ベクトルの要素値を強度分布の重心位置として符号化するので、０近傍の値を正確かつ滑らかに表現することができ、負の値から正の値に渡る広い範囲で線形性良く数値を表現することができる。
【００３７】
【発明の実施の形態】
まず、光積和演算法の特徴について説明する。
【００３８】
本光積和演算法の特徴は
・まず、乗算要素値を分布強度に、被乗算要素値を分布重心位置に、それぞれ符号化した符号化光分布を作成し、
・次いで、それらの光分布を、光検出素子とその出力電気信号に演算する電気的演算手段からなる積和復号化手段に入力し、出力として「乗算要素と被乗算要素の積和値」を得る
ものである。
【００３９】
本光積和演算法の最大の特徴は、被乗算要素値を位置情報に符号化するため、要素値として符号付きの実数を扱うことができる点にある。これは、スタンフォードプロセッサをはじめとする過去に提案された方法にはなかった特徴である。代数演算やニューラルネットワークへの応用を考える場合、符号付きの実数値が扱えるというメリットは大きい。また、要素値の位置情報への符号化は、０近傍の値を正確かつ滑らかに表現することができ、負の値から正の値に渡る広い範囲において線形性良く数値を表現ができるという実用上の扱い易さにも繋がっている。
【００４０】
以下、図面を参照して本発明の実施の形態について説明する。
【００４１】
まず光積和演算法の最も単純な例を示す。それは、２つの値のスカラー積を求めること、すなわち「掛け算」である。２つの値ａ，ｂの積Ｏは式（１）  のように表記される。
【００４２】
Ｏ＝ａ・ｂ                          …（１）
これら２つの値ａ，ｂから作成される符号化光分布Ｃ（ｘ）  の代表例を図１に示す。図１に示す符号化光分布Ｃ（ｘ）  は、光強度ａで重心が位置ｂにあるような光のパターンである。このような光のパターン（＝光分布）は、式（２）  のようにクロネッカのδ関数を用いて簡単に表記することができる。
【００４３】
Ｃ（ｘ）  ＝ａ・δ（ｘ−ｂ）            …（２）
次に、この符号化光分布Ｃ（ｘ）  からａとｂとの積値Ｏを一度の処理により取り出す積和復号化手段を示す。
【００４４】
積和復号化手段としては、光位置検出素子（Ｐｏｓｉｔｉｏｎ  Ｓｅｎｓｉｔｉｖｅ  Ｌｉｇｈｔ  Ｄｅｔｅｃｏｔｏｒ  ，ＰＳＤ）と、ＰＳＤから出力される電気信号を演算する電気的演算手段を組み合わせて使用する。
【００４５】
ここで、ＰＳＤについて説明する。ＰＳＤとは、スポット状の光の位置を検出することを本来の目的として作成された光センサである。この光センサは、発光源および電気的演算手段と組み合わされ、ポジションセンサとして広く応用されている。その用途に合わせ、さまざまな大きさや形状、分光感度を持つＰＳＤが製品化されている。また、ＰＳＤには、１軸上の光の位置検出を行う１次元ＰＳＤと、２軸（面）上の光の位置検出を行う２次元ＰＳＤがある。この場合、電気的演算手段もＰＳＤに合わせてそれぞれ１次元用、２次元用のものが使用される。
【００４６】
ＰＳＤの外見は、一般のフォトダイオード光センサに類似している。入射光を電気信号に変換するためにＰＮ接合面が形成された半導体、それに取り付けられた出力（通常は電流）を取り出すための端子、それらを収納した樹脂や金属の外囲器から構成されている。フォトダイオードと異なる点は、ＰＳＤを特徴づける位置検出機能を持たせるために、ＰＮ接合のＰ層あるいはＰ層とＮ層の両方が、均一な電気抵抗値を持つ抵抗層となっていること、出力端子がＰ層の両端に対になって取り付けられていることである。
【００４７】
ここで図２に１次元ＰＳＤの構造を模式的に示す。ＰＳＤに光ビームが入射すると、入射光によって半導体内には同量の正と負の電荷が発生する。その電荷は接合を通過して光入射点近傍のＰ層に正、Ｎ層に負の電荷となって現れる。これによってＰ層内には不均一な正の電荷の分布が生じ、電荷の流れが発生する。電荷の流れすなわち電流は、両端の一対の出力電極から出力電流ＩＡ  ，ＩＢ  として取り出される。このとき取り出される電流量は、光入射点から両端の電極までの距離に反比例する。ここで、ＰＳＤの中央位置を原点とし、原点から光ビームが入射した位置までの距離をｘＡ  、ＰＳＤの両端にある一対の出力電極間の距離をＬ、出力電流ＩＡ  ，ＩＢ  の合計である全出力電流をＩＣ  とすると、
【００４８】
【数２】
0003630782.tif 000003
【００４９】
となる。
【００５０】
ここで、ＰＳＤは本来光ビームの位置を検出する目的で開発された素子である。光ビーム位置を検出する本来の使用法においては、出力電流ＩＡ  ，ＩＢ  の差を全出力電流ＩＣ  により割るという電気的演算回路によって位置情報を得る。
【００５１】
しかしながら、本発明による光積和演算方における積和復号化手段においては、このような用い方はしないで、出力電極からの出力電流ＩＡ  ，ＩＢ  の差を求め、必要に応じて適当な定数を乗じる。この差演算に結果得られる出力は、
【００５２】
【数３】
0003630782.tif 000004
【００５３】
となる。最終式の前半の項は定数であるため、結局この出力は光ビームの強度Ｅと光ビームの入射位置ｘとの積に比例することが分かる。
【００５４】
ここで前述した「２つの値ａ，ｂから作成される符号化分布Ｃ（ｘ）  とは、位置ｂに強度ａのピークのある光パターンである。よって、符号化光分布Ｃ（ｘ）  を上記のＰＳＤセンサ＋差演算回路に入力すれば、強度ａと位置ｂとの積Ｏ＝ａ・ｂに比例する出力が得られることになる。
【００５５】
したがって、電気的演算手段におけるゲイン定数を適当に選択することにより、強度ａと位置ｂとの積Ｏ＝ａ・ｂを出力として直ちに得ることができる。
【００５６】
ところで、符号化光分布の例として上述した図１に示すようにδ関数により表現されるものを示した。しかしながら、積和符号化手段であるＰＳＤセンサと演算回路とによって検出されるのは、入射光パターンの総強度と重心位置との積であることから、光学的符号化のポイントは、光総強度をａ、重心を位置ｂとするような光のパターンを作成することにある。したがって、図３のようにガウシアン状にピークが広がった分布や、図４のように複数のδ関数の組み合わせからなる分布であっても構わないものである。
【００５７】
このように、光学的符号化に際してさまざまなバリエーションを適用することができ、これにより実際に光演算システムを構築する際の選択肢を広げ、設計の自由度を大きくすることが可能となる。
【００５８】
次いで、符号化法によって設計の自由度を大きくすることができる例について説明する。前述した図３および図４に示すように、双峰型の関数を符号化光分布として使用すると、積和復号化手段として、２つの光検出素子（例えばフォトダイオード、以下ＰＤと称する）を対にして配置し、各光検出素子から出力される電気信号を演算する電気的演算手段とを使用することができる。
【００５９】
このとき、２つの関数のピークの位置はそれぞれ固定され、各ピークの強度バランスの調整によって、局所領域内の強度分布総和が一定に保たれながら強度分布重心がｂｊ  だけシフトされる。したがって、各ＰＤがそれぞれのピークの近傍の像だけを受光するように対に設置されれば、完全に情報を受け取ることができる。
【００６０】
まず、ベクトルＢの１つの要素値の情報を有する符号化光分布により、２つのＰＤに生ずる信号について考える。
【００６１】
符号化のルールによれば、空間的符号化光分布Ｂ′は総強度は一定であり、２つのピークの強度バランスだけによりベクトルＢの１つの要素値を表現している。相互相関分布Ｃにおいては、空間的符号化光分布Ｂ′と空間的符号化光分布Ａ′との相互相関演算によって、ベクトルＡの要素値が強度の情報がさらに上乗せされている。したがって、ベクトルＢの１つの要素値をｂｊ  とし、２つのＰＤのそれぞれから取り出される電流量をＩＡ  ，ＩＢ  としたとき、
【００６２】
【数４】
0003630782.tif 000005
【００６３】
なる関係が成り立つ（α，ｋは定数）。さらにベクトルＢの他の要素値の情報を持つ符号化光分布が同時にＰＤに入射する場合には、２つのＰＤのそれぞれから取り出される電流量ＩＡ  ，ＩＢ  は、この式の線形和になり、
【００６４】
【数５】
0003630782.tif 000006
【００６５】
と表される。
【００６６】
さらに、２つのＰＤに接続される電気的演算手段においては、前述した積和復号化手段と同様に、減算とその減算結果に適当な定数を乗じる演算を行う。これによって、
【００６７】
【数６】
0003630782.tif 000007
【００６８】
が出力される。これは、ベクトルＡとベクトルＢとの内積値Ｏ＝Ｂ・Ａの数学的な定義式に比例している。したがって、電気的演算手段において乗じる定数を適当に選択することにより、電気的演算手段の出力は、ベクトルＡとベクトルＢとの内積値Ｏそのものを表すことができる。
【００６９】
次に少し複雑な例として、複数の要素からなるベクトル間の内積演算を光積和演算法によって実行する動作について説明する。
【００７０】
複数の要素からなるベクトル同士の内積演算、例えば要素数３の場合、下記の式（１０）のように表される。
【００７１】
２つのベクトルＡ，ＢをＡ＝（ａ１  ，ａ２  ，ａ３  ）、Ｂ＝（ｂ１  ，ｂ２  ，ｂ３  ）とすると、内積値Ｏは、
【００７２】
【数７】
0003630782.tif 000008
【００７３】
これら２つのベクトルＡ，Ｂから作成される符号化光分布Ｃ（ｘ）  の例を図５に示す。
【００７４】
この場合、要素数が３個であるため各ベクトルの対応するそれぞれの要素の値（ａ１  とｂ１  、ａ２  とｂ２  、ａ３  とｂ３  ）に応じて、強度および重心位置の変調が加えられた３つのδ関数が合成されたものになっている。
【００７５】
この図５の分布は、式（１１）のように表記することができる。
【００７６】
0003630782.tif 000009
次に、このようにして得られた符号化光分布Ｃ（ｘ）  を、積和複合手段のＰＳＤセンサに入力する。すなわち、３つのδ関数状の光ビームが入射した場合と同様に、半導体内には各光ビームの入射点近傍に各光ビームの強度に応じた量の電荷が現れる。量端の一対の出力電極から出力電流ＩＡ  ，ＩＢ  として取り出される電流量は、それぞれの光ビームによって生じる電流量ＩＡ１，ＩＡ２，ＩＡ３およびＩＢ１，ＩＢ２，ＩＢ３の線形和になり、
【００７７】
【数８】
0003630782.tif 000010
【００７８】
となる。次いで、両出力電流ＩＡ  ，ＩＢ  の間の差に適当な定数ｍを乗じるという電気的演算を行うことにより得られる出力は、
【００７９】
【数９】
0003630782.tif 000011
【００８０】
となる。これは式（１０）により定義した２つのベクトルＡ，Ｂの内積値Ｏにほかならない。
【００８１】
以上、複数の要素からなる２つのベクトルの各要素に基づき作成した符号化分布Ｃ（ｘ）  を、ＰＳＤセンサと差演算回路により構成される積和復号化手段に入力し、２つのベクトルの内積演算を実行する動作について説明した。
【００８２】
上述した符号化光分布の作成はさらに多数の要素からなる一般的な２つのベクトル間の内積演算に拡張することができる。
【００８３】
ここで、Ｎ個のδ関数状の光ビームからなる符号化光分布Ｃ（ｘ）  は式（１５）のように表記することができる。
【００８４】
【数１０】
0003630782.tif 000012
【００８５】
この符号化光分布Ｃ（ｘ）  がＰＳＤに入射するとき、差演算回路からの出力は式（１６）に示すものとなる。これは要素数Ｎの２つのベクトルの内積値を表すものとなる。
【００８６】
【数１１】
0003630782.tif 000013
【００８７】
また、上述したスカラー積の例において説明したのと同様、符号化光分布Ｃ（ｘ）  はδ関数状の光ピークから構成されるものに限定されるものではない。例えば図６のようにガウシアン状にピークが広がった分布や、図７のように複数のδ関数の組み合わせからなる分布であってもよい。
【００８８】
以上２つのベクトル間の内積演算の実行について説明したが、これはベクトル・行列間、行列、行列間の積和演算に拡張することができることはもちろんである。なぜなら、これらの積和演算は、２つのベクトル間の内積演を集めたものにすぎないからである。
【００８９】
例えば、下記の式（１７）のようなベクトルと行列との間の積和演算においては、出力は要素数３のベクトルとなる。
【００９０】
【数１２】
0003630782.tif 000014
【００９１】
これらは、式（１８）のようにベクトル間の内積演算に分解することができる。
【００９２】
【数１３】
0003630782.tif 000015
【００９３】
したがって、それぞれに対応する符号化分布と積和復号化手段とを３つずつ用意し、それらを同時（並列）に動作させれば演算時間をなんら増大させることなく出力ベクトルを得ることができる。
【００９４】
以上いくつかの例を示しながら、光積和演算がどのように実行されるのかを説明してきたが、以下、光積和演算法の重要なポイントである符号化光分布を数式的に定義する。
【００９５】
入力ベクトルＡの要素の値と被乗算ベクトルＢの要素の値から作成される符号化光分布Ｃ（ｘ）  は、２つのベクトルの対応する要素ａｉ  ，ｂｉ  から作成される「光総強度がａｉ  、重心が位置ｂｉ  であるような光の分布」を単純に重ね合わせたもの（＝線形和）として定義することができる。すなわち、
【００９６】
【数１４】
0003630782.tif 000016
【００９７】
ここでＣＩ  （ｘ）  は次式を満たす常に負でない任意の関数である。
【００９８】
【数１５】
0003630782.tif 000017
【００９９】
なお、Ｇｐ  ｛Ｃｉ  （ｘ）  ｝は分布の重心位置を表す。
【０１００】
以上、光積和演算法の実施の形態について述べたが、本演算法は、非常に単純な２つの変数間のスカラー積を求めることから、複数の要素を持つベクトル（行列）間の積和演算まで行うことが可能である。
【０１０１】
しかしながら、２つの変数間のスカラー積を求めるだけであれば本光積和演算法を用いるまでもなく、従来の電子計算機で十分である。
【０１０２】
本発明による光演算装置において行われる本光積和演算法がその力を発揮するのは、多数の要素間の積和演算を扱う場合である。電子計算機においては手間のかかる積和演算を、光を利用した並列処理機能により一気に実行できるからである。しかしながら、本光積和演算法には符号化光分布を作成するというステップが必要であり、この光学的符号化の部分を速やかに行えないのでは、トータル処理能力の優位性は期待できない。
【０１０３】
本実施の形態においては光学技術を用いて「光学的符号化」を行う具体的な方法を示す。これらの方法は、原理から現実的なシステムを構成・設計していく最初の過程として位置付けられる。
【０１０４】
光学的符号化を行うためには大きく分けて３つの方法がある。以下、３要素のベクトル間積和演算用の符号化分布（図８参照）の生成を例に、それぞれの分布生成方法について説明する。
【０１０５】
図８に示す方法は、各ベクトルの全要素に対して強度と位置とを同時に符号化し、ストレートに「符号化光分布」を作成するという方法である。分布の生成にはレーザーアレイなどの複数の発光素子、ＳＬＭなどの光変調・偏向素子を用いることができる。
【０１０６】
１）  強度変調発光素子と空間光ゲート
ここで強度変調発光素子とは、ＬＤやＬＥＤのことをいう。空間光ゲートとは、空間的なある場所だけ光を通すシャッターのことであり、例えば液晶アレイを用いることができる。
【０１０７】
強度変調発光素子と空間光ゲートを用いる例としては、図９に示すように発光素子と光シャッターを重ねて配置する。まず、発光素子（例えば面状のＬＥＤ）を均一に発光させる。発光強度は第１ベクトルの第１要素値に比例させる。次いで、光シャッターによって、その光のうち１部分だけを透過させる。透過させる場所は第２ベクトルの第１要素値に比例させる。
【０１０８】
さらに、図１０に示すように発光素子と光シャッターの組み合わせを並べる。各々の発光強度および透過位置は、それぞれ２つのベクトルの要素値に比例させる。３つのシャッター透過後の光分布はそれぞれ、位置ｂ１  において強度ａ１  、位置ｂ２  において強度ａ２  、位置ｂ３  において強度ａ３  になる。次いで、３つの光分布全てをカバーする受光面積を持ち、素子の長手方向に検出能があるＰＳＤセンサにこれらの光分布を同時に入射する。ＰＳＤセンサは素子の短手方向には分解能がないため、センサにとってみればこれらの光分布は重ね合わせられているに等しい。したがってセンサにとってはこれらの素子によって作成される光分布は、所望とする「符号化光分布」にほかならない。
【０１０９】
２）  強度変調発光素子と光偏向素子
発光素子と偏向素子とを組み合わせて使用する例について説明する。強度変調発光素子とは、前述したようにＬＤやＬＥＤとなのことをいう。光偏向素子は、光を所望の方向に曲げることができる素子であり、例えばプリズムや反射ミラーを用いることができる。また、発光素子そのものを回転させる光学的・メカ的な構成であってもよい。さらに、発光素子そのものに光の出射方向を制御する機能があってもよい。
【０１１０】
発光素子と偏向素子との組み合わせの例を図１１に示す。図１１においては、３つの発光素子が、第１ベクトルの要素に比例した強度により発光する。各素子から出射された光は、偏向手段によってＰＳＤセンサに導かれ、第２ベクトルの要素に対応した位置に入射する。この例においては、偏向手段としてプリズムを用いている。
【０１１１】
次いで、要素別分布を光学的に合成する方法について説明する。
【０１１２】
第１ステップとしてベクトルのそれぞれの要素ごとに強度と位置とを符号化した光分布を作成する。次いで第２ステップとして、それらを光学的手段を用いて重ね合わせることにより「符号化光分布」を作成する。
【０１１３】
前述したのと同様に３要素のベクトル間の符号化光分布の生成を例に構成を示す。
【０１１４】
図１２に示すように、空間上の別々の場所（ここではｄ，２ｄ，３ｄを中心とする幅ｄの領域）に、強度と領域中心からの位置ずれとがそれぞれａ１  とｂ１  、ａ２  とｂ２  、ａ３  とｂ３  であるような光分布を生成する。
【０１１５】
より具体的には、図１３に示すように、面発光素子と光シャッターとの組み合わせに代表される光学手段や、図１４に示すように、点発光素子とその発光位置を制御するメカニカル手段などが利用できる。
【０１１６】
次に、このようにして作成された要素ごとの符号化光分布を光学的手段により重ね合わせる。光学的な重ね合わせは、図１５に示すように多軸結像系を利用することにより実現できる。符号化光分布は結像面の中央部に得られる。
【０１１７】
このように、信号の重ね合わせを簡単に実現できるところが光を利用する場合の特徴である。光は空間をぶつかりあうことなく進むことができるので、図１５に示す例よりもはるかに多い要素ごとの分布であっても一瞬にして各分布を１つのセンサ上に集めることができる。
【０１１８】
なお上述の説明においては簡単のために、要素ごとに強度と位置とを符号化した光分布をｄ，２ｄ，３ｄを中心とする幅ｄの「空間上の別々の場所」に配置したが、これは図１５に示すように等間隔の１次元状に配置された領域である必要はなく、不等間隔であったり１次元状以外（例えば２次元状）の配置であってもよい。
【０１１９】
次に、相互相関を利用して分布を生成する方法について説明する。
【０１２０】
まず、第１のベクトルの要素に応じて強度符号化された分布と、第２のベクトルの要素に応じて位置符号化された分布とを別々に作成する。次いで、それらの相互相関を取ると相互相関分布の中に必要な「符号化光分布」が現れることに着目し、相互相関を光学的に行うことにより一瞬に符号化分布を作成するという方法である。
【０１２１】
ここでは、前述したのと同様に、３要素のベクトル間の符号化光分布の生成を例に説明する。
【０１２２】
第１のベクトルの要素による強度の符号化とは図１６に示すように、空間上の別々の場所（ここではｄ，２ｄ，３ｄを中心とする幅ｄの領域）に、それぞれａ１  ，ａ２  ，ａ３  であるような強度を持つ分布を作成することである。この分布を符号化分布Ａ′とする。
【０１２３】
一方、第２のベクトルの要素による位置の符号化とは図１７に示すように、空間上の別々の場所（ここではｄ，２ｄ，３ｄを中心とする幅ｄの領域）に、領域中心からの重心位置のずれがそれぞれｂ１  ，ｂ２  ，ｂ３  で、強度が等しい分布を作成することである。この分布を符号化分布Ｂ′とする。
【０１２４】
符号化分布Ａ′と符号化分布Ｂ′との相互相関分布Ｃ（ｘ）  は下記の式（２３）により定義される。また、実際の相互相関分布Ｃ（ｘ）  は図１８に示すものとなる。
【０１２５】
【数１６】
0003630782.tif 000018
【０１２６】
符号化分布Ａ′と符号化分布Ｂ′が図１６および図１７に示すようにデルタ関数により構成されるものとし、相互相関分布Ｃ（ｘ）  のうちｘ＝０を中心とする幅ｄの領域（−ｄ／２＜ｘ＜ｄ／２）だけに注目すると、この注目領域において相互相関分布Ｃ（ｘ）  が０でない値を持つことができるのは、ｄｉ  （ｉ＝１〜３）の３箇所の地点のみである。また、その場所での強度は下記の式（２４）のようにそれぞれｄｉ  （ｉ＝１〜３）になる。また、注目領域の様子を図１９に詳細に示す。
【０１２７】
0003630782.tif 000019
このように、第１のベクトルから作成される強度符号化分布と、第２のベクトルから作成される位置符号化分布との相互相関分布の中央部の分布が所望とする「符号化光分布」である。
【０１２８】
ところで、光学的手法によって２つの分布の相互相関分布を得る方法は広く知られている。
【０１２９】
まず、古くから応用されてきたインコヒーレント光学系による光学的相関器の原理的な動作について説明する。
【０１３０】
図２０において、空間に座標系（ｘ，ｙ，ｚ）をとり、（ｘ，ｙ）面に平行に３つの面Ｓ１  ，Ｓ２  ，Ｓ３  を等間隔にとる。それぞれの面には互いに平行に（ｘ１  ，ｙ１  ），（ｘ２  ，ｙ２  ），（ｘ３  ，ｙ３  ）の座標系を、原点がｚ軸上に一致するようにとる。
【０１３１】
ここで、Ｓ２  面の原点にピンホールを設ける。Ｓ１  面にはｆ（ｘ１  ，ｙ１  ）の透過率分布を持った媒体（例えばスライド）を置く。そしてＳ１  面の外側に拡散光源を置いてこの媒体に光を照射する。このときＳ３  面にはピンホールカメラの原理そのままに、ｆ（ｘ１  ，ｙ１  ）の分布の倒立像ができ、そこでの光量分布はｆ（−ｘ３  ，−ｙ３  ）に比例する。
【０１３２】
ここで、ピンホールを原点から点（ξ，η）へ移動する。Ｓ３  面においての像はｘ３  軸方向に２ξ、ｙ３  軸方向に２η移動して、光量分布はｆ（−ｘ３  ＋２ξ，−ｙ３  ＋２η）となる。移動したピンホールはδ（ｘ２  −ξ，−ｙ３  ＋２η）と表すことができるので、結局ピンホールの位置によってＳ３  面においての像が決定されていることがわかる。
【０１３３】
次にピンホールの代わりにｇ（ｘ２  ，ｙ２  ）なる透過率分布を持つ媒体をＳ２面に置いた場合を考える。光の性質からこの系は線形系において重ねの理が成り立つことから、ｇ（ｘ２  ，ｙ２  ）を簡単に求めることができる。ｇ（ｘ２  ，ｙ２  ）は、
【０１３４】
【数１７】
0003630782.tif 000020
【０１３５】
と展開することができるので、ｇ（ｘ２  ，ｙ２  ）とはピンホールδ（ｘ２  −ξ，ｙ２  −η）を荷重係数ｇ（ξ，η）をもって重ね合わせたものと考えることができる。したがってＳ３  面にできる像はｆ（−ｘ３  ＋２ξ，−ｙ３  ＋２η）の荷重和として表すことができる。すなわち、
【０１３６】
【数１８】
0003630782.tif 000021
【０１３７】
となる。ここで、
【０１３８】
【数１９】
0003630782.tif 000022
【０１３９】
と定義し直して式（２６）を書き直すと、
【０１４０】
【数２０】
0003630782.tif 000023
【０１４１】
となる。これは関数
【０１４２】
【数２１】
0003630782.tif 000024
【０１４３】
との相関に他ならない。
【０１４４】
すなわち、Ｓ１  面に（図または式）を縦横に２倍した透過率分布媒体をおき、Ｓ２  面に（図または式）の透過率分布媒体をおいて拡散光により照明すれば、Ｓ３  面には相関に比例する強度分布が得られるのである。
【０１４５】
このように光を利用すると、透過率分布媒体と光源の組み合わせにより簡単に相関演算を実行することができる。この演算は完全に並列に処理が行われるため非常に高速である。
【０１４６】
上述した実施の形態は光学的相関器の極めて原理的な動作の一例であるが、この他にも様々な光学的配置、あるいは光学素子の利用によって同様の演算が実行でき、全てを網羅するのは困難である。しかしながら、情報処理の分野において用いられる伝達関数の考え方を導入すると一般的な定義ができる。
【０１４７】
伝達関数とは入力と出力の関係を特徴づける関数である。入力情報が何らかの手続きによって変換され出力情報となるとき、そこに加えられた手続きを伝達関数として表現することができる。
【０１４８】
光学系の場合には光学系の点像分布関数ｈ（インパルス応答ともいう）をフーリエ変換したものが伝達関数Ｓになることが広く知られている。
【０１４９】
一般には、入力Ｉ、出力Ｏ、点像分布関数ｈとすると、
Ｏ＝ｈ＊Ｉ．（＊はコンボリューション）            …（２９）
なる関係がある。コンボリューション演算は軸の符号を逆にすれば相関に等価である。したがって、光学的相関器の動作は、入力面の光強度分布Ｉと光学系の点像分布関数との相関を、光強度分布Ｏとして出力面に出力していることにほかならない。上述した実施の形態においては、入力面の光強度分布（図２０のＳ１  面）をＩ、出力面の光強度分布（図２０のＳ３  面）をＯ、とすると中間のＳ２  面の光透過率分布が点像分布関数ｈに相当している。
【０１５０】
以上のように、「第１の分布を持つ光パターンを光学的な入力面に置き、第２の分布に相違なＰＳＦ（点像分布関数）を持つ結像光学系により光学系の出力面に像を得る」ことによって得られた出力像は、第１および第２の分布の相互相関に相似となる。
【０１５１】
なお、相互相関の定義から、第１、第２の分布を置き換え「第２の分布を光学的入力面に置き、第１の分布をＰＳＦ（点像分布関数）とする結像光学系の出力」としても、全く同等の相互相関分布が得られることはもちろんである。
【０１５２】
まず、第１の分布を光学入力パターンとし、第２の分布を結像光学系のＰＳＦとした構成を示す。
【０１５３】
図２１に示すように、第１のベクトル要素ａ１  ，ａ２  ，ａ３  に対応した強度の３つのピークを持つ光分布を入力面に置く。次に、第２のベクトル要素ｂ１  ，ｂ２  ，ｂ３  だけ出力像がずれて重なり合うように配置した３つのレンズを用いて、この入力光分布を出力面に多重結像（出力）する。これにより、出力面には２つの分布間の相互相関分布が得られる。このように配置された３つのレンズをまとめて１つの光学入出力系と見なすと、そのＰＳＦは、図２２に示すように第２のベクトルから作成される位置符号化分布に相似な形になっている。
【０１５４】
次に配置を逆にした構成、すなわち、第２の分布を光学入力パターンとし、第１の分布を結像光学型のＰＳＦとした構成を示す。
【０１５５】
図２１に示す実施の形態と同様に、図２３に示すように第２のベクトル要素ｂ１  ，ｂ２  ，ｂ３  に対応した量だけ位置がずらされた３つのピークを持つ光分布を入力面に置く。この入力光分布を、第１のベクトル要素ａ１  ，ａ２  ，ａ３  に対応する光透過率を持ち、等間隔に配置した３つのレンズを用いて、出力面に多重結像（出力）する。これにより図２１に示した実施の形態と同様に、出力面には２つの分布間の相互相関分布が得られる。このように配置された３つのレンズのＰＳＦは、図２４に示すように第１のベクトルから作成される強度符号化分布に相似な形になっている。
【０１５６】
以上のようにして得られた相互相関分布の中央部だけを取り出し、ＰＳＤセンサに入射させれば、それは所望の「符号化光分布」に他ならない。
【０１５７】
以上、本発明の実施の形態においては、光学的符号化を行う具体的な方法として、３つのスタイルの実現方法について説明した。
【０１５８】
符号化に要する時間は、どちらか一方のベクトルが固定であれば、処理は光の速度により完了する。しかしながら、２つのベクトルのいずれも可変とする場合には、処理速度は、強度符号化・位置符号化のそれぞれに用いられる機能デバイスの能力に依存することになる。したがって、設計するシステムに合わせて最適なデバイスを選択する必要がある。
【０１５９】
以上、本光積和演算法の原理と最も基本となる光積和演算システムの構成について説明した。以下、機能をさらに特化・拡張した光積和演算法とその装置構成について説明する。
【０１６０】
まず、局所処理による演算システムの小形化について説明する。
【０１６１】
信号処理の分野においては、多数の要素からなる入力データ列の１部分と、入力よりもはるかに少ない要素数のデータ列との積和演算が頻繁に行われる。
【０１６２】
例えば、あるデータ列の中から、特定のデータパターンを探し出す処理などはその代表である。また、多くの画像処理アルゴリズムにおいて多用されるカーネルコンボリューション演算も、画像データを入力ベクトルとし、カーネルを被乗算行列とする局所的な積和演算の集まりにほかならない。
【０１６３】
このような「局所的な積和演算」は、入力ベクトルＡに対して、「疎行列」である被乗算ベクトルＷを生じる処理と考えることができる。数式的には下記の式（３０）のように示される。行列Ｗは各列の要素が限られた領域でしか値をもたない「疎行列」である。したがって、実質的には入力ベクトルＡの一部分の要素と列要素の一部分との積和演算が局所領域に限定されて行われているにすぎない。よって、式（３１）からもわかるように、元のベクトル・行列の大きさよりも、はるかに少ない要素数のベクトル間積和の集まりと見なすことができる。
【０１６４】
【数２２】
0003630782.tif 000025
【０１６５】
さらに、下記の式（３２）のように各列の局所的な要素の並びが同じである場合には、ベクトル行列積は一層簡単な式（３３）により実現できる。
【０１６６】
【数２３】
0003630782.tif 000026
【０１６７】
なお、式（３２）が成立する、すなわち各列の局所的な要素の並びが同じであるとは、スペースインバリアントなコンボリューション演算に相当する（データ中の全ての局所データ列に全く同一のカーネルを積和する）。これに対し、各列の局所的な要素のならびが同じでないときには、スペースバリアントなコンボリューション演算に相当する。
【０１６８】
このような局所演算処理では、被乗算ベクトルＷが「疎行列」であるため、システムサイズを小形化し易い。特に、「スペースインバリアント」な場合には、わずかな要素からなる符号化分布を、入力ベクトルＡのあらゆる部分で共有する構成とすることが可能である。これによって、小さな１つの符号化分布だけで被乗算ベクトルＷを実現でき、システムサイズの一層の小形化ができる。
【０１６９】
以下、スペースバリアントなコンボリューション演算を実行する系の例を示す。
【０１７０】
図２５はスペースバリアントなコンボリューション演算を実行する光積和演算システムの構成例を表す図である。スペースバリアントなコンボリューションは、上記式（３１）のように、入力ベクトルＡの一部分の要素と行列要素の一部分との積和演算が局所領域に限定されて多数実行される処理である。このような演算の実行には、入力ベクトル要素のうち必要なところだけの情報を用いて符号化光分布を作成し、ＰＳＤセンサに入射できればよい。
【０１７１】
この構成は上述した「強度変調発光素子と光偏向素子による符号化光分布の作成手法」を複数並べたものである。但し、１つの発光素子を複数の偏向素子が共有する形になっている。図２５の左側に入力ベクトル要素に応じた光強度で発光する素子ＬＥＤ、中央には行列要素Ｗに応じて光の進行方向を制御する素子（ピンホール）ＰＨ、右には符号化光分布とそれを受け取り積和複合化するＰＳＤセンサと電気演算回路とが配置される。行列要素Ｗは疎行列であるため、値が０である部分を省略することができる。したがって、１つの発光素子を３つだけの偏向素子により共有するだけでよいため、現実的な構成が可能になっている（もし、疎行列でなければ偏向素子群の密度が非常に高くなってしまい、現実的な系を構成することは困難になる）。
【０１７２】
なお、この構成をそのまま２次元に拡張することも容易である（図２６参照）。
【０１７３】
図２６は２次元のスペースバリアントなコンボリューション演算器の代表的な構成例を表す図である。入力は２次元に並べられたＬＥＤである。被乗算行列はスペースバリアントな演算の場合には入力のあらゆる局所領域に対して独立であるため、全て個別に設定する。ここでは、１次元のスペースバリアントなコンボリューション演算器の例と同様にマルチピンホール光学系を用いている。個々のピンホールアレイはコンボリューションカーネルの値に応じて図のピンホールアレイＰＨの面内水平方向に微小にシフトさせておく。多重像の重なり度合いの条件から、入力〜ピンホールアレイ〜ＰＳＤアレイの各面の距離を非常に小さくすることが可能である。
【０１７４】
次に、スペースインバリアントなコンボリューション演算を実行する光積和演算システムの構成を図２７に示す。スペースインバリアントなコンボリューションにおいては、上記式（３３）のように、入力ベクトルと積和される行列要素は皆相似であるため、行列要素を共有化する構成が可能になる。
【０１７５】
図２７に示す系においては上述した「相互相関を利用して符号化光分布を作成する手法」が用いられている。左側に入力ベクトル要素の光強度分布を持つＬＥＤアレイ、中央に行列要素ＷをＰＳＦとするピンホールアレイＰＨからなる光学系、右に符号化光分布を受け取り積和復号化するＰＳＤセンサと電気演算回路とが配置される。この系の最大の特徴は、行列要素ＷをＰＳＦとするただ１つの光学系を、全ての符号化光分布の生成手段として共用している点にある（図２７においては１つの光学系が７つの符号化光分布を生成）。これによって、光回路の密度は非常に高いものになり、素子の効率的な使用と小型化を可能にしている。
【０１７６】
また、図２８に示すように、左側に行列要素Ｗの光強度分布を持つＬＥＤアレイ、中央に入力ベクトル要素をＰＳＦとするＳＬＭからなる光学系を配置する構成でも同様の符号化光分布を得ることができる。いずれの構成がよいかは、使用する発光素子や光学系、ＳＬＭ等の特性や、システムの用途に応じて変わってくる。
【０１７７】
もちろん、この構成も、スペースバリアントの系と同様、２次元に拡張することは容易である。２次元に拡張した例を図２９および図３０に示す。
【０１７８】
図２９においては、入力は２次元に並べられたＬＥＤである。被乗算行列はスペースインバリアントな演算の場合には入力のあらゆる局所領域に対して共通化できるため、ただ１つでよい。ここでは、マルチピンホール光学系を用いる。各ピンホールはピンホールカメラの原理と同様に入力の像をＰＳＤアレイの各ＰＳＤのセンサ面に結ぶ。ただし、ピンホールが多数あるため、像は多数の像が重なった多重像となる。ピンホールの開口位置は、センサ面において入力のＬＥＤ同士がちょうど１つずつずれて重なるような距離を基本として、それよりもさらにコンボリューションカーネルの値に応じて図２９のピンホール面内水平方向に微小にシフトされる。これによって、多重像もまたそれぞれシフトする。そして出力要素数分のＰＳＤと電気演算回路によって演算結果が出力される。
【０１７９】
また、図３０においては、入力は２次元の空間変調可能なピンホールアレイＰＨである。被乗算行列は発光素子アレイＬＥＤによる照明光学系である。各点光源によって入力のピンホールアレイＰＨは照明され、その投影像（影絵）がＰＳＤアレイの各ＰＳＤのセンサ面に投影される。但し、点光源が多数あるので投影像は多数の像が重なった多重像となる。点光源の位置は、センサ面においてそれらの投影像同士がちょうど１つずつずれて重なるような距離を基本として、それよりもさらにコンボリューションカーネルの値に応じて図３０のＬＥＤアレイ面内水平方向に微小にシフトされる。これによって、多重像もまたそれぞれシフトする。そして出力要素数分のＰＳＤと電気演算回路によって演算結果が出力される。
【０１８０】
以上説明したように、処理の範囲を局所領域に限定することにより、非常にコンパクトな並列光積和演算システムを構築できる。処理範囲を限定することは汎用性を縮小することになるが、信号処理の分野おいては、従来から局所領域での処理が頻繁に行われており、それらへの局所光積和演算の適合性は高い。特に、本発明による光積和演算法は２次元方向への拡張が容易であることから、画像処理への適用が期待される。従来の画素順次の処理においては、扱う画像サイズが大きくなるとそれに比例して演算処理時間が増大するが、本光積和演算法による並列処理であれば、画像サイズがどれほど大きくなっても、演算時間は全く増大しない。すなわち、膨大なデータを扱う画像処理のような分野に、本発明による光積和演算法は非常に適応している。
【０１８１】
もう１つ別の方向への拡張として、被乗算ベクトルの多重化手法について説明する。
【０１８２】
上述した実施の形態においては、位置符号化を１次元方向へのシフトとしているが、これを２次元方向に拡張することにより、装置構成をほとんど追加することなく、１つの入力ベクトルＡと２つの異なるベクトルＤ，Ｅとの積和値Ａ・Ｄ，Ａ・Ｅを同時に求めることが可能である。この符号化分布の例を図３１に示す。
【０１８３】
積和値を求めるためは、２つの独立な検出軸を持つ「２次元ＰＳＤ」を用いる。２次元ＰＳＤは直交する２つの軸に関してそれぞれ全く独立に出力信号を得ることができる。したがって、それぞれの出力電極からの出力電流の間の差を求めそれに適当な定数を乗じるという演算をそれぞれ独立に行うことにより、単一の光学的相互相関手段を用いるだけで、同時に２つの項なるベクトルＤ・Ｅ，Ａ・Ｄ，Ａ・Ｅを同時に求めることができる。
【０１８４】
これによって一層複雑な演算（例えば、複素数演算やαＡ・Ｄ＋βＡ・Ｅなどの複合的な演算）も完全に並列実行可能となる。
【０１８５】
以上、スカラー、ベクトルまたは行列を符号化して符号化光分布を作成し、積和演算を実行する光積和演算方法についての構成例について説明した。
【０１８６】
本発明による光積和演算方法は、光の並列伝搬性を活かして、大量のベクトル行列積和演算を一瞬にして実行することができる。さらに、光の位置を情報量として利用することにより、従来解決できなかった負値の取扱いが可能となる。
【０１８７】
さらに、本発明による光積和演算方法は上述したように３つのスタイルがあり、設計者はこれら３つの実現方法を基本として、利用可能な光技術との適合性に応じて、最適な実現方法を選択することができるため、将来本発明による原理に基づく光演算装置、デバイスを設計する際の選択の自由度を広げることができる。
【０１８８】
以上、本発明による光演算装置の実施の形態を種々説明したが、これらに限定されるものではなく、この他にも多くのバリエーションが存在する。
【図面の簡単な説明】
【図１】符号化光分布を表す図
【図２】ＰＳＤの構造を表す図
【図３】符号化光分布をガウシアン状に広がったパターンにより表す図
【図４】符号化光分布を複数のδ関数の組み合わせにより表す図
【図５】３つのδ関数から合成された符号化光分布を表す図
【図６】符号化光分布をガウシアン状に広がったパターンにより表す図
【図７】符号化光分布を複数のδ関数の組み合わせにより表す図
【図８】３要素のベクトル間積和演算用の符号化光分布を表す図
【図９】発光素子と空間光ゲートによる強度と位置との符号化を説明する例を表す図
【図１０】発光素子と空間光ゲートを並べ、長手方向に感度を有するＰＳＤセンサにより受光する例を表す図
【図１１】発光素子と偏向手段とを並べＰＳＤセンサ上に符号化光分布を生成する例を表す図
【図１２】空間上の別々の場所に要素ごとの符号化分布を生成する例を表す図
【図１３】面発光素子と光シャッターとの組み合わせにより空間上の別々の場所に要素ごとの符号化光分布を生成する例を表す図
【図１４】点発光素子とその発光位置を制御するメカニカルな手段により空間上の別々の場所に要素ごとの符号化分布を生成する例を表す図
【図１５】符号化された要素とごとの光分布を光学的手段により重ね合わせた符号化光分布を生成する例を表す図
【図１６】第１のベクトルの要素による強度の符号化
【図１７】第２のベクトルの要素による重心位置の符号化
【図１８】符号化分布Ａ′と符号化分布Ｂ′との相互相関分布を表す図
【図１９】相互相関分布の中央部を表す図
【図２０】光を用いる相関器の例を表す図
【図２１】第１の分布を光学入力パターンとし第２の分布を結像光学系のＰＳＦとした構成を表す図
【図２２】図２１における軸ずらし多軸光学結像系のＰＳＦを表す図
【図２３】第２の分布を光学入力パターンとし第１の分布を結像光学系のＰＳＦとした構成を表す図
【図２４】図２３における透過率変調付き多軸光学結像系のＰＳＦを表す図
【図２５】スペースバリアントな局所コンボリューションの実行系を表す図
【図２６】スペースバリアントな局所コンボリューションの実行系（２次元）を表す図
【図２７】スペースインバリアントな局所コンボリューションの実行系を表す図
【図２８】スペースインバリアントな局所コンボリューションの実行系を表す図
【図２９】スペースインバリアントな局所コンボリューションの実行系（２次元）を表す図
【図３０】スペースインバリアントな局所コンボリューションの実行系（２次元）を表す図
【図３１】２つの異なるベクトルの積和を並列に実行するための符号化分布を表す図
【図３２】空間積分法によるベクトル行列乗算の概念を説明するための図
【図３３】ニューラルネットワークのホップフィールドモデルを表す図
【図３４】Ｄ．Ｐｓａｌｔｉｓらによるホップフィールドモデルを表す図
【図３５】Ｄ．Ｐｓａｌｔｉｓらによるホップフィールドモデルを表す図
【符号の説明】
ＬＥＤ，ＬＥＤ１〜４    発光素子
ＳＬＭ，ＳＬＭ１〜５    光変調素子
ＰＡ１〜３，ＰＨ    ピンホールアレイ
ＬＡ１    レンズアレイ
ＰＲＡ１〜５    プリズムアレイ
ＡＯ１〜３    音響光偏向器アレイ
ＩＬ１    結像レンズ
ＭＡ１    ミラーアレイ
Ｍ１    ミラー
【図１】
0003630782.tif 000027
【図２】
0003630782.tif 000028
【図３】
0003630782.tif 000029
【図４】
0003630782.tif 000030
【図５】
0003630782.tif 000031
【図６】
0003630782.tif 000032
【図７】
0003630782.tif 000033
【図８】
0003630782.tif 000034
【図９】
0003630782.tif 000035
【図１０】
0003630782.tif 000036
【図１１】
0003630782.tif 000037
【図１２】
0003630782.tif 000038
【図１３】
0003630782.tif 000039
【図１４】
0003630782.tif 000040
【図１５】
0003630782.tif 000041
【図１６】
0003630782.tif 000042
【図１７】
0003630782.tif 000043
【図１８】
0003630782.tif 000044
【図１９】
0003630782.tif 000045
【図２０】
0003630782.tif 000046
【図２１】
0003630782.tif 000047
【図２２】
0003630782.tif 000048
【図２３】
0003630782.tif 000049
【図２４】
0003630782.tif 000050
【図２５】
0003630782.tif 000051
【図２６】
0003630782.tif 000052
【図２７】
0003630782.tif 000053
【図２８】
0003630782.tif 000054
【図２９】
0003630782.tif 000055
【図３０】
0003630782.tif 000056
【図３１】
0003630782.tif 000057
【図３２】
0003630782.tif 000058
【図３３】
0003630782.tif 000059
【図３４】
0003630782.tif 000060
【図３５】
0003630782.tif 000061