JP2024509663A - 光学的ベクトル乗算器 - Google Patents

光学的ベクトル乗算器 Download PDF

Info

Publication number
JP2024509663A
JP2024509663A JP2023541004A JP2023541004A JP2024509663A JP 2024509663 A JP2024509663 A JP 2024509663A JP 2023541004 A JP2023541004 A JP 2023541004A JP 2023541004 A JP2023541004 A JP 2023541004A JP 2024509663 A JP2024509663 A JP 2024509663A
Authority
JP
Japan
Prior art keywords
vector
optical
signal
light
signals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023541004A
Other languages
English (en)
Inventor
パルミジャーニ,フランチェスカ
グカンツィディス,クリストス
ハラー,イシュトヴァーン
バッラーニ,ヒテシュ
イアン テイラー ローストロン,アントニー
リバルチェンコ,アンドレイ
Original Assignee
マイクロソフト テクノロジー ライセンシング,エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マイクロソフト テクノロジー ライセンシング,エルエルシー filed Critical マイクロソフト テクノロジー ライセンシング,エルエルシー
Publication of JP2024509663A publication Critical patent/JP2024509663A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E3/00Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
    • G06E3/008Matrix or vector computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Abstract

光学ドメイン内でベクトル×ベクトル乗算を行うための装置であって、本装置は:複数の光信号生成器であって、各光信号生成器が、変数のベクトルのそれぞれの変数をモデル化する入力信号により変調された異なるそれぞれのキャリア波長を有する光のビームを放射するように配置された、複数の光信号生成器;1又は複数組の光変調器素子であって、各組内の各光変調器素子は、前記入力信号のうちの異なる入力信号により変調された光のビームを受信するように、及び重み付け光信号を生成するために重み付けのベクトルから対応する重み付けを適用するように配置された、光変調器素子;前記組の各組の光センサ素子;及び各組の重み付け光信号をそれぞれの光センサ素子上へ誘導するように、及びこれによりそれぞれの組の重み付け光信号を合計するアナログ電子信号の形式でそれぞれの出力を生成するように配置された1つ又は複数の光学的合成素子を含む。

Description

[001] 物流、金融ポートフォリオ管理、創薬及び他のアプリケーションドメインにおける多くの問題は、目的を最適化することをゴールにそれらの入力(通常は変数と呼ばれる)への値の割り当てを発見することを必要とする。例えば、このような問題は「組み合わせ最適化問題」を含む。他の領域の最適化とは異なり、組み合わせ最適化は、変数が有限集合から値を取る場合の問題に関係する。例えば、有効割り当ては、限定集合(例えば選び出すべき3つの利用可能ルートのうちの1つ)からの又は一般的には整数の有限部分集合からの二値(例えば、投資を行うべきか否か)である可能性がある。このような問題では、各変数の値を組み合わせるための有限組のやり方が存在する。原理的に、全ての可能な組み合わせを列挙して最適割り当てを発見することが可能である。しかし、実際には、このような網羅的探索は、一組の組み合わせが極めて大きい(変数の数が指数関数的である)ので中程度サイズの問題ですら実現不可能である。
[002] このような問題の構造を理解することに向けて広範囲な作業がなされてきた。組み合わせ最適化問題の部分集合はNP完全性として知られた問題のカテゴリーに属する(ここでNPは非決定性多項式(nondeterministic polynomial)を表わす)。NP完全性は計算複雑性理論において知られた概念であり、すべてのNP完全性問題は任意の他のNP完全性問題へ変換され得る。任意のNP完全性問題の効率的ソルバーは、任意のNP完全性問題が効率的に解決され得るということを暗示する。すべてのNP完全性問題はまた、「NP-hard」として知られる問題のより大きな部分集合に属し、ここではすべてのNP-hard問題もまたすべて他のNP-hard問題へ変換され得る。
[003] この設定における用語「効率的」は、すべての可能性を列挙することなく問題に対する解を発見することを意味する。具体的には、本明細書において説明されるグラフ最適化に対する効率的解は、これにより解を発見するためにかかる時間の量が問題の変数(グラフ頂点など)の数と共に多項式的にスケーリングする解である一方で、すべての可能な解を列挙することは問題の変数の数と共に指数関数的である。しかし、いかなるこのような効率的ソルバーもかつて存在し得ないということが広範に受け入れられている。その代わり、この領域における作業は「十分に良好」である解を発見するアルゴリズムを考案することに焦点を合わせてきた;すなわち、しばしば、このような近似アルゴリズムが厳密解に十分に近い答えを実際に提供することになるという保証はない。
[004] 多様な組み合わせ最適化問題が存在しており、上述のようにNP完全性問題は他のNP完全性問題へ変換され得る。例えば、巡回セールスマン問題は次のように定義される:所与の組の都市と都市間の対的距離とに関し、問題はすべての都市を介する経路を発見することであり、ここでは各都市は経路が最短全長を有するように正確に一回訪ねられる。
[005] 組み合わせ最適化問題の一般形式が、定義され得、それぞれが0又は1の値のいずれかを取る一組の二値変数V={v,v.,...v}と式ΣΣij・v・vとにより定義される二次無制約二値最適化(quadratic unconstrained binary optimization:QUBO)問題と呼ばれ得、ここで係数Qijは変数vとvの間の相互作用を定義する。巡回セールスマン問題は、すべての都市が正確に一回訪ねられるという制約に従って総距離が最小化されるように、変数(例えば、第1の変数はロンドンが訪ねられる第1の都市か否かを指示し得る)を訪ねられるべき各可能都市の各都市間の経路内の位置として及び行列Qで符号化された都市間の距離により定義することによりQUBO問題として定式化され得る。QUBOは、式ΣV‘⊆V,・Πv∈V’ を最小化するように幾つかの値を一組の二値変数V={v,v,...v}へ割り当てる多項式無制約二値最適化(polynomial unconstrained binary optimization:PUBO)問題の一タイプであり、この場合、係数Qは任意数の変数間の相互作用を符号化し得る。上述のように、NP-hard問題の様々な式間で変換することが可能である。補助変数及び項を式へ導入することにより、PUBO問題をQUBOへ変換することが可能である。
[006] 強磁性プロセス及び他の物理的プロセスをモデル化するために物理学において使用されるIsingモデルと呼ばれる式は、上に定義されたQUBO問題と等価である。Isingモデルは、2つの離散状態で存在し得る変数を有する物理系という観点で説明され、ここではこれらの変数は互いに相互作用し得、系の全エネルギーはIsing式H(σ)=-Σi,jijσσ-μΣσにより与えられ、二値変数(時に「スピン」と呼ばれる)は通常、1/0よりむしろ+1/-Iのうちの1つへ割り当てられるか、又は任意の他の二値割り当てである。しかし、Ising式は、式:σ=2v-1を適用することにより、ブール変数のQUBO式へ容易にマッピングされ得る。
[007] 上に使用された表記法はQUBOとIsing式との間で若干異なり、割り当てられる変数はσにより表され、相互作用係数はIsingモデルのJにより表されることに留意されたい。簡単のために、本出願では、表記法σは値が割り当てられる変数のために使用され、JはIsingソルバーに関連して相互作用係数のアレイを表すために使用される。しかし、Q及びvはまた、本明細書では概して、重み付けの行列と変数とをそれぞれ表すためにも使用され得る。
[008] 全エネルギーの上記表現内の第2項-μΣσは、外部「場」の影響又はモデル化される系に対する或る外部影響を表す。例えば、強磁性材料では、第1項は磁気双極子間の相互作用のエネルギー寄与を表し、第2項は外部磁場に起因する系のエネルギーを表す。多くの問題は、外部場の無い場合のIsing問題を解決することがはるかに簡単であるので、外部場の無いIsing問題としてモデル化される。しかし、追加のスピンと、注意深く選択された重み付けを有する追加のエッジとを導入することにより、外部場を有する問題を、外部場の無い問題へ変換することが可能である。以下の明細書においてIsing問題として参照されるいかなる問題又はモデルも、外部場を仮定しないか、又は外部場の無い問題へ既に変換された問題を仮定する。
[009] 最近まで、組み合わせ最適化のためのアルゴリズムは通常、市販品CPU、FPGA、GPU及びASICなどのデジタルハードウェアで実装されてきた。デジタルハードウェアは、柔軟性(すなわち様々なアルゴリズムをプログラムする能力)及び信頼性に関し大きな利点を有する。しかし、デジタル解決策はまた、実行の速度と電力消費とにより制限される。過去、デジタルハードウェアの世代毎に、改善された計算能力及び低減された電力消費を実現することができた。デジタルハードウェアの性能を改善することは、基本的物理的限界にアプローチするにつれてますます困難になる、ということが広く予想されている。組み合わせ最適化問題のより良い答えの探求、又は組み合わせ最適化問題のより大きな事例に取り組むことは、より大きなハードウェア費用に到達することになる。
[0010] しかし、最近になって、非デジタル物理的プロセスに基づくハードウェアを使用することによりこのような問題を解決する幾つかの試みがあった。物理的プロセスによるIsingモデルの一般的な実現は、量子アニーラを使用する。既存システムでは、問題変数は値+1及び-1を取る量子ビット(通常「スピン」と呼ばれる)により表される。しかし、このトポロジーは十分な接続性を許容しない。その代りに、量子ビット同士は幾つかの組の接続されたユニットセルを含むアーキテクチャにおいて相互接続し、各組の接続されたユニットセルは、カプラーを介し4つの垂直方向量子ビットへ接続される4つの水平方向量子ビットを有する。ユニットセルは、接続される隣接量子ビットにより垂直方向及び水平方向にタイル化され、粗に接続された量子ビットの格子を生成する。このアーキテクチャの制限された接続性が有する意味合いは望ましいものではなく、スピン内への問題変数の非効率的表現を生じる、すなわち、問題を表すために物理的系に必要とされる量子ビットの数は、元の変数の数より非常に多い。
[0011] 量子アニーラハードウェアのこの固有物理的制限に起因して、古典的ハードウェアにおいて走り得、且つ量子の物理的特性により示唆されるアルゴリズムが開発されてきた。例えば、Microsoft Azureは量子発想型最適化(QIO:Quantum Inspired Optimization)アルゴリズムを開発し、PUBO問題を近似するための良い展望を示した。
[0012] 光学的ソルバーでは、光信号が入力変数(例えばIsing問題におけるσi=1...N)を表すために使用され、光学素子が、変数(例えばIsing問題における行列J)間の相互作用をモデル化するやり方で信号を組み合わせるために使用される。光学ドメインにおいてベクトル×ベクトル乗算を行う光学素子(液晶ディスプレイ又はリング共振器など)が当該技術領域において知られている。合計(Σ)は、光検出器の光感知素子に当たる信号のコヒーレント又はインコヒーレント加算を行い得る光検出器を使用することにより実施され得る。
[0013] ソルバーへの入力(すなわちその値が判断されることになる変数)が二値正又は負値(-1及び+1又は-1/2及び+1/2など)を取り得る場合、これらは時に、スピンの量子特性との類推により単に「スピン」と呼ばれる。しかし、このような文脈では、これはスピンの量子特性を実際には意味しない。その代りに、2つの可能な「スピン」値は、二値変数の2つの可能な値を単に指しており、したがって例えば光の振幅又は位相の2つの異なる値を使用することにより表される可能性がある。
[0014] 光学に基づく又は光学において示唆された最先端技術解決策は、デジタル手法だけ(Toshiba’s Solving Traveling Salesman Problem with SBM[Simulated Bifurcation Machine] Ikuko Hasumi https://medium.com/toshiba-sbm/solving-traveling-salesman-problem-with-sbm-simulated-bifurcation-machine-89740c83ed37参照)、又はBohm,Fabian,Guy Verschaffelt,and Guy Van der Sande. ”A poor man’s coherent Ising machine based on opto-electronic feedback systems for solving optimization problems.” Nature communications 10.1(2019):1-9(https://www.nature.com/articles/s41467-019-11484-3) and Inagaki,Takahiro,et al. ”A coherent Ising machine for 2000-node optimization problems.” Science 354.6312(2016):603-606 https://science.sciencemag.org/content/354/6312/603に基づくハイブリッド手法のいずれかを提案する。
[0015] ハイブリッド手法では、変数値を表す信号を生成するビルディングブロックが通常、光学的ハードウェア内に実装されるが、可変相互作用を計算するための論理は、光学ドメインとデジタルドメインとの間で変換するためにデジタルハードウェア及びハードウェアを使用することにより実装される。対照的に、「全アナログ」ソルバーでは、非デジタルハードウェアがその代りに、光学的(すなわち光信号)ドメインとアナログ電子ドメインとの間で信号を変換するために使用される。全アナログソルバーの利点は光信号及びアナログ電子信号が送信され得る速度である(デジタル電子機器は本質的に、フリップフロップを介し一連のビットを計時する必要性に起因してはるかに遅い)。一方、デジタルドメインにおいて反復の一部を実施することで全アナログソルバーのポイント(デジタル電子機器と比較した送信の速度)に打ち勝つ。システムの速度は最も遅い部分により制限されることになるので、いかなるデジタル電子機器の包含も光学的ソルバーの利点を打ち消す。
[0016] 全てが光学的な解決策が提案され、4スピン/変数の全対全(all-to-all)接続性及び16スピン/変数の部分的接続性により実証された(Marandi,A.,Wang,Z.,Takata,K.,Byer,R. L. & Yamamoto,Y. Network of time-multiplexed optical parametric oscillators as a coherent Ising machine. Nat. Photonics 8,937-942(2014),K. Takata et al. ”A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems ”,Scientific Report 2016. A 16-bit Coherent Ising Machine for One-Dimensional Ring and Cubic Graph Problems(europepmc.org))。
[0017] 最先端技術の全光学的ソルバーは、時分割多重化アーキテクチャにおいて光信号を使用することにより変数を生成する。すなわち、信号は、信号が変数間の相互作用をモデル化するために組み合わせられ得るように光の同じビーム内へ直列に多重化され、異なる遅延経路が変数毎に導入される。しかし、時分割多重化に関しては、スピン生成が直列に行われるので、ソルバーの時間複雑性はモデル化される変数の数という点で線形である。図5Aは、時分割多重化アーキテクチャの概略ブロック図を示す。時分割アーキテクチャに関しては、「スピン」のそれぞれが直列に生成され、それらの間の相互作用を実施することができるようにするために様々な経路長により遅延される。これは、単一反復は、スピン間の相互作用を計算してこのフィードバックをスピン生成へ渡す前に、すべてのスピンが生成されるのを待たなければならないということを意味する。
[0018] 全面的にアナログドメイン内で実装されるソルバーは、Ising系の「スピン」相互作用をモデル化するために光学的ベクトル乗算器又は電子的ベクトル乗算器を使用する。光学的ベクトル乗算器の実装は、光伝送の速度を活用するという、上に指摘した利点を有する。
[0019] 光信号を使用することにより光学ドメインにおいてベクトル乗算を行うための既存技術は、空間光変調器(SLM:spatial light modulator)、リング共振器、及びMach-Zender干渉計(MZI:Mach-Zender interferometer)を含む。光学的ベクトル乗算器を設計する際の挑戦は、乗算の速度及び効率を最大化する点にある。通常、光信号の乗算は、入力の値を所定量だけ変更するために光学素子を適用することにより行う。これは、例えば入力信号を損失性素子に通すことにより実現され得、光信号の強度は光学素子の構成に依存して所定量だけ低減される。この目的のために使用される光学素子の例は、液晶ディスプレイ及びリング共振器を含む。
[0020] 幾つかの光学的ベクトル乗算器は、同じ波長の変調光信号によりベクトルの入力素子を表す。これに伴う困難は、損失性素子のアレイにより一組の信号などのベクトル乗算を計算する結果信号が、単一波長の光の単一ビームであるということである。光は加重和の正しい値を検出するために同一波長であるので、重み付けされた入力のコヒーレント加算が行われなければならない。空間光変調器は、このようにして使用され、その結果、ベクトル乗算の結果が、SLMの素子により修正された後にコヒーレント加算により取得される。しかし、コヒーレント加算に伴う困難は、加えられる光信号が、電界が正しく加えられるように位相整合される必要があるということである。これは、何百もの入力を処理するように構成され得るシステムの何百THzのオーダの光周波数において実現するのが困難である。
[0021] 他方で、リング共振器は、乗算される入力ベクトルの各素子の一意的波長キャリアを含む波長多重光信号により入力ベクトルを表す、光波長分割多重を使用する。リング共振器は、特定波長の光だけを結合するために導波管の隣に置かれる。リング外周の長さが共振条件である整数の波長に等しい場合、導波管内の光信号はリングへドロップされ、散乱のおかげで失われる。光強度のレベルはアナログ形式のデータ値と考えられ、乗算は、電荷をリング内へ注入することにより又はその温度を変更することにより損失率が制御され得る、リング共振器により実施される。しかし、リング共振器の潜在的欠点は、全入力ベクトルを含む信号が一連のリング共振器を通るということであり、これは光伝送中の損失につながる。
[0022] Mach-Zender干渉計は、2つの入力信号が、2つの出力ポートと入力信号を変調する2つの位相シフタ(PS:phase shifter)とへ等しく分割される、2つの方向性結合器(DC:directional coupler)から構成される。MZIは、2×2ユニタリ変換を実施するために使用され得るように位相シフトを調整することにより、各入力ポートの光信号を任意の比で2つの出力ポートへ分散し得る。リング共振器のケースと同様に、光学的ベクトル乗算は、システムへの入力の数が増加するにつれて増加するシステム損失に悩まされ、損失は、各入力がより多くのデバイスを通る必要があるので、入力の数と共に線型に増加する。
[0023] 対照的に、SLMに関しては、各個々の信号はSLMの単一変調器を一回だけ通り、これは、入力の数が増加するにつれ損失が一定となるようにシステム損失を最小化する。しかし、上に指摘したように、既存SLMは、コヒーレント加算を必要とする同じ波長の光源と共に使用される。
[0024] 従って、光学ドメインにおいてベクトル乗算を行うための代替形式の装置を提供することが望ましいだろう。
[0025] 異なる分野の技術では、波長選択的切り替えデバイスが、通常は特定送信ノードにおいて信号から特定波長を追加又はドロップするために、及び信号は送信されたスペクトル全体にわたって平坦であるということを保証するために、テレコミュニケーションアプリケーションにおいて現在使用されている。波長選択的スイッチは通常、一方の側で単一入力ファイバ(様々な物理的位置において様々な波長をそれぞれの波長に基づき信号を減衰するSLMへ反射するために分散素子により分散される様々な波長の信号を含む)と共に使用される。これは、様々な波長の減衰信号のために、他の側でマルチ出力ファイバへ結合される。このデバイスは双方向性である。
[0026] 本明細書において説明されるのは、様々な波長の一組の入力信号に対し光学的ベクトル乗算を行うように構成された波長選択的スイッチである。空間光変調器は、異なるそれぞれの波長において特定損失係数を各入力信号へ適用するために使用され、回折素子は、入力の加重和を計算するために、光検出器における検出のための得られる重み付け信号を、1つのビームへ合成するために使用される。これは、各信号が単一セルを通されるので最小システム損失を有する空間光変調器の利点から、及びすべての信号は様々な波長(光検出器の帯域内の)のものであるので光検出器におけるインコヒーレント検出の利点から、恩恵を受ける。
[0027] 小型レンズアレイ及び回折素子などの光学素子は、例えば多数のスピン(通常は、何百又は何千のスピン)変数をモデル化する光学的Isingソルバーアーキテクチャにおいて、より効果的に信号をコリメートし及び誘導し、波長選択的スイッチがより多くの数の入力信号へスケールアウトされることを可能にし、及びベクトル乗算器としての波長選択的スイッチの使用を可能にするように構成され得る。これは、レンズを使用する光学的ベクトル乗算器(大きな入力へ容易にスケーリングされ得ない)の典型的SLM実装形態を上回る利点を提供する。
[0028] 本明細書において開示される第1の態様は、光学ドメインにおいてベクトル×ベクトル乗算を行うための装置を提供する。本装置は、複数の光信号生成器であって、各光信号生成器は、変数のベクトルのそれぞれの変数をモデル化するそれぞれの入力信号により変調された異なるそれぞれのキャリア波長を有する光のそれぞれのビームを放射するように配置された、複数の光信号生成器;1組又は複数組の光変調器素子であって、各組内で、各組内の各光変調器素子は、前記入力信号のうちの異なるそれぞれの入力信号により変調された光のビームを受信するように、及び対応する重み付け光信号を生成するために重み付けのベクトルから対応する重み付けを適用するように配置された、光変調器素子;前記組の各組のためのそれぞれの光センサ素子;並びに前記組の各組に、その組の重み付け光信号をそれぞれの光センサ素子上へ誘導するように、及びこれによりそれぞれの組の重み付け光信号を合計するアナログ電子信号の形式でそれぞれの出力を生成するように配置された1つ又は複数の光学的合成素子を含む。
[0029] 本明細書において開示される別の態様は、光学ドメイン内でベクトル×ベクトル乗算を行う方法を提供する、本方法は、それぞれが変数のベクトルのそれぞれの変数をモデル化するそれぞれの入力信号により変調された異なるそれぞれのキャリア波長を有する複数の光のビームを複数の光源により生成すること;光の各ビームを1つ又は複数の組の光変調器素子において受信すること;並びに光変調器素子の各組のために、それぞれの重み付けられた光信号を生成するためにそれぞれの光変調器素子により重み付けのベクトルからの重み付けを光の各ビームへ適用すること;及び1つ又は複数の光学的合成素子により重み付けられた光信号をそれぞれの光センサ素子上へ誘導し、これにより、それぞれの組の重み付け光信号を合計するアナログ電子信号の形式でそれぞれの出力を生成することを含む。
[0030] 本開示をよりよく理解するために、及びどのように本開示の実施形態が実行され得るかを示すために、添付図面を参照する。
[0031]二次無制約二値最適化問題の例示的光学的ソルバーアーキテクチャの概略ブロック図を示す。 [0032]光学的ソルバーアーキテクチャの1チャネルのハードウェア実装の概略ブロック図を示す。 [0033]スピン生成ハードウェアの概略ブロック図を示す。 [0034]ソルバーの動作中のアナログドメインと光学ドメインとの間の信号変換の概略ブロック図を示す。 [0035]時分割多重化アーキテクチャの例を示す。 [0035]空間分割多重化アーキテクチャの例を示す。 [0036]適応化DC項を有する直接検出方式の使用を示す。 [0037]オフセット項を有する直接検出の概略ブロック図を示す。 [0037]差動検出の概略ブロック図を示す。 [0038]光学的ベクトル乗算の概念を示す概要図を示す。 [0039]光学的ベクトル×ベクトル乗算を行うための波長選択的スイッチの動作を示す。 [0040]光学的ベクトル×行列乗算を行うための修正型波長選択的スイッチアーキテクチャの動作を示す。
[0041] 図1は組み合わせ最適化問題を解決するように構成された光学的ソルバーアーキテクチャの概略ブロック図を示す。本明細書において最適化問題を「解決する」ことは近似解を発見する可能性をカバーするということに留意されたい。以下の説明は、2つの変数の相互作用をモデル化する問題(上述のIsing問題など)に焦点を当てることになる。しかし、高次PUBO問題(3以上の変数間の相互作用をモデル化する)は、QUBO問題へ変換され得(より多くの変数にもかかわらず)、この問題を解決するために同じ光学的ハードウェアを使用する、ということに留意されたい。上述のように、このような問題のゴールは、問題に固有な特定関数を最小化する変数の割り当てを発見することである。最適化において最小化されるべき関数は、強磁性のIsingモデルなどの幾つかの物理系においてこの形式を取る全エネルギーを反映するために「エネルギー」と本明細書では呼ばれ得る。
[0042] 一般的組み合わせ最適化問題は前記問題をQUBO問題へ最初にマッピングする(QUBO問題は次にIsing問題へマッピングされ得る)ことにより解決され得る。多くの問題に関して、QUBO式への既知のマッピングが存在する。他の問題に関しては、マッピングは導出される必要があり得る。一般的NP-hard問題のQUBO又はIsing式へのマッピングは、それ自体は数学分野に熟達した人により理解される主題である。例えば、PUBO形式で表現された問題(例えば式Σijkijkを有する3次無制約二値最適化問題)は、追加の変数及び項を導入することによりQUBO問題として表現され得、従って本明細書において開示されるIsingソルバーにより解決され得る。本明細書において開示されるソルバーはIsing問題に対する解を提供し、解は任意のNP-hard問題を解決するために使用され得、この問題に対するマッピングが発見され得る。
[0043] これを行うにあたり、問題は、その全エネルギー(すなわち-Σi,jijσσ)がIsingハミルトニアンにより与えられる物理系へマッピングされる(外部場を仮定しない)。所与の問題をIsing系へマッピングするために、行列Jは、全エネルギー-Σi,jij・σ・σを最小化すること(すなわちΣi,jij・σ・σを最大化すること)が問題を最適化することと等価であるように決定される必要がある。
[0044] 従って、ハミルトニアンは、それぞれが変数σ、σのそれぞれの部分集合と対応する重み付けJijとの積である複数の項Jij・σ・σの合計である(従って、第1項は、自身と重み付けJ11とにより乗算された1変数σの部分集合であり、第2項は、一緒に乗算され重み付けJ12等により乗算される部分集合σ,σである)。
[0045] 分かるように、この合計は、以下のようにσを合計の左側へ取り出すことにより、一連のベクトル×ベクトル(ドット積)乗算に分解され得る:
[0046] この最終表現では、各行における合計は、ハミルトニアン内のエネルギーに対する変数σのうちの異なるそれぞれの1つの変数の寄与を表す個々のベクトル乗算である。すなわち、ベクトル乗算(σ11+σ12+...+σ1N)はエネルギーの方向へのσの寄与であり、(σ21+σ22+...+σ2N)はσの寄与であり、等々、重み付けJは変数間の相互作用を表す(従って、J11はσと自身との相互作用であり、J22はσとσとの間の相互作用である)。重み付けはモデル化される問題に依存して設定される(所与の問題に関しては、幾つかの重み付けは零であり得る)。間もなくより詳細に論述されるように、図1のシステムでは、各変数の寄与は、異なるそれぞれのハードウェアチャネル102によりモデル化される。各チャネル102では、それぞれの変数σは、それぞれの信号生成器100により生成されるそれぞれの信号x(例えば光信号)によりモデル化される。信号xは分割器106によりチャネル間で共有され、各チャネル100内のそれぞれのベクトル乗算器104は、それぞれのチャネル100によりモデル化されるそれぞれの変数のそれぞれの寄与(σi1+σi2+...+σiN)を判断するために、それぞれのベクトル×ベクトル乗算(VVM:vector-by-vector multiplication)を行う。
[0047] 例示的アプリケーションは巡回セールスパーソン問題である。単純な例として、セールスパーソンが訪れる必要のある3つの都市:ロンドン、エディンバラ及びカーディフがあると想像しよう。これらは、QUBO問題における9つの変数により次のようにモデル化され得る:v1は最初に訪ねられるロンドンを表し、v2は2番目に訪ねられるロンドンを表し、v3は3番目に訪ねられるロンドンを表し、V4は最初に訪ねられるエディンバラを表し、v5は2番目に訪ねられるエディンバラを表し、v6は3番目に訪ねられるエディンバラを表し、v7は最初に訪ねられるカーディフを表し、v8は3番目に訪ねられるカーディフを表し、v9は第3番目に訪ねられるカーディフを表す。行列Qijの要素は対応ペアの都市間を巡回するペナルティを表す。従って、Q15(最初にロンドン、2番目にエディンバラ)はロンドンからエディンバラへの距離ペナルティである。Q19(最初にロンドン、3番目にカーディフ)などの幾つかの重み付けは、総距離が連続都市間だけの距離により判断されるこの問題では意味が無いので、零に設定されるということに留意されたい。Q12又はQ13(最初にロンドン、次に2番目にロンドン、又は最初にロンドン、次に3番目にロンドン)などの他の重み付けは、各都市が一回訪ねられるという制約を課すように、大きなペナルティ値に設定され得る。次に、QUBO問題(ΣΣijを最小化する)は、Ising問題(ハミルトニアン項-Σi,jijσσにおけるエネルギーを最小化する)へ変換され、図1のソルバーシステムを使用することにより解決され得る。
[0048] 別の例は、2つの分子間の分子類似性を推定するための分子類似性問題である。例えば、これは、1つの分子が薬における使用のために別の分子をブロックする可能性が高いということを推定するために使用される可能性がある。分子類似性をQUBO問題としてモデル化すること自体は当該技術領域において知られている。
[0049] システムにより生成された信号を、問題をモデル化するIsing系のハミルトニアンを最小化する方向に適合化するための、更新規則が導出され得る。Isingモデルの可能な更新式は次のように書かれ得る:
[0050] ここでxは、Isingモデルにおいて変数σをモデル化するために系により生成されるモデル化信号の値である。この更新式はIsingモデルのハミルトニアンから導出される。更新式を導出するために、各スピンの更新は、当該スピンの値を変更することが全エネルギーに及ぼす期待効果に基づき定義され得る。これは次の更新の表現を導出するために使用され得る:
[0051] ここで上記括弧の内側は2Σij(x)として評価され得る。更新の項は、システムが全体として最小値の方向に適応化されることを保証するように各反復において各スピンの更新のサイズを制御するために、定数α及びβにより乗算され得る。上記式内のξ項は、非最適解に「嵌り込む」ことを回避するようにシステムを擾乱するために各反復において印加されるガウス雑音である。最後に、式1内のcos()項は、
のテイラー展開が、適切に選択された定数α及びβの上記更新式に近似的に等しいということを遵守することにより導出され得る。2乗される余弦は、特にこの関数を容易に計算し得る特定ハードウェア(後で説明される)のおかげで光学的スピン生成のために有用な近似である。しかし、異なる近似が、上記式2の他の近似を評価するために行われ得る。例えば、アナログ電子部品が、式2のテイラー展開の項を直接評価しxの更新値のアナログ信号を生成するために使用され得る。例えば、式2の3次又は5次近似(それぞれ最大3次項又は5次項までの展開)が使用される可能性がある。実際、式(1)内でcos(x-π/4)-1/2を使用する理由は、それが十分に小さなxに関してx-xに近いからである。他の例では、同様な近似を提供する任意の他の式(すなわち、0を中心としてxに関し線形である)もまたうまくいく可能性がある。
[0052] 間もなくより詳細に論述されるが、図1に示すように、それぞれの変数をモデル化する各モデル化信号xはそれぞれのチャネル102内のそれぞれの信号生成器100(例えば光信号生成器)により生成される。行列Jに対応する変数間の相互作用は、相互作用論理104によりモデル化される。
[0053] 上記式は後でさらに詳細に説明される。他の式が可能である。どんな式が使用されても、更新式の根底的特性は、モデル化される物理系が最小エネルギー(すなわち上記ハミルトニアンの最小値)に向かう傾向があるように、更新式が信号xをプッシュ又は適合化させるということである。これは、系全体のエネルギーへの信号の寄与を表しその符号が更新の方向を決定する項βΣij[k]により駆動される。換言すれば、この項は、それぞれのチャネル102内のそれぞれのモデル化信号xを適合化するためのフィードバックを信号生成器102へ提供する。このフィードバックの符号は、それぞれのモデリング信号(x)内の適合化(システムのハミルトニアンにおける全体エネルギーを低減する方向に当該信号を駆動する)を引き起こす。このフィードバックの値が適応化の(信号xに対して係数α及びβだけ任意選択的に減衰される)程度を決定する。
[0054] ソルバーはIsing変数σを直接表す信号を判断するが、これは、QUBO変数vの最適マッピングを発見することと等価であり、元の問題の形式で異なる組の変数へ変換され得ることに留意されたい。しかし、マッピングはソルバーにより判断され得る一組のIsing変数(スピン)と元の問題を最適化する一組の変数との間に存在するということが重要である。以下の説明では、v又はσのいずれかがソルバーによりモデル化された二値変数を表すために使用され得るということに留意されたい。
[0055] 二値変数σの値を光アナログ信号又は電気アナログ信号としてモデル化し、非デジタルハードウェア部品の組み合わせを使用することにより各モデル化変数の上記更新を行う、全アナログソルバーが実装され得る。このソルバーは、変数の所与の割り当てを表す初期組の信号を生成し、アナログ電子機器又は光学的ハードウェアで実装された相互作用論理を使用することにより計算されたフィードバック信号に基づき、新しい信号を一連の反復工程において生成する。Ising問題のソルバーアーキテクチャの例示的実装形態は後でより詳細に説明される。
[0056] 本開示に従って配置され得るソルバー構成の多くの選択肢があり、各構成は、時間の経過とともに生成された信号を「Ising」系の全エネルギーを最小化する一組の信号(所与の問題定義の変数の最適割り当てへマッピングされ得る)へ促進するフィードバック信号を生成する。
[0057] 本開示は、N変数(時に「スピン」と呼ばれる)のIsing問題へマッピングされ得る組み合わせ最適化問題を解決するための新規アーキテクチャを提供し、ここでは問題の変数は、一組のN個の別個のハードウェアチャネルによりモデル化され、所与の問題定義に従って変数の相互作用をモデル化する信号相互作用論理により提供されるフィードバックに基づき反復的に更新される。本システムは光学ドメイン及びアナログ電子ドメイン内だけで発生し、信号相互作用論理は光学的ハードウェア又はアナログ電子的ハードウェアのいずれかによりモデル化され得る。これは次に図1を参照してさらに詳細に説明される。
[0058] 図1は組み合わせ最適化問題のためのアナログソルバーの例示的概略ブロック図を示す。本アーキテクチャはN個のチャネル102を含み、各チャネルiは、チャネル毎に導出されるフィードバック式に従ってチャネルフィードバック信号を計算するように構成され、各チャネルのフィードバックは、問題を定義する「エネルギー」関数を最小化する一組の変数である傾向がある。
[0059] 第1のチャネル102は、正又は負の「スピン」値のいずれかを取るIsing変数に対応するモデル化信号xを計算するように構成され、モデル化変数xは最適化の反復毎に受信されたフィードバックに基づき更新される。モデル化される変数σは二進であり得るが、モデル化信号xは変数の2つの可能な二進値間で変化し得るソフト値を取り得ることに留意すべきである。各チャネルによる寄与を判断するプロセスが次に説明される。各チャネルは関数へのそのそれぞれの寄与を計算するために同じ工程を行うハードウェア部品を含むということに留意されたい。
[0060] 各チャネル102は、それぞれが1つ又は複数のハードウェア部品を含み得る信号生成器100、分割器106、及び信号相互作用論理104を含む。この文脈で本明細書で使用される「論理」は、デジタル論理を指すのではなく、むしろ、アナログ的又は光学的ハードウェアを使用することにより行われる信号操作を指すということに留意されたい。信号生成器100はσのモデル化信号を生成し、信号の測定可能特性は変数の二進値を表す。信号は例えばレーザなどの光源により生成される光信号であり得る。光変調器は、変数σをモデル化するために光信号の特性を変調するために使用され得る。振幅などの特性の値で符号化される二値変数σに関して、可能な変調された特性値(振幅)と二進値(例えば1及び-1)との間のマッピングが定義されるべきである。例えば、xは[-α,+α]の範囲内に在り、ここでαは或る定数であり、正の振幅はIsing変数σ=1へマッピングされ、負の振幅はIsing変数σ=-1へマッピングされる。変数σをモデル化する変調済み信号(これは本明細書では「モデル化信号」xと呼ばれ得る)が生成されると、この信号は、図1の矢印により示されるように他のチャネルへ伝達され得る同じ変数vを符号化する当該モデル化信号の複数のインスタンスを生成するために分割器106を適用することにより複製され得る。
[0061] 信号相互作用論理104は変数のベクトルを表す複数のモデル化信号を受信し、各信号はそれぞれのチャネルjの分割器106から受信される。相互作用論理104は、モデル化信号xをモデル化変数の加重和を表す信号へ合成するベクトル×ベクトル乗算器を含み、重み付けはIsing問題のスピン相互作用を定義する行列Jの当該要素に対応する。ベクトル×ベクトル乗算を行うように使用され得る様々な可能なハードウェア構成が存在する。本明細書において開示される一例は波長選択的スイッチ(WSS:wavelength selective switch)である。これは後でさらに詳細に説明される。光学的ベクトル×ベクトル乗算は、空間光変調器(SLM)、リング共振器、又はMach-Zehnder干渉計(MZI:Mach-Zehnder interferometer)、又はこのような技術若しくは他の好適な光学部品の或る組み合わせを含む他の知られた光技術により代替的に行われ得る。別の代替案として、ベクトル×ベクトル乗算演算はまた、例えば記憶抵抗を使用することにより、アナログ電子ドメイン(すなわち電気信号を使用する)において実施され得る。
[0062] 図1はチャネル毎の別々の相互作用論理104を示すがこの相互作用論理はチャネル毎の信号相互作用を計算するための別個のハードウェア部品を必ずしも含まないということに留意されたい。幾つかの実施形態では、系全体の相互作用論理はグローバルベクトル×行列乗算器を含む。この場合、所与のチャネルのベクトル×ベクトル乗算を実行するベクトル×行列乗算器の一部は図1に示す当該チャネルの相互作用論理に対応する。例えば、各相互作用論理は、図9の例を参照して後でより詳細に論述される2D空間光変調器の異なる行に対応し得る。より一般的には様々な個々の相互作用論理ブロック104を実装するグローバルベクトル×行列乗算器の物理的部分は互いに重畳してもよいし重畳しなくてもよいということにも留意されたい。他方で他の実施形態では、別個のハードウェア部品がチャネル毎のベクトル×ベクトル乗算を行うように構成される。両方のアーキテクチャの効果は同じである。これらの代替アーキテクチャの両方は、図8と図9に示すベクトル×ベクトル(又はベクトル×行列)乗算器の波長選択的スイッチ実装の文脈で以下にさらに詳細に論述される。
[0063] フィードバック信号はフィードバック経路108に沿って信号生成器104へ渡され戻され、信号生成器104はシステムのハードウェアに従って新しい信号を判断する。更新された信号は、例えば光源からの入力信号を変調するためにフィードバック信号を変調器へ渡し、光ダイオードにより結果光信号を検出することにより生成され得る。代替的に、幾つかの実施形態では、フィードバック信号を符号化するアナログ電子信号が、アナログ電子部品を直接使用して(例えば記憶抵抗を使用することにより)生成され得る。いずれにしろ、本システムは、時間の経過とともに、所与の問題式のエネルギー関数を最小化する変数の最適割り当てへマッピングする安定状態となる傾向があるように、設計される。
[0064] 各チャネルは、変数の値への特定割り当てに対応する安定状態がすべての信号に関し到達されるまで上述の同じ方式に従ってその信号を更新する。任意数の変数σ,...,σの対的相互作用は、N個のチャネルを設定し各信号を信号のN個の同一複製(各チャネルへ送信される)へ分割することにより、このようにしてモデル化され得る。
[0065] 図2は、光学的ハードウェアで実装されたN変数のIsing問題の例光学的ソルバーを示す。ソルバーはN個のチャネル102を含み、各チャネルiは、信号生成器100を実装するハードウェア、分割器106、及び変数iへ割り当てられる二進値を表す信号を生成するための相互作用論理104を含む。明確化のために、図2は単一チャネル102だけの概要図を示すが、これはチャネル102のそれぞれにおいて複製され得る。モデル化信号は、図2の分割器106により他のすべてのチャネルへ出力され、他のチャネルのそれぞれから相互作用論理104により受信されることに留意されたい。
[0066] 各チャネル102は、システムが安定な一組の状態に落ち着くまで、フィードバック信号に従って、更新されたモデル化信号x(解決されるべき最適化問題に従って変数の最適割り当てを表す)を繰り返し生成する。上述のように、信号の更新は例えば次の更新式により与えられる:
[0067] ここでx[k]はK番目反復におけるモデル化信号であり、Jijは、Ising系へマッピングされた所与の問題に従って第i番目変数と第j番目変数との間の相互作用を定義する係数であり、α及びβは乗算定数であり、ζ[k]はガウス雑音項である。係数α及びβは各変数の更新のサイズを制御するように選択され、ここではβに対して大きなαは信号をβ項(すなわちβ*ΣJijij[k])により与えられる方向にゆっくり移動させる。これは、各工程における大きな更新が全系の好適な局所最適への収束を妨げ得るので多くの変数の系において重要である。同様に、雑音項は、系が最適組の変数の劣悪な近似である局所最小に「嵌り込ま」ないということを保証するために、擾乱を各工程において信号へ提供する。上記式は、Isingモデルのハミルトニアンに基づく知られた原理を適用し、賢明な近似を使用することにより、数学的に導出され得る。特に、cos()項は、後で説明される特定光学的ハードウェアを使用することにより容易に適用される最適更新を近似する。次に、単一チャネル102の動作が図2を参照して説明される。
[0068] 所与のチャネルによりモデル化された変数σの初期二進値を表す初期信号がスピン生成ハードウェア300により生成される。「スピン」はIsing系の二値変数を表す信号を指すために本明細書において使用されており従ってスピンの量子力学的定義と混同されてはならないということに留意されたい。スピン生成ハードウェア300のハードウェア部品の例示的実装形態が図3を参照して以下にさらに詳細に説明される。スピン生成器により出力された信号は、スピン生成ハードウェア300からの破線矢印により示されるように電気信号として分割器326へ送信され、分割器326はこの信号を2つの異なる経路上で送信する。
[0069] この実施形態ではスピン生成器300は図1の信号生成器100の一部だけを含むということに留意されたい。図2の例示的アーキテクチャでは、信号生成器100は、スピン生成器300、光源302、変調器304、分割器326、増幅器324、及び電気信号を合計するためのアナログハードウェア322を含む。上述のように、信号生成100の出力はモデル化信号xである。
[0070] 第1の経路に沿って、信号は、レーザビームを変調するために変調器304において、特定波長におけるレーザである光源302の出力と組み合わせられ、これにより、図1を参照して上に説明したようなモデル化信号xを生成する。変調器304は、変数をモデル化する電気信号を符号化するために光信号を変調し、例えば光信号の振幅、その位相、又はそれらの組み合わせを使用し得る。上述のように、マッピングは、検出された光信号が正値及び負値の両方を符号化し得るように光信号の測定可能特性と二値変数との間に存在するべきである。これは、受信された信号の位相及び周波数情報並びにその強度を測定するコヒーレント検出方式を使用することにより行われ得る。信号の振幅とその符号とだけが検出のための関心事であれば、直接検出(「差動検出」と本明細書では呼ばれ得る)の形式が使用され得る。これは以下にさらに詳細に説明される。
[0071] 変調器304はモデル化信号を一対N分割器306へ送信し、一対N分割器306は同一光信号をシステムのN個のチャネルの各チャネル内のベクトル×ベクトル乗算器314(VVM)へ伝達する。図2の例では、ベクトル×ベクトル乗算器313は波長選択的スイッチとして実装される。しかし、他の実施形態では、これは、リング共振器、空間光変調器若しくはMach-Zehnder干渉計(MZI)、又はアナログ電子部品により実装され得る。WSSを採用する実施形態などの幾つかの実施形態では、各チャネルにおいて生成された信号は、N個の信号間の干渉を引き起こすこと無くベクトル乗算によりベクトル内の様々な信号の相互作用を可能にするために異なる波長(すなわち色)で生成され得るということに留意されたい。VVM314は、変数{σ,...,σ}のベクトルを表す入力された一組の信号{x,...,x}を行列Jの要素の対応部分集合により乗算するように構成される。所与のチャネルiに関して、波長選択的スイッチは、反復k毎の式(1)のベクトル×ベクトル項(すなわちΣij[k])を表す信号を計算し、ここでx[k]はチャネルjの信号生成ハードウェアにおいて生成される信号である。ベクトル乗算を計算するための波長選択的スイッチの動作は後でさらに詳細に説明される。
[0072] 幾つかの実施形態では、VVM314により出力された信号は、図2内の非破線により示されるように光学ドメイン内に留まり、この信号は光検出器において検出されることにより電気信号へ変換される。示された実施形態では、直接検出方式が使用され、適応化直流(DC:direct current)項312が、合計を行うように構成されたアナログハードウェア310を使用することにより差動検出を実現するために加えられる。増幅器316は適応化済み合計に定数βを乗算し、フィードバック経路108へ出力する。式1の
項は、変調器を特定動作点に設定することにより、ハードウェアで実装される。ガウス雑音項320(式1のζ[k]に対応する)が、電気信号の加算を行うように構成されたアナログハードウェア318(電子ミキサなど)によりフィードバック信号へ加えられる。ガウス雑音項ζ[k]が各反復においてサンプリングされ得るガウス分布が定義され得る。電気信号を加算するためのハードウェアは当該技術領域においてよく知られており、従って本明細書ではさらに説明されない。ζ[k]は小さなランダム(ガウス)雑音であると仮定される。各反復では、ζ[k]は新しい値を(同じ分布から)取る。
[0073] 第2の経路に沿って、信号iは、式(1)に示される定数αによる変数σの乗算を表す電気信号を増幅する増幅器へ出力される。これは、信号
を取得するためにアナログ加算ハードウェア318からのフィードバック経路に沿って伝達される合計
へ加えられる。最後に、式(1)の全表現を評価しアナログ電子信号を出力するために、更新された信号は、フィードバック信号の余弦を計算するためにフィードバック信号108に基づき光信号を変調し、この信号を光検出器において検出し、第2の適応化項を加えるスピン生成ハードウェア300において判断される。光検出器は信号自体の二乗に比例する光信号の強度を測定するので、光検出器による直接検出は式(1)内の余弦の二乗を生成する、ということに留意されたい。この理由のため、直接検出は、すべての位相情報が光強度の検出において失われるので、位相変調済み信号のためには使用され得ない。
[0074] スピン生成器300による更新式の評価の例が図3を参照して以下に説明される。各チャネルの更新された信号を生成し、N個の信号の相互作用を判断し、新しいフィードバック信号を計算し、システムが安定するまで繰り返すこのプロセスは各反復において繰り返される。
[0075] 図2において協働する複数の部品は図1を参照して上に説明された一般的信号生成器100に対応するということに留意されたい。この実装における信号生成器100はスピン生成ハードウェア300、レーザ302、アナログ加算ハードウェア322、分割器326、及び変調器304のすべてを含む。同様に、図1を参照して上に説明された相互作用論理104は、波長選択的スイッチ内に実装されたベクトル×ベクトル乗算器と、フィードバック信号の加算及び増幅を行うアナログハードウェア部品との両方を含む。他の実施形態はさらに、光信号又はアナログ信号に対し演算を行うためのハードウェア(例えば光検出器及び変調器を含む)を含み得る。
[0076] 各チャネルiは、当該チャネルの信号に対する更新を並列に計算するハードウェア内に実装される。更新はシステムが停止される(例えばM回の反復の所定停止点後)まで続く。代替的に、信号は定期的に測定され得、システムは、以後の測定間に観測される変化が無ければ停止される。システムが安定する(すなわち生成された信号によりモデル化された一組の変数が1つの反復から次の反復まで一定である)と近似解が発見される。次に、この安定した一組の信号は、所与のIsing問題の解を近似するN変数の割り当てへ直接マッピングされ得る。
[0077] 図2に示す例示的実施形態は、空間分割多重化アーキテクチャ(すなわち各変数が別個のハードウェア内で生成される)を使用し、二値変数は信号振幅において符号化され、VVMは複数の並列ハードウェアチャネルの各チャネル内の波長選択的スイッチにより実装される。しかし、代替実施態様は位相又は周波数などの信号の異なる測定可能特性を使用することにより変数をモデル化し得る。代替実施態様はまた、リング共振器、Mach-Zehnder干渉計、又は記憶抵抗を使用することにより実装される電子的VVMなどの他のタイプのVVMを使用し得る。時分割多重化信号を合成する遅延線を使用することにより空間分割の代わりに時分割を使用することも可能である。
[0078] 図3は例示的スピン生成ハードウェア部品300の概略ブロック図を示す。特定波長における連続波レーザなどの光源400が、スピンを生成するためにスピン生成変調器402へ渡される光信号を生成するために使用される。前の反復において生成された信号に基づく電気的フィードバック信号がまた、相互作用論理104のVVM315から変調器402へ受信される。変調器402は電気的フィードバック信号に従って光源400からの光信号を変調する。変調器402は、それ自体と干渉されるように入力信号を分割するMach-Zehnder変調器であり得る。フィードバック信号に対応する値は変調器によりアームのうちの1つのアーム内に設定され、変調器402の出力は干渉電界の同相分である:換言すれば、光検出器404において光強度として検出されるとcos()になる式(1)のcos()関数がフィードバック信号へ適用される。信号生成光検出器404における検出は結果信号をアナログドメインへ変換して戻す。光検出器404を使用する光強度の直接検出に関して、信号は、常に正であり、cos()関数により与えられる「0,1」の範囲内である。上記式の追加項を表す適応化DC項406(すなわち式1内の-1/2項)が、Ising変数を適切にモデル化するために信号の範囲を[-1/2,1/2]へ変換し正信号へ加えられ得る。次に、出力信号は、図2を参照して上に説明したように、他のチャネルのVVMへ入力されるモデル化信号xを生成するために分割器306へ渡される。
[0079] 図3に示す例示的ソルバーの各反復中、信号は光学ドメインからアナログドメインへ2回変換される(逆も同様)。図3に示すように、フィードバック信号は、信号生成器300により光信号へ当初変換されるが、光信号は次に、これをアナログ信号へ変換して戻す光検出器において検出される。変調器は光信号相互作用論理により処理される信号をアナログドメインから光学ドメインへ変換するために光源と共に使用される一方で、光検出器は相互作用論理の出力信号を光学ドメインからアナログドメインへ変換して戻すために使用される。
[0080] 図4は、N個のハードウェアチャネルを含む、上に説明され図2に示される例示的ソルバー内の1つのチャネルの光学ドメインとアナログドメインとの間の信号の変換の概略ブロック図を示す。図3を参照して上に説明されたスピン生成部品300は図4に「信号1」で表される電気信号を出力する。本例示的ソルバーでは、信号相互作用論理は、光信号に対し作用する光学的ベクトル×ベクトル乗算器314(例えば波長選択的スイッチの形式の)を含む。しかし、上に指摘したように、所与のチャネルの相互作用論理は、複数のチャネルのフィードバック信号のベクトルを生成するためにベクトル×行列乗算を実施する信号相互作用論理全体の一部を含み得る。このアーキテクチャの例が図9を参照して以下にさらに詳細に説明される。第1のアナログ/光(analog-to-optical)信号変換500は、信号が光信号を信号/信号(signal-to-signal)相互作用論理502へ渡すために生成された後に発生する。ベクトル×ベクトル乗算結果は、信号を光学ドメインへ変換する光検出器308における検出により評価され、さらなる算術演算が図2に示すようにアナログドメインにおいて行われる。
[0081] 図4の信号/信号相互作用論理502は光学的VVM演算と電気的フィードバック信号への変換との両方を含む。次に、出力電気的フィードバック信号は第2のアナログ/光信号変換504を介し渡され、ここでは電気的フィードバック信号は変調器により光信号へ変換され戻される。図3と図4では、これはスピン生成ハードウェア300内で発生し、ここではスピン生成光源400及び変調器402が電気的フィードバック信号を光信号へ変換する。図4の信号生成506は、信号を光学ドメインからアナログドメインへ変換する信号生成ハードウェア300(図3において説明された全信号生成プロセスよりむしろ)により生成された信号の検出だけに対応する。
[0082] 上に説明された例示的実施形態では「信号相互作用論理504のベクトル×ベクトル乗算演算は光学ドメインにおいて実施される(例えば後で説明される波長選択的スイッチにより)」ということに留意されたい。しかし、他の実施形態では、信号相互作用はアナログ電子ドメインにおいて実施され得る。同様に、幾つかの実施形態では、信号の加算などの他の算術演算がアナログ電子ドメインよりむしろ光学ドメインにおいて行われ得る。従って、図4に示すプロセスは図2に示すソルバーを実装するために使用される特定ハードウェア構成に固有である。
[0083] 上述のように、本明細書において説明されるアーキテクチャの利点は本アーキテクチャが「空間分割」多重化アーキテクチャを使用するということであり、このことはN変数のシステムが変数毎に別個のハードウェアを使用することによりモデル化されるということを意味する。対照的に、幾つかの最先端技術ソルバーは時分割多重化アーキテクチャを使用する。図5Aは時分割多重化を使用する例示的アーキテクチャを示す。時分割多重化アーキテクチャは、システムのすべての変数を表す信号の生成のための単一組の信号生成ハードウェア510aと信号相互作用論理を実施する単一ピースのハードウェアとを使用する。信号生成ハードウェア512aは信号を或る時間間隔で生成し、相互作用論理は相互作用ハードウェアにおいて様々な時間に受信された信号へ遅延を適用することにより時間分割信号の相互作用を可能にする。ソルバーの時間複雑性はモデル化される変数の数と共に線型に増加するので、このアーキテクチャはより大きなシステムに関してより遅い。
[0084] 対照的に、図5Bに示す空間分割多重化アーキテクチャは変数毎に別個の信号生成器510bを含み、すべての信号は信号相互作用ハードウェア512bにおいて相互作用する。別個の物理的生成は、システムがより多くのハードウェアを単純に追加して反復当たりの準一定時間を維持することにより多数の変数へスケールアップされ得るように、すべての信号が同時に生成されることを可能にする。全ソルバーシステムの図5Bにおける信号相互作用論理ハードウェア512bは簡単のために単一ブロックとして示されるが、相互作用論理は代替的に、上に説明され図2に示されるようにチャネル毎の別個のハードウェアVVMを含むように実装され得る。
直接検出
[0085] 図4を参照して説明したように、幾つかの実施形態では、信号はソルバーの動作中に光学ドメインとアナログドメインとの間で変換される。例えば、式1を表す電気的フィードバック信号は、光検出器において電気的フィードバック信号を検出することにより全式を評価する前に、cos()関数を適用するMach-Zehnder変調器を使用することにより光学ドメインへ変換され得る。光強度の直接検出は信号の二乗(正のみである)を測定する。しかし、正又は負の値を取る信号(本明細書におけるIsing変数をモデル化する信号など)を扱う際、アナログ電子ドメインと光学ドメインとの間の変換は信号内の符号情報を保存するべきである、又は信号を例えば正値へ制限させる任意の変換は当該ドメイン内の後続演算により補正されるべきである。「実数の」は複素平面の実軸に沿った値を有する光信号(すなわち正又は負の実数値を取り得る信号)を指すように本明細書では使用され得る。
[0086] 正値及び負値の検出を可能にする1つの可能な検出方式は、正又は負の何れかであり得る受信された光信号の振幅及び位相情報を測定するコヒーレント検出である。しかし、コヒーレント検出の欠点は、光強度の直接検出より実施することがより複雑であるということである。コヒーレント検出方式はしばしばデジタル信号処理を必要とする。光学ドメイン及びアナログ電子ドメイン内で信号を処理することの利点の幾つか(信号の送信の速度など)は、コヒーレント検出を行うためにデジタルドメインへ変換され戻されれば失われる又は低減される。
[0087] 代替検出方法は、コヒーレント検出のシステム複雑性を必要としない直接検出(すなわち光強度の検出)を使用する。直接検出はアナログ電子ドメイン内の正だけの信号を測定し、この信号は次に、正又は負値を許容するために信号の範囲を補正するために適応化項を追加する又は減じることによりアナログ電子ドメインにおいてオフセットされ得る。これは「差動検出」と呼ばれ得る。同様な検出方式が、実数値である二値位相シフトキーイング信号を検出するためにテレコミュニケーションにおいて使用される。
[0088] 実数値光信号(光学的ベクトル乗算器の出力など)の検出のためのこの直接検出方式の概略図が図6に示される。次に、これは上に説明された図2のソルバーの例示的アプリケーションに関して説明される。正又は負の値を取り得る(範囲[-1/2,1/2]内の値を取り得る)実信号700(例えば式1を表すためにスピン生成器300によりチャネルiにおいて生成されるモデル化信号x)は少なくとも1つのアナログ/光変換により(例えば変調器304により)第1の光学ドメインへ変換される。光学的ベクトル×ベクトル乗算は、入力ベクトルにチャネルiの相互作用に対応する当該重み付けを乗算し、入力信号の加重和を表すチャネルの光信号を出力することにより、チャネルのモデル化信号及び他のチャネルから受信されたモデル化信号に関して行われる。
[0089] この信号は、光検出器308においてこの信号を検出することによりアナログ信号へ変換される。しかし、検出された信号は、光検出器404が負値を有し得ない光強度を測定するので正だけであるように制限される。これを補正するために、VVM演算の出力信号は、DCオフセット項(312として図2に示す)を加えることにより正又は負の値を許容するように補正される。このDCオフセット項は、各スピンに固有であり、システムの初期化時に評価され設定される。
[0090] これは、アナログドメイン内の信号を調整することにより、ソルバーにより必要とされる正と負の信号の測定を可能にする。この差動検出方式は、コヒーレント検出より単純であり、信号を光学ドメインから直接アナログ電子ドメインへ変換するために容易に実施され得る。しかし、VVM出力に関して、所与の入力信号が様々な波長を有すれば、「すべて信号の経路長が整合される」ということに注意が払われるべきである。信号のインコヒーレント加算は、波長選択的スイッチの演算の文脈で以下にさらに詳細に説明される。
[0091] この差動検出方式は現在のソルバーアーキテクチャとの関連で上に説明されたが、適応化オフセット項を有する直接検出は、実数正値及び負値を取る光学的ベクトル×ベクトル乗算演算が実施され得る任意のアプリケーションに関し使用され得る。例えば、これは、入力ベクトルがネットワーク重み付けにより乗算され得るディープニューラルネットワークなどの機械学習アプリケーションにおいて使用され得る。この差動検出方式は、以下にさらに詳細に説明される空間光変調器(SLM)、リング共振器、又は波長選択的スイッチなどの様々なタイプの光VVMを使用することによりアプリケーションへ適用され得る。この差動検出方法は、コヒーレント検出方式の難しい実装を必要とすることなく、演算が光学ドメインにおいて実行されることを可能にし、デジタル演算を上回る著しい速度改善を提供する一方で、望ましい範囲の実数値信号がモデル化されることを可能にするという利点を有する。このような差動検出方式は、様々な波長がVVMの(波長選択的スイッチ又はリング共振器のVVMなどにおいて)入力信号に関し使用されればシステムの位相感度を必要とすることなく実装され得る。
[0092] 図6Aは、一定アナログ電子DC項712が、光検出器により検出される信号へ加えられる差動検出方式の概略ブロック図である。光信号は、上述のように実光信号700を、正値だけを取り得るアナログ信号704へ変換する光検出器710において受信される。別個のアナログ定数DC項712が、図6に示す減算器708の可能な実装形態である差分器714において正のアナログ信号から減じられる。アナログDC項712は、図6Bを参照して以下に説明されるように、1つ又は複数のアナログ電子部品を使用することにより又は光信号を使用することにより生成され得る。アナログ差分器は、電子工学の技術領域においてよく知られており、従って本明細書ではさらに説明されない。アナログ差分器の出力は、正だけの信号704から一定DC項を減じることにより取得される実アナログ信号718であり、これを正又は負の値を取り得る望ましい範囲へ持って来る。前に述べたように、各DC項は光検出器に固有であり、各DC項はシステムが初期化される際に評価され設定され得る。DC項は正のアナログ信号704へ加えられる負値アナログ信号と等価的に見做され得る又は正のアナログ信号704から減じられた正信号と等価的に見做され得るということに留意されたい。
[0093] 図6Bは光学オフセット差動検出方式の概略ブロック図であり、ここでは任意の2つの光信号720a、720bが一対の光検出器722a、722bにおいて検出され得、差が、アナログ差分器726を使用することによりそれぞれの検出器722a、722bにおいて生成された電気信号724a、724b間で取られ得る。これは、差動検出の上述方法を実施するために使用され得る知られた検出構成であり、ここでは実数値信号(例えば光VVMの出力)が第1の光信号720a内で符号化され、定数値は、定数値により変調される別個の光源により提供され得る第2のオフセット光信号720b内で符号化される。信号のそれぞれは、正値だけを取るアナログ電子信号724a、724bへ変換され得る。これらは、評価される実数値信号を検出することにより取得されたアナログ信号1から一定オフセットアナログ信号2を減じる差分器726において合成される。この差動検出方式の効果は図6Aの差動検出と同じであり、この場合、DCオフセット項は一定光信号720bの検出により取得される。しかし、差動検出のこの実装形態に関して、アナログ電子部品を直接使用することによりアナログDCオフセット信号を生成する代わりに第2の光学的オフセット信号が生成される必要がある。
[0094] 説明される実施形態では「ソルバーは、Ising問題へ容易にマッピングされるQUBO問題を解決する方法として、Ising変数を表す正及び負「スピン」信号(例えば-1/1)の形式でx及び対応フィードバック信号をモデル化する」ということに留意されたい。フィードバック信号の符号は、ハミルトニアンのエネルギーを低減するようにモデル化信号xを駆動する方向を表す。しかし、他の実施形態では、純粋に正の信号が使用される可能性があるということが排除されない。その代りに、行列Jは正及び負の重み付けを含み得る。このような実施形態では、DCオフセット310、320は必ずしも要求されない。例えば、QUBO変数1/0は直接モデル化され得る。この場合、直接検出により生成された正信号は補正される必要がないかもしれない。
光VVMの波長選択的スイッチ
[0095] 上述のように、各チャネルは、相互作用論理104の一部としてそれぞれのベクトル×ベクトル乗算器を実装し得る。様々な可能なベクトル×ベクトル乗算器構成が、本明細書において開示されるソルバーアーキテクチャと共に使用され得る。幾つかのVVM(空間光変調器、リング共振器、及びMach-Zehnder干渉計など)が光学ドメインにおいて完全に実装され得る。他のVVMはアナログ電子ドメインにおいて実装され得る(例えば電気信号の加重和を計算するために記憶抵抗を使用することにより)。
[0096] 本明細書において開示されるソルバーアーキテクチャの幾つかの実施形態における使用のための本明細書において開示される光VVM(OVVM)の一例は波長選択的スイッチ(WSS:wavelength selective switch)である。WSSは、テレコミュニケーションアプリケーションにおいて使用され、すべての信号が同じ電力で送信されるということを保証するために様々な波長における信号が独立に最適化されることを可能にするだけでなく、様々な波長の信号が送信ノードにおける追加機能又はドロップ機能のために単一光ファイバ内に合成されることも可能にする(逆も同様)。
[0097] 光学的ベクトル乗算のWSSの実装は「WSSは、様々な波長を単一ファイバ内へ合成するその能力により実現されその後少なくとも1つの光検出器により検出される各個々の波長及び加算関数を減衰(重み付け)するのでプロダクト関数(product function)をエミュレートする能力を有する」という事実に基づく。
[0098] 図7は光信号に一定係数(重み付け)を乗算する原理を示す概略ブロック図である。図7の例では、2つの別個の光信号が光源802a、802bから提供される。これらの信号の電力又は強度は光検出器806において測定され得、光検出器806は入射光の強度に依存する電気信号を生成する。従って、光信号により符号化される値の乗算は、それぞれが構成可能一定係数だけそれぞれの光信号の強度を低減する減衰器又は損失導入部品、804a、804bを適用することにより実施され得、このことは「光検出器又はカメラの806において検出される結果アナログ信号が、適用される減衰器の損失係数(入力信号へ適用される「重み付け」と解釈され得る)によりスケーリングされる」ということを意味する。2つの別個の光信号が同じ波長を共有すれば、光検出器におけるそれらの加算はコヒーレントになる(すなわち、2つの光信号は電界において加算されることになる)一方で、2つの別個の光信号が異なる波長を有し、それらの差が光検出器帯域よりはるかに大きければ、光検出器におけるそれらの加算はインコヒーレントになる(すなわち、2つの光信号は電力において加算されることになる)。
[0099] ベクトル×行列乗算は以下の形式の一連のベクトル×ベクトル積に分解され得る:
[00100] 出力ベクトルoの各要素は、入力ベクトルyへ適用される重み行列Wの第i番目行の要素の合計である。
[00101] 図7の構成は、減衰器804a、804bを入力ベクトルを表す一組の入力信号へ適用することにより光学的ベクトル×ベクトル乗算の加重和を実施するために使用され得、ここで減衰器は重み行列の適切な要素に対応するように設定される。重み付け入力の合計は、光信号のコヒーレント又はインコヒーレント加算を行い得るカメラ又は他の検出システム806内で信号を合成することにより行われる。コヒーレント加算(光信号が同じ波長を共有すれば要求される)は、正しい出力信号を計算するためにすべての信号が正確に位相整合されるということを要求する。これは光波長においては困難である。インコヒーレント加算に関して、光検出器は、入力信号が同じ経路長(所与の検出器の帯域により与えられる公差内の)を有するということを要求する。光検出器における直接検出によるインコヒーレント加算は入力光信号の全電力又は強度を計算する。これは波長選択的スイッチにおけるインコヒーレント検出に関して後で説明され、ここでは加算されるそれぞれの信号は異なる波長のものである。
[00102] 次に、上記原理に基づくベクトル×ベクトル又はベクトル×行列乗算を行うための波長選択的スイッチの動作が図8を参照して説明される。
[00103] 入力ベクトルvは様々な波長の一組の光信号800(例えば図2に示され上に説明されたようなソルバーのN個のチャネルから受信された一組のモデル化信号{x...,x}であり得る)により表される。入力ベクトルの別個の光信号800を運ぶ入力ファイバ808が図8の右下に示される。
[00104] 注記:説明の簡潔性のために、ソルバーのただ1つのチャネル102のファイバ808、818が図8に示される。しかし、WSSがこのようなソルバー内で適用される幾つかの実施形態では、チャネル102毎に別組のファイバ808、818が存在し得る。入力ファイバの各組は所与のチャネル100内の分割器106からの入力に対応する。出力ファイバ818はそれぞれのベクトル×ベクトル乗算器の出力を提供する(従ってベクトル×行列乗算全体を行う)。この場合、SLM810の要素の様々な対応部分集合が様々なチャネルの相互作用論理104を実施する。幾つかの実施形態では、これらの要素は、SLM810の同じ物理的プレート(例えばガラス又はプラスチックの同じピース)上の様々な位置に様々な画素として実装され得る。
[00105] 重み行列Qの対応要素は、その一例が上述のように各入力光信号800を特定係数により変調する液晶オンシリコン空間光変調器(LCoS-SLM:liquid crystal on silicon spatial light modulator)である空間光変調器(SLM)810内に実装される。この場合、信号は入力の波長に依存する係数により変調され、SLM810の各列は異なる入射波長に対応する。入力信号808は、信号のそれぞれがそのそれぞれの波長の正しい水平位置のSLMに到達するということを保証するためにレンズを通される。
[00106] 所与のチャネルの出力信号は、変調された光信号を光検出器820において検出することにより取得され、変調された光信号は単一ビーム818へ合成され、次に、光検出器820において検出される。それぞれが異なる波長を有する様々な光信号の光検出器820における単一ビームへの合成は光波長分割多重(WDM:wavelength-division multiplexing)と呼ばれ得る。これは1つ又は複数のレンズ816及び/又は分散素子814(例えばプリズム又は回折格子などの回折素子)の配置により容易にされる一方で、SLMは各個々の波長に対する独立重み付けを保証する。
[00107] 光検出器820は様々な波長の様々な構成光信号のインコヒーレント加算を行う。インコヒーレント検出が構成信号の強度の合計を計算するために、「合成されるそれぞれの信号の周波数の差が光検出器の周波数帯幅よりはるかに大きい」ということが保証されるべきであり、このことは、光検出器が信号の互いの相互作用からの交差項を検出しないということを意味する。様々な波長の信号のインコヒーレント検出は信号が位相整合されるということを要求しない。対照的に、同じ波長の入力光源を採用するVVMアーキテクチャを使用すれば、コヒーレント加算が検出器において行われなければならず、これは、すべての信号が位相整合されるということを要求する難しい要件を有する。
[00108] テレコミュニケーションアプリケーションの波長選択的切り替えデバイスを構築するための図8に示すアーキテクチャと同様なアーキテクチャが知られており、ここではこのアーキテクチャは通常は反対方向に実行され、入力は単一光ファイバであり、出力は様々な光ファイバ内の様々な波長の一組の光信号である。このシナリオでは、波長選択的スイッチは、特定送信ノードにおいて特定波長を追加又はドロップするためにだけでなく信号が送信スペクトル全体にわたってフラットであるということを保証するためにも使用される。
光学的ベクトル×行列乗算の拡張WSアーキテクチャ
[00109] 上述のように、Ising問題の本明細書において説明されたソルバーは2つのアーキテクチャのうちの1つで実装され得る。第1のアーキテクチャでは、図2に示すように、信号相互作用論理104は、入力ベクトルに重み行列Jの単一行により与えられる重み付けのベクトルを乗算するために上述のように操作される波長スイッチなどの別個のベクトル×行列乗算器314として実装される。各チャネルにより生成された信号は、一対N分割器によりすべての他のチャネルにおけるベクトル×ベクトル乗算器へ誘導される。
[00110] しかし、第2のアーキテクチャでは、グローバルベクトル×行列乗算器(VMM:vector-by-matrix multiplier)が実装され得、ここではソルバーのチャネルはそれぞれ、入力ベクトルを形成するためにそれらのモデル化信号xをVMMへ提供し、行列は全部このVMM内に実装される。図1に示すソルバーアーキテクチャはこのアーキテクチャに対応し、ここでは各チャネルの相互作用論理104は、グローバルベクトル×行列乗算器の要素(例えば、示された例では行)のそれぞれの部分集合により(各チャネルの別個の個々の乗算器によるのではなくむしろ)少なくとも部分的に実装される。幾つかの実施形態では、これらの要素は様々な画素位置における同じSLMプレート(例えばガラス又はプラスチックの同じピース)内へ取り込まれ得る。
[00111] ベクトル×行列演算を行うためにWSSベクトル×ベクトル乗算器のアーキテクチャを拡張する例示的WSSアーキテクチャが次に説明される。このアーキテクチャは、上に説明されたベクトル×ベクトルWSSよりはるかに多くのスピンを同時に処理することができるという利点を有する。
[00112] 図9は、第2のソルバーアーキテクチャを実装するために使用され得るベクトル×行列乗算を計算するための例示的波長選択的スイッチ構成を示す。この波長選択的スイッチは、様々な波長の一組の信号を生成する光源の入力アレイ908、小型レンズアレイ900、修正型SLM902、分散素子814(例えば回折素子)、及び光検出器のアレイ(図9に示さない)において検出される光信号の出力アレイを含む。
[00113] この例示的ソルバーアーキテクチャにおいてベクトル×行列乗算のための空間光変調器を使用するために、SLMの垂直軸は、ベクトル×行列乗算の全機能が実現されるように同じ波長のためにすら異なる重み付けを提供する必要がある。これは、行列乗算に関し、入力ベクトルが全出力ベクトルを生成するために行列Qの各行により乗算される必要があるためである。SLM908は図8において示されたものの修正版であり、ここでは変調器のアレイがアレイで配置され、入力へ適用される行列の重み付けを反映する損失が各変調器により適用される(すなわち修正版SLMの行が行列Jの行内の重み付けを符号化する)。上述のように、各チャネルは、行列Jの単一行による入力信号のベクトル乗算を含む出力を計算する。従って、入力信号のそれぞれは、一連のベクトル×ベクトル乗算に対応するSLM902の各行に入力信号が当たるように垂直方向に分散されるように処理される必要がある。
[00114] グローバルVMMを有する例示的ソルバーアーキテクチャでは、単一入力アレイ908は各チャネルにおいて生成されるモデル化信号xを含む。このベクトルは、ビームを当該信号の波長に対応するSLM902の水平方向にコリメートする一方で信号を垂直方向に分散するようにさせる特定ジオメトリを有する小型レンズアレイ900を通される。これは、様々な波長のより多くの入力信号が単一SLMにおいて処理されることを可能にする。図8のような単一レンズから図9のような小型レンズアレイへ移動することで、より多くの波長へのスケーリングを可能にする。小型レンズアレイは両方向のビームのコリメーション特性を改善する。
[00115] 「図9のアーキテクチャでは図2の一対N分割器106はSLMの行全体にわたる入力信号の垂直方向分散により実現され、それぞれは異なるチャネルのスピン相互作用項に対応する」ということに留意されたい。
[00116] SLM902は、様々な値を有するために同じ「列」内の要素を必要としないが様々な垂直方向位置を必要とする図8のベクトル×ベクトル乗算器に関して説明されたSLMとは対照的に、その各要素がそれぞれの重み付けを受信入力信号へ適用する2D変調器のアレイを含む。特定波長における各重み付け信号であるが異なる重み付けにより変調された各重み付け信号(すなわちSLM902の列の各信号)は、WDM信号の合成が光検出器アレイ904内の右側光検出器において発生するということを保証するために、異なる垂直方向位置において分散素子814に当たって反射する必要がある。分散素子は回折格子又はプリズムなどの回折素子として実装され得る。
[00117] 幾つかの実施形態では、出力信号は、当該ビームにより表される出力ベクトル要素に対応する光検出器においてインコヒーレント加算を使用することにより検出される信号を正しい垂直高さのビーム内へ誘導するために1つ又は複数のレンズを介し要素814から誘導され得る。例えば、別の小型レンズアレイがまた、システムの端において分散素子814と複数のチャネル(恐らくファイバ)との間に含まれ得る。
[00118] 光検出器アレイ904は垂直方向アレイ内の一組の光検出器として配置され、各合成信号は、異なるチャネルの出力信号に対応する分散素子814から誘導される。
[00119] 上に説明されたベクトル×行列乗算器アーキテクチャを使用するソルバーは、入力をコリメートするための小型レンズアレイの使用と共に図9に示すような単一ハードウェア配置を使用することによりすべてのチャネルのスピンの相互作用の同時処理を可能にする。これは、各ビームを、複数のSLM902の構成へ誘導される複数のビームへ分割することにより、さらに多くの数の入力を可能にするためにさらにスケーリングされ得る。
[00120] 一方で、光学的ベクトル乗算はまた、光波長分割多重、リング共振器、及びMach-Zehnder干渉計を使用しない空間光変調器などの多くの既存技術により実現されてきた。このような技術は、例えばその全体を参照により本明細書に援用するK. Kitayama et al,“Novel frontier of photonics for data processing - Photonic accelerator”,APL Photonics 2019,https://doi.Org/10.1063/l.5108912に詳細に説明されている。波長選択的スイッチ実装形態はSLMの空間変調とリング共振器の波長分割とを組み合わせるが、ここではリング共振器実装形態は入力信号が一連のリング共振器を通されることを要求し、SLMは各信号が単一変調器を通されるということだけを要求する(これはシステム損失という観点で利点である)。SLMVMM実装形態は、波長分割を使用しなく、その代りに単一光源を使用し、出力アレイの各要素の加重和を計算するために光検出器においてコヒーレント加算を使用する。波長選択的スイッチはこれら両方の技術の利点を組み合わせる。
[00121] 一方で、波長選択的スイッチの上記説明は、本明細書において説明されるようなソルバーアーキテクチャにおけるその実装形態を参照する。しかし、ベクトル×行列乗算は、例えばニューラルネットワークの重み付けを入力ベクトルへ適用するために特に機械学習において多くのアプリケーションを有する。本明細書において説明される波長選択的スイッチはこのようなアプリケーションにおいて使用され得る。同様に、波長選択的スイッチVMMは図5Aに示す時分割多重化アーキテクチャなどの他のソルバーアーキテクチャへ適用され得る。
[00122] 本明細書において開示される技術は広範囲のアプリケーションへ適用され得、特に、本明細書において開示されるソルバー実装形態は、任意のNP-hard問題(Ising式への既知変換が存在する)を解決するために使用され得る。このような問題の周知の例は巡回セールスマン問題である。これはまた、他の分野における問題に関し使用され得、例えば分子類似性を判断する際に、分子のグラフィック表現のグラフ類似性問題のQUBO式への変換を発見するための作業が行われてきた。この作業は、Hernandez,Maritza,et al. “A quantum-inspired method for three-dimensional ligand-based virtual screening.” Journal of Chemical Information and Modeling 59.10(2019):4475-4485において説明されている。
[00123] 上記実施形態は一例として説明されたということが理解されることになる。開示された技術の他の変形形態及び応用は、本明細書における概念の開示が与えられれば当業者に明白になり得る。
[00124] より一般的には、本明細書において開示される一態様によると、光学ドメインにおいてベクトル×ベクトル乗算を行うための装置が提供される。本装置は、複数の光信号生成器であって、それぞれが、変数のベクトルのそれぞれの変数をモデル化するそれぞれの入力信号により変調された異なるそれぞれのキャリア波長を有する光のそれぞれのビームを放射するように配置された、複数の光信号生成器;
a.1又は複数組の光変調器素子であって、各組内で、各組内の各光変調器素子は、前記入力信号のうちの異なるそれぞれの入力信号により変調された光のビームを受信するように、それぞれの重み付け光信号を生成するために重み付けのベクトルから対応する重み付けを適用するように配置された、1又は複数組の光変調器素子;
b.前記組の各組の光センサ素子;及び
c.前記組の組毎に、各組の重み付け光信号をそれぞれの光センサ素子上へ誘導するようにこれによりそれぞれの組の重み付け光信号を合計するアナログ電子信号の形式でそれぞれの出力を生成するように配置された1つ又は複数の光学的合成素子を含む。
[00125] 幾つかの実施形態では、1つ又は複数の光合成器素子は回折素子及び/又は小型レンズアレイの一方又は両方を含む。
[00126] 幾つかの実施形態では、光信号生成器のそれぞれはレーザを含み、光ビームはレーザビームである。
[00127] 幾つかの実施形態では、本装置はベクトル×行列乗算を行うためのものであり、本装置は複数の前記組の光変調器要素を含み;本装置は、各組内の対応光変調器要素へそれぞれの光信号を誘導するように光の前記ビームのそれぞれを分割するように配置された1つ又は複数の光分割器素子を含み、光変調器素子の各組は重み付けの行列からの重み付けの異なるベクトルをモデル化する。
[00128] 幾つかの実施形態では、空間光変調器素子は空間光変調器の同じプレート内に取り込まれる。
[00129] 幾つかの実施形態では、空間光変調器素子は2Dアレイで配置される。
[00130] 幾つかの実施形態では、光変調器素子の各組は2Dアレイのそれぞれの行内に配置され、各組内の様々な光変調器素子は2Dアレイの様々な列に対応する(逆もまた同様)。
[00131] 幾つかの実施形態では、1つ又は複数の光分割器素子は小型レンズアレイを含む。
[00132] 幾つかの実施形態では、本装置は複数の項の加重和を含む関数を最適化するように構成され、各項は変数の前記ベクトルからの変数の対応部分集合の積を含み、各項は、変数間の相互作用をモデル化する重み付けの行列からの対応する重み付けにより重み付けされ;本装置は複数のチャネル内へ配置され、各チャネルは:光信号生成器のうちのそれぞれの1つ、光変調器素子の組のうちのそれぞれの1つ、及び光センサ素子のうちのそれぞれの1つを含み;各チャネルのそれぞれの光センサ要素からの出力は、それぞれの変数の関数のハミルトニアンへのそれぞれの寄与を表し;各チャネルはさらに、それぞれの出力に基づくフィードバックをそれぞれの光信号生成器へ戻すように配置されたフィードバック経路を含み、それぞれの光信号生成器はそれぞれのフィードバック信号に依存してそれぞれの入力信号を適合化するように構成され、光信号生成器は、ハミルトニアンのエネルギーが最小化される状態に本装置が向かう傾向があるように前記適応化を行うように構成される。
[00133] 幾つかの実施形態では、前記関数はIsing問題を含む。
[00134] 幾つかの実施形態では、前記関数はQUBO問題を含む。
[00135] 幾つかの実施形態では、フィードバック経路は、フィードバック信号をそれぞれの光信号生成器へ戻す前に雑音成分をそれぞれのフィードバック信号内へ導入するように配置される。
[00136] 幾つかの実施形態では、光変調器素子の各組は人工ニューラルネットワーク内のそれぞれのノードのそれぞれのベクトル×ベクトル乗算を行うように配置される、又は本装置は人工ニューラルネットワーク内の層のベクトル×行列乗算を行うように配置される。
[00137] 幾つかの実施形態では、それぞれの入力信号は振幅変調を使用することにより光の各ビームへ変調され、各光検出器素子はインコヒーレント検出によりそのそれぞれの出力信号を生成するように配置される。
[00138] 本明細書において開示される別の態様は、光学ドメイン内でベクトル×ベクトル乗算を行う方法を提供する。本方法は、それぞれが変数のベクトルのそれぞれの変数をモデル化するそれぞれの入力信号により変調された異なるそれぞれのキャリア波長を有する複数の光のビームを複数の光源により生成すること;光の各ビームを1つ又は複数の組の光変調器素子において受信すること;並びに光変調器素子の組毎に:それぞれの重み付けられた光信号を生成するためにそれぞれの光変調器素子により重み付けのベクトルからの重み付けを光の各ビームへ適用すること;及び1つ又は複数の光学的合成素子により重み付け光信号をそれぞれの光センサ素子上へ誘導し、これにより、それぞれの組の重み付け光信号を合算するアナログ電子信号の形式でそれぞれの出力を生成することを含む。
[00139] 幾つかの実施形態では、本方法はさらに、本明細書において開示されるシステムの特徴のうちの任意の特徴による工程を含み得る。

Claims (15)

  1. 光学ドメイン内でベクトル×ベクトル乗算を行うための装置であって、前記装置は:
    複数の光信号生成器であって、各光信号生成器が、変数のベクトルのそれぞれの変数をモデル化するそれぞれの入力信号により変調された異なるそれぞれのキャリア波長を有する光のそれぞれのビームを放射するように配置された、複数の光信号生成器;
    1組又は複数組の光変調器素子であって、各組内で、前記各組内の各光変調器素子は、前記入力信号のうちの異なる対応する入力信号により変調された光の前記ビームを受信するように、及び対応する重み付け光信号を生成するために重み付けのベクトルから対応する重み付けを適用するように配置された、光変調器素子;
    前記組の各組のためのそれぞれの光センサ素子;及び
    前記組の各組に、前記組の前記重み付け光信号を前記それぞれの光センサ素子上へ誘導するように、及びこれにより前記それぞれの組の前記重み付け光信号を合計するアナログ電子信号の形式でそれぞれの出力を生成するように配置された1つ又は複数の光学的合成素子を含む、装置。
  2. 前記1つ又は複数の光合成器素子は
    回折素子、及び/又は
    小型レンズアレイ
    の一方又は両方を含む、請求項1に記載の装置。
  3. 前記光信号生成器のそれぞれはレーザを含み、光ビームはレーザビームである、請求項1又は2に記載の装置。
  4. ベクトル×行列乗算を行うための請求項1、2、又は3に記載の装置であって、
    前記装置は複数の前記組の光変調器要素を含み;
    前記装置は、各組内の前記対応する光変調器要素へ前記それぞれの光信号を誘導するように光の前記ビームのそれぞれを分割するように配置された1つ又は複数の光分割器素子を含み、光変調器素子の各組は重み付けの行列からの重み付けの異なるベクトルをモデル化する、装置。
  5. 前記空間光変調器素子は前記空間光変調器の同じプレート内に取り込まれる、請求項4に記載の装置。
  6. 前記空間光変調器素子は2Dアレイ内に配置される、請求項5に記載の装置。
  7. 前記光変調器素子の各組は前記2Dアレイのそれぞれの行内に配置され、各組内の様々な光変調器素子は前記2Dアレイの様々な列に対応し、逆も同様である、請求項6に記載の装置。
  8. 前記1つ又は複数の光分割器素子は小型レンズアレイを含む、請求項4乃至7のいずれか一項に記載の装置。
  9. 複数の項の加重和を含む関数を最適化するように構成された請求項4乃至8のいずれか一項に記載の装置であって、各項は、変数の前記ベクトルからの変数の対応する部分集合の積を含み、前記変数間の相互作用をモデル化する重み付けの行列からの対応する重み付けにより重み付けされ;前記装置は複数のチャネル内へ配置され、各チャネルは:
    前記光信号生成器のそれぞれの1つ、
    光変調器素子の前記組のそれぞれの1つの組、及び
    前記光センサ素子のそれぞれの1つ
    を含み;
    各チャネルの前記それぞれの光センサ要素からの前記出力は、前記それぞれの変数の前記関数のハミルトニアンへのそれぞれの寄与を表し;
    各チャネルはさらに、前記それぞれの出力に基づくフィードバックを前記それぞれの光信号生成器へ戻すように配置されたフィードバック経路を含み、
    前記それぞれの光信号生成器は前記それぞれのフィードバック信号に依存して前記それぞれの入力信号を適合化するように構成され、
    前記光信号生成器は、前記ハミルトニアンのエネルギーが最小化される状態に前記装置が向かう傾向があるように前記適応化を行うように構成される、装置。
  10. 前記関数はIsing問題を含む、請求項9に記載の装置。
  11. 前記関数はQUBO問題を含む、請求項9に記載の装置。
  12. 各フィードバック経路は、前記フィードバック信号を前記それぞれの光信号生成器へ戻す前に雑音成分を前記それぞれのフィードバック信号内へ導入するように配置される、請求項9乃至11のいずれか一項に記載の装置。
  13. 光変調器素子の各組は人工ニューラルネットワーク内のそれぞれのノードのそれぞれのベクトル×ベクトル乗算を行うように配置される、又は前記装置は人工ニューラルネットワーク内の層のベクトル×行列乗算を行うように配置される、請求項1乃至8のいずれか一項に記載の装置。
  14. 前記それぞれの入力信号は振幅変調を使用することにより光の各ビームへ変調され、各光検出器素子はインコヒーレント検出によりそのそれぞれの出力信号を生成するように配置される、請求項1乃至13のいずれか一項に記載の装置。
  15. 光学ドメイン内でベクトル×ベクトル乗算を行う方法であって、
    それぞれが変数のベクトルのそれぞれの変数をモデル化するそれぞれの入力信号により変調された異なるそれぞれのキャリア波長を有する複数の光のビームを複数の光源により生成すること;
    光の各ビームを1つ又は複数の組の光変調器素子において受信すること;並びに
    光変調器素子の各組により、
    それぞれの重み付けられた光信号を生成するためにそれぞれの光変調器素子により重み付けのベクトルからの重み付けを光の各ビームへ適用すること;及び
    1つ又は複数の光学的合成素子により前記重み付けられた光信号をそれぞれの光センサ素子上へ誘導し、これにより、前記それぞれの組の前記重み付け光信号を合算するアナログ電子信号の形式でそれぞれの出力を生成することを含む方法。
JP2023541004A 2021-02-05 2022-01-28 光学的ベクトル乗算器 Pending JP2024509663A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP21155428.2A EP4040258A1 (en) 2021-02-05 2021-02-05 Optical vector multiplier
EP21155428.2 2021-02-05
PCT/US2022/014174 WO2022169672A1 (en) 2021-02-05 2022-01-28 Optical vector multiplier

Publications (1)

Publication Number Publication Date
JP2024509663A true JP2024509663A (ja) 2024-03-05

Family

ID=74556719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023541004A Pending JP2024509663A (ja) 2021-02-05 2022-01-28 光学的ベクトル乗算器

Country Status (4)

Country Link
EP (2) EP4040258A1 (ja)
JP (1) JP2024509663A (ja)
CN (1) CN116888554A (ja)
WO (1) WO2022169672A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117349225B (zh) * 2023-12-06 2024-02-13 清华大学 大规模分布式光电智能计算架构与芯片系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018071866A1 (en) * 2016-10-13 2018-04-19 Fathom Computing Wavelength multiplexed matrix-matrix multiplier
WO2019014345A1 (en) * 2017-07-11 2019-01-17 Massachusetts Institute Of Technology OPTICAL ISING MACHINES AND OPTICAL CONVOLUTIVE NEURAL NETWORKS
TW202036134A (zh) * 2018-11-02 2020-10-01 美商萊特美特股份有限公司 使用光學處理的矩陣乘法
WO2021021787A1 (en) * 2019-07-29 2021-02-04 Lightmatter, Inc. Systems and methods for analog computing using a linear photonic processor

Also Published As

Publication number Publication date
WO2022169672A1 (en) 2022-08-11
EP4040258A1 (en) 2022-08-10
CN116888554A (zh) 2023-10-13
EP4288852A1 (en) 2023-12-13

Similar Documents

Publication Publication Date Title
AU2019282632B2 (en) Optoelectronic computing systems
US20200110992A1 (en) Optoelectronic Computing Systems
WO2020149953A1 (en) Optoelectronic computing systems
CN113496281A (zh) 光电计算系统
US20240063936A1 (en) Systems and methods for utilizing photonic degrees of freedom in a photonic processor
JP2024509663A (ja) 光学的ベクトル乗算器
EP4040340A1 (en) Hardware solver architecture
EP4040259A1 (en) Optical vector multiplier
US20230351167A1 (en) Frequency multiplexed photonic neural networks
WO2023122369A1 (en) Photonic and electronic hamiltonian machines
WO2023043712A1 (en) Systems and methods for coherent photonic crossbar arrays