(57)【要約】一態様は、フォトニック処理システム、フォトニックプロセッサ及び行列−ベクトル乗算を実行する方法に関する。光学エンコーダは、入力ベクトルを第１の複数の光学信号に符号化し得る。フォトニックプロセッサは、第１の複数の光学信号を受信すること、第１の複数の光学信号に対して複数の演算を実行することであって、複数の演算は、行列による入力ベクトルの行列乗算を実施する、実行すること、及び出力ベクトルを表す第２の複数の光学信号を出力することを行い得る。光学受信機は、第２の複数の光学信号を検出し、且つ出力ベクトルの電気デジタル表現を出力し得る。
2021523508.tif 000002
【特許請求の範囲】
【請求項１】
フォトニックプロセッサであって、
第１の複数の光学入力及び第１の複数の光学出力を含む相互接続可変ビームスプリッタ（ＶＢＳ）の第１のアレイと、
第２の複数の光学入力及び第２の複数の光学出力を含む相互接続可変ＶＢＳの第２のアレイと、
複数の制御可能な光学要素であって、前記複数の制御可能な光学要素の各々は、前記第１のアレイの前記第１の複数の光学出力の単一の１つを前記第２のアレイの前記第２の複数の光学入力のそれぞれの単一の１つに結合する、複数の制御可能な光学要素と
を備えるフォトニックプロセッサ。
【請求項２】
前記第１のアレイ及び前記第２のアレイの前記ＶＢＳの各々は、マッハツェンダー干渉計であって、
第１のビームスプリッタと、
第２のビームスプリッタと、
前記第１のビームスプリッタ及び前記第２のビームスプリッタを結合する光学モードの光の位相を変調するように構成された少なくとも１つの位相変調器と
を備えるマッハツェンダー干渉計を含む、請求項１に記載のフォトニックプロセッサ。
【請求項３】
前記制御可能な光学要素の各々は、可変減衰器及び少なくとも１つの位相変調器を含む、請求項１に記載のフォトニックプロセッサ。
【請求項４】
前記制御可能な光学要素の前記可変減衰器の各々は、マッハツェンダー干渉計を含む、請求項３に記載のフォトニックプロセッサ。
【請求項５】
前記相互接続ＶＢＳの第１のアレイと前記相互接続ＶＢＳの第２のアレイとの間に少なくとも１つの折り返しを更に含み、前記第１の複数の光学出力の各々の光学モードの伝播方向は、前記第２の複数の入力のそれぞれの光学入力の光学モードの伝播方向の逆である、請求項１に記載のフォトニックプロセッサ。
【請求項６】
ＶＢＳの複数の列を更に含み、前記複数の列の少なくともサブセットは、前記相互接続ＶＢＳの第１のアレイの少なくとも一部が前記相互接続ＶＢＳの第２のアレイの少なくとも一部とインタリーブされるように、前記相互接続ＶＢＳの第１のアレイの前記ＶＢＳの少なくとも１つ及び前記相互接続ＶＢＳの第２のアレイの前記ＶＢＳの少なくとも１つを含む、請求項４に記載のフォトニックプロセッサ。
【請求項７】
フォトニック処理システムであって、
入力ベクトルを第１の複数の光学信号に符号化するように構成された光学エンコーダと、
フォトニックプロセッサであって、
前記第１の複数の光学信号を受信することであって、前記第１の複数の信号の各々は、前記フォトニックプロセッサの複数の入力空間モードのそれぞれの入力空間モードによって受信される、受信すること、
前記第１の複数の光学信号に対して複数の演算を実行することであって、前記複数の演算は、行列による前記入力ベクトルの行列乗算を実施する、実行すること、及び
出力ベクトルを表す第２の複数の光学信号を出力することであって、前記第２の複数の信号の各々は、前記フォトニックプロセッサの複数の出力空間モードのそれぞれの出力空間モードによって送信される、出力すること
を行うように構成されたフォトニックプロセッサと、
前記第２の複数の光学信号を検出し、且つ前記出力ベクトルの電気デジタル表現を出力するように構成された光学受信機と
を備えるフォトニック処理システム。
【請求項８】
前記光学受信機は、位相敏感検出器を使用して、前記第２の複数の光学信号を検出するように構成される、請求項７に記載のフォトニック処理デバイス。
【請求項９】
光源であって、
前記第１の複数の光学信号の符号化に使用される第１の光を前記光学エンコーダに提供することと、
前記位相敏感検出器によって局部発振器として使用される第２の光を前記光学受信機に提供することと
を行うように構成された光源を更に備え、
前記局部発振器は、前記第１の複数の光学信号の各々と位相コヒーレントであり、
前記光源から前記光学受信機への前記第１の複数の光学信号の第１の路長は、前記光源から前記光学受信機への前記局部発振器の第２の路長と実質的に等しい、請求項８に記載のフォトニック処理デバイス。
【請求項１０】
前記光学エンコーダは、
前記入力ベクトルのベクトル成分の絶対値を前記第１の複数の光学信号のそれぞれの光学信号の振幅に符号化することと、
前記入力ベクトルの前記ベクトル成分の位相を前記第１の複数の光学信号の前記それぞれの光学信号の位相に符号化することと
を行うように構成される、請求項７に記載のフォトニック処理デバイス。
【請求項１１】
前記行列は、任意のユニタリ行列である、請求項７に記載のフォトニック処理デバイス。
【請求項１２】
複数のフロントエンドであって、前記複数のフロントエンドの各々は、前記フォトニックプロセッサの前記複数の入力空間モードの１つの入力空間モードに関連付けられ、前記複数のフロントエンドの各々は、
複数の光学エンコーダであって、前記光学エンコーダの各々は、入力ベクトルのそれぞれの成分を光学信号に符号化するように構成され、各光学エンコーダは、他の光学エンコーダによって出力される波長と異なる波長の光学信号を出力するように構成される、複数の光学エンコーダ、及び
別個の空間モードで前記複数の光学エンコーダの各々から前記光学信号の各々を受信し、且つ前記フォトニックプロセッサの前記複数の入力空間モードのそれぞれの入力空間モードに接続された単一の空間モードで前記光学信号の各々を出力するように構成された入力波長分割マルチプレクサ（ＷＤＭ）
を含む、複数のフロントエンドと、
複数のバックエンドであって、前記複数のバックエンドの各々は、前記フォトニックプロセッサの複数の出力空間モードの１つの出力空間モードに関連付けられ、前記複数のバックエンドの各々は、
前記フォトニックプロセッサの前記複数の出力空間モードのそれぞれの１つから異なる波長の光学信号を受信し、且つ前記ＷＤＭの複数の出力空間モードのそれぞれの空間モードで異なる波長の前記光学信号の各々を出力するように構成された出力波長分割マルチプレクサ（ＷＤＭ）、
複数の光学受信機であって、前記光学受信機の各々は、前記ＷＤＭのそれぞれの出力空間モードに関連付けられたそれぞれの光学信号を検出することにより、出力ベクトルのそれぞれの成分を特定するように構成される、複数の光学受信機
を含む、複数のバックエンドと
を更に備える、請求項７に記載のフォトニック処理デバイス。
【請求項１３】
前記フォトニックプロセッサは、
前記第１の複数の入力空間モードに対応する第１の複数の光学入力及び第１の複数の光学出力を含む相互接続可変ビームスプリッタ（ＶＢＳ）の第１のアレイと、
第２の複数の光学入力及び前記複数の出力空間モードに対応する第２の複数の光学出力を含む相互接続ＶＢＳの第２のアレイと、
複数の制御可能な光学要素であって、前記複数の制御可能な光学要素の各々は、前記第１のアレイの前記第１の複数の光学出力の単一の１つを前記第２のアレイの前記第２の複数の光学出力のそれぞれの単一の１つに結合する、複数の制御可能な光学要素と
を備える、請求項７に記載のフォトニック処理デバイス。
【請求項１４】
コントローラであって、
前記行列の特異値分解（ＳＶＤ）を実行して、第１のＳＶＤ行列、第２のＳＶＤ行列及び第３のＳＶＤ行列を特定すること、
前記第１のＳＶＤ行列を実施するように前記第１の複数の相互接続ＶＢＳを制御すること、
前記第２のＳＶＤ行列を実施するように前記第２の複数の相互接続ＶＢＳを制御すること、
前記第３のＳＶＤ行列を実施するように前記複数の制御可能な光学要素を制御することであって、前記第３のＳＶＤ行列は、対角行列である、制御すること
を行うように構成されたコントローラを更に含む、請求項１３に記載のフォトニック処理デバイス。
【請求項１５】
前記コントローラは、前記第１の複数の相互接続ＶＢＳ及び前記第２の複数の相互接続ＶＢＳの１つ又は複数のパラメータを調整する少なくとも１つのデジタル−アナログ変換器（ＤＡＣ）を更に含む、請求項１４に記載のフォトニック処理デバイス。
【請求項１６】
前記第１の複数の相互接続ＶＢＳの前記ＶＢＳの各々及び前記第２の複数の相互接続ＶＢＳの前記ＶＢＳの各々は、それぞれのアドレスに関連付けられ、及び
前記少なくとも１つのＤＡＣは、前記アドレスを使用して、前記第１の複数の相互接続ＶＢＳ及び／又は前記第２の複数の相互接続ＶＢＳの複数の前記ＦＢＳを制御する単一のＤＡＣを含む、請求項１５に記載のフォトニック処理デバイス。
【請求項１７】
前記行列は、第１の行列であり、及び前記フォトニック処理デバイスは、前記第１の行列による第２の行列の乗算を、
（ａ）前記第２の行列の各列からの複数の入力ベクトルを特定すること、
（ｂ）前記複数の入力ベクトルから入力ベクトルを選択すること、
（ｃ）前記光学エンコーダを使用して、前記選択された入力ベクトルを前記第１の複数の光学信号に符号化すること、
（ｄ）第１の入力ベクトルに関連付けられた前記第１の複数の光学信号に対して前記複数の演算を実行すること、
（ｅ）前記選択された入力ベクトルに関連付けられた前記第２の複数の光学信号を検出すること、
（ｆ）前記検出された第２の複数の光学信号に基づいてデジタル検出結果を記憶すること、
（ｇ）前記複数の入力ベクトルの他の入力ベクトルについて、動作（ｂ）乃至（ｆ）を繰り返すこと、
（ｈ）前記デジタル検出結果をデジタル的に結合して、前記第１の行列による前記第２の行列の前記乗算からもたらされる結果行列を特定すること
を行うことによって実行するように前記フォトニック処理デバイスを制御するように構成されたコントローラを更に備える、請求項７に記載のフォトニック処理デバイス。
【請求項１８】
前記光学受信機は、前記フォトニックプロセッサの前記複数の出力空間モードの各出力空間モードに関連付けられた複数の後続信号のアナログ合算を実行するように構成されたローパスフィルタを含む、請求項７に記載のフォトニック処理デバイス。
【請求項１９】
行列−ベクトル乗算を光学的に実行する方法であって、
入力ベクトルのデジタル表現を受信することと、
光学エンコーダを使用して、前記入力ベクトルを第１の複数の光学信号に符号化することと、
プロセッサを使用して、行列の特異値分解（ＳＶＤ）を実行して、第１のＳＶＤ行列、第２のＳＶＤ行列及び第３のＳＶＤ行列を特定することと、
複数の可変ビームスプリッタ（ＶＢＳ）を含むフォトニックプロセッサを、前記第１のＳＶＤ行列、前記第２のＳＶＤ行列及び前記第３のＳＶＤ行列を光学的に実施するように制御することと、
前記フォトニックプロセッサを通して前記第１の複数の光学信号を伝播させることと、
前記フォトニックプロセッサから受信された第２の複数の光学信号を検出することと、
前記検出された第２の複数の光学信号に基づいて出力ベクトルを特定することであって、前記出力ベクトルは、前記行列−ベクトル乗算の結果を表す、特定することと
を含む方法。
【請求項２０】
前記第２の複数の光学信号を前記検出することは、位相敏感検出器を使用して実行される、請求項１９に記載の方法。
【請求項２１】
前記第１の複数の光学信号を符号化するために第１の光を光源から前記光学エンコーダに提供すること、
第２の光を前記光源から前記位相敏感検出器に提供することであって、前記第２の光は、前記位相敏感検出器によって局部発振器として使用される、提供すること
を更に含む、請求項２０に記載の方法。
【請求項２２】
前記局部発振器は、前記第１の複数の光学信号の各々と位相コヒーレントであり、及び
前記光源から前記位相敏感検出器への前記第１の複数の光学信号の第１の路長は、前記光源から前記位相敏感検出器への前記局部発振器の第２の路長と実質的に等しい、請求項２１に記載の方法。
【請求項２３】
前記入力ベクトルを符号化することは、
前記入力ベクトルのベクトル成分の絶対値を前記第１の複数の光学信号のそれぞれの光学信号の振幅に符号化することと、
前記入力ベクトルの前記ベクトル成分の位相を前記第１の複数の光学信号の前記それぞれの光学信号の位相に符号化することと
を含む、請求項１９に記載の方法。
【請求項２４】
前記行列は、任意のユニタリ行列である、請求項１９に記載の方法。
【請求項２５】
波長分割多重化を使用して、複数の行列−ベクトル乗算を同時に実行することを更に含む、請求項１９に記載の方法。
【請求項２６】
前記入力ベクトルは、複数の入力ベクトルの１つであり、
前記方法は、前記複数の入力ベクトルの各々を特定の波長の第１の複数の光学信号のそれぞれの１つに符号化することを更に含み、前記第１の複数の光学信号のそれぞれの１つに関連付けられた各波長は、前記第１の複数の光学信号の他のものの他の波長と異なる、請求項２５に記載の方法。
【請求項２７】
前記フォトニックプロセッサは、
前記第１の複数の入力空間モードに対応する第１の複数の光学入力及び第１の複数の光学出力を含む相互接続可変ビームスプリッタ（ＶＢＳ）の第１のアレイと、
第２の複数の光学入力及び複数の出力空間モードに対応する第２の複数の光学出力を含む相互接続ＶＢＳの第２のアレイと、
複数の制御可能な光学要素であって、前記複数の制御可能な光学要素の各々は、前記第１のアレイの前記第１の複数の光学出力の単一の１つを前記第２のアレイの前記第２の複数の光学出力のそれぞれの単一の１つに結合する、複数の制御可能な光学要素と
を含む、請求項１９に記載の方法。
【請求項２８】
前記第１の複数の相互接続ＶＢＳは、前記第１のＳＶＤ行列を実施し、
前記第２の複数の相互接続ＶＢＳは、前記第２のＳＶＤ行列を実施し、
前記複数の制御可能な光学要素は、前記第３のＳＶＤ行列を実施し、前記第３のＳＶＤ行列は、対角行列である、請求項２７に記載の方法。
【請求項２９】
前記第１の複数の相互接続ＶＢＳの前記ＶＢＳの各々及び前記第２の複数の相互接続ＶＢＳの前記ＶＢＳの各々は、それぞれのアドレスに関連付けられ、及び
前記第１の複数の前記ＶＢＳ及び／又は前記第２の複数の前記ＶＢＳは、前記アドレスを使用して複数の前記ＶＢＳを制御する少なくとも１つのデジタル−アナログ変換器（ＤＡＣ）によって制御される、請求項２７に記載の方法。
【請求項３０】
前記行列−ベクトル乗算は、行列−行列乗算を実行するように実行される複数の行列−ベクトル乗算の１つであり、前記行列は、第１の行列であり、及び前記行列−行列乗算は、前記第１の行列による第２の行列の乗算を含み、前記方法は、
（ａ）前記第２の行列の各列からの複数の入力ベクトルを特定すること、
（ｂ）前記複数の入力ベクトルから入力ベクトルを選択すること、
（ｃ）前記光学エンコーダを使用して、前記選択された入力ベクトルを前記第１の複数の光学信号に符号化すること、
（ｄ）第１の入力ベクトルに関連付けられた前記第１の複数の光学信号に対して複数の演算を実行すること、
（ｅ）前記選択された入力ベクトルに関連付けられた前記第２の複数の光学信号を検出すること、
（ｆ）前記検出された第２の複数の光学信号に基づいてデジタル検出結果を記憶すること、
（ｇ）前記複数の入力ベクトルの他の入力ベクトルについて、動作（ｂ）乃至（ｆ）を繰り返すこと、
（ｈ）前記デジタル検出結果をデジタル的に結合して、前記第１の行列による前記第２の行列の前記乗算からもたらされる結果行列を特定すること
を更に含む、請求項７に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
従来の計算は、数百万個のトランジスタの回路を含み、電気信号により表された情報のビットに対して論理ゲートを実施するプロセッサを使用する。従来の中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）のアーキテクチャは、汎用計算用に設計されるが、特定のタイプのアルゴリズムに向けて最適化されない。グラフィックス処理、人工知能、ニューラルネットワーク及びディープラーニングは、計算集約的であり、ＣＰＵを使用して効率的に実行されないタイプのアルゴリズムの少数の例である。
【０００２】
その結果、特定のアルゴリズムによりよく適したアーキテクチャを有する専用プロセッサが開発された。グラフィカル処理ユニット（ＧＰＵ：Ｇｒａｐｈｉｃａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）は、例えば、画像処理及びグラフィカル操作の実行に関してＣＰＵよりも効率的にする高度並列アーキテクチャを有する。グラフィックス処理に向けたＧＰＵの開発後、ＧＰＵは、ニューラルネットワーク及びディープラーニング等の他のメモリ集約的アルゴリズムに関してもＧＰＵより効率的であることが分かった。この実現並びに人工知能及びディープラーニングの普及の増大は、これらのアルゴリズムの速度を更に強化することができる新しい電気回路アーキテクチャへの更なる研究に繋がる。
【発明の概要】
【課題を解決するための手段】
【０００３】
幾つかの実施形態では、フォトニックプロセッサが提供される。本フォトニックプロセッサは、第１の複数の光学入力及び第１の複数の光学出力を含む相互接続可変ビームスプリッタ（ＶＢＳ：ｖａｒｉａｂｌｅ  ｂｅａｍ  ｓｐｌｉｔｔｅｒ）の第１のアレイと、第２の複数の光学入力及び第２の複数の光学出力を含む相互接続ＶＢＳの第２のアレイと、複数の制御可能な光学要素であって、複数のこれらの制御可能な光学要素の各々は、第１のアレイの第１の複数の光学出力の単一の１つを第２のアレイの第２の複数の光学入力のそれぞれの単一の１つに結合する、複数の制御可能な光学要素とを含み得る。
【０００４】
幾つかの実施形態では、フォトニック処理システムが提供される。本フォトニック処理システムは、入力ベクトルを第１の複数の光学信号に符号化するように構成された光学エンコーダを含み得る。本フォトニック処理システムは、フォトニックプロセッサであって、第１の複数の光学信号を受信することであって、第１の複数の信号の各々は、フォトニックプロセッサの複数の入力空間モードのそれぞれの入力空間モードによって受信される、受信すること、第１の複数の光学信号に対して複数の演算を実行することであって、複数の演算は、行列による入力ベクトルの行列乗算を実施する、実行すること、及び出力ベクトルを表す第２の複数の光学信号を出力することであって、第２の複数の信号の各々は、フォトニックプロセッサの複数の出力空間モードのそれぞれの出力空間モードによって送信される、出力することを行うように構成されたフォトニックプロセッサを含むこともできる。本フォトニック処理システムは、第２の複数の光学信号を検出し、且つ出力ベクトルの電気デジタル表現を出力するように構成された光学受信機を含むこともできる。
【０００５】
幾つかの実施形態では、行列−ベクトル乗算を光学的に実行する方法が提供される。本方法は、入力ベクトルのデジタル表現を受信することと、光学エンコーダを使用して、入力ベクトルを第１の複数の光学信号に符号化することと、プロセッサを使用して、行列の特異値分解（ＳＶＤ：ｓｉｎｇｕｌａｒ  ｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を実行して、第１のＳＶＤ行列、第２のＳＶＤ行列及び第３のＳＶＤ行列を特定することと、複数の可変ビームスプリッタ（ＶＢＳ）を含むフォトニックプロセッサを、第１のＳＶＤ行列、第２のＳＶＤ行列及び第３のＳＶＤ行列を光学的に実施するように制御することと、フォトニックプロセッサを通して第１の複数の光学信号を伝播させることと、フォトニックプロセッサから受信された第２の複数の光学信号を検出することと、検出された第２の複数の光学信号に基づいて出力ベクトルを特定することであって、出力ベクトルは、行列−ベクトル乗算の結果を表す、特定することとを含み得る。
【０００６】
上記装置実施形態及び方法実施形態は、上述又は更に後述される態様、特徴及び動作の任意の適した組合せで実施され得る。本教示のこれら及び他の態様、実施形態及び特徴は、添付図面と併せて以下の説明からより詳細に理解することができる。
【０００７】
本願の種々の態様及び実施形態は、以下の図を参照して説明される。図が必ずしも一定の縮尺で描かれているわけではないことを理解されたい。複数の図に現れるアイテムは、出現する全ての図において同じ参照番号で示される。
【図面の簡単な説明】
【０００８】
【図１−１】幾つかの非限定的な実施形態によるフォトニック処理システムの概略図である。
【図１−２】幾つかの非限定的な実施形態による光学エンコーダの概略図である。
【図１−３】幾つかの非限定的な実施形態によるフォトニックプロセッサの概略図である。
【図１−４】幾つかの非限定的な実施形態による相互接続可変ビームスプリッタアレイの概略図である。
【図１−５】幾つかの非限定的な実施形態による可変ビームスプリッタの概略図である。
【図１−６】幾つかの非限定的な実施形態による対角減衰及び位相シフト実装形態の概略図である。
【図１−７】幾つかの非限定的な実施形態による減衰器の概略図である。
【図１−８】幾つかの非限定的な実施形態による電力ツリーの概略図である。
【図１−９】幾つかの非限定的な実施形態による光学受信機の概略図である。
【図１−１０】幾つかの非限定的な実施形態によるホモダイン検出器の概略図である。
【図１−１１】幾つかの非限定的な実施形態による折り返しフォトニック処理システムの概略図である。
【図１−１２Ａ】幾つかの非限定的な実施形態による波長分割多重化（ＷＤＭ：ｗａｖｅｌｅｎｇｔｈ−ｄｉｖｉｓｉｏｎ−ｍｕｌｔｉｐｌｅｘｅｄ）フォトニック処理システムの概略図である。
【図１−１２Ｂ】幾つかの非限定的な実施形態による、図１−１２Ａの波長分割多重化（ＷＤＭ）フォトニック処理システムのフロントエンドの概略図である。
【図１−１２Ｃ】幾つかの非限定的な実施形態による、図１−１２Ａの波長分割多重化（ＷＤＭ）フォトニック処理システムのバックエンドの概略図である。
【図１−１３】幾つかの非限定的な実施形態による、光学信号のアナログ合算を実行する回路の概略図である。
【図１−１４】幾つかの非限定的な実施形態による、列−グローバル位相が示されたフォトニック処理システムの概略図である。
【図１−１５】幾つかの非限定的な実施形態による、ホモダイン検出器に対する非補正グローバル位相シフトの影響を示すプロットである。
【図１−１６】幾つかの非限定的な実施形態による、コヒーレント状態の光の直角位相不確実性を示すプロットである。
【図１−１７】幾つかの非限定的な実施形態による行列乗算の図である。
【図１−１８】幾つかの非限定的な実施形態による、行列をサブ行列に分割することによる行列乗算の実行の図である。
【図１−１９】幾つかの非限定的な実施形態によるフォトニック処理システムを製造する方法のフローチャートである。
【図１−２０】幾つかの非限定的な実施形態によるフォトニックプロセッサを製造する方法のフローチャートである。
【図１−２１】幾つかの非限定的な実施形態による、光学計算を実行する方法のフローチャートである。
【図２−１】幾つかの非限定的な実施形態による、潜在変数モデルをトレーニングするプロセスのフローチャートである。
【図２−２】幾つかの非限定的な実施形態による、ユニタリ伝達行列を実施するようにフォトニック処理システムを構成するプロセスのフローチャートである。
【図２−３】幾つかの非限定的な実施形態によるフォトニック処理システムを使用して誤差ベクトルを計算するプロセスのフローチャートである。
【図２−４】幾つかの非限定的な実施形態による、ユニタリ伝達行列の更新されたパラメータを特定するプロセスのフローチャートである。
【図２−５】幾つかの非限定的な実施形態による、ユニタリ伝達行列のパラメータを更新するプロセスのフローチャートである。
【図３−１】幾つかの非限定的な実施形態による、畳み込み層を通るフォワードパスを計算する方法のフローチャートである。
【図３−２】幾つかの非限定的な実施形態による、畳み込み層を通るフォワードパスを計算する方法のフローチャートである。
【図３−３Ａ】幾つかの非限定的な実施形態による、二次元畳み込みを計算するのに適した方法のフローチャートである。
【図３−３Ｂ】幾つかの非限定的な実施形態による、巡回行列を構築するのに適した方法のフローチャートである。
【図３−４Ａ】幾つかの非限定的な実施形態による、複数の出力チャネルを含む入力フィルタ行列からフィルタ行列を構築する処理前ステップを示す。
【図３−４Ｂ】幾つかの非限定的な実施形態による、複数の入力チャネルを含む入力行列からの巡回行列の構築を示す。
【図３−４Ｃ】幾つかの非限定的な実施形態による二次元行列乗算演算を示す。
【図３−４Ｄ】幾つかの非限定的な実施形態による、ベクトル行を回転する処理後ステップを示す。
【図３−４Ｅ】幾つかの非限定的な実施形態によるベクトル行加算の処理後ステップを示す。
【図３−４Ｆ】幾つかの非限定的な実施形態による、出力行列の複数の出力チャネルへの再整形を示す。
【図３−５】幾つかの非限定的な実施形態による、一次元フーリエ変換を実行する方法のフローチャートである。
【図３−６】幾つかの非限定的な実施形態による、二次元フーリエ変換を実行する方法のフローチャートである。
【図３−７】幾つかの非限定的な実施形態による、二次元フーリエ変換を実行する方法のフローチャートである。
【図３−８】幾つかの非限定的な実施形態による、フーリエ変換を使用して畳み込みを実行する方法のフローチャートである。
【図４−１】幾つかの非限定的な実施形態による光学変調器を示すブロック図である。
【図４−２Ａ】幾つかの非限定的な実施形態によるフォトニックシステムの一例を示すブロック図である。
【図４−２Ｂ】幾つかの非限定的な実施形態による、光学ドメインにおいて符号付き実数を処理する方法の一例を示すフローチャートである。
【図４−３Ａ】幾つかの非限定的な実施形態による、図４−２Ａのフォトニックシステムに関連して使用され得る変調器の一例を示す概略図である。
【図４−３Ｂ】幾つかの非限定的な実施形態による、電圧が印加されない場合の図４−３Ａの変調器の強度及び位相スペクトル応答を示すプロットである。
【図４−３Ｃ】幾つかの非限定的な実施形態による、特定の電圧で駆動される場合の図４−３Ａの変調器の強度及び位相スペクトル応答を示すプロットである。
【図４−３Ｄ】幾つかの非限定的な実施形態による、図４−３Ａの変調器に関連付けられた符号化表の一例である。
【図４−３Ｅ】幾つかの非限定的な実施形態による、図４−３Ａの変調器のスペクトル応答の複素平面における視覚的表現である。
【図４−４Ａ】幾つかの非限定的な実施形態による、光学変換ユニットの出力における異なるスペクトル応答の複素平面における視覚的表現である。
【図４−４Ｂ】幾つかの非限定的な実施形態による、光学変換ユニットの出力における異なるスペクトル応答の複素平面における視覚的表現である。
【図４−４Ｃ】幾つかの非限定的な実施形態による、光学変換ユニットの出力における異なるスペクトル応答の複素平面における視覚的表現である。
【図４−５】幾つかの非限定的な実施形態による、光学信号の検出がどのように実行され得るかの複素平面における視覚的表現である。
【図４−６】幾つかの非限定的な実施形態による復号化表の一例である。
【図４−７】幾つかの非限定的な実施形態による光学通信システムのブロック図である。
【図４−８】幾つかの非限定的な実施形態による、図４−７の変調器により出力された電力スペクトル密度の一例を示すプロットである。
【図４−９】幾つかの非限定的な実施形態による、フォトニックシステムを組み立てる方法の一例を示すフローチャートである。
【図５−１】幾つかの非限定的な実施形態による差分光学受信機の一例を示す回路図である。
【図５−２】幾つかの非限定的な実施形態による、図５−１の差分光学受信機と結合され得るフォトニック回路を示す概略図である。
【図５−３Ａ】幾つかの非限定的な実施形態による、フォトニック回路、光検出器及び差分オペアンプを含む基板を示す概略図である。
【図５−３Ｂ】幾つかの非限定的な実施形態による、フォトニック回路及び光検出器を含む第１の基板と、差分オペアンプを含む第２の基板とを示す概略図であり、第１及び第２の基板は、互いにフリップチップ接合される。
【図５−３Ｃ】幾つかの非限定的な実施形態による、フォトニック回路及び光検出器を含む第１の基板と、差分オペアンプを含む第２の基板とを示す概略図であり、第１及び第２の基板は、互いにワイヤ接合される。
【図５−４】幾つかの非限定的な実施形態による、光学受信機を組み立てる方法の一例を示すフローチャートである。
【図５−４Ａ】幾つかの非限定的な実施形態による光学受信機の組み立てシーケンスの一例を示す。
【図５−４Ｂ】幾つかの非限定的な実施形態による光学受信機の組み立てシーケンスの一例を示す。
【図５−４Ｃ】幾つかの非限定的な実施形態による光学受信機の組み立てシーケンスの一例を示す。
【図５−４Ｄ】幾つかの非限定的な実施形態による光学受信機の組み立てシーケンスの一例を示す。
【図５−４Ｅ】幾つかの非限定的な実施形態による光学受信機の組み立てシーケンスの一例を示す。
【図５−４Ｆ】幾つかの非限定的な実施形態による光学受信機の組み立てシーケンスの一例を示す。
【図５−５】幾つかの非限定的な実施形態による、光学信号を受信する方法の一例を示すフローチャートである。
【図６−１Ａ】幾つかの非限定的な実施形態によるナノオプトエレクトロメカニカルシステム（ＮＯＥＭＳ：Ｎａｎｏ−Ｏｐｔｏ−Ｅｌｅｃｔｒｏｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍ）位相変調器を概略的に示す上面図である。
【図６−１Ｂ】幾つかの非限定的な実施形態による、図６−１ＡのＮＯＥＭＳ位相変調器の懸架マルチスロット光学構造を概略的に示す上面図である。
【図６−１Ｃ】幾つかの非限定的な実施形態による、図６−１Ｂの懸架マルチスロット光学構造において生じる光学モードの一例を示すプロットである。
【図６−１Ｄ】幾つかの非限定的な実施形態による、図６−１ＡのＮＯＥＭＳ位相変調器の機械構造を概略的に示す上面図である。
【図６−１Ｅ】幾つかの非限定的な実施形態による、図６−１ＡのＮＯＥＭＳ位相変調器の遷移領域を概略的に示す上面図である。
【図６−２】幾つかの非限定的な実施形態による、ｙｚ平面における、懸架された導波路を示す図６−１ＡのＮＯＥＭＳ位相変調器の断面図である。
【図６−３】幾つかの非限定的な実施形態による、ｘｙ平面において懸架マルチスロット光学構造の一部を示す、図６−１ＡのＮＯＥＭＳ位相変調器の断面図である。
【図６−４Ａ】幾つかの非限定的な実施形態による、懸架マルチスロット光学構造がどのように機械的に駆動されて、導波路間でスロットの幅を変えることができるかを示す断面図である。
【図６−４Ｂ】幾つかの非限定的な実施形態による、懸架マルチスロット光学構造がどのように機械的に駆動されて、導波路間でスロットの幅を変えることができるかを示す断面図である。
【図６−４Ｃ】幾つかの非限定的な実施形態による、懸架マルチスロット光学構造がどのように機械的に駆動されて、導波路間でスロットの幅を変えることができるかを示す断面図である。
【図６−５】幾つかの非限定的な実施形態による、スロットの幅の関数として、懸架マルチスロット光学構造の有効屈折率がどのように変更され得るかを示すプロットである。
【図６−６】幾つかの非限定的な実施形態による、ＮＯＥＭＳ位相変調器を組み立てる方法の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
Ｉ．フォトコア
Ａ．フォトニクスベースの処理の概説
本発明者らは、電気回路に基づく従来のプロセッサの速度及び効率に制限があることを認識及び理解した。電気プロセッサの回路のあらゆるワイヤ及びトランジスタは、任意の電気信号において伝播遅延及び電力散逸を生じさせる抵抗、インダクタンス及びキャパシタンスを有する。例えば、複数のプロセッサコアの接続及び／又はプロセッサコアのメモリへの接続は、非ゼロインピーダンスを有する導電性トレースを使用する。大きい値のインピーダンスは、無視できるビットエラーレートでデータがトレースを通して転送され得る最大レートを制限する。高頻度株式取引等の時間遅延が極めて重要な用途では、数百分の一秒の遅延でも、アルゴリズムを使用に適さないものにし得る。数十億のトランジスタによる数十億の演算を必要とする処理では、これらの遅延は、最終的に大きい時間の損失になる。速度における電気回路の非効率性に加えて、回路のインピーダンスによって生じるエネルギー散逸により生じる熱も電気プロセッサの開発における障壁である。本発明者らは、電気信号の代わりに光信号を使用することが、電気計算に伴う上記の問題の多くを解消することを更に認識及び理解した。光信号は、光が移動する媒体中を光速で移動し、したがって、フォトニック信号の待ち時間は、電気伝播遅延よりもはるかに小さい制限である。更に、光信号が移動する距離を増大させることにより、電力は、散逸されず、電気信号を使用して実現可能でないであろう新しいトポロジ及びプロセッサレイアウトを開拓する。したがって、フォトニクスベースのプロセッサ等の光ベースのプロセッサは、従来の電気プロセッサよりも良好な速度及び効率性能を有し得る。
【００１０】
更に、本発明者らは、フォトニクスベースのプロセッサ等の光ベースのプロセッサが特定のタイプのアルゴリズムに適し得ることを認識及び理解した。例えば、多くの機械学習アルゴリズム、例えばサポートベクターマシン、人工ニューラルネットワーク、確率グラフィカルモデル学習は、多次元アレイ／テンソルでの線形変換に大きく依拠している。最も単純な例は、行列によるベクトルの乗算であり、これは、従来のアルゴリズムを使用する場合、Ｏ（ｎ２）ほどの複雑性を有し、ここで、ｎは、乗算されている正方行列の次元である。本発明者らは、フォトニックベースのプロセッサが幾つかの実施形態では高度並列線形プロセッサであり得、ビームスプリッタの構成可能なアレイを通して特定の組の入力光信号を伝播させることにより、高度に並列化された様式で行列乗算等の線形変換を実行できることを認識及び理解した。そのような実装形態を使用する場合、次元ｎ＝５１２を有する行列の行列乗算は、従来の処理を使用した数十乃至数百ナノ秒とは対照的に、数百ピコ秒で完了することができる。幾つかの実施形態を使用して、行列乗算は、従来の技法と比べて２桁加速すると推定される。例えば、技術的現状のグラフィックス処理ユニット（ＧＰＵ）により実行され得、約１０ｎｓで実行され得る乗算は、幾つかの実施形態によるフォトニック処理システムによって約２００ｐｓで実行され得る。
【００１１】
フォトニクスベースのプロセッサを実施するために、本発明者らは、行列による入力ベクトルの乗算が、相互接続可変ビームスプリッタ（ＶＢＳ）の第１のアレイ、相互接続可変ビームスプリッタの第２のアレイ及び第１のアレイの１つの出力を第２のアレイの１つの入力に接続する、２つのアレイ間の複数の制御可能な光学要素（例えば、電子光学又は光学機械要素）を通してコヒーレント光信号、例えばレーザパルスを伝播させることにより達成され得ることを認識及び理解した。フォトニックプロセッサを含むフォトニック処理システムの詳細について以下に説明する。
【００１２】
Ｂ．フォトニック処理システム概説
図１−１を参照すると、幾つかの実施形態によるフォトニック処理システム１−１００は、光学エンコーダ１−１０１、フォトニックプロセッサ１−１０３、光学受信機１−１０５及びコントローラ１−１０７を含む。フォトニック処理システム１−１００は、入力として外部プロセッサ（例えば、ＣＰＵ）から、入力ビット列の群により表される入力ベクトルを受信し、出力ビット列の群により表される出力ベクトルを生成する。例えば、入力ベクトルがｎ次元ベクトルである場合、入力ベクトルは、ｎ個の別個のビット列によって表され得、各ビット列は、ベクトルの各成分を表す。入力ビット列は、電気信号又は光学信号として外部プロセッサから受信され得、出力ビット列は、電気信号又は光学信号として外部プロセッサに送信され得る。幾つかの実施形態では、コントローラ１−１０７は、必ずしもあらゆるプロセス反復後に出力ビットを出力する必要はない。代わりに、コントローラ１−１０７は、１つ又は複数の出力ビット列を使用して、フォトニック処理システム１−１００の構成要素を通して供給する新しい入力ビットストリームを決定し得る。幾つかの実施形態では、出力ビット列自体は、フォトニック処理システム１−１００により実施されるプロセスの後続反復で入力ビット列として使用され得る。他の実施形態では、複数の出力ビットストリームは、種々の方法で結合されて、後続入力ビット列を決定する。例えば、１つ又は複数の出力ビット列は、後続入力ビット列の決定の一環として一緒に合算され得る。
【００１３】
光学エンコーダ１−１０１は、入力ビット列を、フォトニックプロセッサ１−１０３により処理される光学符号化された情報に変換するように構成される。幾つかの実施形態では、各入力ビット列は、電気信号の形態でコントローラ１−１０７により光学エンコーダ１−１０１に送信される。光学エンコーダ１−１０１は、入力ベクトルの各成分をデジタルビット列から光学信号に変換する。幾つかの実施形態では、光学信号は、関連付けられたビット列の値及び符号を光学パルスの振幅及び位相として表す。幾つかの実施形態では、位相は、それぞれ正の値及び負の値を表すゼロ位相シフト又はπ位相シフトのいずれかの２値選択に制限され得る。実施形態は、実数入力ベクトル値に限定されない。複素ベクトル成分は、例えば、光学信号を符号化する場合、３以上の位相値を使用することにより表され得る。幾つかの実施形態では、ビット列は、光学信号（例えば、デジタル光学信号）としてコントローラ１−１０７から光学エンコーダ１−１０１により受信される。これらの実施形態では、光学エンコーダ１−１０１は、デジタル光学信号を、上述したタイプのアナログ光学信号に変換する。
【００１４】
光学エンコーダ１−１０１は、フォトニックプロセッサ１−１０３に送信されるｎ個の別個の光学パルスを出力する。光学エンコーダ１−１０１の各出力は、１対１でフォトニックプロセッサ１−１０３の１つの入力に結合される。幾つかの実施形態では、光学エンコーダ１−１０１は、フォトニックプロセッサ１−１０３と同じ基板に配置され得る（例えば、光学エンコーダ１−１０１及びフォトニックプロセッサ１−１０３は、同じチップにある）。そのような実施形態では、光学信号は、シリコンフォトニック導波路等の導波路において光学エンコーダ１−１０１からフォトニックプロセッサ１−１０３に送信され得る。他の実施形態では、光学エンコーダ１−１０１は、フォトニックプロセッサ１−１０３と別個の基板に配置され得る。そのような実施形態では、光学信号は、光学エンコーダ１−１０１からフォトニックプロセッサ１０３に光ファイバで送信され得る。
【００１５】
フォトニックプロセッサ１−１０３は、行列Ｍによる入力ベクトルの乗算を実行する。詳細に後述するように、行列Ｍは、特異値分解（ＳＶＤ）とユニタリ行列分解との組合せを使用して３つの行列に分解される。幾つかの実施形態では、ユニタリ行列分解は、ＱＲ分解におけるギヴンス回転と同様の演算を用いて実行される。例えば、ハウスホルダ分解と組み合わせたＳＶＤが使用され得る。３つの構成部への行列Ｍの分解は、コントローラ１−１０７により実行され得、各構成部は、フォトニックプロセッサ１−１０３の一部により実施され得る。幾つかの実施形態では、フォトニックプロセッサ１−１０３は、３つの部分を含む：入力光学パルスのアレイに対して、第１の行列乗算に等しい変換を実行するように構成された可変ビームスプリッタ（ＶＢＳ）の第１のアレイ（例えば、図１−３の第１の行列実装１−３０１を参照されたい）、第１のアレイから受信された各光学パルスの強度及び／又は位相を調整するように構成された制御可能な光学要素の群であって、調整は、対角行列による第２の行列乗算に等しい、制御可能な光学要素の群（例えば、図１−３の第２の行列実装１−３０３を参照されたい）及び制御可能な電子光学要素の群から受信された光学パルスに対して、第３の行列乗算に等しい変換を実施するように構成されたＶＢＳの第２のアレイ（例えば、図３の第３の行列実装１−３０５を参照されたい）。
【００１６】
フォトニックプロセッサ１−１０３は、光学受信機１−１０５に送信されるｎ個の別個の光学パルスを出力する。フォトニックプロセッサ１−１０３の各出力は、１対１で光学受信機１−１０５の１つの入力に結合される。幾つかの実施形態では、フォトニックプロセッサ１−１０３は、光学受信機１−１０５と同じ基板に配置され得る（例えば、フォトニックプロセッサ１−１０３及び光学受信機１−１０５は、同じチップにある）。そのような実施形態では、光学信号は、シリコンフォトニック導波路においてフォトニックプロセッサ１−１０３から光学受信機１−１０５に送信され得る。他の実施形態では、フォトニックプロセッサ１−１０３は、光学受信機１−１０５と別個の基板に配置され得る。そのような実施形態では、光学信号は、フォトニックプロセッサ１０３から光学受信機１−１０５に光ファイバで送信され得る。
【００１７】
光学受信機１−１０５は、フォトニックプロセッサ１−１０３からｎ個の光学パルスを受信する。各光学パルスは、次に、電気信号に変換される。幾つかの実施形態では、各光学パルスの強度及び位相は、光学受信機内の光学検出器により測定される。次に、測定された値を表す電気信号は、コントローラ１−１０７に出力される。
【００１８】
コントローラ１−１０７は、メモリ１−１０９と、光学エンコーダ１−１０１、フォトニックプロセッサ１−１０３及び光学受信機１−１０５を制御するプロセッサ１−１１１とを含む。メモリ１−１０９は、入力ビット列及び出力ビット列並びに光学受信機１−１０５からの測定結果を記憶するために使用され得る。メモリ１−１０９は、プロセッサ１−１１１により実行されると、光学エンコーダ１−１０１を制御し、行列分解アルゴリズムを実行し、フォトニックプロセッサ１−１０３のＶＢＳを制御し、光学受信機１−１０５を制御する実行可能命令も記憶する。メモリ１−１０９は、プロセッサ１−１１１に、光学受信機１−１０５により実行された測定により決定された１つ又は複数の出力ベクトルの集合に基づいて、光学エンコーダに送信する新しい入力ベクトルを決定させる実行可能命令を含むこともできる。このようにして、コントローラ１−１０７は、フォトニックプロセッサ１−１０３の設定を調整し、検出情報を光学受信機１−１０５から光学エンコーダ１−１０１に供給して戻すことにより、入力ベクトルが複数の行列により乗算される反復プロセスを制御することができる。したがって、フォトニック処理システム１−１００により外部プロセッサに送信される出力ベクトルは、単に１つの行列乗算の結果ではなく、複数の行列乗算の結果であり得る。
【００１９】
幾つかの実施形態では、行列は、シングルパスを使用してフォトニックプロセッサで符号化するには大きすぎることがある。そのような状況では、大きい行列の一部分は、フォトニックプロセッサにおいて符号化され得、乗算プロセスは、大きい行列のその１つの部分に対して実行され得る。その第１の演算の結果は、メモリ１−１０９に記憶され得る。続けて、大きい行列の第２の部分は、フォトニックプロセッサにおいて符号化され得、第２の乗算プロセスを実行し得る。大きい行列のこの「チャンキング」は、乗算プロセスが大きい行列の全ての部分に対して実行されるまで続けられ得る。複数の乗算プロセスの結果は、メモリ１−１０９に記憶され得、次に結合されて、大きい行列による入力ベクトルの乗算の最終結果を形成する。
【００２０】
他の実施形態では、出力ベクトルの集合的挙動のみが外部プロセッサにより使用される。そのような実施形態では、複数の出力ベクトルの平均又は最大／最小等の集合的結果のみが外部プロセッサに送信される。
【００２１】
Ｃ．光学エンコーダ
図１−２を参照すると、幾つかの実施形態によれば、光学エンコーダは、少なくとも１つの光源１−２０１、電力ツリー１−２０３、振幅変調器１−２０５、位相変調器１−２０７、振幅変調器１−２０５に関連付けられたデジタル−アナログ変換器（ＤＡＣ：ｄｉｇｉｔａｌ  ｔｏ  ａｎａｌｏｇ  ｃｏｎｖｅｒｔｅｒ）１−２０９及び位相変調器１−２０７に関連付けられた１−ＤＡＣ２１１を含む。振幅変調器１−２０５及び位相変調器１−２０７は、ｎ個の入力及びｎ個の出力（入力及び出力の各々は、例えば、導波路である）を有する１つのブロックとして図１−２に示されているが、幾つかの実施形態では、各導波路は、光学エンコーダがｎ個の振幅変調器及びｎ個の位相変調器を含むように、各振幅変調器及び各位相変調器を含み得る。更に、各振幅及び位相変調器に個々のＤＡＣがあり得る。幾つかの実施形態では、各導波路に関連付けられた振幅変調器及び別個の位相変調器を有するのではなく、振幅情報及び位相情報の両方の符号化に１つの変調器が使用され得る。１つの変調器を使用してそのような符号化を実行することは、各光学パルスの振幅及び位相の両方を精密に調整する能力を制限するが、光学パルスの振幅及び位相の両方の精密な調整を必要としない幾つかの符号化方式がある。そのような方式について、本明細書において後に説明する。
【００２２】
光源１−２０１は、コヒーレント光の任意の適した源であり得る。幾つかの実施形態では、光源１−２０１は、ダイオードレーザ又は垂直キャビティ面発光レーザ（ＶＣＳＥＬ：ｖｅｒｔｉｃａｌ−ｃａｖｉｔｙ  ｓｕｒｆａｃｅ  ｅｍｉｔｔｉｎｇ  ｌａｓｅｒ）であり得る。幾つかの実施形態では、光源１−２０１は、１０ｍＷ超、２５ｍＷ超、５０ｍＷ超又は７５ｍＷ超の出力電力を有するように構成される。幾つかの実施形態では、光源１−２０１は、１００ｍＷ未満の出力電力を有するように構成される。光源１−２０１は、１つ又は複数の波長（例えば、Ｃ帯又はＯ帯）において光の連続波又は光のパルス（「光学パルス」）を発するように構成され得る。光学パルスの持続時間は、例えば、約１００ｐｓであり得る。
【００２３】
光源１−２０１は、光学エンコーダの他の構成要素と同じ半導体基板上にあるものとして図１−２に示されているが、実施形態は、そのように限定されない。例えば、光源１−２０１は、光学エンコーダチップにエッジ接合又は表面接合された別個のレーザパッケージであり得る。代替的に、光源１−２０１は、完全にチップ外であり得、光学パルスは、光ファイバ及び／又は格子結合器を介して光学エンコーダ１−１０１の導波路１−２０２に結合され得る。
【００２４】
光源１−２０１は、２つの光源１−２０１ａ及び１−２０１ｂとして示されているが、実施形態は、そのように限定されない。幾つかの実施形態は、１つの光源を含み得る。３つ以上の光源を含み得る複数の光源２０１ａ乃至ｂを含むことは、光源の１つが故障した場合、冗長性を提供することができる。複数の光源を含むことは、フォトニック処理システム１−１００の有用寿命を延ばし得る。複数の光源１−２０１ａ乃至ｂは、それぞれ光学エンコーダ１−１０１の導波路に結合され、次に各光源から電力ツリー１−２０３に光学パルスを向けるように構成された導波路結合器において結合され得る。そのような実施形態では、随時、１つのみの光源が使用される。
【００２５】
幾つかの実施形態は、同時に同じ波長の２つ以上の位相ロック光源を使用して、光学エンコーダシステムに入る光学電力を増大させることができる。２つ以上の光源の各々からの光の小さい部分（例えば、導波路タップを介して取得される）は、ホモダイン検出器に向けられ得、ホモダイン検出器においてビートエラー信号が測定され得る。ビートエラー信号は、２つの光源間で生じ得る位相ドリフトを特定するために使用され得る。ビートエラー信号は、例えば、一方の光源の出力を他方の光源の位相に位相ロックする位相変調器を制御するフィードバック回路に供給され得る。位相ロックは、マスタ−スレーブ方式で一般化することができ、Ｎ≧１個のスレーブ光源が１つのマスタ光源に位相ロックされる。その結果、光学エンコーダシステムは、合計でＮ＋１個の位相ロックされた光源を利用可能である。
【００２６】
他の実施形態では、別個の各光源は、異なる波長の光に関連付けられ得る。複数の波長の光を使用することにより、複数の計算が同じ光学ハードウェアを使用して同時に実行され得るように幾つかの実施形態を多重化できるようになる。
【００２７】
電力ツリー１−２０３は、光源１−２０１からの１つの光学パルスを、空間的に隔てられた光学パルスのアレイに分割するように構成される。したがって、電力ツリー１−２０３は、１つの光学入力及びｎ個の光学出力を有する。幾つかの実施形態では、光源１−２０１からの光学電力は、ｎ個の導波路に関連付けられたｎ個の光学モードにわたり均等に分割される。幾つかの実施形態では、電力ツリー１−２０３は、図１−８に示されるように５０：５０ビームスプリッタのアレイ１−８０１である。電力ツリー１−２０３の数の「深度」は、出力における導波路の数に依存する。ｎ個の出力モードを有する電力ツリーでは、電力ツリー１−２０３の深度は、ｃｅｉｌ（ｌｏｇ２（ｎ））である。図１−８の電力ツリー１−２０３は、ツリー深度３（ツリーの各層は、電力ツリー１−２０３の最下部にわたり記されている）のみを示している。各層は、２ｍ−１個のビームスプリッタを含み、ここで、ｍは、層数である。その結果、最初の層は、１つのビームスプリッタ１−８０１ａを有し、２番目の層は、２つのビームスプリッタ１−８０１ｂ乃至１−８０１ｃを有し、３番目の層は、４つのビームスプリッタ１−８０１ｄ乃至１−８０１ｇを有する。
【００２８】
電力ツリー１−２０３は、エバネッセント導波路結合器として実施され得る、カスケード接続されたビームスプリッタのアレイとして示されているが、実施形態は、そのように限定されず、１つの光学パルスを複数の空間的に隔てられた光学パルスに変換する任意の光学デバイスが使用され得る。例えば、電力ツリー１−２０３は、１つ又は複数マルチモード干渉計（ＭＭＩ：ｍｕｌｔｉｍｏｄｅ  ｉｎｔｅｒｆｅｒｏｍｅｔｅｒ）を使用して実施され得、この場合、層の幅及び深度を支配する方程式は、適宜変更される。
【００２９】
使用される電力ツリー１−２０３のタイプを問わず、分割比率がｎ個の出力モード間で厳密に均等であるような電力ツリー１−２０３の製造は、不可能でないにしても困難である可能性が高い。したがって、振幅変調の設定に調整を行い、電力ツリーにより出力されるｎ個の光学パルスの不均等強度を補正することができる。例えば、最も低い光学電力を有する導波路は、フォトニックプロセッサ１−１０３に送信される任意の所与のパルスの最大電力として設定することができる。したがって、最大電力よりも高い電力を有するあらゆる光学パルスは、情報を光学パルスに符号化するために行われる振幅への変調に加えて、振幅変調器１−２０５により、より低い電力を有するように変調され得る。位相変調器もｎ個の出力モードの各々に配置され得、全ての出力信号が同じ位相を有するように、電力ツリー１−２０３の各出力モードの位相を調整するために使用され得る。
【００３０】
代替又は追加として、電力ツリー１−２０３は、電力ツリーにおける各ビームスプリッタの分割比率が、電力ツリー１−２０３の出力において略等しい強度のパルスを生成するように調整され得る１つ又は複数のマッハツェンダー干渉計（ＭＺＩ：Ｍａｃｈ−Ｚｅｈｎｄｅｒ  Ｉｎｔｅｒｆｅｒｏｍｅｔｅｒ）を使用して実施され得る。
【００３１】
振幅変調器１−２０５は、各入力ビット列に基づいて、電力ツリー１−２０３から受信された各光学パルスの振幅を変更するように構成される。振幅変調器１−２０５は、ＤＡＣ１−２０９により制御される可変減衰器又は任意の他の適した振幅変調器であり得、ＤＡＣ１−２０９は、コントローラ１−１０７により更に制御され得る。電気通信用途での幾つかの振幅変調器が既知であり、幾つかの実施形態において使用され得る。幾つかの実施形態では、可変ビームスプリッタは、振幅変調器１−２０５として使用され得、ここで、可変ビームスプリッタの１つのみの出力が保持され、他の出力が破棄又は無視される。幾つかの実施形態において使用され得る振幅変調器の他の例としては、進行波変調器、キャビティベース変調器、フランツ−ケルディッシュ変調器、プラズモンベース変調器、２Ｄ材料ベース変調器及びナノオプトエレクトロメカニカルスイッチ（ＮＯＥＭＳ）がある。
【００３２】
位相変調器１−２０７は、各入力ビット列に基づいて、電力ツリー１−２０３から受信された各光学パルスの位相を変更するように構成される。位相変調器は、１−２１１により電気的に制御され得る熱光学位相シフタ又は任意の他の適した位相シフタであり得、１−２１１は、コントローラ１−１０７により更に制御され得る。
【００３３】
図１−２は、２つの別個の構成要素として振幅変調器１−２０５及び位相変調器１−２０７を示すが、これらは、光学パルスの振幅及び位相の両方を制御する１つの要素に結合され得る。しかしながら、光学パルスの振幅及び位相を別個に制御する利点がある。すなわち、クラマース−クローニッヒの関係式を介した振幅シフトと位相シフトとの間の結び付きに起因して、任意の振幅シフトに関連付けられた位相シフトがある。光学パルスの位相を精密に制御するために、振幅変調器１−２０５により生成された位相シフトは、位相変調器１−２０７の使用のために補償されるべきである。例として、光学エンコーダ１−１０１を出る光学パルスの合計振幅は、Ａ＝α０α１α２であり、光学エンコーダを出る光学パルスの合計位相は、θ＝Δθ＋Δψ＋ψであり、ここで、α０は、入力光学パルスの入力強度であり（変調器の入力においてゼロ位相であると仮定して）、α１は、振幅変調器１−２０５の振幅減衰であり、Δθは、振幅を変調している間に振幅変調器１−２０５により付与される位相シフトであり、Δψは、位相変調器１−２０７により付与される位相シフトであり、α２は、位相変調器１−２０９を通過する光学パルスに関連付けられた減衰であり、ψは、光信号の伝播に起因した光学信号に付与される位相である。したがって、光学パルスの振幅及び位相の設定は、２つの独立した特定ではない。むしろ、特定の振幅及び位相を、光学エンコーダ１−１０１から出力される光学パルスに正確に符号化するには、振幅変調器１−２０５及び位相変調器１−２０７の両方の設定を両方の設定時に考慮に入れるべきである。
【００３４】
幾つかの実施形態では、光学パルスの振幅は、ビット列値に直接関連する。例えば、高振幅パルスは、高ビット列値に対応し、低振幅パルスは、低ビット列値に対応する。光学パルスの位相は、ビット列値が正であるか又は負であるかを符号化する。幾つかの実施形態では、光学エンコーダ１−１０１により出力される光学パルスの位相は、１８０度（πラジアン）離れた２つの位相から選択され得る。例えば、正のビット列値は、ゼロ度位相シフトを用いて符号化され得、負のビット列値は、１８０度（πラジアン）位相シフトを用いて符号化され得る。幾つかの実施形態では、ベクトルは、複素値であることが意図され、したがって、光学パルスの位相は、単に０π及び２πという２つのみの値から選択されるものではない。
【００３５】
幾つかの実施形態では、コントローラ１−１０７は、入力ビット列と、出力振幅及び出力位相を、振幅変調器１−２０４及び位相変調器１−２０７により付与される振幅及び位相にリンクする上記式とに基づいて、振幅変調器１−２０５及び位相変調器１−２０７の両方により適用すべき振幅及び位相を決定する。幾つかの実施形態では、コントローラ１−１０７は、振幅変調器１−２０５及び位相変調器１−２０７を駆動するデジタル値の表をメモリ１−１０９に記憶し得る。幾つかの実施形態では、メモリは、変調器の近傍に配置されて、通信の待ち時間及び消費電力を低減し得る。
【００３６】
振幅変調器１−２０５に関連付けられ、振幅変調器１−２０５に通信可能に結合されたデジタル−アナログ変換器（ＤＡＣ）１−２０９は、コントローラ１−１０７からデジタル駆動値を受信し、振幅変調器１−２０５を駆動するアナログ電圧にデジタル駆動値を変換する。同様に、位相変調器１−２０７に関連付けられ、位相変調器１−２０７に通信可能に結合されたＤＡＣ１−２１１も、コントローラ１−１０７からデジタル駆動値を受信し、位相変調器１−２０７を駆動するアナログ電圧にデジタル駆動値を変換する。幾つかの実施形態では、ＤＡＣは、振幅変調器内で所望の消光比（例えば、特定の位相変調器を使用して実施することが物理的に可能な最高の消光比）及び位相変調器内で所望の位相シフト範囲（例えば、０乃至２πの全範囲を網羅する位相シフト範囲）を達成するのに十分に高いレベルまでアナログ電圧を増幅する増幅器を含み得る。ＤＡＣ１−２０９及びＤＡＣ１−２１１は、光学エンコーダ１−１０１のチップ内及び／又はチップ上に配置されるものとして図１−２に示されているが、幾つかの実施形態では、ＤＡＣ１−２０９及び１−２１１は、それでもなお導電性トレース及び／又はワイヤを用いてそれぞれ振幅変調器１−２０５及び位相変調器１−２０７に通信可能に結合されながら、チップ外に配置され得る。
【００３７】
振幅変調器１−２０５及び位相変調器１−２０７による変調後、ｎ個の光学パルスは、光学エンコーダ１−１０１からフォトニックプロセッサ１−１０３に送信される。
Ｄ．フォトニックプロセッサ
図１−３を参照すると、フォトニックプロセッサ１−１０３は、ｎ個の光学入力パルスにより表される入力ベクトルに対して行列乗算を実施し、３つの主要構成要素を含む：第１の行列実装１−３０１、第２の行列実装１−３０３及び第３の行列実装１−３０５。幾つかの実施形態では、より詳細に後述するように、第１の行列実装１−３０１及び第３の行列実装１−３０５は、入力ベクトルから出力ベクトルにｎ個の入力光学パルスを変換するように構成されたプログラム可能、再構成可能な可変ビームスプリッタ（ＶＢＳ）の相互接続アレイを含み、ベクトルの成分は、各光学パルスの振幅及び位相によって表される。幾つかの実施形態では、第２の行列実装１−３０３は、電子光学要素の群を含む。
【００３８】
入力ベクトルが、入力光学パルスをフォトニックプロセッサ１−１０３に通すことにより乗算される行列は、Ｍと呼ばれる。行列Ｍは、フォトニックプロセッサ１−１０３により実施されるべきである行列としてコントローラ１−１０７に既知の一般ｍ×ｎである。したがって、コントローラ１−１０７は、行列Ｍが３つの構成行列：Ｍ＝ＶＴΣＵにより表されるように、特異値分解（ＳＶＤ）を使用して行列Ｍを分解し、式中、Ｕ及びＶは、それぞれ実数対角ｎ×ｎ及びｍ×ｍ行列であり（ＵＴＵ＝ＵＵＴ＝１及びＶＴＶ＝ＶＶＴ＝１）、Σは、実数エントリを有するｍ×ｎ対角行列である。全ての式中の上付き文字「Ｔ」は、関連付けられた行列の転置を表す。行列のＳＶＤの特定は、既知であり、コントローラ１−１０７は、任意の適した技法を使用して、行列ＭのＳＶＤを特定し得る。幾つかの実施形態では、行列Ｍは、複素行列であり、その場合、行列Ｍは、Ｍ＝Ｖ†ΣＵに分解することができ、式中、Ｖ及びＵは、複素ユニタリｎ×ｎ及びｍ×ｍ行列であり、それぞれＵ†Ｕ＝ＵＵ†＝１及びＶ†Ｖ＝ＶＶ†＝１）、Σは、実数エントリ又は複素数エントリを有するｍ×ｎ対角行列である。対角特異値の値は、特異値の最大絶対値が１であるように更に正規化することもできる。
【００３９】
コントローラ１−１０７が行列Ｍの行列Ｕ、Σ及びＶを特定すると、行列Ｕ及びＶが対角実数行列である場合、コントローラは、２つの対角行列Ｕ及びＶを一連の実数値ギヴンス回転行列に更に分解し得る。ギヴンス回転行列Ｇ（ｉ，ｊ，θ）は、以下の式：
ｋ≠ｉ，ｊの場合、ｇｋｋ＝１、
ｋ＝ｉ，ｊの場合、ｇｋｋ＝ｃｏｓ（θ）、
ｇｉｊ＝−ｇｊｉ＝−ｓｉｎ（θ）、
他の場合、ｇｋｌ＝０
により成分ごとに定義され、式中、ｇｉｊは、行列Ｇのｉ行目及びｊ列目における要素を表し、θは、行列に関連付けられた回転の角度である。一般に、行列Ｇは、行列式１（ＳＵ（２）群）を有する任意の２×２ユニタリ行列であり、２つのパラメータによりパラメータ化される。幾つかの実施形態では、それらの２つのパラメータは、回転角θ及び別の位相値φである。それにもかかわらず、行列Ｇは、角度又は位相以外の他の値により、例えば反射率／透過率又は分離距離（ＮＯＥＭＳの場合）によりパラメータ化することもできる。
【００４０】
複素空間において、ギヴンス回転の組の積に関して任意の実数対角行列を表すアルゴリズムは、Ｍ．レック（Ｍ．Ｒｅｃｋ）ら著、「任意の離散ユニタリ演算子の実験的実現（Ｅｘｐｅｒｉｍｅｎｔａｌ  ｒｅａｌｉｚａｔｉｏｎ  ｏｆ  ａｎｙ  ｄｉｓｃｒｅｔｅ  ｕｎｉｔａｒｙ  ｏｐｅｒａｔｏｒ）」、フィジカルレビューレター（Ｐｈｙｓｉｃａｌ  Ｒｅｖｉｅｗ  Ｌｅｔｔｅｒｓ）、第７３巻、第５８号（１９９４年）（「レック（Ｒｅｃｋ）」）及びＷ．Ｒ．クレメンツ（Ｗ．Ｒ．Ｃｌｅｍｅｎｔｓ）ら著、「ユニバーサルマルチポート干渉計の最適設計（Ｏｐｔｉｍａｌ  ｄｅｓｉｇｎ  ｆｏｒ  ｕｎｉｖｅｒｓａｌ  ｍｕｌｔｉｐｏｒｔ  ｉｎｔｅｒｆｅｒｏｍｅｔｅｒｓ）」、オプティカ（Ｏｐｔｉｃａ）、第３巻、第１２号（２０１６年）（「クレメンツ（Ｃｌｅｍｅｎｔｓ）」）において提供されており、これらの両方は、全体的に及び少なくともギヴンス回転に関して実数対角行列を分解する技法の考察について、参照により本明細書に援用される。（本明細書において使用される任意の用語がレック（Ｒｅｃｋ）及び／又はクレメンツ（Ｃｌｅｍｅｎｔｓ）におけるその用語の使用と競合する場合、用語には、当業者が本明細書においてその使用をどのように理解するかに最も一貫する意味が与えられるべきである）。生成される分解は、以下の式：
【００４１】
【数１】
2021523508.tif 000003
により与えられ、式中、Ｕは、ｎ×ｎ直交行列であり、Ｓｋは、適用されるギヴンス回転のｋ番目の集合に関連するインデックスの集合であり（分解アルゴリズムにより定義される）、θｉｊ（ｋ）は、ギヴンス回転のｋ番目の集合における成分ｉ及びｊ間のギヴンス回転に適用される角度を表し、Ｄは、各成分のグローバル符号を表す＋１又は−１エントリのいずれかの対角行列である。インデックスの集合Ｓｋは、ｎが偶数であるか又は奇数であるかに依存する。例えば、ｎが偶数である場合、
奇数ｋの場合、Ｓｋ＝｛（１，２），（３，４），．．．，（ｎ−１，ｎ）｝、
偶数ｋの場合、Ｓｋ＝｛（２，３），（４，５），．．．，（ｎ−２，ｎ−１）｝
である。ｎが奇数である場合、
奇数ｋの場合、Ｓｋ＝｛（１，２），（３，４），．．．，（ｎ−２，ｎ−１）｝、
偶数ｋの場合、Ｓｋ＝｛（２，３），（４，５），．．．，（ｎ−１，ｎ）｝
である。
【００４２】
限定ではなく例として、４×４直交行列の分解は、
【００４３】
【数２】
2021523508.tif 000004
として表すことができる。
【００４４】
コントローラ１−１０７を使用して実施され得る、ｎ個の集合の実数値ギヴンス回転に関してｎ×ｎ行列Ｕを分解するアルゴリズムの一実施形態の概説は、以下である。
【００４５】
【数３】
2021523508.tif 000005
上記アルゴリズムの結果として生成される行列Ｕ’は、下三角であり、式：
【００４６】
【数４】
2021523508.tif 000006
により元の行列Ｕに関連する。式中、ラベルＳＬは、Ｕ’の左側のＶＢＳにより接続された２つのモードの集合を記し、ラベルＳＲは、Ｕ’の右側のＶＢＳにより接続された２つのモードの集合を記す。Ｕは、直交行列であるため、Ｕ’は、対角線に沿って｛−１，１｝エントリを有する対角行列である。この行列Ｕ’＝ＤＵは、「位相スクリーン」と呼ばれる。
【００４７】
アルゴリズムの次のステップは、コントローラ１−１０７を使用して実施され得る以下のアルゴリズム：
【００４８】
【数５】
2021523508.tif 000007
を使用して、いずれのＧＴｊｋ（θ１）ＤＵ＝ＤＵＧｊｋ（θ２）が達成されるかを繰り返し見つけることである。
【００４９】
上記アルゴリズムは、Ｖ及び／又はＶＴを分解して、ＶＢＳ値のｍ個の層及び関連付けられた位相スクリーンを特定するために使用することもできる。
直交行列を実数値ギヴンス回転行列に分解する上記概念は、直交行列ではなく、むしろ複素行列、例えばユニタリ行列に拡張することができる。幾つかの実施形態では、これは、ギヴンス回転行列のパラメータ化に追加の位相を含めることにより達成され得る。したがって、更なる位相項が追加されたギヴンス行列の一般形態は、Ｔ（ｉ，ｊ，θ，φ）であり、ここで、
ｋ≠ｉ，ｊの場合、ｔｋｋ＝１、
ｔｉｉ＝ｅｉφｃｏｓ（θ）、
ｔｊｊ＝ｃｏｓ（θ）、
ｔｉｊ＝−ｓｉｎ（θ）、
ｔｊｉ＝ｅｉφｓｉｎ（θ）、
他の場合、ｔｋｌ＝０
であり、式中、ｔｉｊは、行列Ｔのｉ行目及びｊ列目を表し、θは、行列に関連付けられた回転角であり、φは、追加の位相である。任意のユニタリ行列は、タイプＴ（ｉ，ｊ，θ，φ）の行列に分解することができる。位相φ＝０に設定することを選択することにより、上述した従来の実数値ギヴンス回転行列が取得される。代わりに、位相φ＝πの場合、ハウスホルダ行列として既知の行列の組が取得される。ハウスホルダ行列Ｈは、形態
【００５０】
【数６】
2021523508.tif 000008
を有し、式中、Ｉは、ｎ×ｎ恒等行列であり、νは、単位ベクトルであり、
【００５１】
【数７】
2021523508.tif 000009
は、外積である。ハウスホルダ行列は、単位ベクトルνに直交する超平面についての反射を表す。このパラメータ化では、超平面は、ＱＲ分解についてハウスホルダ行列を定義する際に一般的であるようなｎ−１次元サブ空間ではなく、むしろ二次元サブ空間である。したがって、ギヴンス回転への行列の分解は、ハウスホルダ行列への行列の分解に等しい。
【００５２】
ギヴンス回転の制限された集合への任意のユニタリ行列の上記分解に基づいて、任意のユニタリ行列は、特定のシーケンスの回転及び位相シフトにより実施することができる。また、フォトニクスでは、回転は、可変ビームスプリッタ（ＶＢＳ）により表され得、位相シフトは、位相変調器を使用して容易に実施される。したがって、フォトニックプロセッサ１−１０３のｎ個の光学入力の場合、行列ＭのＳＶＤのユニタリ行列を表す第１の行列実装１−３０１及び第３の行列実装１−３０５は、ＶＢＳの相互接続アレイ及び位相シフタにより実施され得る。光学パルスをＶＢＳアレイに通すことの並列性により、行列乗算は、Ｏ（１）時間において実行することができる。第２の行列実装１−３０３は、ＳＶＤの各直交行列に関連付けられた対角行列Ｄと組み合わされた行列ＭのＳＶＤの対角行列である。上述したように、各行列Ｄは、「位相スクリーン」と呼ばれ、下付き文字を用いて記されて、行列Ｕに関連付けられた位相スクリーンであるか、又は行列Ｖに関連付けられた位相スクリーンであるかを示すことができる。したがって、第２の行列実装３０３は、行列Σ’＝ＤＶΣＤＵである。
【００５３】
幾つかの実施形態では、第１の行列実装１−３０１及び第３の行列実装１−３０５に関連付けられたフォトニックプロセッサ１−１０３のＶＢＳ単位セルは、内部位相シフタを有するマッハツェンダー干渉計（ＭＺＩ）であり得る。他の実施形態では、ＶＢＳ単位セルは微小電子機械システム（ＭＥＭＳ：ｍｉｃｒｏｅｌｅｃｔｒｏｍｅｃｈａｎｉｃａｌ  ｓｙｓｔｅｍ）アクチュエータであり得る。幾つかの実施形態では、外部位相シフタが使用されて、ギヴンス回転に必要な追加の位相を実施し得る。
【００５４】
対角行列ＤＶΣＤＵを表す第２の行列実装１−３０３は、振幅変調器及び位相シフタを使用して実施され得る。幾つかの実施形態では、ＶＢＳは、光学パルスを可変減衰するようにダンプすることができる光の一部を分割するために使用され得る。追加又は代替として、制御可能な利得媒体は、光学信号の増幅に使用され得る。例えば、ＧａＡｓ、ＩｎＧａＡｓ、ＧａＮ又はＩｎＰは、光学信号を増幅する能動利得媒体として使用され得る。結晶反転対称性を有する材料、例えば、ＫＴＰ及びニオブ酸リチウムにおける二次高調波生成等の他の能動利得プロセス並びに反転対称性のない材料、例えばシリコンにおける四波混合プロセスも使用され得る。各光学モードにおける位相シフタは、実施されている位相スクリーンに応じて０位相シフト又はπ位相シフトのいずれかを適用するために使用され得る。幾つかの実施形態では、各位相スクリーンに１つの位相シフタではなく、各光学モードに１つのみの位相シフタが使用される。これは、各行列ＤＶ、Σ及びＤＵが対角であり、したがって可換であるために可能である。したがって、フォトニックプロセッサ１−１０３の第２の行列実装１−３０３の各位相シフタの値は、２つの位相スクリーンの積の結果である：ＤＶＤＵ。
【００５５】
図１−４を参照すると、第１の行列実装１−３０１及び第３の行列実装１−３０５は、幾つかの実施形態によれば、ＶＢＳ１−４０１のアレイとして実施される。簡潔にするために、ｎ＝６個のみの光学パルス（行数）が示されており、その結果、入力光学パルスの数（例えば、６）に等しい「回路深度」（例えば、列数）が生成される。明確にするために、１つのみのＶＢＳ１−４０１が参照符号で記される。しかしながら、ＶＢＳは、特定のＶＢＳによっていずれの光学モードが混合されているかを識別する下付き文字及び関連付けられた列を記す上付き文字を用いて記される。各ＶＢＳ１−４０１は、上述したように複素ギヴンス回転Ｔ（ｉ，ｊ，θ，φ）を実施し、ここで、ｉ及びｊは、ＶＢＳ１−４０１の下付文字ラベルに等しく、θは、ギヴンス回転の回転角であり、φは、一般化された回転に関連付けられた追加の位相である。
【００５６】
図１−５を参照すると、各ＶＢＳ１−４０１は、ＭＺＩ１−５１０及び少なくとも１つの外部位相シフタ１−５０７を使用して実施され得る。幾つかの実施形態では、第２の外部位相シフタ１−５０９も含まれ得る。ＭＺＩ１−５１０は、ＭＺＩ１−５１０の２つの入力モードを混合するために第１のエバネッセント結合器１−５０１及び第２のエバネッセント結合器１−５０３を含む。内部位相シフタ１−５０５は、ＭＺＩ１−５１０の一方のアームにおいて位相θを変調して、２つのアーム間に位相差をもたらす。位相θを調整すると、ＶＢＳ１−４０１により出力される光の強度は、ＭＺＩ１−５１０の一方の出力モードから他方の出力モードに変更され、それにより制御可能且つ可変のビームスプリッタが作られる。幾つかの実施形態では、第２の内部位相シフタは、第２のアームにおいて適用することができる。この場合、出力光強度を変えさせるのは、２つの内部位相シフタ間の差である。２つの内部位相間の平均は、モードｉ及びモードｊに入る光にグローバル位相を付与する。したがって、２つのパラメータθ及びφは、それぞれ位相シフタにより制御され得る。幾つかの実施形態では、第２の外部位相シフタ１−５０９は、静的位相乱れに起因したＶＢＳの出力モードにわたる不要な差分位相を補正するために使用され得る。
【００５７】
幾つかの実施形態では、位相シフタ１−５０５、１−５０７及び１−５０９は、熱光学、電子光学又は光学機械位相変調器を含み得る。他の実施形態では、内部位相変調器５０５をＭＺＩ５１０内に含むのではなく、ＮＯＥＭＳ変調器が使用され得る。
【００５８】
幾つかの実施形態では、ＶＢＳの数は、行列のサイズに伴って増大する。本発明者らは、多数のＶＢＳの制御が難しいことがあり、複数のＶＢＳ間で１つの制御回路を共有することに利点があることを認識及び理解した。複数のＶＢＳの制御に使用され得る並列制御回路の一例は、デジタル−アナログ変換器であり、特定のＶＢＳに付与するアナログ信号を符号化するデジタル列を入力として受信する。幾つかの実施形態では、回路は、制御するＶＢＳのアドレスも第２の入力として受信する。回路は、次に、アドレス指定されたＶＢＳにアナログ信号を付与し得る。他の実施形態では、制御回路は、幾つかのＶＢＳを通して自動的にスキャンし、能動的にアドレスが与えられずに複数のＶＢＳにアナログ信号を付与し得る。この場合、アドレッシングシーケンスは、ＶＢＳアレイが既知の順序でトラバースされるように予め定義される。
【００５９】
図１−６を参照すると、第２の行列実装１−３０３は、対角行列Σ’＝ＤＶΣＤＵによる乗算を実施する。これは、２つの位相シフタ１−６０１及び１−６０５を使用して、２つの位相スクリーンを実施し、振幅変調器１−６０３を使用して、関連付けられた光学パルスの強度を量ηだけ調整して達成され得る。上述したように、幾つかの実施形態では、１つのみの位相変調器１−６０１が使用され得、これは、Σ’を形成する３つの成分行列が対角であり、したがって可換であるため、２つの位相スクリーンが一緒に結合可能であるためである。
【００６０】
幾つかの実施形態では、振幅変調器１−６０３は、減衰器及び／又は増幅器を使用して実施され得る。振幅変調ηの値が１超である場合、光学パルスは、増幅される。振幅変調ηの値が１未満である場合、光学パルスは、減衰される。幾つかの実施形態では、減衰のみが使用される。幾つかの実施形態では、減衰は、集積減衰器の列により実施され得る。他の実施形態では、図１−７に示されるように、減衰１−６０３は、２つのエバネッセント結合器１−７０１及び１−７０３並びに制御可能な内部位相シフタ１−７０５を含むＭＺＩを使用して実施されて、ＭＺＩの入力からＭＺＩの第１の出力ポート１−７０９に送信される入力光の量を調整し得る。ＭＺＩの第２の出力ポート１−７０７は、無視、ブロック又はダンプされ得る。
【００６１】
幾つかの実施形態では、コントローラ１−１０７は、フォトニックプロセッサ１−１０３における各位相シフタの値を制御する。上述した各位相シフタは、光学エンコーダ１−１０１の位相変調器１−２０７に関連して考察したＤＡＣと同様のＤＡＣを含み得る。
【００６２】
フォトニックプロセッサ１−１０３は、任意の数の入力ノードを含むことができるが、相互接続ＶＢＳアレイ１−３０１及び１−３０５のサイズ及び複雑性は、入力モードの数が増えるにつれて増大する。例えば、ｎ個の入力光学モードがある場合、フォトニックプロセッサ１−１０３は、回路深度２ｎ＋１を有し、ここで、第１の行列実装１−３０１及び第２の行列実装１−３０５は、それぞれ回路深度ｎを有し、第２の行列実装１−３０３は、回路深度１を有する。重要なことに、１つの行列乗算を実行する時間における複雑性は、入力光学パルスの数に伴って線形でさえもない（常にＯ（１）である）。幾つかの実施形態では、並列化により提供されるこの低次複雑性は、従来の電気プロセッサを使用して得ることができないエネルギー及び時間の効率をもたらす。
【００６３】
なお、本明細書に記載される実施形態は、ｎ個の入力及びｎ個の出力を有するものとしてフォトニックプロセッサ１−１０３を示しているが、幾つかの実施形態では、フォトニックプロセッサ１−１０３により実施される行列Ｍは、正方行列でないことがある。そのような実施形態では、フォトニックプロセッサ１−１０３は、異なる数の出力及び入力を有し得る。
【００６４】
なおまた、第１及び第２の行列実装１−３０１及び１−３０５内のＶＢＳの相互接続のトポロジに起因して、２つ以上の行列乗算が同時に実行され得るように、フォトニックプロセッサ１−１０３を行の非相互作用サブセットに分割することが可能である。例えば、図１−４に示されるＶＢＳアレイでは、光学モード３及び４を結合する各ＶＢＳ１−４０１が、光学モード３及び４が全く結合されないように（例えば、下付文字「３４」を有するＶＢＳ１−４０１があたかも図１−４に存在しないかのように）設定される場合、上の３つの光学モードは、下の３つの光学モードから完全に独立して動作する。そのような分割は、多数の入力光学モードを有するフォトニックプロセッサでは、はるかに大きい規模で行われ得る。例えば、ｎ＝６４のフォトニックプロセッサは、各８×８行列により８つの８成分入力ベクトルを同時に乗算し得る（８×８行列の各々は、別個にプログラム可能且つ制御可能である）。更に、フォトニックプロセッサ１−１０３は、均等に分割される必要はない。例えば、ｎ＝６４のフォトニックプロセッサは、それぞれ２０、１３、１１、８、６、４及び２つの成分を有する７つの異なる入力ベクトルに分割され得、それぞれ各行列により同時に乗算される。上記数値例は、単に例示を目的とし、任意の数の分割が可能であることを理解されたい。
【００６５】
更に、フォトニックプロセッサ１−１０３は、ベクトル−行列乗算を実行し、ここで、光学信号をＶＢＳアレイに通すことにより、ベクトルは、行列により乗算されるが、フォトニックプロセッサ１−１０３は、行列−行列乗算の実行に使用することもできる。例えば、複数の入力ベクトルがフォトニックプロセッサ１−１０３を、順次、一度に１つの入力ベクトルずつ通過し得、ここで、各入力ベクトルは、入力行列の列を表す。個々のベクトル−行列乗算の各々を光学的に計算した後（各乗算は、結果として生成される行列の出力列の列に対応する出力ベクトルを生成する）、結果は、デジタル的に結合されて、行列−行列乗算から生じた出力行列を形成し得る。
【００６６】
Ｅ．光学受信機
フォトニックプロセッサ１−１０３は、光学受信機１−１０５に送信されるｎ個の光学パルスを出力する。光学受信機１−１０５は、光学パルスを受信し、受信した光学信号に基づいて電気信号を生成する。幾つかの実施形態では、各光学パルスの振幅及び位相が特定される。幾つかの実施形態では、これは受信したホモダイン又はヘテロダイン検出方式を使用して達成される。他の実施形態では、単純な位相非敏感光検出が従来のフォトダイオードを使用して実行され得る。
【００６７】
図１−９を参照すると、光学受信機１−１０５は、幾つかの実施形態によれば、ホモダイン検出器１−９０１、トランスインピーダンス増幅器１−９０３及びアナログ−デジタル変換器（ＡＤＣ：ａｎａｌｏｇ−ｔｏ−ｄｉｇｉｔａｌ  ｃｏｎｖｅｒｔｅｒ）１−９０５を含む。構成要素は、図１−９では全ての光学モードで１つの要素として示されているが、これは、簡潔さのためである。各光学モードは、専用ホモダイン検出器１−９０１、専用トランスインピーダンス増幅器１−９０３及び専用ＡＤＣ１−９０５を有し得る。幾つかの実施形態では、トランスインピーダンス増幅器１−９０３は、使用されないこともある。代わりに、電流を電圧に変換する任意の他の適した電子回路が使用され得る。
【００６８】
図１−１０を参照すると、ホモダイン検出器１−９０３は、幾つかの実施形態によれば、局部発振器（ＬＯ：ｌｏｃａｌ  ｏｓｃｉｌｌａｔｏｒ）１−１００１、直角位相コントローラ１−１００３、ビームスプリッタ１−１００５並びに２つの検出器１−１００７及び１−１００９を含む。ホモダイン検出器１−９０３は、第１の検出器１−１００７により出力された電流と、第２の検出器１−１００９により出力された電流との間の差分に基づく電流を出力する。
【００６９】
局部発振器１−１００１は、ビームスプリッタ１−１００５において入力光学パルスと結合される。幾つかの実施形態では、光源１−２０１の一部は、光学導波路及び／又は光ファイバを介してホモダイン検出器１−９０１に透過する。光源１−２０１からの光は、それ自体、局部発振器１−１００１として使用され得るか、又は他の実施形態では、局部発振器１−１００１は、光源１−２０１からの光を使用して、位相整合光学パルスを生成する別個の光源であり得る。幾つかの実施形態では、ＭＺＩは、信号と局部発振器との間で調整を行うことができるようにビームスプリッタ１−１００５を置換し得る。
【００７０】
直角位相コントローラ１−１００３は、測定が行われる位相空間において断面角度を制御する。幾つかの実施形態では、直角位相コントローラ１−１００３は、入力光学パルスと局部発振器との間の相対位相を制御する位相シフタであり得る。直角位相コントローラ１−１００３は、入力光学モードの位相シフタとして示されている。しかし、幾つかの実施形態では、直角位相コントローラ１−１００３は、局部発振器モードであり得る。
【００７１】
第１の検出器１−１００７は、ビームスプリッタ１−１００５の第１の出力により出力された光を検出し、第２の検出器１−１００９は、ビームスプリッタ１−１００５の第２の出力により出力される光を検出する。検出器１−１００７及び１−１００９は、０バイアスで動作するフォトダイオードであり得る。
【００７２】
減算回路１−１０１１は、第１の検出器１−１００７からの電流を第２の検出器１−１００９からの電流から減算する。したがって、その結果生成された電流は、振幅及び符号（プラス又はマイナス）を有する。トランスインピーダンス増幅器１−９０３は、電流のこの差を電圧に変換し、電圧は正又は負であり得る。最後に、ＡＤＣ１−９０５は、アナログ信号をデジタルビット列に変換する。この出力ビット列は、行列乗算の出力ベクトル結果を表し、フォトニックプロセッサ１−１０３により出力される出力ベクトルの光学出力表現の電気デジタル版である。幾つかの実施形態では、出力ビット列は、更なる処理に向けてコントローラ１−１０７に送信され得、更なる処理は、１つ又は複数の出力ビット列に基づいて次の入力ビット列を決定すること及び／又は上述したように出力ビット列を外部プロセッサに送信することを含み得る。
【００７３】
本発明者らは、上述したフォトニック処理システム１−１００の構成要素が、第１の行列実装１−３０１が第２の行列実装１−３０３に接続され、第２の行列実装１−３０３が第３の行列実装１−３０５に接続されるように連続して一緒に連結する必要がないことを更に認識及び理解した。幾つかの実施形態では、フォトニック処理システム１−１０３は、１つ又は複数の乗算を実行する１つのみのユニタリ回路を含み得る。１つのユニタリ回路の出力は、光学受信機１−１０５に直接接続され得、ここで、乗算の結果は、出力光学信号を検出することにより特定される。そのような実施形態では、１つのユニタリ回路は、例えば、第１の行列実装１−３０１を実施し得る。光学受信機１−１０５により検出された結果は、次に、従来のプロセッサ（例えば、プロセッサ１−１１１）にデジタルで送信され得、第２の対角行列実装１−３０３が従来のプロセッサ（例えば、１−１１１）を使用してデジタルドメインで実行される。次に、コントローラ１−１０７は、第３の行列実装１−３０５を実行し、第２の行列実装のデジタル実施の結果に基づいて入力ビット列を特定し、再プログラムされた設定を有する１つのユニタリ回路を通して、新しい入力ビット列に基づいて符号化された光学信号を送信するように光学エンコーダを制御するように１つのユニタリ回路を再プログラムし得る。結果として生成された出力光学信号は、光学受信機１０５により検出され、次に行列乗算の結果の特定に使用される。
【００７４】
本発明者らは、複数のフォトニックプロセッサ１−１０３を順次連続して連結することが有利であり得ることも認識及び理解した。例えば、行列乗算Ｍ＝Ｍ１Ｍ２を実施することであって、式中、Ｍ１及びＭ２は、任意の行列であるが、Ｍ２は、変化する入力作業負荷に基づいてＭ１よりも頻繁に変化する、実施することのために、第１のフォトニックプロセッサは、Ｍ２を実施するように制御され得、第１のフォトニックプロセッサに光学的に結合された第２のフォトニックプロセッサは、一定に保たれるＭ１を実施することができる。このようにして、変化する入力作業負荷に基づいて頻繁に更新する必要があるのは、第１のフォトニック処理システムのみでよい。そのような構成は、計算を加速させるのみならず、コントローラ１−１０７とフォトニックプロセッサとの間を移動するデータビット数を低減もする。
【００７５】
Ｆ．折り返しフォトニック処理システム
図１−１において、そのような構成では、光学エンコーダ１−１０１及び光学受信機１−１０５は、フォトニック処理システム１−１００の対向する側に位置する。光学受信機１−１０５からのフィードバックが、プロセスの将来の反復に向けて光学エンコーダ１−１０１への入力を決定するために使用される用途では、データは、光学受信機１−１０５からコントローラ１−１０７及び光学エンコーダ１−１０１に電子的に転送される。本発明者らは、これらの電気信号が移動する必要がある距離を低減すること（例えば、電気トレース及び／又はワイヤの長さを低減することにより）が節電及び低待ち時間をもたらすことを認識及び理解した。更に、光学エンコーダ１−１０１及び光学受信機１−１０５がフォトニック処理システムの対向する端部に配置される必要はない。
【００７６】
したがって、幾つかの実施形態では、光学エンコーダ１−１０１及び光学受信機１−１０５は、電気信号が光学エンコーダ１−１０１と光学受信機１−１０５との間で移動する必要がある距離がフォトニクスプロセッサ１−１０３の幅未満であるように互いの近くに（例えば、フォトニクスプロセッサ１−１０３の同じ側に）位置する。これは、チップの同じ部分に物理的にあるように第１の行列実装１−３０１及び第３の行列実装１−３０５の構成要素を物理的にインタリーブすることにより達成され得る。この構成は、「折り返し」フォトニック処理システムと呼ばれ、その理由は、光が、まず、光学エンコーダ１−１０１及び光学受信機１−１０５から遠いチップの物理的部分に達するまで、第１の行列実装１−３０１を通して第１の方向に伝搬し、次に第３の行列実装１−３０５を実施する場合、光を第１の方向とは逆の方向に伝播するように導波路が光をターンさせるように折り返すためである。幾つかの実施形態では、第２の行列実装１−３０３は、導波路内の折り返しに隣接して物理的に配置される。そのような構成は、光学エンコーダ１−１０１、光学受信機１−１０５及びコントローラ１−１０７を接続する電気トレースの複雑性を低減し、フォトニック処理システム１−１００の実施に使用される合計チップ面積を低減する。例えば、折り返し構成を使用する幾つかの実施形態は、図１−１の連続フォトニック構成が使用される場合に必要な合計チップ面積の６５％のみを使用する。これは、フォトニック処理システムのコスト及び複雑性を下げ得る。
【００７７】
本発明者らは、折り返し構成に電気的利点があるのみならず、光学的利点もあることを認識及び理解した。例えば、ホモダイン検出での局部発振器として使用されるために、光信号が光源から移動する必要がある距離を低減することにより、光学信号の時間依存位相変動が低減され得、その結果、検出結果の品質が高くなる。特に、光源及びホモダインをフォトニクスプロセッサの同じ側に配置することにより、胸部発振器に使用される光信号が移動する距離は、もはや行列のサイズに依存しない。例えば、図１−１の連続構成では、局部発振器に向けて光信号が移動する距離は、行列のサイズと共に線形に増減する一方、折り返し構成での移動距離は、行列サイズに関係なく一定である。
【００７８】
図１−１１は、幾つかの実施形態による折り返しフォトニック処理システム１−１１００の概略図である。折り返しフォトニック処理システム１−１１００は、電力ツリー１−１１０１、複数の光学エンコーダ１−１１０３ａ乃至１−１１０３ｄ、複数のホモダイン検出器１−１１０５ａ乃至１−１１０５ｄ、複数のセレクタスイッチ１−１１０７ａ乃至１−１１０７ｄ、複数のＵ行列成分１−１１０９ａ乃至１−１１０９ｊ、複数の対角行列成分１−１１１１ａ乃至１−１１１１ｄ及び複数のＶ行列成分１−１１１３ａ乃至１−１１１３ｊを含む。明確にするために、折り返しフォトニック処理システムの構成要素の全てが図に示されているわけではない。折り返しフォトニック処理システム１−１１００が連続フォトニック処理システム１−１００と同様の構成要素を含み得ることを理解されたい。
【００７９】
電力ツリー１−１１０１は、図２の電力ツリー１−２０３と同様であり、光を光源（図示せず）から光学エンコーダ１−１１０３に送るように構成される。しかしながら、電力ツリー１−１１０１と電力ツリー１−２０３との違いは、電力ツリーが光学信号をホモダイン検出器１−１１０５ａに直接送ることである。図２では、光源２０１は、光源からの光学信号の一部を取り出し、導波路を使用して光学信号をガイドすることにより、フォトニックプロセッサの逆側にあるホモダイン検出器に局部発振器信号を送る。図１−１１では、電力ツリー１−１１０１は、空間モードの数の２倍に等しい数の出力を含む。例えば、図１−１１は、フォトニックプロセッサの４つのみの空間モードを示し、電力ツリー１−１１０１から８つの出力モードが生成される。１つの出力は、光を各光学エンコーダ１−１１０３に向け、１つの出力は、光を各ホモダイン検出器１−１１０５に向ける。電力ツリーは、例えば、カスケード接続されたビームスプリッタ又はマルチモード干渉計（ＭＭＩ）を使用して実施され得る。
【００８０】
光学エンコーダ１−１１０３は、図１の電力ツリー光学エンコーダ１−１０１と同様であり、電力ツリー１−１１０１から受信された光学信号の振幅及び／又は位相に情報を符号化するように構成される。これは、例えば、図２の光学エンコーダ１−１０１に関連して説明したように達成され得る。
【００８１】
ホモダイン検出器１−１１０５は、電力ツリー１−１１０１とＵ行列成分１−１１０９との間に配置される。幾つかの実施形態では、ホモダイン検出器１−１１０５は、光学エンコーダ１−１１０３を有する列に物理的に位置決めされる。幾つかの実施形態では、光学エンコーダ１−１１０３及びホモダイン検出器１−１１０５は、１列においてインタリーブされ得る。このようにして、光学エンコーダ１−１１０３及びホモダイン検出器１−１１０５は、互いの近傍にあり、光学エンコーダ１−１１０３及びホモダイン検出器１−１１０５並びに光学エンコーダ１−１１０３及びホモダイン検出器１−１１０５の列に隣接して物理的に配置され得るコントローラ（図示せず）の接続に使用される電気トレース（図示せず）の距離を低減する。
【００８２】
各光学エンコーダ１−１１０３は、各ホモダイン検出器１−１１０５に関連付けられる。光学エンコーダ１−１１０３及びホモダイン検出器１−１１０５は、両方とも光学信号を電力ツリー１−１１０１から受信する。光学エンコーダ１−１１０３は、上述したように光学信号を使用して、入力ベクトルを符号化する。ホモダイン検出器１−１１０５は、上述したように、電力ツリーから受信された受信光学信号を局部発振器として使用する。
【００８３】
光学エンコーダ１−１１０３及びホモダイン検出器１−１１０５の各対は、セレクタスイッチ１−１１０７に関連付けられ、導波路によりセレクタスイッチ１−１１０７に接続される。セレクタスイッチ１−１１０７ａ乃至１−１１０７ｄは、例えば、従来の２×２光学スイッチを使用して実施され得る。幾つかの実施形態では、２×２光学スイッチは、バーへのクロスからＭＺＩの挙動を制御する内部位相シフタを有するＭＺＩである。スイッチ１−１１０７は、コントローラ（図示せず）に接続されて、光学エンコーダ１−１１０３から受信された光学信号がＵ行列成分１−１１０９に向けてガイドされるか、又はＶ行列成分１−１１１３に向けてガイドされるかを制御する。光学スイッチは、Ｕ行列成分１−１１０９及び／又はＶ行列成分１−１１１３から受信された光を検出に向けてホモダイン検出器１−１１０５に向けてガイドするようにも制御される。
【００８４】
行列乗算を実施する技法は、図１−３において説明したように、連続システムに関連して上述したようなフォトニック折り返しフォトニック処理システム１−１１００におけるものと同様である。２つのシステムの違いは、行列成分の物理的配置及び折り返し１−１１２０の実施であり、光学信号は、図１−１１における概ね左から右への伝播から、概ね右から左への伝播に変更される。図１−１１では、構成要素間の接続は、導波路を表し得る。実線接続は、幾つかの実施形態では、光学信号が左から右に伝播している導波路の部分を表し、破線接続は、幾つかの実施形態では、光学信号が右から左に伝播している導波路の部分を表す。特に、この表記を所与として、図１−１１に示される実施形態は、セレクタスイッチ１−１１０７が光学信号をまずＵ行列成分１−１１０９にガイドする実施形態である。他の実施形態では、セレクタスイッチ１−１１０７は、光学信号をまずＶ行列成分１−１１１３にガイドし得、この場合、破線は、光学信号が左から右に伝播している導波路の部分を表し、実線接続は、光学信号が右から左に伝播している導波路の部分を表す。
【００８５】
行列ＭのＳＶＤのＵ行列は、Ｖ行列成分１−１１１３とインタリーブされたＵ行列成分１−１１０９を使用してフォトニック処理システム１−１１００において実施される。したがって、図１−３に示される連続構成の実施形態と異なり、Ｕ行列成分１−１１０９及びＶ行列成分１−１１１３の全ては、１つの物理的なエリア内の各自己完結型アレイに物理的に配置されない。したがって、幾つかの実施形態では、フォトニック処理システム１−１１００は、行列成分の複数の列を含み、列の少なくとも１つは、Ｕ行列成分１−１１０９及びＶ行列成分１−１１１３の両方を含む。幾つかの実施形態では、図１−１１に示されるように、１列目は、Ｕ行列成分１−１１０９のみを有し得る。Ｕ行列成分１−１１０９は、図３の第１の行列実装１−３０１と同様に実施される。
【００８６】
Ｕ行列成分１−１１０９及びＶ行列成分１−１１１３のインタリーブ構造に起因して、折り返しフォトニック処理システム１−１１００は、行列要素の列間の種々の場所に導波路クロスオーバ１−１１１０を含む。幾つかの実施形態では、導波路クロスオーバは、集積フォトニクスチップにおける２つ以上の層間に断熱エバネッセントエレベータを使用して構築することができる。他の実施形態では、Ｕ行列及びＶ行列は、同じチップの異なる層に位置し得、導波路クロスオーバは、使用されない。
【００８７】
光学信号は、Ｕ行列成分１−１１０９の全てを通して伝播した後、対角行列成分１−１１１１に伝播し、対角行列成分１−１１１１は、図１−３の第２の行列実装１−３０３と同様に実施される。
【００８８】
光学信号は、対角行列成分１−１１１１の全てを通して伝播した後、Ｖ行列成分１−１１１３に伝搬し、Ｖ行列成分１−１１１３は、図１−３の第３の行列実装１−３０５と同様に実施される。行列ＭのＳＶＤのＶ行列は、Ｕ行列成分１−１１０９とインタリーブされたＶ行列成分１−１１１３を使用してフォトニック処理システム１−１１００において実施される。したがって、Ｖ行列成分１−１１１３の全ては、１つの自己完結型アレイに物理的に配置されない。
【００８９】
光学信号は、Ｖ行列成分１−１１１３の全てを通して伝播した後、セレクタスイッチ１−１１０７に戻り、セレクタスイッチ１−１１０７は、光学信号を検出に向けてホモダイン検出器１−１１０５にガイドする。
【００９０】
本発明者らは、光学エンコーダ後且つ行列成分前にセレクタスイッチを含めることにより、折り返しフォトニック処理システム１−１１００が回路の効率的な双方向性を可能にすることを更に認識及び理解した。したがって、幾つかの実施形態では、図１−１に関連して説明したコントローラ１−１０７等のコントローラは、光学信号がまずＵ行列により乗算されるか、又はまずＶＴ行列により乗算されるかを制御し得る。光学信号が左から右に伝播する場合、ユニタリ行列Ｕを実施するように設定されたＶＢＳのアレイの場合、光学信号を右から左に伝播させることは、ユニタリ行列ＵＴによる乗算を実施する。したがって、ＶＢＳのアレイの同じ設定は、光学信号がアレイを通していずれの方向に伝播するかに応じてＵ及びＵＴの両方を実施することができ、光学信号がアレイを通していずれの方向に伝播するかは、１−１１０７におけるセレクタスイッチを使用して制御され得る。機械学習アルゴリズムのトレーニングに使用されるバックプロパゲーション等の幾つかの用途では、光学信号を１つ又は複数の行列に逆方向に通すことが望ましいことがある。他の用途では、入力ベクトルに対する反転行列の演算の計算に双方向性を使用することができる。例えば、可逆ｎ×ｎ行列Ｍの場合、ＳＶＤによりＭ＝ＶＴΣＵが生成される。この行列の反転は、Ｍ−１＝ＵＴΣ−１Ｖであり、式中、Σ−１は、各対角要素を反転することにより効率的に計算することができる対角行列の反転である。行列Ｍによりベクトルを乗算するために、スイッチは、光学信号を行列Ｕ、次にΣ、次にＶＴに第１の方向で向けるように構成される。反転Ｍ−１によりベクトルを乗算するには、特異値は、まず、Σ−１行列の実施をプログラムするように設定される。これは、図１−３に示されるもの等の単方向フォトニック処理システムの場合に該当するフォトニックプロセッサの２ｎ＋１個の全ての列の代わりに、ＶＢＳの１列のみの設定の変更を構成する。次に、入力ベクトルを表す光学信号は、行列ＶＴ、次にΣ−１、次にＵに、第１の方向とは逆の第２の方向で伝播する。セレクタスイッチ１−１１０７を使用して、折り返しフォトニック処理システム１−１１００は、Ｕ行列（又はその転置）を先に実施することから、ＶＴ行列（又はその転置）をまず実施することに容易に変更され得る。
【００９１】
Ｇ．波長分割多重化
本発明者らは、同じ行列により異なるベクトルを多重化し得る用途があることを更に認識及び理解した。例えば、機械学習アルゴリズムをトレーニング又は使用する場合、データセットは、同じ行列乗算を用いて処理され得る。本発明者らは、フォトニックプロセッサ前後の構成要素が波長分割多重化（ＷＤＭ）される場合、これが１つのフォトニックプロセッサを用いて達成され得ることを認識及び理解した。したがって、幾つかの実施形態は、１つのみのフォトニックプロセッサを使用して行列乗算を実施しながら、それぞれに異なる波長が関連付けられた複数のフロントエンド及びバックエンドを含む。
【００９２】
図１−１２Ａは、幾つかの実施形態によるＷＤＭフォトニック処理システム１−１２００を示す。ＷＤＭフォトニック処理システム１−１２００は、Ｎ個のフロントエンド１−１２０３、Ｎ個の空間モードを有する１つのフォトニックプロセッサ１−１２０１及びＮ個のバックエンド１−１２０５を含む。
【００９３】
フォトニックプロセッサ１−１２０１は、フォトニックプロセッサ１−１０３と同様であり得、Ｎ個の入力モード及びＮ個の出力モードを有する。Ｎ個のフロントエンド１−１２０３の各々は、フォトニックプロセッサ１−１２０１の各入力モードに接続される。同様に、Ｎ個のバックエンド１−１２０５の各々は、フォトニックプロセッサ１−１２０１の各出力モードに接続される。
【００９４】
図１−１２Ｂは、フロントエンド１−１２０３の少なくとも１つの細部を示す。他の実施形態のフォトニック処理システムと同様に、フォトニック処理システム１−１２００は、光学エンコーダ１−１２１１を含む。しかし、この実施形態では、Ｍ個の異なる光学エンコーダがあり、ここで、Ｍは、ＷＤＭフォトニック処理システム１−１２００により多重化される波長数である。Ｍ個の光学エンコーダ１−１２１１の各々は、各々が異なる波長のＭ個の光学信号を生成する光源（図示せず）から光を受け取る。光源は、例えば、レーザのアレイ、周波数コーム生成器又は異なる波長のコヒーレント光を生成する任意の他の光源であり得る。Ｍ個の光学エンコーダ１−１２１１の各々は、適切な振幅及び位相の変調を実施して、データを光学信号に符号化するようにコントローラ（図示せず）により制御される。次に、Ｍ個の符号化光学信号は、Ｍ：１のＷＤＭ１−１２１３を使用して１つの導波路に結合される。次に、１つの導波路は、フォトニックプロセッサ１−１２０１のＮ個の導波路の１つに接続する。
【００９５】
図１−１２Ｃは、バックエンド１−１２０５の少なくとも１つの細部を示す。他の実施形態のフォトニック処理システムと同様に、フォトニック処理システム１−１２００は、検出器１−１２２３を含み、検出器１−１２２３は、位相敏感又は位相非敏感検出器であり得る。しかし、この実施形態では、Ｍ個の異なる検出器１−１２２３があり、ここで、Ｍは、ＷＤＭフォトニック処理システム１−１２００により多重化される波長の数である。Ｍ個の検出器１−１２２３の各々は、１：ＭのＷＤＭ１−１２２１から光を受け取り、１：ＭのＷＤＭ１−１２２１は、フォトニックプロセッサ１−１２０１からの１つの出力導波路をＭ個の異なる波長に分割し、Ｍ個の異なる波長は、それぞれ各波長の光学信号を搬送する。Ｍ個の検出器１−１２２３の各々は、測定結果を記録するようにコントローラ（図示せず）により制御され得る。例えば、Ｍ個の検出器１２２３の各々は、ホモダイン検出器又は位相非敏感光検出器であり得る。
【００９６】
幾つかの実施形態では、フォトニックプロセッサ１−１２０１におけるＶＢＳは、関心のあるＭ個の波長内で非分散であるように選択され得る。したがって、全ての入力ベクトルは、同じ行列により乗算される。例えば、方向結合器の代わりにＭＭＩが使用可能である。他の実施形態では、ＶＢＳは、関心のあるＭ個の波長内で分散するように選択され得る。ニューラルネットワークモデルのパラメータの確率的最適化に関連する幾つかの用途では、これは、パラメータの勾配を計算する際にノイズを追加することに等しく、勾配ノイズの増大は、より高速の最適化収束に有利であり得、ニューラルネットワークのロバスト性を改善し得る。
【００９７】
図１−１２Ａは、連続フォトニック処理システムを示すが、同様のＷＤＭ技法は、折り返しフォトニックプロセッサ１−１１００に関連して説明した技法を使用してＷＤＭ折り返しフォトニックプロセッサを形成するために使用され得る。
【００９８】
Ｈ．出力のアナログ合算
本発明者らは、経時にわたるフォトニックプロセッサ１−１０３からの出力の平均の和を計算することが有用な用途があることを認識及び理解した。例えば、フォトニック処理システム１−１００が１つのデータ点のより厳密な行列−ベクトル乗算の計算に使用される場合、１つのデータ点をフォトニックプロセッサに複数回通して、計算の統計結果を改善することが望まれる場合がある。追加又は代替として、バックプロパゲーション機械学習アルゴリズムにおいて勾配を計算する場合、勾配を決定する１つのデータ点を望まないことがあり、したがって複数のトレーニングデータ点がフォトニック処理システム１−１００を通り得、勾配の計算に平均結果が使用され得る。フォトニック処理システムを使用して、バッチ勾配に基づく最適化アルゴリズムを実行する場合、この平均化は、勾配推定の品質を高め、それにより高品質解の達成に必要な最適化ステップの数を低減し得る。
【００９９】
本発明者らは、出力をデジタル電気信号に変換する前に出力信号がアナログドメインで合算され得ることを更に認識及び理解した。したがって、幾つかの実施形態では、ローパスフィルタが使用されて、ホモダイン検出器からの出力を合算する。アナログドメインで合算を実行することにより、ホモダイン電子回路は、デジタルドメインで合算を実行するのに必要な高価な高速ＡＤＣ（例えば、高消費電力要件を有するＡＤＣ）ではなく、低速ＡＤＣを使用し得る。
【０１００】
図１−１３は、幾つかの実施形態による光学受信機１−１３００の一部及びローパスフィルタ１−１３０５がホモダイン検出器１−１３０１とどのように併用され得るかを示す。ホモダイン検出器１−１３０１は、入力光学パルスの場及び位相の測定を実行する。ｋが経時にわたる異なる入力パルスのラベルであり、合計でＫ個の入力がある場合、ｋにわたる合算は、ローパスフィルタ１−１３０５を使用してアナログドメインで自動的に実行することができる。この光学受信機１−１３００と、図１−９に示された光学受信機１−１０５との主な違いは、ローパスフィルタがホモダイン検出器の出力後のトランスインピーダンス増幅器１−１３０３後であることである。合計でＫ個の信号（成分ｙｉ（ｋ）を有する）が１つの低速サンプリング期間Ｔｓ（ｓｌｏｗ）内でホモダイン検出器に到達する場合、ローパスフィルタは、ｙｉ（ｋ）の符号及び値に従ってキャパシタＣにおける電荷を蓄積／除去する。ローパスフィルタの最終出力は、
【０１０１】
【数８】
2021523508.tif 000010
に比例し、これは、サンプリング周波数ｆｓ（ｓｌｏｗ）＝１／Ｔｓ（ｓｌｏｗ）＝ｆｓ／Ｋでより低速のＡＤＣ（図示せず）を用いて１回読み取ることができ、ここで、ｆｓは、当初必要とされていたサンプリング周波数である。理想的なシステムでは、ローパスフィルタは、３ｄＢ帯域幅を有するべきである：ｆ３ｄＢ＝ｆｓ（ｓｌｏｗ）／２。図１−１３の実施形態に示されるようにＲＣ回路を使用するローパスフィルタの場合、ｆ３ｄＢ＝１／（２πＲＣ）であり、Ｒ及びＣの値は、所望のサンプリング周波数：ｆｓ（ｓｌｏｗ）を得るように選択することができる。
【０１０２】
幾つかの実施形態では、高速ＡＤＣ及び低速ＡＤＣの両方が存在し得る。これに関連して、高速ＡＤＣは、個々の各アナログ信号を受信し、デジタル信号に変換するように構成されたＡＤＣ（例えば、アナログ信号がＡＤＣに到着する周波数以上のサンプリング周波数を有するＡＤＣ）であり、低速ＡＤＣは、複数のアナログ信号を受信し、受信した複数のアナログ信号の和又は平均を１つのデジタル信号に変換するように構成されたＡＤＣ（例えば、アナログ信号がＡＤＣに到着する周波数未満のサンプリング周波数を有するＡＤＣ）である。電気スイッチは、ホモダイン検出器及び場合によりトランスインピーダンス増幅器から低速ＡＤＣを有するローパスフィルタ又は高速ＡＤＣに切り替えるために使用され得る。このようにして、幾つかの実施形態のフォトニック処理システムは、低速ＡＤＣを使用してアナログ合算を実行することと、高速ＡＤＣを使用してあらゆる光学信号を測定することとを切り替え得る。
【０１０３】
Ｉ．位相の安定化
本発明者らは、正確な結果を保証するために、位相敏感測定（例えば、ホモダイン検出）の実行に使用される局部発振器の位相を安定化することが望ましいことを認識及び理解した。本明細書に記載される実施形態のフォトニックプロセッサは、Ｎ個の別個の空間モード間で光を干渉させることにより行列演算を実行する。幾つかの実施形態では、結果は、ホモダイン又はヘテロダイン検出器等の位相敏感検出器を用いて測定される。したがって、行列演算が正確に実行されることを保証するために、フォトニックプロセッサの種々の部分に付与された位相は、可能な限り正確であるべきであり、位相敏感検出の実行に使用される局部発振器の位相は、精密に既知であるべきである。
【０１０４】
本発明者らは、フォトニックプロセッサのＶＢＳの１列内で実行される等の並列干渉演算が、ＶＢＳのＭＺＩ内の相対位相及びＭＺＩの出力の位相及び相対位相を制御する位相変調器を使用して正確な位相を付与するはずであるのみならず、列内の各ＶＢＳがフォトニックプロセッサの全ての空間モードにわたり同じグローバル位相シフトを付与すべきであることを認識及び理解した。この用途では、フォトニックプロセッサにおけるＶＢＳの列のグローバル位相シフトは、「列−グローバル位相」と呼ばれる。列グローバル位相は、温度シフトに起因した導波路又は位相を通る伝播に起因して付与される位相等のＶＢＳに関連付けられた、プログラムされた位相に関連しない影響に起因して付与される。これらの位相は、ＶＢＳ上の列内で厳密に同時に付与される必要はなく、対象の列をトラバースした結果として付与されるのみでよい。列−グローバル位相が列の異なる空間モード間で均一であることを保証することは、ある列からの出力光学信号が、続く列における１つ又は複数のＶＢＳにおいて干渉される可能性が高いため、重要である。前の列における列−グローバル位相が均一ではない場合、続く干渉（したがって計算自体の精度）は、不正確である。
【０１０５】
図１−１４は、フォトニック処理システム１−１４００の列−グローバル位相及び合計グローバル位相を示す。フォトニック処理システムの上記実施形態と同様に、フォトニック処理システム１−１４００は、Ｕ行列実装１−１４０１、対角行列実装１−１４０３、Ｖ行列実装１−１４０５及び複数の検出器１−１４０７ａ乃至１−１４０７ｄを含む。これらの実装は、上述した第１、第２及び第３の行列実装と同様である。簡潔にするために、フォトニック処理システム１−１４００の４つのみのモードが示されるが、任意のより多数のモードが使用可能であることを理解されたい。また、簡潔さのために、Ｕ行列実装１−１４０１に関連付けられたＶＢＳのみが示されている。対角行列実装１−１４０３及びＶ行列実装１−１４０５の構成要素の配置は、上述した第３及び第４の行列実装と同様である。
【０１０６】
Ｕ行列実装１−１４０１は、複数のＶＢＳ１−１４０２を含むが、明確さのために１つのみのＶＢＳ１−１４０２が記されている。しかしながら、ＶＢＳは、特定のＶＢＳにより、いずれの光学モードが混合されているかを識別する下付文字及び関連付けられた列を記す上付き文字を用いて記される。
【０１０７】
図１−１４に示されるように、各列は、理想的には列のあらゆる要素で均一な列−グローバル位相に関連付けられる。例えば、Ｕ行列実装１−１４０１の列１は、列−グローバル位相ΦU1に関連付けられ、Ｕ行列実装１−１４０１の列２は、列−グローバル位相ΦU2に関連付けられ、Ｕ行列実装１−１４０１の列３は、列−グローバル位相ΦU3に関連付けられ、Ｕ行列実装１−１４０１の列４は、列−グローバル位相Φ４に関連付けられる。
【０１０８】
幾つかの実施形態では、列−グローバル位相は、少なくとも部分的に各ＶＢＳ１−１４０２をプッシュ−プル構成でＭＺＩとして実施することにより均一にすることができる。代替又は追加として、外部位相シフタは、各ＭＺＩの出力に追加されて、ＭＺＩの内部位相要素（例えば、位相シフタ）から付与された任意の位相誤差を補正することができる。
【０１０９】
本発明者らは、フォトニック処理システム１−１４００の各列が均一な列−グローバル位相を提供するという条件であっても、信号が最初の列から最後の列に伝播するにつれて位相が生じ得ることを更に認識及び理解した。Ｕ行列実装１−１４０１全体に関連付けられたグローバルＵ行列位相φＵがあり、個々の列−グローバル位相の和に等しい。同様に、対角行列実装１−１４０３は、グローバル対角行列位相ΦΣに関連付けられ、Ｖ行列実装１−１４０５は、グローバル対角行列位相ΦＶ†に関連付けられる。したがって、フォトニック処理システム１−１４００全体の合計グローバル位相ΦＧは、３つの個々のグローバル行列位相の和により与えられる。この合計グローバル位相は、全ての出力モード間で均一であるように設定され得るが、位相敏感検出に使用される局部発振器は、フォトニックプロセッサを伝播せず、この合計グローバル位相を受けなかった。合計グローバル位相ΦＧは、説明されない場合、ホモダイン検出器１−１４０７ａ乃至１−１４０７ｄにより読み出される値の誤差に繋がり得る。
【０１１０】
本発明者らは、乗算演算における誤差が、導波路の有効屈折率ｎｅｆｆを変える温度変化から生じ得ることを更に認識した。したがって、幾つかの実施形態では、各列の温度が均一に設定されるか、又は１列の全てのモードに付与される位相が均一であるように能動的に調整されるように安定化回路を各回路に配置することができる。更に、局部発振器の光信号がシステムの異なる部分を通して伝播するにつれて、システムの異なる部分間の温度差は、位相の影響を受けやすい測定に誤差を生じさせる恐れがある。信号と局部発振器との間の位相差の量は、
【０１１１】
【数９】
2021523508.tif 000011
であり、式中、ＴＳ及びＴＬＯは、それぞれフォトニックプロセッサにおける信号導波路及び局部発振器導波路の温度であり、ｎｅｆｆ（Ｔ）は、温度の関数としての有効屈折率であり、λは、光の平均波長であり、ＬＳ及びＬＬＯは、それぞれフォトニックプロセッサにおける信号導波路及び局部発振器導波路を通る伝播長である。温度差ΔＴ＝ＴＬＯ−ＴＳが小さいと仮定すると、有効屈折率は、
【０１１２】
【数１０】
2021523508.tif 000012
として書き換えることができる。したがって、信号とＬＯとの間の位相差は、
【０１１３】
【数１１】
2021523508.tif 000013
により良好に近似することができ、これは、伝播長Ｌが長くなるにつれて線形に増大する。したがって、十分に長い伝播距離の場合、小さい温度変化は、大きい位相シフトを生じさせ得る（約１ラジアン）。重要なことに、ＬＳの値は、ＬＬＯの値と同じである必要はなく、２つの間の最大差は、光源のコヒーレント長Ｌｃｏｈによって決まる。帯域幅Δνを有する光源の場合、コヒーレント長は、
【０１１４】
【数１２】
2021523508.tif 000014
により良好に近似することができ、式中、ｃｅｆｆは、伝送媒体における光の速度である。ＬＳとＬＬＯとの間の長さの差がＬｃｏｈよりもはるかに短い限り、信号と局部発振器との間の干渉は、フォトニック処理システムの正確な演算に可能である。
【０１１５】
上記に基づいて、本発明者らは、幾つかの実施形態におけるフォトニックプロセッサの出力信号と、ホモダイン検出に使用される局部発振器との間で生じ得る位相誤差の少なくとも２つの原因を識別した。したがって、理想的なホモダイン検出器は、２つの光検出器の出力を減算することにより信号出力の大きさ及び位相を測定し、位相敏感強度出力測定Ｉｏｕｔ∝│Ｅｓ││ＥＬＯ│ｃｏｓ（θｓ−θＬＯ＋ΦＧ＋ΦＴ）が生じ、ここで、ＥＳは、フォトニックプロセッサの出力からの光学信号の電場大きさであり、ＥＬＯは、局部発振器の電場大きさであり、θＳは、測定が望まれるフォトニックプロセッサにより付与される位相シフトであり、φＧは、合計グローバル位相であり、φＴは、局部発振器と光学信号との間の温度差により生じる位相シフトである。したがって、合計グローバル位相及び温度差に起因した位相シフトが説明されない場合、ホモダイン検出の結果は、誤りであり得る。したがって、幾つかの実施形態では、合計系統的位相誤差Δφ＝φＧ＋φＴが測定され、システムは、その測定に基づいて較正される。幾つかの実施形態では、合計系統的位相誤差は、必ずしも既知でないか又は識別されない誤差の他の原因からの寄与を含む。
【０１１６】
幾つかの実施形態によれば、ホモダイン検出器は、予め計算されたテスト信号を検出器に送信し、予め計算されたテスト信号と測定されたテスト信号との間の差を使用して、システムにおける合計系統的位相誤差を補正することにより較正され得る。
【０１１７】
幾つかの実施形態では、フォトニックプロセッサを通して伝播する光学信号に関連するものとして、合計グローバル位相φＧ及び温度差によって生じる位相シフトφＴを考慮するのではなく、いかなる位相シフトも生じさせず、合計系統的位相誤差  −  Δφを有するＬＯを生じさせる信号として説明することができる。図１−１５は、そのような状況におけるホモダイン測定の結果への影響を示す。信号［ｘ，ｐ］Ｔの直角位相値の元の（正確な）ベクトルは、不正確な直角位相値［ｘ’，ｐ’］Ｔを生成するΔφによりパラメータ化される回転行列により回転する。
【０１１８】
合計系統的誤差に起因した直角位相回転に基づいて、幾つかの実施形態では、Δφの値は、以下のように得られる。まず、ベクトル
【０１１９】
【数１３】
2021523508.tif 000015
は、例えば、コントローラ１−１０７を使用して選択される（例えば、ランダムベクトル）。ベクトルは、フォトニック処理システムの光学エンコーダにより準備することができるタイプのものである。第２に、
【０１２０】
【数１４】
2021523508.tif 000016
の出力値は、例えば、コントローラ１−１０７又は何らかの他の計算デバイスを使用して計算され、式中、Ｍは、Δφが生じた不明な位相がないと仮定した理想的な場合にフォトニックプロセッサにより実施される行列である。その結果、
【０１２１】
【数１５】
2021523508.tif 000017
の各要素は、ｘｋ＋ｉｐｋに対応し、ここで、ｋは、フォトニックプロセッサの各出力モードを記す。
【０１２２】
幾つかの実施形態では、フォトニックプロセッサを通してランダムベクトルが伝播することにおける損失は、理論的予測ｘｋ＋ｉｐｋを計算する際に考慮され得る。例えば、伝送効率ηを有するフォトニックプロセッサの場合、ｘｋ＋ｉｐｋの場信号は、
【０１２３】
【数１６】
2021523508.tif 000018
になる。
【０１２４】
次に、ランダムベクトル
【０１２５】
【数１７】
2021523508.tif 000019
は、実際のシステムの光学エンコーダにより準備され、フォトニックプロセッサを通して伝播し、出力ベクトルの各要素は、両方の直角位相で測定されて、ｘｋ’＋ｉｐｋ’を得る。局部発振器と出力モードｋの信号との間の位相差Δφｋは、
【０１２６】
【数１８】
2021523508.tif 000020
により与えられる（一般に、モードｋでの検出器に対するＬＯの路長は、モードｌの場合ものと異なり得るため、ｋ≠ｌの場合、Δφｋ≠Δφｌである）。
【０１２７】
最後に、ホモダイン検出器の測定直角位相の選択に使用される局部発振器位相シフタは、θＬＯ，ｋ＝Δφｋを付与するように制御される。その結果、図１−１５に示されるように、軸（ｘ，ｐ）は、軸（ｘ’，ｐ’）と位置合わせされる。この段階で較正をチェックして、ベクトル
【０１２８】
【数１９】
2021523508.tif 000021
を伝播させて、両方の直角位相が測定される場合、取得された測定結果が、予測された
【０１２９】
【数２０】
2021523508.tif 000022
に等しいことをもう一度調べることにより、正確であることを保証し得る。
【０１３０】
一般に、Δφｋの値は、場の振幅
【０１３１】
【数２１】
2021523508.tif 000023
が可能な限り大きい場合、より精密に特定することができる。例えば、場ＥＳ，ｋが例えばレーザ源からのコヒーレント信号であると見なされる場合、光学信号は、理論的にコヒーレント状態としてモデリングされ得る。直観的な図は、図１−１６に与えられ、ここで、信号は、振幅｜ＥＳ，ｋ｜であり、ノイズは、ガウスコヒーレント状態の標準偏差により与えられる。モードｋにおけるコヒーレント状態｜αｋ＞は、消滅演算子αｋの固有状態であり、すなわちαｋ｜αｋ＞＝αｋ｜αｋ＞である。１つの周波数ωを有するモードｋの電場は、
【０１３２】
【数２２】
2021523508.tif 000024
により記述され、これは、コヒーレント状態の固有状態でもある。
【０１３３】
【数２３】
2021523508.tif 000025
同じ周波数ωの局部発振器を有するホモダイン検出器は、θＬＯ＝０の場合、直角位相測定
【０１３４】
【数２４】
2021523508.tif 000026
を実行し、θＬＯ＝π／２の場合、
【０１３５】
【数２５】
2021523508.tif 000027
を実行する。理想的なホモダイン検出器は、これらの測定が、
【０１３６】
【数２６】
2021523508.tif 000028
の固有量子ノイズを有することを見つける。このノイズは、量子不確実性に関連し、直角位相のスクイーズにより低減することができる。角度Δφｋを特定することができる精度は、これらの測定の信号対雑音比（ＳＮＲ：ｓｉｇｎａｌ−ｔｏ−ｎｏｉｓｅ  ｒａｔｉｏ）に直接関連する。合計でＮｐｈ個の光子を有するコヒーレント状態信号ＥＳ，ｋ（すなわち、
【０１３７】
【数２７】
2021523508.tif 000029
の場合、ｘｋ及びｐｋの両方のＳＮＲは、
【０１３８】
【数２８】
2021523508.tif 000030
により上限を区切られる。（ＳＮＲｘの限度は、θＳ＝０又はπの場合、飽和し、ＳＮＲｐへの限度は、θＳ＝π／２又は３π／２の場合、飽和する）。したがって、ＳＮＲを増大させ、Δφｋの値をより正確に特定するために、幾つかの実施形態は、ベクトル
【０１３９】
【数２９】
2021523508.tif 000031
の少数の異なる選択（例えば、複数の異なるランダムベクトル）を伝播させ得る。幾つかの実施形態では、
【０１４０】
【数３０】
2021523508.tif 000032
の選択は、一度にｋの１つの値で振幅｜ＥＳ，ｋ｜＝Ｎｐｈを最大にするように選択される。
【０１４１】
例えば、経時にわたる温度変動に起因したフォトニック処理システムの動作中、位相ドリフトがあり得る。したがって、幾つかの実施形態では、システムの動作中、上記較正手順が繰り返し実行され得る。例えば、幾つかの実施形態では、較正手順は、位相ドリフトの自然な時間尺度よりも短い時間尺度で定期的に実行される。
【０１４２】
本発明者らは、位相敏感測定を全く必要とせずに符号付き行列演算を実行することが可能であることを更に認識及び理解した。したがって、用途では、各出力モードでの各ホモダイン検出器は、その出力モードにおいて光の強度を測定する直接光検出器で置換され得る。そのようなシステムでは、局部発振器がないため、系統的位相誤差Δφは、存在せず、意味がない。したがって、幾つかの実施形態によれば、ホモダイン検出等の位相敏感測定は、系統的位相誤差がわずかであるように回避され得る。例えば、符号付き行列及びベクトルの行列演算を計算する場合、複素行列及びベクトル並びに符号なし行列を使用した多元（四元、八元及び他の同形（例えば、単位的代数の要素））行列及びベクトルは、位相敏感測定を必要としない。
【０１４３】
位相敏感測定がどのように必要ないかを示すために、符号付き行列Ｍと、符号付きベクトル
【０１４４】
【数３１】
2021523508.tif 000033
との間で行列乗算を実行する場合を考える。符号付き出力
【０１４５】
【数３２】
2021523508.tif 000034
の値を計算するために、例えば、コントローラ１−１０７により以下の手順が実行され得る。まず、行列Ｍは、Ｍ＋及びＭ−に分割され、ここで、Ｍ＋（Ｍ−）は、Ｍの全ての正（負）のエントリを含む行列である。この場合、Ｍ＝Ｍ＋−Ｍ−である。第２に、ベクトルは、ベクトル
【０１４６】
【数３３】
2021523508.tif 000035
であるように同様に分割され、ここで、
【０１４７】
【数３４】
2021523508.tif 000036
は、
【０１４８】
【数３５】
2021523508.tif 000037
の全ての正（負）のエントリを含むベクトルである。分割の結果として、
【０１４９】
【数３６】
2021523508.tif 000038
である。この最終式の各項は、フォトニック処理システムにより個々に実行され得る別個の演算
【０１５０】
【数３７】
2021523508.tif 000039
に対応する。各演算の出力は、１つの（正）符号のベクトルであり、したがってホモダイン検出の必要なしで直接検出方式を使用して測定することができる。光検出器方式は、強度を測定するが、強度の平方根が特定され得、電場振幅が生成される。幾つかの実施形態では、各演算は、別個に実行され、結果は、全ての別個の演算が実行され、結果がデジタル的に結合されて、乗算の最終結果
【０１５１】
【数３８】
2021523508.tif 000040
を得るまでメモリ（例えば、コントローラ１−１０７のメモリ１−１０９）に記憶される。
【０１５２】
Ｍ＋及びＭ−が両方とも全ての正のエントリの行列であるため、上記方式が機能する。同様に、
【０１５３】
【数３９】
2021523508.tif 000041
は、両方とも全て正のエントリのベクトルである。したがって、乗算の結果は、全て正のエントリのベクトルになる  −  結合に関わりなく。
【０１５４】
本発明者らは、上記分割技法が複素値ベクトル／行列、四元値ベクトル／行列、八元値ベクトル／行列及び他の多元表現に拡張され得ることを更に認識及び理解した。複素数は、２つの異なる基本単位｛１，ｉ｝を利用し、四元数は、４つの異なる基本単位｛１，ｉ，ｊ，ｋ｝を利用し、八元数は、８つの基本単位｛ｅ０≡１，ｅ１，ｅ２，．．．，ｅ７｝を利用する。
【０１５５】
幾つかの実施形態では、複素ベクトルは、符号付き行列及びベクトルについて上述した手順と同様に乗算を別個の複数の演算に分割することにより、位相敏感検出を必要とせずに複素行列により乗算され得る。複素数の場合、乗算は、全て正の行列及び全て正のベクトルの１６個の別個の乗算に分割される。次に、１６個の別個の乗算の結果は、デジタル的に結合されて、出力ベクトル結果を特定し得る。
【０１５６】
幾つかの実施形態では、四元値ベクトルは、符号付き行列及びベクトルについて上述した手順と同様に乗算を別個の複数の演算に分割することにより、位相敏感検出を必要とせずに四元値行列により乗算され得る。四元値数の場合、乗算は、全て正の行列及び全て正のベクトルの６４個の別個の乗算に分割される。次に、６４個の別個の乗算の結果は、デジタル的に結合されて、出力ベクトル結果を特定し得る。
【０１５７】
幾つかの実施形態では、八元値ベクトルは、符号付き行列及びベクトルについて上述した手順と同様に乗算を別個の複数の演算に分割することにより、位相敏感検出を必要とせずに八元値行列により乗算され得る。八元値数の場合、乗算は、全て正の行列及び全て正のベクトルの２５６個の別個の乗算に分割される。次に、２５６個の別個の乗算の結果は、デジタル的に結合されて、出力ベクトル結果を特定し得る。
【０１５８】
本発明者らは、温度依存位相φＴが、フォトニックプロセッサの各ＭＺＩの隣に温度センサを配置することにより補正できることを更に認識及び理解した。次に、温度測定の結果は、各ＭＺＩの外部位相を制御するフィードバック回路への入力として使用され得る。ＭＺＩの外部位相は、あらゆるＭＺＩにおいて生じる温度依存位相を相殺するように設定される。同様の温度フィードバックループは、局部発振器伝播路に使用することができる。この場合、温度測定結果は、検出された温度の影響に起因して局部発振器により生じた位相を相殺するように、ホモダイン検出器直角位相選択位相シフタの設定を通知するために使用される。
【０１５９】
幾つかの実施形態では、温度センサは、半導体デバイス、例えばｐ−ｎ接合若しくはバイポーラ接合トランジスタで従来使用されるものであり得るか、又は例えば共振が温度に伴って変化する共振器を使用するフォトニック温度センサであり得る。幾つかの実施形態では、熱電対又はサーミスタ等の外部温度センサも使用可能である。
【０１６０】
幾つかの実施形態では、生じた位相は、例えば、あらゆる列で幾らかの光をタップし、同じグローバル局部発振器を用いてホモダイン検出を実行することにより直接測定され得る。この位相測定は、任意の位相誤差を補正するために各ＭＺＩで使用する外部位相の値を直接通知することができる。直接測定された位相誤差の場合、誤差は、補正されるために、列グローバルである必要はない。
【０１６１】
Ｊ．大きいデータ中間計算
本発明者らは、フォトニックプロセッサ１−１０３及び／又は本開示に記載される他の実施形態による任意の他のフォトニックプロセッサにより実行される行列ベクトル積がテンソル（多次元アレイ）演算に一般化できることを認識及び理解した。例えば、Ｍが行列であり、
【０１６２】
【数４０】
2021523508.tif 000042
がベクトルである
【０１６３】
【数４１】
2021523508.tif 000043
のコア演算は、行列−行列積：ＭＸに一般化することができ、ここで、Ｍ及びＸの両方は、行列である。この特定の例では、ｎ×ｍ行列Ｘをそれぞれｎ個の要素からなるｍ列ベクトルの集合と考える。すなわち、
【０１６４】
【数４２】
2021523508.tif 000044
である。フォトニックプロセッサは、一度に１つの列ベクトルずつ行列−行列積ＭＸを完了させることができ、合計でｍ個の行列−ベクトル積になる。計算は、好ましくは、並列化可能な線形演算であるため、複数のフォトニックプロセッサに分散することができ、例えば、任意の１つの行列−ベクトル積出力は、他の行列−ベクトル積の結果に依存しない。代替的に、計算は、例えば、各行列−ベクトル積を一度に１つずつ実行し、個々の全ての行列−ベクトル乗算を実行した後、結果をデジタル的に結合して（例えば、結果を適切なメモリ構成に記憶することにより）、行列−行列積の結果を特定することにより、時間の経過に伴って１つのフォトニックプロセッサにより順次実行することができる。
【０１６５】
上記概念は、２つの多次元テンソルの積（例えば、ドット積）の計算に一般化することができる。一般アルゴリズムは、以下の通りであり、少なくとも部分的にプロセッサ１−１１１等のプロセッサにより実行され得る：（１）第１のテンソルの行列スライスをとる、（２）第２のテンソルのベクトルスライスをとる、（３）フォトニックプロセッサを使用して、ステップ１における行列スライスとステップ２におけるベクトルスライスとの行列−ベクトル積を実行し、出力ベクトルを生成する、（４）行列スライス（ステップ１から）が得られたテンソルインデックス及びベクトルスライス（ステップ２から）が得られたテンソルインデックスにわたり繰り返す。行列スライス及びベクトルスライスをとる際（ステップ１及び２）、複数のインデックスが結合されて１つになり得ることに留意されたい。例えば、行列は、全ての列を１つの列ベクトルに積み重ねることによりベクトル化することができ、一般に、テンソルは、全ての行列を１つの行列に積み重ねることにより行列化することができる。全ての演算は、完全に線形であるため、ここでも高度に並列化することができ、複数のフォトニックプロセッサの各々は、他のフォトニックプロセッサがジョブを完了したか否かを知る必要がない。
【０１６６】
非限定的な例として、２つの三次元テンソル間の乗算Ｃｉｊｌｍ＝ΣｋＡｉｊｋＢｋｌｍを考える。上記手順に基づく疑似コードは、以下の通りである。
（１）行列スライスをとる。Ａｉ←Ａ［ｉ，：，：］、
（２）ベクトルスライスをとる。
【０１６７】
【数４３】
2021523508.tif 000045
【０１６８】
【数４４】
2021523508.tif 000046
（４）インデックスｉ、ｌ及びｍにわたり繰り返して、四次元テンソルＣｉｊｌｍを再構築し、式中、ｊが索引付けられた全ての要素の値は、１つの行列−ベクトル乗算を用いて完全に特定される。
【０１６９】
本発明者らは、乗算する行列／ベクトルのサイズが、フォトニックプロセッサによりサポートされるモード数よりも大きくてよいことを更に認識及び理解した。例えば、畳み込みニューラルネットワークアーキテクチャにおける畳み込み演算は、フィルタの定義に少数のみのパラメータを使用し得るが、フィルタと、データの異なるパッチとの間の幾つかの行列−行列乗算からなり得る。異なる行列−行列乗算を結合すると、元のフィルタ行列又はデータ行列のサイズよりも大きい２つの入力行列が生成される。
【０１７０】
本発明者らは、乗算する行列が、計算の実行に使用されているフォトニックプロセッサのサイズ／計算の実行に使用されているフォトニックプロセッサが有するモード数よりも大きい場合、フォトニックプロセッサを使用して行列演算を実行する方法を考案した。幾つかの実施形態では、方法は、計算中、メモリを使用して中間情報を記憶することを含む。最終計算結果は、中間情報を処理することにより計算される。例えば、図１−１７に示されるように、ｎ≦Ｉ，Ｊ，Ｋであるｎ×ｎフォトニック処理システムを使用して、Ｉ×Ｋ要素を有する新しい行列Ｃ＝ＡＢを与えるＩ×Ｊ行列ＡとＪ×Ｋ行列Ｂとの乗算１−１７００を考える。図１−１７では、陰影付き要素は、単に、行列Ｃの要素１−１７０１が行列Ａの行１−１７０３及び行列Ｂの列１−１７０５の要素を使用して計算されることを示す。図１−１７及び図１−１８に示される方法は、以下の通りである。
【０１７１】
行列Ａ及びＢ内のｎ×ｎサブ行列ブロックを構築する。括弧付き上付き文字Ａ（ｉｊ）及びＢ（ｊｋ）によりブロックを記し、ここで、ｉ∈｛１，．．．，ｃｅｉｌ（Ｉ／ｎ）｝、ｊ∈｛１，．．．，ｃｅｉｌ（Ｊ／ｎ）｝、ｋ∈｛１，．．．，ｃｅｉｌ（Ｋ／ｎ）｝である。Ｉ、ｊ又はＫの値がｎで除算可能でない場合、行列は、新しい行列が、ｎ（したがってｉ、ｊ及びｋのインデックスにおけるｃｅｉｌ関数）で除算可能な次元を有するようにゼロでパディングされ得る。図１−１８に示される一例の乗算１−１８００では、行列Ａは、６つのｎ×ｎサブ行列ブロック１−１８０３に分割され、行列Ｂは、３つのｎ×ｎサブ行列ブロック１−１８０５に分割され、２つのｎ×ｎサブ行列ブロック１−１８０１から構成される結果行列Ｃを生成する。
【０１７２】
行列Ｃ内でｎ×ｎサブ行列ブロックＣ（ｉｋ）を計算するために、例えば、
（１）サブ行列Ａ（ｉｊ）（例えば、サブ行列１−１８０３の１つ）を実施するようにフォトニックプロセッサを制御し、
（２）サブ行列Ｂ（ｊｋ）の１つ（例えば、サブ行列１−１８０５の１つ）の列ベクトルを用いて光学信号を符号化し、フォトニックプロセッサを通して信号を伝播させ、
（３）各行列−ベクトル乗算の中間結果をメモリに記憶し、
（４）ｊの値にわたり繰り返し、ステップ（ａ）乃至（ｃ）を繰り返し、
（５）デジタル電子回路、例えばプロセッサを用いて中間結果を結合することにより最終サブ行列Ｃ（ｉｋ）（例えば、サブ行列１−１８０１の１つ）を計算する
ことにより、フォトニックプロセッサにおいて乗算
【０１７３】
【数４５】
2021523508.tif 000047
を実行する。
【０１７４】
上述し、図１−１７及び図１−１８に示されたように、方法は、括弧付きインデックス表記を使用して行列乗算を表現することと、本開示において行列要素を記述するために使用される下付き文字インデックスの代わりに、括弧付き上付き文字インデックスを使用して行列−行列乗算の演算を実行することとを含み得る。これらの括弧付き上付き文字インデックスは、サブ行列のｎ×ｎブロックに対応する。幾つかの実施形態では、方法は、例えば、この方法を、上述したテンソル−テンソル乗算と組み合わせることによって多次元アレイをｎ×ｎサブ行列ブロックスライスに分割することにより、テンソル−テンソル乗算に一般化することができる。
【０１７５】
幾つかの実施形態では、より少数のモードを用いるフォトニックプロセッサを使用してサブ行列のブロックを処理することの利点は、乗算されている行列の形状に関して多様性を提供することである。例えば、Ｉ＞＞Ｊである場合、特異値分解の実行は、サイズＩ２の第１のユニタリ行列、サイズＪ２の第２のユニタリ行列及びＪ個のパラメータを有する対角行列を生成する。元の行列の要素数よりもはるかに大きいＩ２個の行列要素を記憶又は処理するハードウェア要件は、フォトニックプロセッサの幾つかの実施形態に含まれる光学モード数にとって大きすぎることがある。行列全体を一度に全てではなくサブ行列を処理することにより、フォトニックプロセッサのモード数に基づく制限を課すことなく、任意のサイズの行列を乗算することができる。
【０１７６】
幾つかの実施形態では、Ｂのサブ行列は、更にベクトル化される。例えば、行列Ａは、まず、
【０１７７】
【数４６】
2021523508.tif 000048
行列にパディングされ得、次にサブ行列の
【０１７８】
【数４７】
2021523508.tif 000049
グリッド（それぞれサイズ［ｎ×ｎ］）に分割され、Ａ（ｉｊ）は、このグリッドのｉ行目及びｊ列目における［ｎ×ｎ］サブ行列であり、Ｂは、まず、
【０１７９】
【数４８】
2021523508.tif 000050
行列にパディングされ、次にサブ行列の
【０１８０】
【数４９】
2021523508.tif 000051
グリッド（それぞれサイズ［ｎ×Ｋ］）に分割され、Ｂ（ｊ）は、このグリッドのｊ行目における［ｎ×Ｋ］サブ行列であり、Ｃは、まず、
【０１８１】
【数５０】
2021523508.tif 000052
行列にパディングされ、次にサブ行列の
【０１８２】
【数５１】
2021523508.tif 000053
グリッド（それぞれサイズ［ｎ×Ｋ］）に分割され、Ｃ（ｉ）は、このグリッドのｉ行目における［ｎ×Ｋ］サブ行列である。このベクトル化形態では、計算は、
【０１８３】
【数５２】
2021523508.tif 000054
により示される。
【０１８４】
上記ベクトル化プロセスを使用して、フォトニックプロセッサは、
【０１８５】
【数５３】
2021523508.tif 000055
個の異なる行列をフォトニックアレイにロードし、ロードされた各行列について、フォトニックアレイを通してＫ個の異なるベクトルを伝播させることにより任意のＧＥＭＭを計算することができる。これは、
【０１８６】
【数５４】
2021523508.tif 000056
個の出力ベクトル（それぞれｎ個の要素で構成される）を生成し、上記式により定義されるように、そのサブセットは、一緒に合算されて、所望の［Ｉ×Ｋ］出力行列を生成し得る。
【０１８７】
Ｋ．計算の精度
本発明者らは、フォトニックプロセッサ１−１０３及び／又は本開示に記載される他の実施形態による任意の他のフォトニックプロセッサがアナログコンピュータの一例であり、この情報時代における大半のデータがデジタル表現で記憶されるため、フォトニックプロセッサにより実行される計算のデジタル精度を定量化することが重要であることを認識及び理解した。幾つかの実施形態では、幾つかの実施形態によるフォトニックプロセッサは、行列−ベクトル積：
【０１８８】
【数５５】
2021523508.tif 000057
を実行し、式中、
【０１８９】
【数５６】
2021523508.tif 000058
は、入力ベクトルであり、Ｍは、ｎ×ｎ行列であり、
【０１９０】
【数５７】
2021523508.tif 000059
は、出力ベクトルである。インデックス表記において、この乗算は、Ｍｉｊ（ｊにわたり反復）のｎ個の要素と、ｘｊ（ｊにわたり反復）のｎ個の要素との間の乗算であり、次に結果を一緒に合算する
【０１９１】
【数５８】
2021523508.tif 000060
として記述される。フォトニックプロセッサは、物理的なアナログシステムであるため、幾つかの実施形態では、要素Ｍｉｊ及びｘｊは、固定小数点数表現を用いて表現される。この表現内において、Ｍｉｊ∈｛０，１｝ｍ１がｍ１ビット数であり、Ｘｊ∈｛０，１｝ｍ２がｍ２ビット数である場合、合計でｍ１＋ｍ２＋ｌｏｇ２（ｎ）ビットが、結果的に生成されるベクトル要素ｙｉを完全に表すために使用される。一般に、行列−ベクトル積の結果を表すために使用されるビット数は、演算の入力を表すのに必要なビット数よりも大きい。使用されるアナログ−デジタル変換器（ＡＤＣ）が最高精度で出力ベクトルを読み出すことができない場合、出力ベクトル要素は、ＡＤＣの精度に丸められ得る。
【０１９２】
本発明者らは、光学信号の形態の入力ベクトルがフォトニック処理システムを通して送信されるレートに対応する帯域幅において高ビット精度を有するＡＤＣの構築の達成が困難であり得ることを認識及び理解した。したがって、幾つかの実施形態では、ＡＤＣのビット精度は、行列要素Ｍｉｊ及びベクトル要素ｘｊが表されるビット精度を制限し得る（最高精度計算が望まれる場合）。したがって、本発明者らは、部分積及び和を計算することにより、任意に高いことができる最高精度で出力ベクトルを取得する方法を考案した。明確にするために、Ｍｉｊ又はｘｊのいずれかを表すのに必要なビット数は、同じである、すなわちｍ１＝ｍ２＝ｍであると仮定される。しかし、この仮定は、それにもかかわらず、一般に不要であり得、本開示の実施形態の範囲を限定しない。
【０１９３】
幾つかの実施形態による方法は、第１の動作として、行列要素Ｍｉｊ及びベクトル要素ｘｊのビット列表現を、各区分がｋ＝ｍ／ｄビットを有するｄ個の区分に分割することを含む。（ｋが整数ではない場合、ｍがｄで除算可能になるまでゼロを添付し得る）。その結果、行列要素は、Ｍｉｊ＝Ｍｉｊ［０］２ｋ（ｄ−１）＋Ｍｉｊ［１］２ｋ（ｄ−２）＋．．．＋Ｍｉｊ［ｄ−１］２０であり、式中、Ｍｉｊ［ａ］は、Ｍｉｊのａ番目の最上位ｋビット列のｋビット値である。ビット列に関して、Ｍｉｊ＝Ｍｉｊ［０］Ｍｉｊ［１］．．．Ｍｉｊ［ｄ−１］と記述される。同様に、ｘｊ＝ｘｊ［０］２ｋ（ｄ−１）＋ｘｊ［１］２ｋ（ｄ−２）＋．．．＋ｘｊ［ｄ−１］２０を取得することもでき、式中、ビット列に関してベクトル要素ｘｊ＝ｘｊ［０］ｘｊ［１］．．．ｘｊ［ｄ−１］である。乗算ｙｉ＝ΣｊＭｉｊｘｊは、
【０１９４】
【数５９】
2021523508.tif 000061
としてこれらの区分に関して分割することができ、式中、集合Ｓｐは、ａ及びｂの全て整数値の集合であり、ここで、ａ＋ｂ＝ｐである。
【０１９５】
方法は、第２の動作として、行列Ｍｉｊ［ａ］を実施するようにフォトニックプロセッサを制御することと、各々がわずかｋビット精度である入力ベクトルｘｊ［ｂ］を、符号化光学信号の形態においてフォトニックプロセッサを通して伝播させることとを含む。この行列−ベクトル積演算は、ｙｉ［ａ，ｂ］＝ΣｊＭｉｊ［ａ］ｘｊ［ｂ］を実行する。方法は、最高で２ｋ＋ｌｏｇ２（ｎ）ビットである出力ベクトルｙｉ［ａ，ｂ］を記憶することを含む。
【０１９６】
方法は、集合Ｓｐ内のａ、ｂの異なる値にわたり繰り返すことと、ａ、ｂの異なる値の各々について第２の動作を繰り返すことと、中間結果ｙｉ［ａ，ｂ］を記憶することとを更に含む。
【０１９７】
第３の動作として、方法は、プロセッサ等のデジタル電子回路を用いてａ及びｂの異なる反復にわたり合算することにより最終結果
【０１９８】
【数６０】
2021523508.tif 000062
を計算することを含む。
【０１９９】
この方法の幾つかの実施形態による最高精度計算を捕捉するために使用されるＡＤＣの精度は、わずか２ｋ＋ｌｏｇ２（ｎ）ビットであり、シングルパスのみを使用して計算が行われる場合に必要とされる２ｍ＋ｌｏｇ２（ｎ）ビットの精度よりも少ない。
【０２００】
本発明者らは、上記方法の実施形態がテンソルに対して動作するように一般化できることを更に認識及び理解した。先に述べたように、フォトニック処理システムは、２つのテンソルの行列スライス及びベクトルスライスを使用することによりテンソル−テンソル乗算を実行することができる。上述した方法は、行列スライス及びベクトルスライスに適用されて、最高精度で出力テンソルの出力ベクトルスライスを取得することができる。
【０２０１】
上記方法の幾つかの実施形態は、行列の基本表現の線形性を使用する。上記説明では、行列は、ユークリッド行列空間に関して表現され、行列−ベクトル乗算は、このユークリッド空間において線形である。幾つかの実施形態では、行列は、ＶＢＳの位相に関して表現され、したがって、除算は、行列要素に対して直接ではなく、位相を表すビット列に対して実行され得る。幾つかの実施形態では、位相と行列要素との間のマップが線形マップである場合、入力パラメータ  −  この場合、ＶＢＳの位相及び入力ベクトル要素  −  と出力ベクトルとの間の関係は、線形である。この関係が線形である場合、上記方法は、なおも適用可能である。しかしながら、一般に、幾つかの実施形態によれば、行列の基本表現からフォトニック表現への非線形マップが考慮され得る。例えば、最上位ｋビット列から最下位ｋビット列へのユークリッド空間行列要素のビット列除算は、位相表現に分解され、フォトニックプロセッサを使用して実施する一連の異なる行列を生成するために使用され得る。
【０２０２】
除算は、行列要素及び入力ベクトル要素の両方に対して同時に実行される必要はない。幾つかの実施形態では、フォトニックプロセッサは、同じ行列の多くの入力ベクトルを伝播させ得る。ベクトル準備のためのデジタル−アナログ変換器（ＤＡＣ）は、広帯域幅で動作し得る一方、ＶＢＳのためのＤＡＣは、複数のベクトルに対して準静的であり得るため、入力ベクトルに対してのみ除算を実行し、ＶＢＳ制御を設定精度（例えば、最高精度）に保つことが効率的であり得る。一般に、高帯域幅で高ビット精度を有するＤＡＣを含むことは、低帯域幅におけるものを設計するよりも困難である。したがって、幾つかの実施形態では、出力ベクトル要素は、ＡＤＣにより可能なものよりも精密であり得るが、ＡＤＣは、ＡＤＣにより可能なビット精度までの出力ベクトル値の何らかの丸めを自動的に実行する。
【０２０３】
Ｌ．製造方法
フォトニック処理システムの実施形態は、従来の半導体製造技法を使用して製造され得る。例えば、導波路及び位相シフタは、従来の堆積、マスキング、エッチング及びドーピング技法を使用して基板に形成され得る。
【０２０４】
図１−１９は、幾つかの実施形態によるフォトニック処理システムを製造する一例の方法１−１９００を示す。動作１−１９０１において、方法１−１９００は、例えば、従来の技法を使用して光学エンコーダを形成することを含む。例えば、複数の導波路及び変調器が半導体基板に形成され得る。光学エンコーダは、本願の他の箇所に記載されるように、１つ又は複数の位相及び／又は振幅変調器を含み得る。
【０２０５】
動作１−１９０３において、方法１−１９００は、フォトニックプロセッサを形成し、フォトニックプロセッサを光学エンコーダに光学的に接続することを含む。幾つかの実施形態では、フォトニックプロセッサは、光学エンコーダと同じ基板に形成され、光学接続は、基板に形成される導波路を使用して行われる。他の実施形態では、フォトニックプロセッサは、光学エンコーダの基板とは別個の基板に形成され、光学接続は、光ファイバを使用して行われる。
【０２０６】
動作１−１９０５において、方法１−１９００は、光学受信機を形成し、光学受信機をフォトニックプロセッサに光学的に接続することを含む。幾つかの実施形態では、光学受信機は、フォトニックプロセッサと同じ基板に形成され、光学接続は、基板に形成された導波路を使用して行われる。他の実施形態では、光学受信機は、フォトニックプロセッサの基板とは別個の基板に形成され、光学接続は、光ファイバを使用して行われる。
【０２０７】
図１−２０は、図１−１９の動作１−１９０３に示されるようにフォトニックプロセッサを形成する一例の方法１−２０００を示す。動作１−２００１において、方法１−２０００は、例えば、半導体基板に第１の光学行列実装を形成することを含む。第１の光学行列実装は、種々の上記実施形態に説明されたように、相互接続ＶＢＳのアレイを含み得る。
【０２０８】
動作１−２００３において、方法１−２０００は、第２の光学行列実装を形成し、第２の光学行列実装を第１の光学行列実装に接続することを含む。第２の光学行列実装は、種々の上記実施形態に説明されたように、第１の光学行列実装から受信された各光学信号の強度及び位相を制御することが可能な１つ又は複数の光学構成要素を含み得る。第１の光学行列実装と第２の光学行列実装との間の接続は、基板に形成された導波路を含み得る。
【０２０９】
動作１−２００５において、方法１−２０００は、第３の光学行列実装を形成し、第３の光学行列実装を第２の光学行列実装に接続することを含む。第３の光学行列実装は、種々の上記実施形態に説明されるように、相互接続ＶＢＳのアレイを含み得る。第２の光学行列実装と第３の光学行列実装との間の接続は、基板に形成される導波路を含み得る。
【０２１０】
任意の上記動作において、フォトニックプロセッサの構成要素は、半導体基板の同じ層又は半導体基板の異なる層に形成され得る。
Ｍ．使用方法
図１−２１は、幾つかの実施形態による光学処理を実行する方法１−２１００を示す。動作１−２１０１において、方法１−２１００は、ビット列を光学信号に符号化することを含む。幾つかの実施形態では、これは、本願の種々の実施形態に関連して説明されたように、コントローラ及び光学エンコーダを使用して実行され得る。例えば、複素数は、光学信号の強度及び位相に符号化され得る。
【０２１１】
動作１−２１０３において、方法１−２１００は、第１の行列を実施するようにフォトニックプロセッサを制御することを含む。上述したように、これは、コントローラに、ＳＶＤを行列に対して実行させ、フォトニックプロセッサの別個の部分を使用して実施される３つの別個の行列構成要素に行列を分割させることにより達成され得る。フォトニックプロセッサは、フォトニックプロセッサを通して伝播する際、フォトニックプロセッサの種々のモードがどのように一緒に混合されて、光学信号をコヒーレントに干渉するかを制御する複数の相互接続ＶＢＳを含み得る。
【０２１２】
動作１−２１０５において、方法１−２１００は、上述したように、所望の行列を実施するよう光学信号が互いとコヒーレントに干渉するように、光学プロセッサを通して光学信号を伝播させることを含む。
【０２１３】
動作１−２１０７において、方法１−２１００は、光学受信機を使用してフォトニックプロセッサからの出力光学信号を検出することを含む。上述したように、検出は、位相敏感又は位相非敏感検出器を使用し得る。幾つかの実施形態では、検出結果は、符号化され、システムを通して伝播する新しい入力ビット列の決定に使用される。このようにして、複数の計算は、順次実行され得、その場合、少なくとも１つの計算は、前の計算結果の結果に基づく。
【０２１４】
ＩＩ．トレーニングアルゴリズム
本発明者らは、多くの行列ベースの微分可能なプログラム（例えば、ニューラルネットワーク又は潜在変数グラフィカルモデル）技法では、計算複雑性の大部分が、モデルの層がトラバースされる際に計算される行列−行列積にあることを認識及び理解した。行列−行列積の複雑性は、２つの行列が次元Ｉ×Ｊ及びＪ×Ｋを有するＯ（ＩＪＫ）である。更に、これらの行列−行列積は、モデルのトレーニング段階及び評価段階の両方で実行される。
【０２１５】
ディープニューラルネットワーク（すなわち２つ以上の隠れ層を有するニューラルネットワーク）は、本明細書に記載された技法の幾つかを利用し得る行列ベースの微分可能プログラムのタイプの一例である。しかしながら、並列処理を実行する、本明細書に記載される技法は、限定ではなく、ベイズネットワーク、トレリスデコーダ、トピックモデル及び隠れマルコフモデル（ＨＭＭ：Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）を含む他のタイプの行列ベースの微分可能プログラムと併用され得ることを理解されたい。
【０２１６】
ディープラーニングの成功は、大部分、ニューラルネットワークの重み行列のトレーニングを可能にするバックプロパゲーション技法の開発に起因する。従来のバックプロパゲーション技法では、損失関数からの誤差は、微積分学の連鎖律を使用して個々の重み行列成分を通して後方に伝播される。バックプロパゲーション技法は、重み行列内の要素の勾配を計算し、勾配は、次に、確率的勾配降下（ＳＧＤ：ｓｔｏｃｈａｓｔｉｃ  ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ）、ＡｄａＧｒａｄ、ＲＭＳＰｒｏｐ、Ａｄａｍ又は任意の他の勾配ベースの最適化アルゴリズム等の最適化アルゴリズムを使用して重み行列への更新を決定する。この手順の連用は、損失関数を最小化する最終重み行列の決定に使用される。
【０２１７】
本発明者らは、本明細書に記載されるタイプの光学プロセッサが、重み行列を、本明細書では「位相空間」又は「角度表現」と呼ばれる代替のパラメータ空間に作り変えることにより、勾配計算の実行を可能にすることを認識及び理解した。特に、幾つかの実施形態では、重み行列は、ギヴンス回転行列等のユニタリ伝達行列の複合物として再パラメータ化される。そのような再パラメータ化では、ニューラルネットワークのトレーニングは、ユニタリ伝達行列の角度パラメータを調整することを含む。この再パラメータ化では、単一の回転角の勾配は、他の回転から分離され、勾配の並列計算を可能にする。この並列化は、必要とされる計算ステップ数に関して、従来の直列勾配決定技法と比べて計算加速を生じさせる。
【０２１８】
本明細書に記載されるバックプロパゲーション技法の実施に使用され得る一例のフォトニック処理システムは、上記に提供されている。再パラメータ化された重み行列の位相空間パラメータは、フォトニック処理システムの位相シフタ又は可変ビームスプリッタに符号化されて、重み行列を実施し得る。位相シフタ又は可変ビームスプリッタへの重み行列の符号化は、ニューラルネットワークのトレーニング段階及び評価段階の両方に使用され得る。バックプロパゲーション手順は、後述する特定のシステムに関連して説明されるが、実施形態は、本開示に記載されるフォトニック処理システムの特定の詳細に限定されないことを理解されたい。
【０２１９】
上述したように、幾つかの実施形態では、フォトニック処理システム１００は、ニューラルネットワーク又はバックプロパゲーション技法を使用してトレーニングされ得る他の行列ベースの微分可能プログラムの態様を実施するために使用され得る。
【０２２０】
微分可能プログラム（例えば、ニューラルネットワーク又は潜在変数グラフィカルモデル）のユークリッドベクトル空間における値の行列（例えば、ニューラルネットワークの層の重み行列）を更新する一例のバックプロパゲーション技法２−１００は、図２−１に示される。
【０２２１】
動作２−１０１において、ユークリッドベクトル空間における値の行列（例えば、ニューラルネットワークの層の重み行列）は、例えば、値の行列を表すようにフォトニクス処理システム１００の構成要素を構成することにより、角度表現として表され得る。行列が角度表現で表された後、プロセス２−１００は、動作２−１０２に進み、トレーニングデータ（例えば、入力トレーニングベクトル及び関連付けられた記された出力の組）は、処理されて、モデルの性能尺度を評価することにより誤差ベクトルを計算する。次に、プロセス２−１００は、動作２−１０３に進み、バックプロパゲーションに必要な角度表現のパラメータの少なくとも幾つかの勾配は、並列に特定される。例えば、より詳細に後述するように、本明細書に記載された技法は、パラメータの列全体の勾配を同時に特定できるようにし、各角度回転に対する勾配を個々に評価することと比較して、バックプロパゲーションの実行に必要な時間量を大幅に加速させる。次に、プロセス２−１００は、動作２−１０４に進み、ユークリッドベクトル空間における値の行列（例えば、ニューラルネットワークの層の重み行列値）は、特定された勾配を使用して角度表現を更新することにより更新される。図２−１のプロセス２−１００に示される各動作の更なる説明を以下に提供する。
【０２２２】
図２−２は、図２−１に示される動作２−１０１が幾つかの実施形態によりどのように実行され得るかのフローチャートを示す。動作２−２０１において、コントローラ（例えば、コントローラ１０７）は、ニューラルネットワークの層の重み行列を受信し得る。動作２−２０２において、重み行列は、重み行列Ｗが、
Ｗ＝ＶＴΣＵ
として定義されるように、第１のユニタリ行列Ｖ、第２のユニタリ行列Ｕ及び符号付き特異値の対角行列Σに分解され得、式中、Ｕは、ｍ×ｍユニタリ行列であり、Ｖは、ｎ×ｎユニタリ行列であり、Σは、符号付き特異値を有するｎ×ｍ対角行列である。上付き文字「Ｔ」は、行列の転置を示す。幾つかの実施形態では、重み行列Ｗは、まずタイルに分割され、各タイルは、そのような行列の三重積に分解される。重み行列Ｗは、ニューラルネットワークの分野において既知のように従来の重み行列であり得る。
【０２２３】
幾つかの実施形態では、位相空間に分解された重み行列は、ランダム初期化手順又は部分的にトレーニングされた重み行列を利用することによる等の予め指定された重み行列である。バックプロパゲーションルーチンの初期化に使用する部分的に指定された重み行列がない場合、動作２−２０２における分解は、スキップされ得、代わりに、角度表現のパラメータ（例えば、特異値及びユニタリ又は直交分解のパラメータ）は、例えば、特定の分布からの位相空間パラメータのランダムサンプリングにより初期化され得る。他の実施形態では、特異値及び角度パラメータの所定の初期集合が使用され得る。
【０２２４】
動作２−２０３において、２つのユニタリ行列Ｕ及びＶは、それぞれ第１及び第２の組のユニタリ伝達行列の複合物として表され得る。例えば、行列Ｕ及びＶが直交行列である場合、動作２−２０３において一連の実数値ギヴンス回転行列又はハウスホルダリフレクタに変換され得、その一例についてセクションＶにおいて上述している。
【０２２５】
動作２−２０４において、フォトニクスベースのプロセッサは、分解された重み行列に基づいてユニタリ伝達行列を実施するように構成され得る。例えば、上述したように、フォトニクスベースのプロセッサの第１の組の構成要素は、第１の組のユニタリ伝達行列に基づいて構成され得、フォトニクスベースのプロセッサの第２の組の構成要素は、符号付き特異値の対角行列に基づいて構成され得、フォトニクスベースのプロセッサの第３の組の構成要素は、第２の組のユニタリ伝達行列に基づいて構成され得る。本明細書に記載されるプロセスは、フォトニクスベースのプロセッサを使用してバックプロパゲーション技法を実施することに関するが、バックプロパゲーション技法は、並列処理機能を提供する他の計算アーキテクチャを使用して実施され得、実施形態は、これに関して限定されないことを理解されたい。
【０２２６】
図２−１におけるプロセス２−１００に戻ると、動作２−１０２は、例えば、上述したようにフォトニクスベースのプロセッサを使用して重み行列が角度表現として表された後、トレーニングデータを処理して、誤差ベクトルを計算することに関する。図２−３は、幾つかの実施形態による動作２−１０２を実行する実施詳細のフローチャートを示す。本明細書に記載される技法を使用してトレーニングデータを処理する前、トレーニングデータは、バッチに分割され得る。トレーニングデータは、任意の形態をとり得る。幾つかの実施形態では、データは、幾つかの従来のミニバッチ確率的勾配降下（ＳＧＤ）技法で行われるのと同じようにバッチに分割され得る。この手順を用いて計算された勾配は、限定ではなく、ＳＧＤ、ＡｄａＧｒａｄ、Ａｄａｍ、ＲＭＳＰｒｏｐ又は任意の他の勾配ベースの最適化アルゴリズムを含め、任意の最適化アルゴリズムに使用することができる。
【０２２７】
図２−３に示されるプロセスでは、トレーニングデータの特定のバッチ内の各ベクトルは、フォトニクスプロセッサを通して渡すことができ、そのベクトルの損失関数の値が計算され得る。動作２−３０１において、トレーニングデータの特定のバッチからの入力トレーニングベクトルが受信される。動作２−３０２において、入力トレーニングベクトルは、例えば、上述したように入力トレーニングベクトル値に対応する振幅及び位相を有する光学パルスを使用してベクトルを符号化することにより、フォトニック信号に変換される。動作２−３０３において、入力トレーニングベクトルに対応するフォトニック信号は、入力としてフォトニクスプロセッサ（例えば、フォトニクスプロセッサ１０３）に提供され、これは、上述したように重み行列を実施して（例えば、構成可能な位相シフタ及びビームスプリッタのアレイを使用して）、パルスの出力ベクトルを生成するように構成される。フォトニクスプロセッサから出力されたパルスの光学強度は、例えば、図９及び図１０に関連して上述したようにホモダイン検出を使用して検出されて、復号化された出力ベクトルを生成し得る。動作２−３０４において、入力トレーニングベクトルの損失関数（費用関数又は誤差メトリックとしても知られる）の値が計算される。次に、動作２−３０１から２−３０４のプロセスは、特定のバッチにおける全ての入力トレーニングベクトルが処理され、損失関数の対応する値が特定されるまで繰り返される。動作２−３０５において、各入力トレーニングベクトルからのこれらの損失を集計することにより、合計損失が計算され、例えば、この集計は、平均の形態をとり得る。
【０２２８】
図２−１のプロセス２−１００に戻ると、動作２−１０３は、角度表現のパラメータの勾配（例えば、ギヴンス回転としてフォトニクスプロセッサの構成要素を使用して実施された重みの値）を並列で計算することに関する。勾配は、計算された誤差ベクトル、入力データベクトル（例えば、トレーニングデータのバッチから）及びフォトニクスプロセッサを使用して実施された重み行列に基づいて計算され得る。図２−４は、幾つかの実施形態による動作２−１０３を実行するプロセスのフローチャートを示す。動作２−４０１において、分解におけるギヴンス回転のｋ番目の集合Ｇ（ｋ）について（例えば、分解された行列の列−本明細書では「導関数列ｋ」と呼ばれる）、ｋ番目の集合内の各角度に関して導関数を含むブロック対角導関数行列が計算される。動作２−４０２において、導関数列ｋと出力との間の全てのユニタリ伝達行列と、動作２−１０２において特定された誤差ベクトルとの積が計算される（これにより「部分後方パス」と呼ばれる）。動作２−４０３において、入力から始まって、導関数列ｋを含めて導関数列ｋまでの全てのユニタリ伝達行列と入力データベクトルとの積が計算される（これにより「部分前方パス」と呼ばれる）。動作２−４０４において、動作２−４０２及び２−４０３から出力された要素の連続対間の内積が計算されて、導関数列ｋの勾配を特定する。要素の連続対間の内積は、
【０２２９】
【数６１】
2021523508.tif 000063
として計算され得、式中、上付き文字（ｋ）は、フォトニック要素のｋ番目の列を表し、ｉ、ｊは、ユニタリ伝達行列によりパラメータθｉｊ（ｋ）と結合されているｉ番目及びｊ番目のフォトニックモードを表し、ｘは、部分前方パスの出力であり、δは、部分後方パスの出力である。幾つかの実施形態では、オフセットは、出力の連続対前に適用される（例えば、出力対は、（０，１）、（２，３）ではなく、（１，２）、（３，４）等であり得る）。次に、特定された勾配は、トレーニングに使用されている特定の選択された最適化アルゴリズム（例えば、ＳＧＤ）に適切なものとして使用され得る。
【０２３０】
幾つかの実施形態による、図１−４に示される左から右へのトポロジを有するフォトニックプロセッサでバックプロパゲーション技法を実施する擬似コード例を以下に提供する。
【０２３１】
・中間伝播結果の２つのリストｘ’、δ’を初期化する。
・ＭＺＩの各列について、最後の列から始まり、１列目に向かって進む。
・導関数行列に対応するように列において角度を回転させる。
【０２３２】
・フォトニクスプロセッサを通して入力データベクトルを伝播させる。
・結果をｘ’に記憶する。
・現在の列を透明にする。
・列毎に転置行列を漸次的に構築する。新しい各列について、
・フォトニクスプロセッサを通して誤差ベクトルを伝播させる。
【０２３３】
・結果をδ’に記憶する。
・各ｘ’［ｉ］、δ’［ｉ］について、
・連続対間の内積を計算し、結果は、ＭＺＩのｉ番目の列における角度の勾配である。
【０２３４】
幾つかの実施形態によれば、幾つかの従来のバックプロパゲーション技法において行われるように勾配降下を介して重み行列の重みを調整するのではなく、角度表現のパラメータ（例えば、行列Σの特異値並びに分解された直交行列Ｕ及びＶのギヴンス回転角）が調整される。再パラメータ化された空間におけるバックプロパゲーションが幾つかの実施形態によりどのように機能するかを更に示すために、以下は、従来の技法対本開示の幾つかの実施形態による方法を使用したニューラルネットワークの単層内のバックプロパゲーションの比較である。
【０２３５】
損失関数Ｅは、特定のタスクでのモデルの性能を測定する。幾つかの従来の確率的勾配降下アルゴリズムでは、重み行列は、時間ｔ＋１における重み行列が時間ｔにおける重み行列の関数として定義されるように繰り返し調整され、重み行列の重みに関する損失関数の導関数は、
【０２３６】
【数６２】
2021523508.tif 000064
であり、式中、ηは、学習率であり、（ａ，ｂ）は、重み行列Ｗのａ行目及びｂ列目の各々のエントリを表す。この反復プロセスが分解された重み行列を使用して作り変えられる場合、重みｗａｂは、行列Σの特異値σｉ並びに直行行列Ｕ及びＶの回転角θｉｊの関数である。したがって、バックプロパゲーションアルゴリズムの反復調整は、
【０２３７】
【数６３】
2021523508.tif 000065
になる。
【０２３８】
特異値及び回転角に反復調整を実行するには、損失関数の導関数を取得しなければならない。これがフォトニック処理システム１００等のシステムでどのように達成することができるかを説明する前に、まず、重み行列の重みの反復調整に基づくバックプロパゲーションについての説明を提供する。これに関連して、ニューラルネットワークの単層についてシステムにより測定される出力結果は、出力ベクトルｙｉ＝ｆ（（Ｗｘ）ｉ＋ｂｉ）として表現され、式中、Ｗは、重み行列であり、ｘは、層に入力されるデータベクトルであり、ｂは、バイアスのベクトルであり、ｆは、非線形関数である。微積分学の連鎖律が適用されて、重み行列内の任意のパラメータに関する損失関数の勾配が計算される（ここで、表現の便宜上、定義ｚｉ＝（Ｗｘ）ｉ＋ｂｉが使用される）。
【０２３９】
【数６４】
2021523508.tif 000066
ｗａｂに関するｚの導関数を計算すると、
【０２４０】
【数６５】
2021523508.tif 000067
が生成される。これを使用して、損失関数の勾配を表す和は、
【０２４１】
【数６６】
2021523508.tif 000068
として書き換えることができる。第１の和は、誤差ベクトルｅとして定義され、ｘは、入力ベクトルであり、以下の式
【０２４２】
【数６７】
2021523508.tif 000069
が生成される。従来のバックプロパゲーション技法からの上記式を使用して、式は、重み行列が特異値行列及びユニタリ伝達行列に分解される場合に拡張することができる。重み行列が回転角の関数であることを使用すると、連鎖律は、
【０２４３】
【数６８】
2021523508.tif 000070
と記述することができる。
【０２４４】
したがって、位相空間におけるバックプロパゲーションは、従来のバックプロパゲーションと同じ構成要素を含み（誤差ベクトル及び入力データ）、ユニタリ伝達行列の回転角に関する重み行列の導関数である項が追加される。
【０２４５】
ユニタリ伝達行列の回転角に関する重み行列の導関数を特定するために、１つのギヴンス回転行列の導関数が以下の形態：
【０２４６】
【数６９】
2021523508.tif 000071
を有することが留意される。
【０２４７】
見て分かるように、ｉ番目の行及びｊ番目の列にないギヴンス回転行列の任意のエントリの導関数は、ゼロである。したがって、Ｇ（ｋ）内部の角度の全ての導関数は、１つの行列に群化され得る。ユニタリ伝達行列の列内部の全てのｆｌｏｏｒ（ｎ／２）角に関する導関数を計算することは、幾つかの実施形態では、上述したように２ステッププロセスを使用して達成され得る。第１に、誤差ベクトルは、分解された行列を右（出力）から微分中の現在の集合の回転まで伝播する（部分後方パス）。第２に、入力ベクトルは、左（入力）から現在の集合の回転まで伝播し（部分前方パス）、次に導関数行列が適用される。
【０２４８】
幾つかの実施形態では、特異値の導関数は、同様のプロセスを使用して達成される。特異値σｉに関する導関数は、要素Σ’ｉｉを１に、他の全てのΣ’ｊｊを０にする。したがって、特異値の全ての導関数は、一緒に計算され得る。幾つかの実施形態では、これは、誤差ベクトルを左から伝播させ（部分前方パス）、入力ベクトルを右から伝播させ（部分後方パス）、次に前方パス及び後方パスの出力からアダマール積を計算することにより行われ得る。
【０２４９】
図２−４において説明された動作２−１０３の実装形態では、列ｋ内の全ての角度は、その列の勾配項を計算するためにπ／２だけ回転される。幾つかの実施形態では、この回転は、実行されない。１つのＭＺＩの行列を考える。
【０２５０】
【数７０】
2021523508.tif 000072
θに関する導関数をとると、
【０２５１】
【数７１】
2021523508.tif 000073
が生成される。
【０２５２】
この行列は、π／２をθに追加することに対応するが、元の行列の列をスワップし、それらの１つを無視することにも対応する。数学表記では、これは、
【０２５３】
【数７２】
2021523508.tif 000074
を意味する。
【０２５４】
分解されたユニタリ行列の列の勾配を特定するために、列内の各ＭＺＩの角度をπ／２だけ回転させ、次に上述したように動作２−４０２及び２−４０３から出力された要素の連続対間の内積を計算する（例えば、ｘ１δ１＋ｘ２δ２）のではなく、幾つかの実施形態では、角度は、π／２だけ回転されず、代わりに関係式ｘ１δ２−ｘ２δ１が計算されて、同じ勾配を取得する。行列Ｗ（ｎ×ｍ）のサイズが、サイズｎ×ｎの行列Ｕ及びサイズｍ×ｍの行列Ｖを有するフォトニクスプロセッサのサイズに一致する幾つかの実施形態では、動作２−４０１乃至２−４０４により、コントローラは、サイズｎ×ｎのユニタリ／直交行列のｆｌｏｏｒ（ｎ／２）勾配を取得することができる。したがって、各行列乗算がＯ（１）演算で計算することができる上述したフォトニック処理システム１００等のハードウェアでは、全体バックプロパゲーション手順は、フォトニックプロセッサが完全な行列を表すのに十分なサイズのものである場合、Ｏ（ｎ＋ｍ）演算で完了し得る。フォトニクスプロセッサが完全な行列を表すのに十分なサイズのものではない場合、上述したように、行列は、タイルに分割され得る。サイズＮのフォトニックプロセッサを考える。サイズＩ×Ｊの行列をサイズＪのベクトルで乗算するというタスクの場合、１つの行列−ベクトル積は、複雑性Ｏ（ＩＪ／Ｎ２）（Ｉ及びＪが両方ともＮで除算可能であると仮定する）を有することになり、これは、行列の各次元がサイズＮの行列に分割され、プロセッサにロードされ、部分結果の計算に使用されなければならないためである。Ｋベクトルのバッチの場合（例えば、サイズＪ×Ｋの第２の行列）、行列−ベクトル積の複雑性は、Ｏ（ＩＪＫ／Ｎ２）である。
【０２５５】
ｎ個の光学モードを有する上述したフォトニックプロセッサの実施形態は、自然に、サイズ［ｎ×ｎ］の行列とｎ要素ベクトルとの間の行列−ベクトル積を計算する。これは、サイズ［ｎ×ｎ］の行列とサイズ［ｎ×１］の行列との間の行列−行列積として等しく表現される。更に、Ｋ個の異なる入力ベクトル及び１つの繰り返される入力行列を用いた一連のＫ個の行列−ベクトル積演算は、サイズ［ｎ×ｎ］及び［ｎ×Ｋ］の行列間の行列−行列積の計算として表現することができる。しかし、本明細書に記載される用途及びアルゴリズムは、多くの場合、任意のサイズの行列間の一般行列−行列乗算（ＧＥＭＭ：ｇｅｎｅｒａｌ  ｍａｔｒｉｘ−ｍａｔｒｉｘ  ｍｕｌｔｉｐｌｉｃａｔｉｏｎ）の計算、すなわち計算
【０２５６】
【数７３】
2021523508.tif 000075
を含み、式中、ａｉｊは、［Ｉ×Ｊ］行列Ａのｉ行目及びｊ列目における要素であり、ｂｊｋは、［Ｊ×Ｋ］行列Ｂのｊ行目及びｋ列目であり、ｃｉｋは、［Ｉ×Ｋ］行列Ｃ＝ＡＢのｉ行目及びｋ列目における要素である。この計算の再帰性に起因して、これは、
【０２５７】
【数７４】
2021523508.tif 000076
として等しく表現することができ、式中、Ａは、まず、
【０２５８】
【数７５】
2021523508.tif 000077
行列にパディングされ、次にサブ行列（それぞれサイズ［ｎ×ｎ］）の
【０２５９】
【数７６】
2021523508.tif 000078
グリッドに分割され、Ａｉｊは、このグリッドのｉ行目及びｊ列目における［ｎ×ｎ］サブ行列であり、Ｂは、まず、
【０２６０】
【数７７】
2021523508.tif 000079
行列にパディングされ、次にサブ行列（それぞれサイズ［ｎ×Ｋ］）の
【０２６１】
【数７８】
2021523508.tif 000080
グリッドに分割され、Ｂｊは、このグリッドのｊ行目における［ｎ×Ｋ］サブ行列であり、Ｃは、まず、
【０２６２】
【数７９】
2021523508.tif 000081
行列にパディングされ、次にサブ行列（それぞれサイズ［ｎ×Ｋ］）の
【０２６３】
【数８０】
2021523508.tif 000082
グリッドに分割され、Ｃｉは、このグリッドのｉ行目における［ｎ×Ｋ］サブ行列である。
【０２６４】
このプロセスを使用して、フォトニックプロセッサは、
【０２６５】
【数８１】
2021523508.tif 000083
個の異なる行列をフォトニックアレイにロードし、ロードされた各行列について、フォトニックアレイを通してＫ個の異なるベクトルを伝播させることにより任意のＧＥＭＭを計算することができる。これは、
【０２６６】
【数８２】
2021523508.tif 000084
出力ベクトル（それぞれｎ個の要素で構成される）を生成し、上記式により定義されるように、その部分集合は、一緒に加算されて、所望の［Ｉ×Ｋ］出力行列を生成し得る。
【０２６７】
図２−４において説明された動作２−１０３の実装形態では、行列を実施するフォトニクスプロセッサの左から右へのトポロジが仮定され、ベクトルは、光学構成要素のアレイの左側に入力され、出力ベクトルは、光学構成要素のアレイの右側に提供された。このトポロジでは、フォトニクスプロセッサを通して誤差ベクトルを伝播させる場合、角度表現行列の転置を計算する必要がある。幾つかの実施形態では、フォトニックプロセッサは、光学構成要素のアレイの片側（例えば、左側）に入力及び出力の両方を配置する折り返しトポロジを使用して実施される。そのようなアーキテクチャでは、スイッチの使用により、光がいずれの方向に伝播すべきか  −  入力から出力又は出力から入力を決定することができる。オンザフライで構成可能な方向の選択を用いて、誤差ベクトルの伝播は、まず出力を入力として使用するように方向を切り替え、次にアレイを通して誤差ベクトルを伝播させることにより達成することができ、上述したように、列ｋの勾配が特定されているとき、位相を打ち消し（例えば、列ｋ内の各フォトニック要素の角度をπ／２だけ回転させることにより）、列を転置させる必要性をなくす。
【０２６８】
図２−１におけるプロセス２−１００に戻ると、動作２−１０４は、特定された勾配に基づいて角度表現のパラメータを更新することにより重み行列を更新することに関する。ここで述べた図２−４に示されるプロセスは、１つの入力データ例に基づいて、分解されたユニタリ行列における勾配の１つの集合（例えば、列ｋ）の角度パラメータの勾配を計算するためのものである。重み行列を更新するために、各入力データベクトルについて各集合（例えば、列）の勾配をバッチで計算する必要がある。図２−５は、幾つかの実施形態による重み行列の更新に必要な全ての勾配を計算するプロセスのフローチャートを示す。動作２−５０１において、ユニタリ伝達行列（例えば、ギヴンス回転）の複数の集合の１つの集合の勾配が特定される（例えば、図２−４に示されるプロセスを使用して）。動作２−５０２において、次に、現在の入力データベクトルについて勾配が計算される必要があるユニタリ伝達行列の追加の集合（例えば、列）があるか否かが判断される。計算すべき追加の勾配があると判断される場合、プロセスは、動作２−５０１に戻り、新しい集合（例えば、列）が選択され、新たに選択された集合の勾配が計算される。後述するように、幾つかの計算アーキテクチャでは、アレイの全ての列は、動作２−５０２における判断が必要ないように同時に読み出され得る。プロセスは、分解されたユニタリ行列内のユニタリ伝達行列の全ての集合（例えば、列）の勾配が特定されたと動作２−５０２において判断されるまで続けられる。次に、プロセスは、動作２−５０３に進み、処理中のトレーニングデータのバッチで処理する更なる入力データベクトルがあるか否かが判断される。追加の入力データベクトルがあると判断された場合、プロセスは、動作２−５０１に戻り、バッチから新しい入力データベクトルが選択され、新たに選択された入力データベクトルに基づいて勾配が計算される。プロセスは、トレーニングデータのバッチ内の全ての入力データベクトルが処理されたと動作２−５０３において判断されるまで繰り返される。動作２−５０４において、動作２−５０１乃至２−５０３において特定された勾配は、平均化され、平均化された勾配を利用する更新ルールに基づいて角度表現のパラメータ（例えば、重み行列の分解のギヴンス回転行列の角度）が更新される。非限定的な例として、更新ルールは、学習率による平均勾配のスケーリングを含み得るか、又は「モーメンタム」若しくはパラメータ勾配の履歴の他の補正を含み得る。
【０２６９】
手短に上述したように、上記例は、単層ニューラルネットワークにおける実数重み行列に適用されたが、結果は、複数の層及び複素重み行列を有するネットワークに一般化され得る。幾つかの実施形態では、ニューラルネットワークは、複数の層（例えば、ディープニューラルネットワークでは５０層以上）からなる。層Ｌの行列の勾配を計算するために、その層への入力ベクトルは、前の層Ｌ−１の出力であり、その層への誤差ベクトルは、続く層Ｌ＋１から逆伝播された誤差である。逆伝播された誤差ベクトルの値は、従来の多変数微積分学の連鎖律を使用して計算することができる。更に、幾つかの実施形態では、複素数Ｕ及びＶ行列（例えば、ユニタリ行列）は、追加の複素位相項をギヴンス回転行列に追加することにより使用され得る。
【０２７０】
上記説明は、一般にハードウェアアーキテクチャとは無関係に当てはまるが、特定のハードウェアアーキテクチャは、他のハードウェアアーキテクチャよりも一層の計算加速を提供する。特に、グラフィカル処理ユニット、シストリック行列乗算器、フォトニックプロセッサ（例えば、フォトニック処理システム１００）又は勾配の並列計算が可能な他のハードウェアアーキテクチャで本明細書に説明されたバックプロパゲーション技法の実施は、従来の手法と比較して最大利得に関して好ましい。
【０２７１】
上述したように、フォトニック処理システム１００は、任意のユニタリ変換を実施するように構成される。一連のギヴンス回転は、そのようなユニタリ変換の一例であり、したがって、フォトニック処理システム１００は、Ｏ（１）時間において上記の分解における変換を計算するようにプログラムすることができる。上述したように、行列は、可変ビームスプリッタ（ＶＢＳ）の規則正しいアレイを制御することにより実施され得る。ユニタリ行列Ｕ及びＶＴは、ＶＢＳのタイル化されたアレイに分解され得、ＶＢＳの各タイル化アレイは、２×２直交行列演算（例えば、ギヴンス回転）を実行する。対角行列Σは、対角位相スクリーンＤＵ及びＤＶ（対角行列ＤＵΣＤＶの形態）と共に、上述したように光パルスの強度及び位相を制御することによりフォトニック処理システム１００により実施することができる。
【０２７２】
対角行列Σ内の各エントリは、各フォトニックモードの増幅又は減衰に対応する。１以上の大きさを有するエントリは、増幅に対応し、１以下の大きさを有するエントリは、減衰に対応し、ＶＢＳと利得媒体との組合せにより、減衰又は増幅のいずれかが可能である。ｎ×ｎ正方行列Ｍの場合、対角行列Σの適用に必要な光学モード数は、ｎである。しかしながら、行列Ｍが正方ではない場合、必要な光学モードの数は、小さい方の次元に等しい。
【０２７３】
上述したように、幾つかの実施形態では、フォトニックプロセッサのサイズは、行列Ｍ及び乗算中の入力ベクトルのサイズと同じである。しかしながら、実際には、行列Ｍのサイズ及びフォトニックプロセッサのサイズは、異なることが多い。サイズＮのフォトニックプロセッサを考える。サイズＩ×Ｊの行列をサイズＪのベクトルで乗算するというタスクの場合、１つの行列−ベクトル積は、複雑性Ｏ（ＩＪ／Ｎ２）（Ｉ及びＪが両方ともＮで除算可能であると仮定する）を有することになり、これは、行列の各次元がサイズＮの行列に分割され、プロセッサにロードされ、部分結果の計算に使用されなければならないためである。Ｋベクトルのバッチの場合（例えば、サイズＪ×Ｋの第２の行列）、行列−ベクトル積の複雑性は、Ｏ（ＩＪＫ／Ｎ２）である。
【０２７４】
小さいＮ×Ｎ行列パーテーションで機能する能力は、行列が非正方である場合、特にＩ＞＞Ｊ又はＪ＞＞Ｉのいずれかである場合に有利であり得る。非正方行列Ａを仮定すると、行列の直接ＳＶＤは、１つのＩ×Ｉユニタリ行列、１つのＪ×Ｊユニタリ行列及び１つのＩ×Ｊ対角行列を生成する。Ｉ＞＞Ｊ又はＪ＞＞Ｉのいずれかの場合、この分解された行列を表すのに必要なパラメータ数は、元の行列Ａよりもはるかに大きい。
【０２７５】
しかしながら、行列Ａが、より小さい次元を有する複数のＮ×Ｎ正方行列に分割される場合、これらのＮ×Ｎ行列へのＳＶＤは、２つのＮ×Ｎユニタリ行列及び１つのＮ×Ｎ対角行列を生成する。この場合、分解された行列を表すのに必要なパラメータ数は、なおもＮ２（元の行列Ａのサイズに等しい）であり、合計非正方行列は、合計でＩＪに近似する数のパラメータを用いて分解することができる。ＩＪがＮ２で除算可能である場合、この近似は、等式になる。
【０２７６】
２Ｎ＋１列を有するフォトニックプロセッサの場合、各列の誤差ベクトルを逆伝播させた部分結果が計算され得る。したがって、Ｋベクトルのバッチの場合、サイズＮのフォトニックプロセッサを使用したバックプロパゲーションの複雑性は、Ｏ（ＩＪＫ／Ｎ）である。比較により、非並列プロセッサ（例えば、ＣＰＵ）で行列乗算アルゴリズムを使用した逆伝播誤差の計算は、Ｏ（ＩＪＫ）である。
【０２７７】
これまでの説明は、入力ベクトルデータ及び逆伝播される誤差ベクトルを有するニューラルネットワーク層内の行列の使用に焦点を合わせていた。本発明者らは、ディープニューラルネットワーク計算におけるデータが必ずしもベクトルではなく、一般に多次元テンソルであることを認識及び理解した。同様に、ニューロン間の接続を記述する重み値も一般に多次元テンソルである。幾つかの実施形態では、上述した方法は、重みテンソルが、各々が互いから独立した行列スライスにスライスされる場合、直接適用することができる。したがって、特異値分解及びギヴンス様回転分解が実行されて、特定の行列スライスの位相に関して有効な表現を取得することができる。次に、適宜配置の入力テンソルデータ及び逆伝播される誤差データを同様に用いて、位相の勾配を計算する同じ方法を適用することができる。特定の行列スライスの勾配は、その特定の行列スライスに寄与した入力データ及び誤差データの部分を用いて計算されるべきである。
【０２７８】
具体性のために、一般ｎ次元重みテンソルＷａ１ａ２ａ３…ａｉ…ａｎを考える。｛ａｉ｝ｉ＝１，．．．，ｎから、行列スライスを構成する２つのインデックスを選択し（例えば、選択されたものは、インデックスａｂ及びａｃにより記される）、∂Ｅ／∂θｉｊ（ｋ）を計算することにより分解を実行して位相θｉｊ（ｋ）を取得する。重要なことに、ｂ及びｃは、１乃至ｎの任意の値であり得る。ここで、一般ｋ次元入力テンソルｘａ１…ａｉ…ａｎを考える。有効なテンソル演算のために、この入力テンソルへの重みテンソルの演算の出力は、（ｎ−ｋ）次元出力テンソルを生成することが当てはまらなければならない。したがって、この層の重みテンソルの逆伝播された誤差テンソルが（ｎ−ｋ）次元テンソル：ｅａｋ＋１…ａｉ…ａｎであると結論付けることができる。したがって、計算すべき勾配は、
【０２７９】
【数８３】
2021523508.tif 000085
であり、式中、簡潔さのために（しかし、必須条件ではない）、重みテンソルのインデックスは、最初のｋ個のインデックスがｘに対して動作し、最後の（ｎ−ｋ）個のインデックスが誤差ｅに対して動作するように並べられている。
【０２８０】
他の実施形態では、タッカー分解等の特異値分解のより高次の一般化を実行することがより好都合であり得、ここで、任意のｎ次元テンソルは、
【０２８１】
【数８４】
2021523508.tif 000086
として分解することができ、式中、各Ｕａｉｂｉ（ｉ）は、ギヴンス回転位相に分解することができる直交行列であり、ｇｂ１…ｂｎは、ｎ次元コアテンソルである。幾つかの場合、コアテンソルは、ＣＡＮＤＥＣＯＭＰ−ＰＡＲＡＦＡＣ（ＣＰ）分解と呼ばれるタッカー分解の特殊な事例を使用して、上対角であるように選択することができる。タッカー分解は、ユニタリ行列の幾つかの反転（転置又は共役転置）を乗算することにより、二次元ＳＶＤ形態と同様にすることができる。例えば、分解は、
【０２８２】
【数８５】
2021523508.tif 000087
として書き直すことができ、式中、最初のｍユニタリ行列は、コアテンソルの左側にプッシュされる。コアテンソルのいずれかの側でのユニタリ行列の集合は、回転角に分解することができ、各回転角の勾配は、微積分学の連鎖律並びに入力テンソル及び誤差テンソルとの勾配の縮約により取得される。
【０２８３】
本発明者らは、位相の勾配（例えば、分解された行列Ｕ及びＶの）並びに符号付き特異値の勾配（例えば、行列Σの）が異なる上限を有し得ることを認識及び理解した。ニューラルネットワークパラメータに関してのスカラー損失関数Ｌの勾配を計算するタスクを考える。ユークリッド空間では、勾配の値は、
【０２８４】
【数８６】
2021523508.tif 000088
により与えられ、ここで、Ｗは、行列である。位相空間では、特定のスカラー位相θｋについて、連鎖律は、
【０２８５】
【数８７】
2021523508.tif 000089
を提供する。
【０２８６】
トレースの定義から、これは、
【０２８７】
【数８８】
2021523508.tif 000090
に等しく、式中、
【０２８８】
【数８９】
2021523508.tif 000091
は、両方とも行列である。トレースがフロベニウスノルム積Ｔｒ（ＡＢ）≦││Ａ││Ｆ││ＡＢ││Ｆにより区切られ、││Ａ││Ｆ＝││ＡＴ││Ｆであることが既知である。したがって、
【０２８９】
【数９０】
2021523508.tif 000092
である。
【０２９０】
θに関する微分は、Ｗの特異値を変えず、したがってフロベニウスノルムを変えないため、以下が当てはまる。
【０２９１】
【数９１】
2021523508.tif 000093
特定の特異値σｋに関して微分すると、
【０２９２】
【数９２】
2021523508.tif 000094
を意味する、１になる微分中の特異値を除き、全ての特異値がゼロになる。
【０２９３】
したがって、
【０２９４】
【数９３】
2021523508.tif 000095
である。
【０２９５】
幾つかの実施形態では、位相及び特異値の勾配は、例えば、上限の差を説明するために、角度表現のパラメータの更新中に別個にスケーリングされる。勾配を別個にスケーリングすることにより、位相の勾配又は特異値の勾配のいずれかは、同じ上限を有するように再スケーリングされ得る。幾つかの実施形態では、位相の勾配は、行列のフロベニウスノルムによりスケーリングされる。幾つかの更新ルールによれば、位相及び特異値の勾配のスケーリングは、独立して、位相の勾配及び特異値の勾配に異なる学習率を有することに等しい。したがって、幾つかの実施形態では、Ｕ及びＶ行列の組の構成要素を更新する第１の学習率は、Σ行列の組の構成要素を更新する第２の学習率と異なる。
【０２９６】
本発明者らは、重み行列が位相空間に分解されると、位相及び特異値の両方が、良好な解を得るために、あらゆる反復において更新される必要がないことがあり得ることを認識及び理解した。したがって、エポック中、全体トレーニング時間の幾らかの部分で特異値のみ（位相ではなく）が更新される場合、Ｏ（ｎ２）ではなく、Ｏ（ｎ）パラメータを更新するのみでよく、全体実行時間の改善に繋がる。幾つかの反復中、特異値のみ又は位相のみを更新することは、「パラメータクランピング」と呼ばれ得る。幾つかの実施形態では、パラメータクランピングは、以下のクランピング技法の１つ又は複数に従って実行され得る。
【０２９７】
・固定クランピング：特定の数の反復中、全てのパラメータをトレーニングし、続けて特異値のみを更新する。
・循環クランピング：幾つかのエポックＭにわたり、全てのパラメータをトレーニングし、次に幾つかのエポックＮにわたり位相をフリーズさせる（すなわち特異値のみを更新する）。別のＭ個のエポックにわたり全てのパラメータのトレーニングを再開し、次に再びＮ個のエポックにわたり位相をフリーズさせる。全数の所望のエポックに達するまで繰り返す。
【０２９８】
・ウォームアップクランピング：何らかの数のエポックＫにわたり全てのパラメータをトレーニングし、次に残りの数のエポックにわたり循環クランピングを開始する。
・閾値クランピング：更新が閾値εよりも小さくなるまで位相又は特異値を更新し続ける。
【０２９９】
本発明者らは、フォトニクスプロセッサのアーキテクチャが計算の複雑性に影響を及ぼし得ることを認識及び理解した。例えば、図１に示されるアーキテクチャでは、検出器は、フォトニックプロセッサアレイの一端部のみにあり、上述したように勾配を計算する列毎の手法（例えば、部分前方及び後方パスを使用する）になる。代替のアーキテクチャでは、検出器は、フォトニクスアレイ内のあらゆるフォトニック要素に（例えば、各ＭＺＩに）配置され得る。そのようなアーキテクチャでは、列毎の手法は、１つの前方パス及び１つの後方パスで置換され得、あらゆる列における出力は、同時に読み出され、したがって追加の計算加速を提供する。検出器の列がアレイ全体を通して断続的に配置される場合、中間解も意図される。検出器列の任意の追加は、それに応じて、勾配計算に必要な部分前方パス及び部分後方パスの数を低減する。
【０３００】
上述した技法は、位相空間に全ての計算を保持しながら（例えば、行列の角度表現を使用して）、重み行列パラメータの更新を実行する技法を示す。幾つかの実施形態では、計算の少なくとも幾つかは、ユークリッドベクトル空間で実行され得る一方、他の計算は、位相空間で実行される。例えば、更新の実行に必要な数量は、上述したように位相空間で計算され得るが、パラメータの実際の更新は、ユークリッドベクトル空間で行われ得る。ユークリッドベクトル空間で計算された更新された行列は、次に、次の反復に向けて重み空間に再分解され得る。ユークリッドベクトル空間において、所与の層で、更新ルールは、
【０３０１】
【数９４】
2021523508.tif 000096
であり得る。
【０３０２】
この計算では、δは、位相空間におけるフォトニクスプロセッサ全体を通る後方パスを用いて計算することができる。次に、ｘとδとの間の上記外積は、別個に（例えば、オフチップで）計算することができる。更新が適用されると、更新された行列は、再分解することができ、分解された値は、上述したようにフォトニックプロセッサの位相の設定に使用することができる。
【０３０３】
ＩＩＩ．畳み込み層
畳み込み及び相互相関は、オーディオ／ビデオ符号化、確率理論、画像処理及び機械学習等の多くの用途で一般的な信号処理演算である。畳み込み及び相互相関という用語は、一般に、入力として２つの信号を受け入れ、出力として、入力間に存在する類似性を表す第３の信号を生成する数学的演算を指す。本発明者らは、畳み込み及び相互相関の計算が計算的にリソース集約的であり得ることを認識及び理解した。特に、本発明者らは、畳み込み及び相互相関の計算速度及び効率を改善する技法を開発した。これらの技法の実施形態は、畳み込み演算を行列−ベクトル積及び／又は多次元アレイの積に変換することにより畳み込み及び相互相関を計算することを含む。これらの技法の実施形態は、離散変換に従って畳み込みを計算することを更に含む。
【０３０４】
本発明者らは、畳み込み及び相互相関の計算が、意図される用途に応じて多様な方法で実行され得ることを更に認識及び理解した。入力信号及び出力信号は、離散又は連続であり得る。信号を構成するデータ値は、実数、複素平面又は有限整数環等の多様な数値ドメインにわたり定義され得る。信号は、任意の数の次元を有し得る。信号は、複数のチャネルを有することもでき、これは、畳み込みニューラルネットワーク（ＣＮＮ：ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）で一般に使用される技法である。本明細書に記載される実施形態は、任意の組合せのこれらの変形に適応するように実施され得る。
【０３０５】
更に、これらの技法の実施形態は、行列演算を実行するように構成された任意の適した計算システムで実施され得る。本明細書に記載された技法から恩恵を受け得るそのような計算システムの例には、中央演算処理装置（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）及びフォトニックプロセッサがある。本明細書に記載される実施形態は、フォトニックプロセッサに関連して説明され得るが、これらの技法は、限定ではなく、上述等の他の計算システムにも適用可能であることを理解されたい。
【０３０６】
以下に、畳み込み及び相互相関の計算に関連する種々の概念並びにその実施形態、技法のより詳細な説明が続く。本明細書に記載される種々の態様が任意の多くの方法で実施可能であることを理解されたい。具体的な実装形態の例は、例示のみを目的として本明細書に提供される。加えて、以下の実施形態に記載される種々の態様は、単独で又は任意の組合せで使用することができ、本明細書に明示的に記載される組合せに限定されない。
【０３０７】
本発明者らは、電気信号の代わりに光信号を使用して、電気計算を用いて上記の問題の多くを解消することを更に認識及び理解した。光信号は、光が移動する媒体において光速で移動し、したがって、フォトニック信号の待ち時間は、電気伝播遅延と比較して大きな制限ではない。更に、光信号が移動する距離の増大により電力が散逸せず、電気信号を使用して実現可能でなかったであろう新しいトポロジ及びプロセッサレイアウトを開拓する。したがって、フォトニックプロセッサ等の光ベースのプロセッサは、幾つかの従来の電気ベースのプロセッサよりも良好な速度及び効率性能を有し得る。
【０３０８】
フォトニクスベースのプロセッサを実施するために、本発明者らは、行列による入力ベクトルの乗算が、相互接続可変ビームスプリッタ（ＶＢＳ）の第１のアレイ、相互接続可変ビームスプリッタの第２のアレイ及び第１のアレイの１つの出力を第２のアレイの１つの入力に接続する、２つのアレイ間の複数の制御可能な電子光学要素を通してコヒーレント光信号、例えばレーザパルスを伝播させることにより達成され得ることを認識及び理解した。
【０３０９】
本明細書に記載されるように、ｎ個の光学モードを有するフォトニックプロセッサの幾つかの実施形態は、自然に、サイズ［ｎ×ｎ］の行列とｎ要素ベクトルとの間の行列−ベクトル積を計算する。これは、サイズ［ｎ×ｎ］の行列とサイズ［ｎ×１］の行列との間の行列−行列積として等しく表現され得る。Ｋ個の異なる入力ベクトル及び１つの反復入力行列を有する一連のＫ個の行列−ベクトル積演算は、サイズ［ｎ×ｎ］の行列とサイズ［ｎ×Ｋ］の行列との間の行列−行列積の計算として表現され得る。しかし、本明細書に記載される用途及びアルゴリズムは、多くの場合、任意のサイズの行列間の一般行列−行列乗算（ＧＥＭＭ）の計算、すなわち計算
【０３１０】
【数９５】
2021523508.tif 000097
を含み、式中、ａｉｊは、［Ｉ×Ｊ］行列Ａのｉ行目及びｊ列目における要素であり、ｂｊｋは、［Ｊ×Ｋ］行列Ｂのｊ行目及びｋ列目であり、ｃｉｋは、［Ｉ×Ｋ］行列Ｃ＝ＡＢのｉ行目及びｋ列目における要素である。この計算の再帰性に起因して、これは、
【０３１１】
【数９６】
2021523508.tif 000098
として等しく表現することができ、式中、Ａは、まず、
【０３１２】
【数９７】
2021523508.tif 000099
行列にパディングされ、次にサブ行列（それぞれサイズ［ｎ×ｎ］）の
【０３１３】
【数９８】
2021523508.tif 000100
グリッドに分割され、Ａｉｊは、このグリッドのｉ行目及びｊ列目における［ｎ×ｎ］サブ行列であり、Ｂは、まず、
【０３１４】
【数９９】
2021523508.tif 000101
行列にパディングされ、次にサブ行列（それぞれサイズ［ｎ×Ｋ］）の
【０３１５】
【数１００】
2021523508.tif 000102
グリッドに分割され、Ｂｊは、このグリッドのｊ行目における［ｎ×Ｋ］サブ行列であり、Ｃは、まず、
【０３１６】
【数１０１】
2021523508.tif 000103
行列にパディングされ、次にサブ行列（それぞれサイズ［ｎ×Ｋ］）の
【０３１７】
【数１０２】
2021523508.tif 000104
グリッドに分割され、Ｃｉは、このグリッドのｉ行目における［ｎ×Ｋ］サブ行列である。
【０３１８】
幾つかの実施形態によれば、このプロセスを使用して、フォトニックプロセッサは、
【０３１９】
【数１０３】
2021523508.tif 000105
個の異なる行列をフォトニックアレイにロードし、ロードされた各行列について、フォトニックアレイを通してＫ個の異なるベクトルを伝播させることにより任意のＧＥＭＭを計算することができる。これは、
【０３２０】
【数１０４】
2021523508.tif 000106
出力ベクトル（それぞれｎ個の要素で構成される）を生成し、上記式により定義されるように、その部分集合は、一緒に加算されて、所望の［Ｉ×Ｋ］出力行列を生成し得る。
【０３２１】
本発明者らは、フォトニックプロセッサが、畳み込み及び相互相関を計算するプロセスを加速させ得るが、本明細書に記載される畳み込み及び相互相関を計算する実施形態が任意の適した計算システムで実施され得ることを認識及び理解した。本明細書に記載される実施形態は、二次元畳み込みに関して考察されるが、任意の数の次元に一般化され得る。［Ｉｈ×Ｉｗ］入力（本明細書では「画像」と呼ばれるが、入力は、任意の適したデータを表し得ることを理解されたい）Ｇ及び［Ｋｈ×Ｋｗ］フィルタＦの場合、二次元畳み込みの数式は、
【０３２２】
【数１０５】
2021523508.tif 000107
である。
【０３２３】
二次元相互相関は、
【０３２４】
【数１０６】
2021523508.tif 000108
により与えられ、式中、
【０３２５】
【数１０７】
2021523508.tif 000109
は、境界条件によって決まるＧの関数であり、
【０３２６】
【数１０８】
2021523508.tif 000110
は、複素共役を示し、・は、スカラー乗算を示す。
【０３２７】
幾つかの実装形態では、畳み込み及び相互相関演算は、相互交換可能であり得、その理由は、複素値二次元信号Ｇ及びＦの相互相関が、
【０３２８】
【数１０９】
2021523508.tif 000111
を介して畳み込みに変換することができるためである。
【０３２９】
本明細書に記載される実施形態は、畳み込みの場合に焦点を合わせるが、本明細書に記載される実施形態は、畳み込み及び相互相関の計算に使用され得ることを理解されたい。
畳み込み及び相互相関の両方において、境界条件がどのように扱われるかに応じて異なる変形形態が存在する。本明細書において幾つかの実施形態に記載される２つの境界条件は、循環：
【０３３０】
【数１１０】
2021523508.tif 000112
及びパディング：
【０３３１】
【数１１１】
2021523508.tif 000113
を含み、式中、ａ％ｎは、ａモジュロｎを示す。
【０３３２】
幾つかの実施形態によれば、追加の境界条件変数が使用され得る。これらの境界条件は、画像が境界にわたり反映される対称（ミラー又は反射とも呼ばれる）境界条件を含む。パディング境界条件は、幾つかの実施形態では、線形又は充填と様々に呼ばれ得る。循環境界条件は、ラップドとしても既知である。
【０３３３】
更に、いずれの要素が境界条件と相互作用するかを決定するために異なる出力モードが利用され得る。これらの出力モードは、有効出力モード、同出力モード（又はハーフパディング）及びフル出力モードを含む。有効出力モードでは、出力は、境界条件に依存しない要素のみからなる必要がある。同出力モードでは、出力は、入力と同じサイズである必要がある。フル出力モードでは、出力は、境界条件に専ら依存しない全ての要素からなる。
【０３３４】
異なる出力モードは、出力が定義される点［ｘ，ｙ］の数を制御する。したがって、本明細書に記載される各実施形態は、任意の所与の出力モードで動作するように変更され得る。本明細書に記載される実施形態は、同モード畳み込みの場合に焦点を合わせるが、これらの実装形態は、本明細書に記載される実施形態への代替又は追加として、相互相関及び／又は代替の出力モードを計算するように拡張され得ることを理解されたい。
【０３３５】
ＣＮＮ等の幾つかの実装形態では、これらの演算は、マルチチャネルデータに適用され得、且つ／又はマルチチャネルデータを生成するように一般化され得る。一例として、ＲＧＢ画像は、３つの色チャネルを有する。２つの空間次元及びＣチャネルを有する入力Ｇの場合、マルチチャネル演算は、
【０３３６】
【数１１２】
2021523508.tif 000114
として定義され、式中、
【０３３７】
【数１１３】
2021523508.tif 000115
は、畳み込み又は相互相関のいずれかを表し、Ｍは、出力チャネル数であり、Ｇは、三次元［Ｃ×Ｉｈ×Ｉｗ］テンソルであり、Ｆは、四次元［Ｍ×Ｃ×Ｉｈ×Ｉｗ］テンソルであり、
【０３３８】
【数１１４】
2021523508.tif 000116
は、三次元［Ｍ×Ｉｈ×Ｉｗ］テンソルである。上記の場合、スライスインデックス表記が使用され、空間次元は、Ｆ［ｍ，ｃ］がＦの二次元［Ｋｈ×Ｋｗ］空間スライスにアクセスし、Ｇ［ｃ］がＧの二次元［Ｉｈ×Ｉｗ］空間スライスにアクセスするように抑制される。
【０３３９】
一般に、行列演算として畳み込みを表現する技法は、図３−１のプロセスに従い得る。動作３−１０２において、行列が、例えば、正確な次元のものであり、境界条件及び／又は出力モードに従うことを確認するために、行列演算前に画像及び／又はフィルタ行列の前処理が行われ得る。動作３−１０４において、コア行列又は行列−ベクトル演算が適用され得、畳み込みの出力を作成する。動作３−１０６において、例えば、出力を再形成するために、本明細書においてより詳細に考察するように、畳み込みの出力の後処理が行われ得る。
【０３４０】
幾つかの実施形態は、フォトニックプロセッサを使用して、行列−ベクトル積として畳み込みを計算し得る。本発明者らは、本明細書において上述したようなフォトニックプロセッサの幾つかの実施形態に含まれ得る等の可変ビームスプリッタ（ＶＢＳ）のアレイが、任意のユニタリ行列を表すために使用され得ることを認識及び理解した。一例として、それらの技法を使用して拡張画像Ｇｍａｔを表す場合、行列は、Ｇｍａｔ＝ＶＴΣＵとして特異値分解を用いて分解され得る。
【０３４１】
フォトニックプロセッサの幾つかの実施形態では、２つのユニタリ行列Ｕ及びＶは、次に、上述したアルゴリズムを用いて分解され得る。その計算から生成された位相は、特異値と共にフォトニックアレイにプログラムされる。幾つかの実施形態では、プロセッサは、画像ではなくフィルタを分解し、したがって、フィルタは、画像のバッチ全体にわたりロードされたままであり得る。
【０３４２】
幾つかの実施形態による、フォトニックプロセッサにおいて畳み込みを計算するプロセスの一例は、図３−２に示される。動作３−２０２において、プロセスは、入力画像行列Ｇから行列Ｇｍａｔを構築する。行列Ｇｍａｔは、限定ではなく、二重ブロック循環行列又は二重ブロックテプリッツ行列としてＧｍａｔを構築することを含め、選択された境界条件に従って任意の適した方法で構築され得る。
【０３４３】
次に、動作３−２０４において、分解された行列Ｇｍａｔは、フォトニックアレイにロードされ得る。入力バッチ内の各フィルタＦについて、ループが繰り返され、動作３−２０６において、フィルタＦは、列ベクトルに平坦化され、動作３−２０８においてフォトニックアレイを通して行列−乗算演算を実行し、次に動作３−２１０において、適切な次元を有する出力に再形成される。動作３−２１２において、任意の更なるフィルタＦが残っているか否かが判断される。畳み込み層を通るべき更なるフィルタＦがある場合、プロセスは、動作３−２０６に戻る。他の場合、プロセスは、終了する。畳み込みの可換性により、プロセス３−２００は、フィルタＦがＦｍａｔに拡張され、画像Ｇが列ベクトルに平坦化され、動作３−２０８においてフォトニックアレイを通る状態で実行され得る。
【０３４４】
フォトニックプロセッサは、任意の適した行列乗算ベースのアルゴリズムの実施に使用され得る。行列乗算ベースのアルゴリズムは、計算が幾らかの前処理及び／又は後処理を有する一般行列−行列乗算（ＧＥＭＭ）として表現することができるように入力信号を並べ替え且つ／又は拡張する。フォトニックプロセッサで実施され得る幾つかの行列乗算ベースアルゴリズムの例には、ｉｍ２ｃｏｌ、ｋｎ２ｒｏｗ及び省メモリ畳み込み（ＭＥＣ：ｍｅｍｏｒｙ−ｅｆｆｉｃｉｅｎｔ  ｃｏｎｖｏｌｕｔｉｏｎ）がある。
【０３４５】
幾つかの実施形態によれば、ｉｍ２ｃｏｌアルゴリズムは、フォトニックプロセッサで実施され得る。ｉｍ２ｃｏｌアルゴリズムでは、前処理中、画像Ｇは、［Ｉｈ×Ｉｗ］行列から［（Ｋｈ・Ｋｗ）×（Ｉｈ・Ｉｗ）］行列に拡張され得る。フィルタＦは、［Ｋｈ×Ｋｗ］行列から［１×（Ｋｈ・Ｋｗ）］行ベクトルに平坦化され得る。次に、出力は、画像及びフィルタの行列−ベクトル積により生成され得、なぜなら、この前処理ステップは、各列が、スケーリングされ得、出力中の各ロケーションで蓄積され得る全ての（Ｋｈ×Ｋｗ）要素のコピーを保持する拡張データ行列を生成するためである。したがって、ｉｍ２ｃｏｌアルゴリズムは、Ｏ（Ｋｈ・Ｋｗ・Ｉｈ・Ｉｗ）データコピー及びＯ（Ｋｈ・Ｋｗ・Ｉｈ・Ｉｗ）一時的記憶を必要とし得る。
【０３４６】
幾つかの実施形態によれば、ｋｎ２ｒｏｗアルゴリズムは、フォトニックプロセッサで実施され得る。ｋｎ２ｒｏｗアルゴリズムは、変更されていない画像とフィルタ信号との外積を計算し、サイズ［（Ｋｈ・Ｋｗ）×（Ｉｈ・Ｉｗ）］の一時的な行列を生成する。ｋｎ２ｒｏｗアルゴリズムは、次に、外積の各行からの特定の要素を一緒に加算して、［１×（Ｉｈ・Ｉｗ）］出力ベクトルを生成する。したがって、ｋｎ２ｒｏｗアルゴリズムもＯ（Ｋｈ・Ｋｗ・Ｉｈ・Ｉｗ）データコピー及びＯ（Ｋｈ・Ｋｗ・Ｉｈ・Ｉｗ）一時的記憶を必要とし得る。
【０３４７】
幾つかの実施形態によれば、ＭＥＣアルゴリズムは、フォトニックプロセッサで実施され得る。ＭＥＣアルゴリズムは、ｉｍ２ｃｏｌアルゴリズムでのように（Ｋｈ・Ｋｗ）係数ではなく、Ｋｈ係数又はＫｗ係数のみで入力画像を拡張し得る。より小さいフィルタ次元が拡張に選択される場合、アルゴリズムは、Ｏ（ｍｉｎ（Ｋｈ，Ｋｗ）・Ｉｈ・Ｉｗ）のみの一時的記憶及びデータコピーを必要とする。１つの行列−ベクトル積を計算するｉｍ２ｃｏｌ又はｋｎ２ｒｏｗと異なり、ＭＥＣアルゴリズムは、一連のより小さい行列−ベクトル積を計算し、結果を連結する。
【０３４８】
上述した実施形態では、フィルタ行列は、畳み込みの可換性により、画像ではなく、前処理中に拡張され得る。タイル化され行列に再形成されるのが画像であるか又はフィルタであるかの選択は、いずれの演算がより高速であり、且つ／又はより少ない計算エネルギーを必要とするかによって決まり得る。
【０３４９】
ＶＩＩ．二次元行列−行列乗算を介した多次元畳み込み
本発明者らは、上述した畳み込みを計算する行列乗算ベースのアルゴリズムが計算アーキテクチャ又は用途によっては適さないことがあることを認識及び理解した。本発明者らは、ｉｍ２ｃｏｌ又はｋｎ２ｒｏｗの計算効率をＭＥＣアルゴリズムの省メモリ特徴と組み合わせることができる手法が、畳み込み及び相互相関の計算にとって有益であることを更に認識及び理解した。特に、本発明者らは、これらの恩恵が、入力行列及び出力行列の並び替え及び再形成を前処理ステップ及び後処理ステップに分割することにより達成され得、そのような方法がＮ次元畳み込みに一般化され得ることを認識し、ここで、Ｎ≧２である。
【０３５０】
幾つかの実施形態によれば、二次元行列−行列乗算アルゴリズムを介した多次元畳み込み（本明細書では「ｃｎｇ２」アルゴリズム）は、３つのステップを含む。高レベルにおいて、二次元循環畳み込みの非限定的な例では、前処理ステップは、［Ｉｈ×Ｉｗ］入力行列の行を複製して回転させることにより［Ｋｗ×（Ｉｈ・Ｉｗ）］行列を構築し、幾つかの実装形態では、「回転」は、ベクトルの要素の循環置換を指し、例えば（［１，２，３，４］，−１）を［２，３，４，１］に回転させる。ＧＥＭＭステップでは、［Ｋｈ×Ｋｗ］フィルタ行列と、前処理ステップからの［Ｋｗ×（Ｉｈ・Ｉｗ）］行列との積が計算される。後処理において、ＧＥＭＭにより作成された［Ｋｈ×（Ｉｈ・Ｉｗ）］行列の行は、回転され、加算されて出力を構築する。
【０３５１】
幾つかの実施形態によれば、ｃｎｇ２アルゴリズムは、他の境界条件を実施するように変更され得る。一例として、前処理及び後処理中、パディング畳み込みの場合、ベクトル行は、回転ではなく、シフトされる。すなわち、回転ステップ中、通常であれば行ベクトルをラップアラウンドする要素は、ゼロに設定される。ｃｎｇ２アルゴリズムで実施され得る他の境界条件には、限定ではなく、対称又はミラー境界条件がある。
【０３５２】
更に、ｃｎｇ２アルゴリズムの前処理ステップは、左辺入力（ここでは画像）のみへの適用に限定されず、幾つかの実施形態によれば、むしろ右辺入力（ここではフィルタ）に適用できることが留意され得る。フル又は有効モード畳み込みの場合、演算は、可換性であり、前処理フェーズは、いずれの入力に適用することもできる。同モード畳み込みの場合、Ｉｈ≠Ｋｈ又はＩｗ・Ｋｗであるとき、演算は、可換性ではなく、前処理フェーズは、それでもなお右辺に適用することができるが、フィルタは、まず各次元でゼロパディング及び／又はクロッピングされて出力サイズに一致しなければならない。
【０３５３】
幾つかの実装形態では、ｃｎｇ２アルゴリズムは、図３−３Ａに説明されるように追加のステップを含み得る。上述したような前処理段階前に、動作３−３０２に示されるように、１つ又は複数の入力フィルタ行列は、適切な次元を有するフィルタ行列Ｆに再形成される必要があり得る。この再形成は、任意の適した様式で１つ又は複数の入力フィルタ行列を連結することにより行われ得る。動作３−３０４において、循環行列Ｈを構築する前処理ステップが実行され、図３−３Ｂを参照してより詳細に説明する。動作３−３０６において、ＧＥＭＭステップが実行され、中間行列Ｘ＝Ｆ×Ｈが作成される。次に、後処理ステップが実行され得る。動作３−３０８において、行列Ｘのベクトル行は、回転及び／又はシフトされて、行列Ｘ’を形成する。動作３−３１０において、ベクトル行加算が行列Ｘ’の行に対して実行されて、行列Ｚを形成する。動作３−３１２において、特定の処理システムのメモリレイアウトに応じて、行列Ｚは、少なくとも１つの出力行列に再形成され得る。
【０３５４】
行列Ｈを構築する方法は、幾つかの実施形態によれば、図３−３Ｂの動作３−３０４の拡張に示されるように、所望の境界条件に依存し得る。動作３−３１４において、境界条件が循環であるか否かが判断され得る。境界条件が循環であると判断される場合、処理システムは、動作３−３１６に進み得、行列Ｈは、少なくとも１つの入力行列の行を複製及び回転させることにより作成される。代わりに、動作３−３１４において境界条件が循環ではなくパディングであると判断される場合、処理システムは、動作３−３１８に進み得る。動作３−３１８において、行列Ｈは、上述したように少なくとも１つの入力行列の行を複製及びシフトさせることにより作成される。幾つかの実施形態では、動作３−３１８において、パディング境界条件以外の他の境界条件が利用され得ることを理解されたい。
【０３５５】
代替的に、幾つかの実施形態によれば、相互相関を計算する際、問題は、プロセス３−３００でのように畳み込みに明示的に変換される必要がないことがあり得ることである。代わりに、要素反転ステップ３−３０２は、省略され得、ｃｎｇ２アルゴリズムの前処理及び後処理ステップは、それに従って変更することができる。すなわち、要素反転ステップは、ｃｎｇ２アルゴリズムの前処理ステップ及び後処理ステップと組み合わされ得る。これがどのように行われるかは、前処理拡張が左辺入力に適用されるか又は右辺入力に適用されるかに依存する。左辺入力が拡張される場合、前処理ステップ及び後処理ステップの両方におけるシフト又は回転は、逆方向で実行され得る。右辺入力が拡張される場合、前処理フェーズ中に生成された各循環行列は、転置され、逆順で連結され得、ＧＥＭＭ出力行列のｉ行目は、後処理フェーズにおいて、ｉ・ｎ要素ではなく、（ｉ−ｎ＋１）・ｎ要素だけシフト又は回転され得る。複素値データの場合、相互相関は、なおも１つの入力の複素共役を必要とする。
【０３５６】
ＣＮＮにおける実施等の幾つかの実装形態では、マルチチャネルデータに適用及び／又は生成することができるように上記演算を一般化することが望ましいことがある。Ｃ個の入力チャネル及びＭ個の出力チャネルを有する問題の場合、フィルタ行列は、形態［（Ｍ・Ｋｈ）×（Ｋｗ・Ｃ）］をとり、入力行列は、形態［（Ｋｗ・Ｃ）×（Ｉｈ・Ｉｗ）］をとり、出力行列は、形態［（Ｍ・Ｋｈ）×（Ｉｈ・Ｉｗ）］をとる。
【０３５７】
図３−４Ａ乃至図３−４Ｆを参照すると、幾つかの実施形態によるマルチチャネル入力及び出力のプロセス３−３００の一例が示される。４つの出力チャネルを含む［２×２］フィルタｆ及び３つの入力チャネルを含む［３×３］画像Ｇの場合、動作３−４０２は、図３−４Ａに視覚化される。しかしながら、任意のサイズのフィルタ行列、画像行列並びに／又は任意の数の入力及び／若しくは出力チャネルが実施可能である。動作３−４０２の例では、フィルタｆの［６×８］フィルタ行列Ｆへの再形成が実行される。この例では、フィルタｆの再形成は、行列要素の順序を変更せずにフィルタｆを連結することにより行われるが、フィルタｆの行の回転、シフト又は他の方法での変更等の他の方法を利用することもできる。フィルタｆの再形成は、フィルタ行列Ｆが後のＧＥＭＭ演算に適切な次元のものであることを保証する。しかしながら、メモリが適宜レイアウトされる幾つかの実装形態では、動作３−４０２は、後述するように動作３−４０４前に必要ではないことがある。
【０３５８】
幾つかの実施形態によれば、図３−４Ｂに示されるように、動作３−４０２後、画像Ｇの前処理が動作３−４０４において実行され得る。この例では、画像Ｇは、同モード畳み込みを実行するように形成されるが、任意の出力モードが使用可能である。この例では、循環行列Ｈは、循環境界条件に基づいて形成されるが、例えばパディング境界条件等の任意の境界条件が使用可能である。動作３−４０４後、図３−４Ｃに示されるように、動作３−４０６のＧＥＭＭ演算Ｆ×Ｈ＝Ｘが実行され得る。この例では、中間行列Ｘは、次元［９×８］を有する。
【０３５９】
ＧＥＭＭ演算後、図３−４Ｄ乃至図３−４Ｅに示されるように、後処理ステップが行われ得る。図３−４Ｄでは、動作３−４０８が示され、この例の循環境界条件に従って中間行列Ｘの行が回転されて、行列Ｘ’を形成する。前処理ステップ及び後処理ステップの境界条件が互いに同一である限り、非限定的な例として、パディング境界条件等の他の境界条件が前処理及び後処理で実施され得る。
【０３６０】
動作３−４１０が示される図３−４Ｅを参照すると、後処理の最後のステップは、行列Ｘ’の行を加算して、出力行列Ｚを形成する。すなわち、この例では、ｘ００＋ｘ１６＝ｚ００、ｘ０１＋ｘ１７＝ｚ０１等である。幾つかの実装形態では、処理システムのメモリがどのようにレイアウトされるかに応じて、動作３−４１０後、出力行列Ｚの再形成を動作３−４１２において実行する必要があり得る。図３−４Ｆの視覚化例では、出力行列Ｚは、次元［３×３］の４つの出力行列Ａに再形成される。
【０３６１】
複数の入力チャネルに一般化可能であることに加えて、幾つかの実施形態によれば、ｃｎｇ２アルゴリズムは、より高次元の信号（すなわち２超）に一般化することもできる。サイズ［Ｋｎ×Ｋｎ−１×．．．×Ｋ１］のフィルタテンソルとサイズ［Ｉｎ×Ｉｎ−１×．．．×Ｉ１］の画像との間のｎ次元畳み込みの場合、二次元信号で行われるものと同様のステップを用いる二次元行列乗算を使用して所望の出力を計算することが可能である。前処理中、入力テンソルは、（Ｋａ・Ｋａ−１．．．．．．．Ｋ１）係数により拡張され得、ここで、ａは、前処理フェーズ中に扱われる次元数と考えることができ、範囲１≦ａ≦ｎ−１内の任意の値が選択され得る。ＧＥＭＭステップでは、［（Ｋｎ・Ｋｎ−１．．．．．Ｋａ＋１）×（Ｋａ・Ｋａ−１．．．．．Ｋ１）］行列及び前処理ステップからの拡張行列として分割されたフィルタテンソルの積が実行され得る。後処理ステップ中、ＧＥＭＭ中に生成された行列のサブベクトルは、回転及び蓄積され得る。
【０３６２】
前処理フェーズにより生成された拡張行列は、（Ｉｉ・Ｉｎ−１．．．．．Ｉａ＋１）水平連結サブ行列からなり得、各サブ行列は、ａ次の入れ子テプリッツ行列であり、最も内側のテプリッツ行列は、二次元ｃｎｇ２実施でのように定義される。後処理フェーズは、（ｎ−ａ）ラウンドの回転及び加算を実行し得、ｉ番目のラウンドは、前のラウンドにより（又は最初にＧＥＭＭ演算により）生成された行列をサイズ［Ｋａ＋ｉ×（Ｉａ＋ｉ・Ｉａ＋ｉ−１．．．．．Ｉ１）］のサブ行列に分割する。各サブ行列について、以下の演算が次に実行される。まず、ｊ行目は、（ｊ・（Ｉａ＋ｉ−１・Ｉａ＋ｉ−２．．．．．Ｉ１））要素だけ回転又はシフトされ得る。次に、全ての行が一緒に加算され得る。
【０３６３】
上記説明は、順序通りに次元を扱い、すなわち前処理フェーズは、最初のａ次元に沿ってデータを拡張し、後処理フェーズは、最後のｎ−ａ次元に沿ってデータを低減するが、幾つかの実施形態によれば、これが当てはまる必要はない。前処理フェーズは、二次元の場合について説明したのと同じように入力データ及び出力データを並び替えることにより、任意のａ次元に沿ってデータを拡張することができる。
【０３６４】
ｃｎｇ２アルゴリズムは、畳み込みを計算する柔軟な枠組みを提供し、幾つかの代替の実施形態が本明細書に説明される。幾つかの実装形態では、出力における所与の点の入力信号の重複領域は、一定のオフセットによりシフトし得る。そのようなオフセットは、出力モードに関係なく適用され得るが、同モード出力と対になることが最も多い。同モードで動作する畳み込み（相互相関）及び先に与えられた定義では、境界条件は、上（下）縁部に沿って（Ｋｈ−１）・Ｉｗ要素及び入力画像Ｇの左（右）縁部に沿って（Ｋｗ−１）・Ｉｈ要素に適用し得る。この挙動は、フィルタロケーションと出力ロケーションとの間に一定のオフセットを用いて演算を再定義することにより変更され得る。畳み込み（相互相関）を計算する場合、この変更は、前処理フェーズにおいてオフセットをシフト量又は回転量から減算（加算）し、後処理フェーズにおいてオフセット・Ｉｗをシフト量又は回転量から減算（加算）することによりｃｎｇ２に適用することができる。
【０３６５】
更に、ｋｎ２ｒｏｗ後処理ステップの時間要件及び記憶要件の両方の低減に向けて提案された方法は、幾つかの実施形態によれば、ｃｎｇ２アルゴリズムにも同様に適用し得る。ｋｎ２ｒｏｗアルゴリズムでは、ＧＥＭＭ演算は、一連のＫｗ・Ｋｈのより小さいＧＥＭＭ演算に分割され得、それらのより小さいＧＥＭＭ演算の結果は、連続して一緒に蓄積される。これにより、後処理加算は、最終出力の記憶に関して最適化され、且つインプレースで実行することができる。ｋｎ２ｒｏｗの場合、これは、境界条件を無視することができる場合のみ又は追加の（及び一般に非効率的な）いわゆるホールパンチングプロセスが導入される場合のみ機能する。しかし、ｃｎｇ２アルゴリズムでは、このプロセスは、精度又は追加処理なく直接適用することができ、後処理ステップの計算コストを効率的になくし、ｃｎｇ２アルゴリズムに必要な一時的記憶をＯ（Ｋｗ・Ｉｈ・Ｉｗ）に低減する。
【０３６６】
幾つかの実施形態では、空間次元は、プロセス３−３００に記載されるように逆順に扱うことができる。ｃｎｇ２アルゴリズムは、プロセス３−３００の開始時において両方の入力信号に適用される転置演算及び最終出力に対する転置演算で向上させることができる。これは、なおも所望の結果を生成するが、フィルタの形状が厳密に矩形である（すなわちＫｗ≠Ｋｈ）場合、挙動を変える。この場合、入力画像は、Ｋｗではなく、係数Ｋｈで拡張され、後処理ステップは、Ｏ（Ｋｈ・Ｉｈ・Ｉｗ）ではな、くＯ（Ｋｗ・Ｉｈ・Ｉｗ）加算からなる。この変形形態を上記の低メモリ集積後処理変形と組み合わせる実装形態は、ｃｎｇ２アルゴリズムに必要な一時的記憶をＯ（ｍｉｎ（Ｋｈ・Ｋｗ）・Ｉｈ・Ｉｗ）に更に低減することができる。
【０３６７】
代替の実装形態として、ＧＥＭＭ演算に渡される行列中の行及び／又は列は、並び替えられ得る。ＧＥＭＭ演算がＣ＝ＡＢとして定義される場合、入力行列Ａ又はＢのいずれかの行及び／又は列は、適切な置換が他方の入力行列（Ａの列又はＢの行を並び替える場合）又は出力行列（Ａの行又はＢの列を並び替える場合）に適用される限り、並び替えられ得る。特に、複数の出力チャネルの場合にＡの行を並び替えることは、ベクトルプロセッサ又は単一命令複数データ（ＳＩＭＤ：ｓｉｎｇｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ−ｍｕｌｔｉｐｌｅ−ｄａｔａ）アーキテクチャによく適するように、後処理フェーズで利用可能なデータレベル並列性を認識し得る。
【０３６８】
畳み込み計算は、幾つかの実施形態によれば、ストライドを用いて計算することもできる。第１の次元におけるストライドＳｘ及び第２の次元におけるストライドＳｙについて、畳み込み演算は、以下のように定義される。
【０３６９】
【数１１５】
2021523508.tif 000117
この定義は、計数Ｓｘ・Ｓｙで出力信号のサイズを低減し、各出力点でフィルタが画像にわたりスライドするステップサイズの増大に等しい。これは、非ストライド畳み込みを計算し、次に各次元で適切な量で結果をダウンサンプリングすることにより実施され得るが、これは、必要なものよりも追加のＯ（Ｓｘ・Ｓｙ）計算ステップを必要とする。少なくとも、この計算ペナルティは、個々の各循環行列においてＳｘ番目毎の列のみを生成するように前処理フェーズ３−３０４を変更し、ｉ・Ｉｗではなく、ｉ・（Ｉｗ／Ｓｘ）で各行をシフト又は回転するように後処理ステップを変更することにより、ｃｎｇ２でＯ（Ｓｙ）に低減することができる。幾つかの実装形態では、計算ペナルティは、各フェーズへの追加の変更により完全になくすことができる。まず、前処理ステップ３−３０４は、１つの行列ではなく、Ｓｙ拡張行列を生成するように変更され得、ここで、ｊ＝ｉモジュロＳの場合、ｉ番目の循環行列は、ｊ番目の拡張行列に割り当てられる。次に、コア処理フェーズは、ＳｙＧＥＭＭ演算を実行しなければならない（拡張入力行列毎に１つのＧＥＭＭ演算）各演算は、フィルタ行列のＫｗ／Ｓｙ行のみを使用する。後処理ステップ３−３０８、３−３１０は、次に、生成された行列の行をインタリーブし、Ｓｙ行の各群を直接加算し（すなわち行のシフト又は回転なく）、シフト又は回転量ｉ・（Ｉｗ／Ｓｘ）を用いて標準後処理論理にＫｗ／Ｓｙ行を通し得る。
【０３７０】
代替的に、幾つかの実施形態によれば、畳み込みは、伸長し得る。第１の次元における伸長Ｄｘ及び第２の次元における伸長Ｄｙの場合、畳み込み演算は、
【０３７１】
【数１１６】
2021523508.tif 000118
として定義される。
【０３７２】
伸長は、各出力点で画像のより大きいパッチにわたりフィルタの各フィールドを増大し、フィルタの要素間への空間の挿入と見なすことができる。ｃｎｇ２アルゴリズムは、前処理フェーズ及び後処理フェーズの両方でそれぞれＤｘ及びＤｙだけ回転量又はシフト量を増やすことにより伸長畳み込みを実施するように変更され得る。伸長畳み込みは、因果出力モードを用いた計算に更に制限され得る。
【０３７３】
本発明者らは、畳み込み及び相互相関が変換ベースアルゴリズムを使用することにより計算可能であることを更に認識及び理解した。変換ベースアルゴリズムは、まず、代替数値ドメイン（例えば、周波数ドメイン）で入力信号の均等表現を計算し、代替線形演算（例えば、要素毎の乗算）を実行し、次に信号の元の数値ドメイン（例えば、時間ドメイン）への結果の逆変換を計算することにより計算問題の性質を変える。そのような変換の例には、離散フーリエ変換（ＤＦＴ：ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）、離散正弦変換、離散余弦変換、離散ハートレー変換、非デシメート離散ウェーブレット変換、ウォルシュ−アダマール変換、ハンケル変換及びウィノグラード最小フィルタリングアルゴリズム等の有限インパルス応答（ＦＩＲ：ｆｉｎｉｔｅ  ｉｍｐｕｌｓｅ  ｒｅｓｐｏｎｓｅ）フィルタがある。ＤＦＴに基づく変換ベースアルゴリズムの一例が本明細書に記載されるが、任意の適した変換が変換ベースアルゴリズム及びフォトニックプロセッサで実施可能である。
【０３７４】
ユニタリ正規化の場合、一次元信号の離散フーリエ変換（ＤＦＴ）は、
【０３７５】
【数１１７】
2021523508.tif 000119
として計算される。
【０３７６】
この変換の逆Ｔ１Ｄ−１は、複素共役をとることにより計算され得る。同様に、二次元では、ユニタリ正規化ＤＦＴは、
【０３７７】
【数１１８】
2021523508.tif 000120
として計算され得る。
【０３７８】
サイズＮのベクトルに対して上記定義した一次元ＤＦＴを実行することは、行列−ベクトル積Ｔ１Ｄ（ｘ）＝Ｘ＝Ｗｘを計算することにより達成することができる。行列Ｗは、
【０３７９】
【数１１９】
2021523508.tif 000121
により与えられる変換行列と呼ばれ、式中、
【０３８０】
【数１２０】
2021523508.tif 000122
である。逆変換は、Ｗ−１の要素が複素共役である同様の行列−ベクトル積により計算され得る。ＤＦＴは、可分変換であり、したがって直交軸に沿って２つの一次元変換を計算することと見なされ得る。
【０３８１】
したがって、［Ｍ×Ｎ］（すなわち矩形）入力ｘの二次元ＤＦＴは、以下の行列三重積Ｔ２Ｄ（ｘ）＝Ｘ＝ＷｘＹＴを介して計算され得、式中、Ｗは、列に関連付けられた［Ｍ×Ｍ］変換行列であり、Ｙは、行に関連付けられた［Ｎ×Ｎ］変換行列であり、上付き文字Ｔは、行列転置を示す。サイズ［Ｎ×Ｎ］の正方入力の場合、列Ｗの転置行列は、行Ｙの転置行列と同じである。
【０３８２】
同等に、これは、まずｘ行毎にサイズＭ・Ｎの列ベクトルｘｃｏｌに平坦化し、以下の行列−ベクトル積：
【０３８３】
【数１２１】
2021523508.tif 000123
を計算することにより計算され得、式中、
【０３８４】
【数１２２】
2021523508.tif 000124
は、クロネッカー積である。幾つかの実施形態によれば、結果ベクトルＸｃｏｌは、次に、［Ｍ×Ｎ］二次元アレイＸに再形成され得る。
Ｔ２Ｄ（ｘ）＝Ｘ＝ｒｅｓｈａｐｅ（Ｘｃｏｌ）
同様のプロセスは、前方変換行列Ｗ及び逆変換に関連付けられた行列Ｗ−１が、上記の他の変換に従って任意の適した方法で定義される他の離散変換で実行することもできる。
【０３８５】
一次元ＤＦＴの場合、行列Ｗは、ユニタリ行列であり、したがって上述した実施形態によりフォトニックアレイに直接プログラムされ得る。他の離散変換では、行列Ｗは、ユニタリではないことがあり、したがって、上述した方法によれば、フォトニックアレイにプログラムされる前に分解が必要であり得る。幾つかの実施形態による、一次元変換をベクトルに対して実行するプロセス３−５００を図３−５に示す。動作３−５０２において、行列Ｗは、フォトニックアレイにプログラムされ、動作３−５０４において、ベクトルｘは、アレイを通して伝播する。
【０３８６】
幾つかの実装形態では、二次元変換は、図３−６のプロセス３−６００に記載されるように計算され得る。サイズＮ×Ｎである二次元入力ｘの場合、プロセス３−５００は、上記定義した二次元変換を生成するように変更され得る。動作３−６０２において、サイズＮ一次元入力に対応する変換行列Ｗｓｍａｌｌが作成される。次に、動作３−６０４において、対角線に沿ってＷをタイル化することにより、サイズＮ２×Ｎ２のブロック対角行列Ｂが作成される。次に、動作３−６０６において、行毎に入力ｘを平坦化することによりサイズＮ２の列ベクトルｘｃｏｌが作成される。動作３−６０８において、ベクトルｘをフォトニックアレイに伝播させることにより、乗算Ｘｐａｒｔｉａｌ＝Ｂｘが実行され得る。動作３−６１０において、行列Ｘｐａｒｔｉａｌは、次に、Ｎ×Ｎ行列に再形成され得、次に動作３−６１２において、Ｎ×Ｎ行列は、列毎にサイズＮ２列ベクトルに更に平坦化することができる。動作３−６１４において、フォトニックアレイを通してＸｐａｒｔｉａｌを伝播させることにより、乗算Ｘ＝ＢＸｐａｒｔｉａｌが実行され得る。動作３−６１６において、生成されたベクトルＸは、出力に向けてＮ×Ｎ行列に再形成され得る。
【０３８７】
幾つかの実施形態では、次に、［Ｎ×Ｎ］入力ｘの二次元変換は、第１に、行列Ｗをフォトニックアレイにプログラムすることにより計算され得る。第２に、フォトニックアレイを通してｘの列を伝播させることによりＸｐａｒｔｉａｌ＝Ｗｘを計算する。第３に、部分結果Ｘｐａｒｔｉａｌを転置させる。第４に、アレイを通してＸｐａｒｔｉａｌＴの列を２回目伝播させて、ＷＸｐａｒｔｉａｌＴを計算する。最後に、結果を転置させて、Ｘ＝ＷｘＷＴを生成する。
【０３８８】
本明細書に記載されるフォトニックベースのシステムの一実施形態等の幾つかのシステムは、実数ユニタリ行列（すなわち直交行列）の実施に制限される。そのような実装形態では、変換は、なおも計算することができるが、追加のステップが必要である。システムは、変換行列及び入力ベクトル又は画像の実数部及び虚数部を別個に追跡しなければならない。積を計算する先に定義された実施形態は、直交行列に適合することができるが、上述したフォトニックアレイを通したあらゆるパスで、アルゴリズムは、４つのパスを実行しなければならない。変数の実数部をＲｅ（ｘ）と記し、虚数部をＩｍ（ｘ）と記すと、積の実数部は、Ｒｅ（Ｗｘ）＝Ｒｅ（Ｗ）Ｒｅ（ｘ）−Ｉｍ（Ｗ）Ｉｍ（ｘ）であり、同様に積の虚数部は、Ｉｍ（Ｗｘ）＝Ｒｅ（Ｗ）Ｉｍ（ｘ）＋Ｉｍ（Ｗ）Ｒｅ（ｘ）である。幾つかの実施形態によれば、実数行列のみを表すフォトニックプロセッサのフォトコアでは、図３−７のプロセス３−７００が実行され得る。入力の次元によれば、プロセス３−５００又は３−６００のいずれかがプロセス３−７００において使用され得る。動作３−７０２において、Ｒｅ（Ｗ）は、フォトニックアレイにロードされる。動作３−７０４において、入力の次元に応じて、Ｒｅ（ｘ）及びＩｍ（ｘ）についてプロセス３−５００又は３−６００のいずれかが実行され得る。これは、Ｒｅ（Ｗ）Ｒｅ（ｘ）及びＲｅ（Ｗ）Ｉｍ（ｘ）を生成する。動作３−７０６において、Ｉｍ（Ｗ）は、フォトニックアレイにロードされる。動作３−７０８において、プロセス３−５００又は３−６００のいずれかが、ここでも入力の次元に応じて、Ｒｅ（ｘ）及びＩｍ（ｘ）について実行され得る。これは、Ｉｍ（Ｗ）Ｒｅ（ｘ）及びＩｍ（Ｗ）Ｉｍ（ｘ）を生成する。動作３−７１０において、Ｒｅ（Ｗ）Ｒｅ（ｘ）及びＩｍ（Ｗ）Ｉｍ（ｘ）は、減算されて、Ｒｅ（Ｗｘ）を生成する。また、動作３−７１２において、Ｒｅ（Ｗ）Ｉｍ（ｘ）及びＩｍ（Ｗ）Ｒｅ（ｘ）は、加算されてＩｍ（Ｗｘ）を生成する。
【０３８９】
上記プロセス３−５００、３−６００及び３−７００を用いて、入力行列は、その変換に変換され得る。畳み込みフィルタＦ及び画像Ｇがそれらの変換相手方に変換されると、幾つかの実施形態により畳み込み理論が提供され得る。畳み込み理論は、２つの信号の畳み込みが２つの信号の変換の要素毎の積の変換に対応することを述べている。数学的に、これは、
【０３９０】
【数１２３】
2021523508.tif 000125
により表されるか、又は換言すれば、
【０３９１】
【数１２４】
2021523508.tif 000126
により表され、式中、
【０３９２】
【数１２５】
2021523508.tif 000127
は、要素毎の乗算を表し、Ｔ−１は、逆変換を表す。幾つかの実施形態では、画像の次元及びフィルタの次元は、異なり得、そのような場合、順変換及び逆変換の各々の計算に適切な次元変換が使用され得ることを理解されたい。したがって、フィルタ及び画像の一般変換及び一般次元との一次元畳み込みを表す行列乗算式は、
【０３９３】
【数１２６】
2021523508.tif 000128
であり、式中、ＷＢは、フィルタＦの変換に関連付けられた行列であり、ＷＤＴは、画像Ｇの変換に関連付けられた行列であり、ＷＡＴは、結合信号の逆変換に関連付けられた行列である。
【０３９４】
したがって、同様に、矩形フィルタ及び画像への一般変換との二次元畳み込みを表す行列乗算式は、
【０３９５】
【数１２７】
2021523508.tif 000129
であり、式中、ＷＢ及びＷＣＴは、フィルタＦの変換に関連付けられた行列であり、ＷＤＴ及びＷＥは、画像Ｇの変換に関連付けられた行列であり、ＷＡＴ及びＷＦは、結合信号の逆変換に関連付けられた行列である。
【０３９６】
図３−８を参照すると、変換ベースアルゴリズムを使用してフォトニックプロセッサのフォトコアにおいて畳み込みを実行する幾つかの実施形態は、以下の動作を含み得る。動作３−８０２において、画像Ｇの変換は、プロセス３−５００、３−６００及び／又は３−７００のいずれか１つを使用して実行され得る。
【０３９７】
幾つかの実施形態では、次に、動作３−８０４において、フィルタＦは、画像Ｇのサイズに合うようにゼロでパディングされ得、その後、動作３−８０６において、プロセス３−５００、３−６００及び／又は３−７００のいずれか１つを使用してフィルタＦに対して変換が実行され得る。次に、動作３−８０８において、変換されたフィルタＦは、フォトニックアレイの要素毎の乗算器にロードされ得、動作３−８１０において、フォトニックアレイを通して画像Ｇを伝播し得る。動作３−８１２において、プロセス３−５００、３−６００及び／又は３−７００のいずれか１つを使用して前の計算の結果に逆変換を実行し得る。次に、動作３−８１４において、動作３−８１２の結果は、サイズＧに再形成され得、クロッピングされて最終畳み込み画像Ｇ＊Ｆを生成し得る。
【０３９８】
幾つかの実施形態では、畳み込みＧ＊Ｆは、１つの入力がタイルの組に分割され、各タイルが第２の入力で別個に畳み込まれる分割統治様式で計算され得る。次に、個々の各畳み込みの結果は、再結合されて所望の出力にすることができるが、この分割統治手法を実施するアルゴリズム（例えば、重複加算、重複保存）は、重要ではない。ある入力が他よりもはるかに小さく、変換ベースアルゴリズムが畳み込み演算に使用される場合、この手法は、フィルタが画像のサイズに合うようにパディングされた状態で、上述したように１つの演算で畳み込み全体を計算するよりもはるかに効率的であり得る。フォトニックアレイでタイルの変換を実行することにより、変換ベースの畳み込みのそのような分割統治アルゴリズムがフォトニックプロセッサで実施可能であることが理解され得る。
【０３９９】
幾つかの実施形態では、フィルタＦ及び画像Ｇは、複数のチャネルを有し得る。先に定義したように、これは、画像の各チャネルがフィルタテンソルの対応するチャネルで畳み込まれ、結果が要素単位で一緒に加算されることを意味する。マルチチャネル畳み込みが変換ベース方法を用いて計算される場合、チャネルにわたる合算は、変換ドメイン又は出力ドメインのいずれかで実行され得る。実際には、多くの場合、変換ドメインでの合算実行が選択され、その理由は、これが、出力変換を適用しなければならないデータ量を低減するためである。この場合、チャネル毎の合算が続く要素毎の乗算は、一連の行列−行列乗算（ＧＥＭＭ）として表現することができる。数学的には、これは、以下のように表現することができる。
【０４００】
Ｇを、Ｎ×Ｎ画像のＣデータチャネルを含む入力信号とする。Ｆを、Ｎ×ＮフィルタのＭ・Ｃデータチャネルを含む入力信号とする。Ｃ及びＭを、それぞれ入力データチャネル及び出力データチャネルの数とする。Ｑｍ，ｃを、フィルタテンソルのｍ番目の出力チャネル及びｃ番目の入力チャネルの変換されたデータとする（すなわち、
【０４０１】
【数１２８】
2021523508.tif 000130
）。Ｒを、変換された三次元［Ｃ×Ｎ×Ｎ］入力テンソルとし、Ｒｃを、変換された入力テンソルのｃ番目のチャネルとする（すなわちＲＣ＝ＷＤＴＧＣＷＥ）。したがって、複数の出力チャネルを生成するＦ及びＧの畳み込みは、
【０４０２】
【数１２９】
2021523508.tif 000131
である。
【０４０３】
Ｓｉｊが、三次元［Ｃ×Ｎ×Ｎ］テンソルＳ内の各チャネルの（ｉ，ｊ）番目の位置におけるＣ要素で構成される列ベクトルを示す場合、これは、同等に、
【０４０４】
【数１３０】
2021523508.tif 000132
と表現することができる。
【０４０５】
各ＱｍｉｊＲｉｊ行列−行列乗算は、上述したようにフォトニックプロセッサで計算され得る。これは、上述した分割統治手法と更に組み合わされ得る。
本願の態様は、ＣＰＵ、ＧＰＵ、ＡＳＩＣ、ＦＰＧＡ又は任意の他の適したプロセッサ等の処理デバイスで実行され得る方法、手順及びアルゴリズムを提供する。例えば、処理デバイスは、上述した手順を実行して、本明細書に記載されるフォトニックプロセッサのフォトコアの可変ビームスプリッタ及び変調器の設定を生成し得る。処理デバイスは、上記手順を実行して、本明細書に記載されるフォトニックプロセッサに入力される入力データを生成することもできる。
【０４０６】
計算デバイスの一例の実装形態は、少なくとも１つのプロセッサ及び非一時的コンピュータ可読記憶媒体を含み得る。計算デバイスは、例えば、デスクトップ若しくはラップトップパーソナルコンピュータ、個人情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、スマートモバイル電話、タブレットコンピュータ、サーバ又は任意の他の適した計算デバイスであり得る。コンピュータ可読媒体は、プロセッサにより処理されるデータ及び／又はプロセッサにより実行される命令を記憶するように構成され得る。プロセッサは、データの処理及び命令の実行を可能にする。データ及び命令は、コンピュータ可読記憶媒体に記憶され得、例えば、計算デバイスの構成要素間の通信を可能にし得る。コンピュータ可読記憶媒体に記憶されるデータ及び命令は、本明細書に記載される原理により動作する技法を実施するコンピュータ実行可能命令を含み得る。
【０４０７】
計算デバイスは、入力デバイス及び出力デバイスを含め、１つ又は複数の構成要素及び周辺機器を更に有し得る。これらのデバイスは、特に、ユーザインターフェースを提示するために使用することができる。ユーザインターフェースの提供に使用することができる出力デバイスの例には、出力の視覚的提示のためのプリンタ又はディスプレイ画面及び出力の可聴的提示のためのスピーカ又は他の音生成デバイスがある。ユーザインターフェースに使用することができる入力デバイスの例には、キーボード、マウス等のポインティングデバイス、タッチパッド及びデジタイジングタブレットがある。別の例として、計算デバイスは、発話認識を通して又は他の可聴フォーマットの入力情報を受信し得る。別の例として、計算デバイスは、カメラ、ライダー又は視覚的データを生成する他のデバイスから入力を受信し得る。
【０４０８】
計算デバイスの実施形態は、本明細書に記載される等のフォトニックプロセッサを含むこともできる。計算デバイスのプロセッサは、１つ又は複数のインターフェースを介してフォトニックプロセッサと情報をやりとりし得る。送受信される情報は、フォトニックプロセッサの可変ビームスプリッタ及び変調器の設定及び／又はフォトニックプロセッサの検出器からの測定結果を含み得る。
【０４０９】
ＩＶ．フォトニックエンコーダ
本発明者らは、光学信号の位相−強度関係、したがって位相及び強度変調が互いに相互依存し、光学処理で光場にベクトルを精密に符号化することに関して問題を呈することを認識及び理解した。
【０４１０】
幾つかの光学変調器は、数値ベクトルを光学ドメインに符号化し、数値は、光学信号の位相又は強度に符号化される。理想的な世界では、光学強度変調器は、光学信号の位相を変更なく維持しながら光学信号の強度を変調することが可能であり、光学位相変調器は、光学信号の強度を変更なく維持しながら光学信号の位相を変調することが可能である。しかしながら、現実世界では、光学信号の位相及び強度は、相互依存する。したがって、強度変調は、対応する位相変調を生じさせ、位相変調は、対応する強度変調を生じさせる。
【０４１１】
例えば、強度及び位相がクラマース−クローニッヒ式（複素解析関数の実数部及び虚数部を結ぶ双方向数学的関係式）により互いに関連する集積フォトニクスプラットフォームを考える。これらの場合、光場は、関数の実数部及び虚数部（その結果として強度及び位相）が互いに関連する複素関数で表すことができる。加えて、強度変調器及び位相変調器の現実的な実装は、一般に、動的損失を受け、それにより、変調器が付与する変調量（位相又は強度）は、変調器の現在の設定に依存する。これらの変調器は、位相変調が行われない場合、特定の電力損失を受け、位相変調が行われる場合、異なる電力損失を受ける。例えば、位相変調がない場合に受ける電力損失は、Ｌ１であり得、π／２位相変調の場合に受ける電力損失は、Ｌ２であり得、π位相変調の場合に受ける電力損失は、Ｌ３であり得、Ｌ１、Ｌ２及びＬ３は、互いに異なる。位相変調に加えて、信号は、強度変調を更に受けるため、この挙動は、望ましくない。
【０４１２】
光学変調器（４−１０）の一例を図４−１に示し、図中、ψｉｎは、入力光場を表し、ψｏｕｔは、変調器４−１０により出力される光場を表し、αは、振幅変調係数を表し、θは、位相変調係数を表す。理想的には、変調器４−１０は、光場ψｉｎのエントリをψｏｕｔ＝αｅｉθとして任意の減衰と組み合わせて任意の位相に設定することが可能であり、ここで、α≦１であり、θ∈［０，２π］である。変調器は、通常、関連付けられたクラマース−クローニッヒ関係式を有し、且つ／又は動的損失を受け、単にα及びθの値を設定することは、容易に達成することができない。従来、２つの独立した制御可能な変調信号を有する２つ以上の変調器が、実数の符号付き数を表すように光場の振幅及び位相の両方を符号化するために使用される。しかしながら、複数の制御可能な変調信号を有することは、光学信号の位相及び強度を同時に制御するフィードバックループを含むことが多い複雑な多変量符号化方式を必要とする。
【０４１３】
位相に影響せずに強度を変調することが可能な光学変調器は、電子光学材料に基づく変調器を含めて存在する。残念ながら、電子光学変調器は、製造が非実現的な材料の使用が関わることに起因して大規模商業状況で機能することが難しい。
【０４１４】
従来のコンピュータは、元々、複素算術を実行しない。むしろ、従来のコンピュータは、符号付き算術を使用し、ここで、数字は、正又は負であり得、複素算術は、幾つかの計算を実行し、結果を組み合わせることにより構築することができる。本発明者らは、これが、動的損失及び／又は非理想的な位相又は強度変調器が存在する場合でも、実数の符号付き線形変換の実施を動的に簡易化するために使用され得ることを認識及び理解した。
【０４１５】
幾つかの実施形態は、非理想的な光学変調器（強度変調が位相変調を生じさせ、位相変調が強度変調を生じさせる変調器）を使用して符号付き実数のベクトルを符号化する技法に関する。他の実装形態とは対照的に、幾つかのそのような実施形態は、１つの変調信号を使用して、光学信号の位相及び強度を制御することを含む。本発明者らは、１つの変調信号を使用して符号付き実数を光場に符号化する場合、位相空間における光学信号の厳密なロケーション（例えば、実数部及び虚数部又は振幅及び位相）が復号化のために重要でないことを理解した。幾つかの実施形態によれば、正確な復号化にとって重要なのは、実数軸（又は測定軸として予め選択された他の任意の軸）への光学信号の射影である。予め選択された軸への射影を実行するために、幾つかの実施形態ではコヒーレント検出方式が使用される
本明細書に記載されるタイプの光学ドメイン符号化技法は、限定ではなく、短距離、中距離及び長距離用途向けの高速電気通信、検知、通信及び計算向けのチップ位相敏感測定並びにフォトニックプロセッサを使用した光学機械学習を含めて多様な状況で使用され得る。
【０４１６】
より一般的には、本明細書に記載されるタイプの符号化技法は、光学信号が実数変換（複素変換とは対照的に）に従って処理される任意の状況で使用され得る。従来のコンピュータは、複素算術を直接実行しない。むしろ、従来のコンピュータは、符号付き実数算術を使用し、ここで、数字は、正又は負であり得る。幾つかの実施形態では、複素算術は、実数算術を含む幾つかの計算を実行することにより光学ドメインにおいて構築することができる。例えば、以下の式：
ｙ＝Ｍｘ＝［Ｒｅ（Ｍ）＋ｉＩｍ（Ｍ）］［Ｒｅ（ｘ）＋ｉＩｍ（ｘ）］
＝［Ｒｅ（Ｍ）Ｒｅ（ｘ）−Ｉｍ（Ｍ）Ｉｍ（ｘ）］＋ｉ［Ｒｅ（ｍ）Ｉｍ（ｘ）＋Ｉｍ（Ｍ）（Ｒｅ（ｘ）］
に従って光学信号を変換するように構成された光学線形システム例を考え、式中、ｘは、入力ベクトルを表し、Ｍは、変換行列を表し、ｙは、出力ベクトルを表し、ｉは、ｉ２＝−１であるように定義される虚数を表す。実数変換（Ｉｍ（Ｍ）＝０であるような）を考えると、ｙは、以下：
【０４１７】
【数１３１】
2021523508.tif 000133
のように書き換えることができる。
【０４１８】
この式に基づいて、入力場ｘの実数部及び虚数部は、生成される場ｙの線形独立成分にのみ寄与することに留意されたい。本発明者らは、ｙが、ｙを複素平面における任意の軸に射影することにより、コヒーレント受信機を使用して復号化できることを認識及び理解した。
【０４１９】
幾つかの実施形態では、本明細書に記載されるタイプの符号化技法は、フォトニック処理システムの一環として使用され得る。例えば、幾つかの実施形態では、図１−１の光学エンコーダ１−１０１、図１−１１の光学エンコーダ１−１１０３及び／又は図１−１２Ｂの光学エンコーダ１−１２１１は、本明細書に記載されるタイプの符号化技法を実施し得る。
【０４２０】
図４−２Ａは、幾つかの実施形態による光学符号化技法を実施するフォトニックシステムのブロック図である。フォトニックシステム４−１００は、光源４−１０２、エンコーダ４−１０４、光学変調器４−１０６及び光学変換ユニット４−１０８、コヒーレント受信機４−１１０、局部発振器４−１１２及びデコーダ４−１１４を含む。幾つかの実施形態では、フォトニックシステム４−１００は、図４−２Ａに示されていない追加又は代替の構成要素を含み得る。幾つかの実施形態では、図４−２Ａの構成要素の幾つか又は全ては、同じ半導体基板（例えば、シリコン基板）に配置され得る。
【０４２１】
光源４−１０２は、例えば、コヒーレント光源の使用を含め、幾つかの方法で実施され得る。一例では、光源４−１０２は、波長λ０の光を発するように構成されたレーザを含む。放射波長は、電磁スペクトルの可視部分、赤外線部分（近赤外線、中赤外線及び遠赤外線）又は紫外線部分であり得る。幾つかの実施形態では、λ０は、Ｏ帯、Ｃ帯又はＬ帯にあり得る。光源４−１０２により発せられた光は、光学変調器４−１０６を使用して変調される。光学変調器４−１０６は、位相変調が強度変調を生じさせ、強度変調が位相変調を生じさせる非理想的な変調器である。幾つかの実施形態では、位相変調は、クラマース−クローニッヒ式に従って強度変調に関連し得る。代替又は追加として、変調器４−１０６は、動的損失を受け得、その場合、位相シフトは、減衰に繋がる。
【０４２２】
幾つかの実施形態では、変調器４−１０６は、１つの電気変調信号４−１０５により駆動される。したがって、１つの変調信号は、光場の位相及び振幅の両方を変調する。これは、各シンボルが２ビット以上を表す光場の複素振幅にシンボルを符号化する、光学通信で従来使用される変調器とは対照的である。そのようなタイプの変調器では、実際には、複数の変調信号が光場を変調する。例えば、四位相偏移（ＱＰＳＫ：ｑｕａｄｒａｔｕｒｅ  ｐｈａｓｅ−ｓｈｉｆｔ  ｋｅｙｉｎｇ）変調方式を提供するように構成された光学変調器を考える。これらのタイプの変調器では、１つの変調信号は、光場の実数部を変調し、１つの変調場は、光場の虚数部を変調する。したがって、ＱＰＳＫ変調器では、光場の位相及び振幅は、２つの変調信号を使用してまとめて変調される。
【０４２３】
変調器４−１０６に使用し得る変調器の例には、可能なタイプの変調器の中でも特に、マッハツェンダー変調器、電子光学変調器、リング若しくはディスク変調器又は他のタイプの共振変調器、電子吸収型変調器、フランク−ケルディッシュ変調器、音響光学変調器、シュタルク効果変調器、磁気光学変調器、熱光学変調器、液晶変調器、量子閉込光学変調器及びフォトニック結晶変調器がある。
【０４２４】
エンコーダ４−１０４は、符号化する実数に基づいて変調信号４−１０５を生成する。例えば、幾つかの実施形態では、エンコーダ４−１０４は、実数を変調信号の振幅にマッピングするテーブルを含み得る。
【０４２５】
光学変換ユニット４−１０８は、受信した光場の強度及び／又は位相を変換するように構成され得る。例えば、光学変換ユニット４−１０８は、光ファイバ、光学導波路、光学減衰器、光学増幅器（エルビウムドープファイバ増幅器等）、ビームスプリッタ、ビーム結合器、変調器（特に電子光学変調器、フランツ−ケルディッシュ変調器、共振変調器又はマッハツェンダー変調器等）、位相シフタ（熱位相シフタ又はプラズマ分散効果に基づく位相シフタ等）、光学共振器、レーザ又はそれらの任意の適した組合せを含み得る。光学通信に関連して、光学変換ユニット４−１０８は、光ファイバ通信チャネルを含み得る。光学通信チャネルは、例えば、光ファイバ及び任意選択的に光学リピータ（例えば、エルビウムドープファイバ増幅器）を含み得る。光学処理に関連して、光学変換ユニット４−１０８は、フォトニック処理ユニットを含み得、その一例を更に詳細に後述する。幾つかの実施形態では、光学変換ユニット４−１０８は、変換の虚数部がゼロに略等しいように実数変換を実施する。
【０４２６】
光学変換ユニット４−１０８により出力された光場は、コヒーレント受信機４−１１０に直接又は間接的に（例えば、１つ又は複数の他のフォトニック構成要素を通った後）提供される。コヒーレント受信機４−１１０は、ホモダイン光学受信機又はヘテロダイン光学受信機を含み得る。受信信号がビートする基準信号は、図４−２Ａに示されるように、局部発振器４−１１２により提供され得るか、又は光学変換ユニット４−１０８を通った後、変調された光場と一緒に提供され得る。デコーダ４−１１４は、コヒーレント受信機４−１１２により出力された信号から実数（又は実数のベクトル）を抽出するように構成され得る。
【０４２７】
図１−１のフォトニック処理システム１−１００が、本明細書に記載されるタイプの符号化技法を実施する実施形態の少なくとも幾つかでは、光学変調器４−１０６は、光学エンコーダ１−１０１の一部であり得、光学変換ユニット４−１０８は、フォトニックプロセッサ１−１０３の一部であり得、コヒーレント受信機４−１１０は、光学受信機１−１０５の一部であり得る。
【０４２８】
図４−２Ｂは、幾つかの実施形態による光学ドメインにおいて実数を処理する方法を示すフローチャートである。方法４−１５０は、図４−２Ａのシステムを使用して又は任意の他の適したシステムを使用して実行され得る。方法４−１５０は、実数を表す値が提供される動作４−１５２において開始される。幾つかの実施形態では、実数は、符号付きであり得る（すなわち正又は負であり得る）。実数は、物理的状況（例えば、温度、圧力等）、物体に関連付けられた情報（例えば、位置、運動、速度、回転率、加速度等）、マルチメディアファイルに関連付けられた情報（例えば、オーディオファイルの音響強度、画像若しくはビデオファイルのピクセルカラー及び／又は強度）、特定の化学／有機要素若しくは化合物に関連付けられた情報（例えば、濃度）、金融資産に関連付けられた情報（例えば、特定の証券の価格）又は上述した例から導出される情報を含む任意の他の適したタイプの情報等の特定の環境変数又はパラメータを表し得る。符号付き実数により表される情報は、例えば、機械学習アルゴリズムのトレーニング、予測の実行、データ解析の実行、トラブルシューティングの実行又は単に将来使用するためのデータの収集を含めて多様な理由で有用であり得る。
【０４２９】
動作４−１５４において、実数を表す値は、光場に符号化され得る。幾つかの実施形態では、値を光場に符号化することは、値に基づいて光場の位相及び強度を変調することを含む。その結果、光場の位相及び振幅は、符号化された値を反映する。動作４−１５４は、幾つかの実施形態では、エンコーダ４−１０４及び変調器４−１０６（図４−２Ａを参照されたい）を使用して実行され得る。幾つかのそのような実施形態では、値に基づいて位相及び振幅を変調することは、１つの電気変調信号を用いて１つの変調器を駆動することを含む。したがって、１つの変調信号は、光場の位相及び振幅の両方を変調する。再び図４−２Ａを参照すると、限定ではなく例として、エンコーダ４−１０４は、１つの変調信号４−１０５を使用して光学変調器４−１０６を駆動し得る。
【０４３０】
１つの変調信号が変調器の駆動に使用されることは、変調器が動作する環境を制御する他の制御信号の使用を除外しないことに留意されたい。例えば、１つ又は複数の制御信号は、変調器の温度又は変調器の特定の部分の温度の制御に使用され得る。１つ又は複数の制御信号は、変調器の動作の給電に使用され得る。１つ又は複数の制御信号は、線形領域における変調器のバイアス又は光源の波長（例えば、図４−２Ａのλ０）に一致するような変調器の波長の設定等の動作の特定のレジームにおいて変調器をバイアスするために使用され得る。
【０４３１】
幾つかの実施形態による特定のタイプの変調器を図４−３Ａに示す。変調器４−２０６は、リング共振変調器である。リング変調器は、単に例として本明細書に記載され、先に列記したものを含め、任意の他の適したタイプの変調が代替的に使用可能であることに留意されたい。変調器４−２０６は、導波路４−２０８、リング４−２１０及び位相シフタ４−２１２を含む。リング４−２１０は、共振波長を示し、その値は、パラメータの中でも特にリング周縁の長さに依存する。光場ψｉｎが導波路４−２０８にローンチされると、光場は、リング４−２１０の共振波長に対するψｉｎの波長に応じてリング４−２１０に結合されることも又は結合されないこともある。例えば、ψｉｎの波長が共振波長に一致する場合、ψｉｎのエネルギーの少なくとも部分は、エバネッセント結合を介してリング４−２１０に移動する。リングに移動した力は、完全に散乱するか、又は他の方法で散逸するまでリング内部でいつまでも振動する。これとは対照的に、ψｉｎの波長が共振波長に一致しない場合、ψｉｎは、いかなる有意な減衰もなく導波路４−２０８を通して進み得る。
【０４３２】
したがって、光場は、共振波長に対するψｉｎの波長に応じて変化し得る。より具体的には、光場の位相及び強度は、共振波長に対するψｉｎの波長に応じて変化し得る。図４−３Ｂは、強度（上部チャート）及び位相（下部チャート）が共振波長に対するψｉｎの波長に応じてどのように変化し得るかを示すプロットである。上部チャートは、ψｉｎが有し得る可能な全ての波長（λ）の関数としての強度スペクトル応答αを示す。下部チャートは、同じ波長の関数としての位相スペクトル応答θを示す。共振周波数において、強度応答は、下落を示し、位相応答は、変曲点を示す。その共振周波数より実質的に低い波長は、低強度減衰（α乃至１）及び低位相変化（θ乃至０）を受ける。その共振周波数より実質的に大きい波長は、低強度減衰（α乃至１）及び符号変化（θ乃至−π）を受ける。共振波長では、ψｉｎの強度は、下落に対応する値だけ減衰され、変曲点の値（すなわち−π／２）に等しい位相シフトを受ける。図４−３Ｂの例では、ψｉｎの波長（λ０）は、共振周波数からわずかにオフセットされる。この場合、ψｉｎの強度は、αＶ０（ここで、０＜αＶ０＜１）だけ減衰し、位相は、θＶ０（ここで、−π＜θＶ０＜−π／２）だけシフトする。
【０４３３】
再び図４−３Ａを参照すると、ψｉｎの振幅及び位相の変調は、電圧Ｖを使用して実行され得、この場合、電圧Ｖは、図４−２Ａの変調信号４−１０５を具現する。電圧Ｖが位相シフタ４−２１２に印加されると、位相シフタの屈折率は、変化し、したがって、その結果、リングの周縁の有効長も変化する。また、これは、リングの共振周波数の変動に繋がる。有効周縁長（したがって共振周波数）が変化する程度は、Ｖの振幅に依存する。
【０４３４】
図４−３Ｂの例では、電圧Ｖは、ゼロに設定される。図４−３Ｃの例では、電圧は、Ｖ１に設定される。図４−３Ｃに示されるように、位相シフタ４−２１２へのＶ１の印加は、波長軸に沿った変調器の強度応答及び位相スペクトル応答をシフトさせる。この場合、応答は、レッドシフト（すなわちより大きい波長に向かうシフト）を示す。結果として、ψｉｎの強度は、ここで、αＶ１（αＶ１は、αＶ０と異なる）だけ減衰し、位相は、θＶ１（θＶ１は、θＶ０と異なる）だけシフトする。
【０４３５】
したがって、電圧Ｖの変更は、ψｉｎの強度及び位相の変化に繋がる。換言すれば、Ｖは、変調信号と見なすことができる。幾つかの実施形態では、電圧Ｖは、変調器４−２１０を駆動する唯一の変調信号であり得る。幾つかの実施形態では、電圧Ｖは、以下の式Ｖ＝ＶＤＣ＋Ｖ（ｔ）を仮定し得、式中、ＶＤＣは、定数であり、Ｖ（ｔ）は、符号化する実数に応じて経時変化する。ＶＤＣは、共振周波数がψｉｎの波長（λ０）の近傍にあるようにリングを予めバイアスし得る。
【０４３６】
図４−３Ｄは、幾つかの実施形態による、変調器４−２０６を使用して実数がどのように光場の位相及び強度に符号化され得るかの一例を提供する符号化表（例えば、ルックアップテーブル）である。この場合、例として、１に等しい増分を有する−１０乃至１０の実数が光学ドメインに符号化されると仮定される（「符号化する実数」と記された列を参照されたい）。当然ながら、本明細書に記載される技法を使用して任意の適した組の実数が符号化され得る。「Ｖ（印加電圧）」と記された列は、位相シフタ４−２１２に印加される電圧を示す。「α（振幅変調）」と記された列は、ψｉｎの波長（λ０）における強度スペクトル応答の値を示す（図４−３Ｂ及び図４−３Ｃの上部チャートを参照されたい）。「θ（位相変調）」と記された列は、ψｉｎの波長（λ０）における位相スペクトル応答の値を示す（図４−３Ｂ及び図４−３Ｃの下部チャートを参照されたい）。この場合、実数「−１０」は、特定の電圧Ｖ１にマッピングされ、振幅変調α１及び位相変調θ１を生じさせ、実数「−９」は、特定の電圧Ｖ２にマッピングされ、振幅変調α２及び位相変調θ２を生じさせる等々である。実数「１０」は、特定の電圧ＶＮにマッピングされ、振幅変調αＮ及び位相変調θＮを生じさせる。したがって、異なる実数は、異なる強度／位相対を用いて符号化される。
【０４３７】
図４−３Ｅは、幾つかの実施形態による、複素平面における図４−３Ｄの符号化表の視覚的表現を提供する。線４−３００に沿った異なる点は、電圧が変わるにつれて、図４−３Ｂ及び図４−３Ｃのスペクトル応答に従った異なる強度／位相対を表す。例えば、シンボルＳｉｎは、強度変調α及び位相変調θを特徴とする特定のシンボルを表す。Ｓｉｎは、図４−３Ｄの表からの特定の行を表す。表の各行は、線４−３００の異なる点にマッピングされる。
【０４３８】
再び図４−２Ｂを参照すると、動作４−１５６において、変換は、変調器により出力される変調光学信号に適用される。変換は、符号化された実数の処理を望む方法に応じて強度変換及び／又は位相変換を含み得る。幾つかの実施形態では、光学変換ユニット４−１０８は、変調器４−１０６により出力される信号の変換に使用され得る。光学変換ユニット４−１０８は、強度α及び位相θを特徴とするシンボルＳｉｎを強度αβ及び位相θ＋Δθを特徴とするシンボルＳｏｕｔに変換するように構成され得る。換言すれば、光学変換ユニット４−１０８は、強度変調β及び位相シフトΔθを導入する。β及びΔθの値は、使用されている特定の光学変換ユニットに依存する。
【０４３９】
例として図４−３Ｅの入力シンボルＳｉｎを考えると、図４−４Ａ乃至図４−４Ｃは、光学変換ユニットが変換をどのように実行し得るかの例を提供する。図４−４Ａの変換は、β＜１であり、Δθ＝０であるようなものである。すなわち、光学変換ユニットは、減衰を導入するが、入力光場の位相を変更しない。これは、例えば、光ファイバは入力位相を維持するように選択された長さを有する、光学リピータを有さない光ファイバの場合であり得る。結果として、線４−３００は、線４−３００の圧縮版である線４−４０１に変換される。出力サンプルＳｏｕｔは、Ｓｉｎと同じ位相を有するが、強度がαβに等しい（すなわちβだけ減衰する）。
【０４４０】
図４−４Ｂの変換は、減衰及び位相シフトを導入する。これは、例えば、任意の長さを有する、光学リピータを有さない光ファイバの場合であり得る。結果として、線４−３００は、線４−３００が圧縮及び回転されたものである線４−４０２に変換される。出力サンプルＳｏｕｔは、位相θ＋Δθ及び強度αβを有する。
【０４４１】
図４−４Ｃの変換は、マルチモード変換を含む。これは、入力光場が１つ又は複数の他の光場と結合される場合、生じ得る。マルチモード変換を用いる場合、線４−４０３は、任意の適した様式で再形成することができる。マルチモード変換の例は、光学処理ユニットを含み、その幾つかについて以下に更に詳細に説明する。
【０４４２】
再び図４−２Ｂを参照すると、動作４−１５８において、コヒーレント受信機は、変換された変調光場を基準光学信号と混合して、電気出力信号を取得し得る。幾つかの実施形態では、混合は、図４−２Ａのコヒーレント受信機４−１１０を使用して実行され得る。基準光学信号は、局部発振器（例えば、図４−２Ａの局部発振器４−１１２）により生成された信号であり得るか、又は光学変換ユニットを通して変調光場と一緒に送信された信号であり得る。混合の効果は、限定ではなく例として図４−５に示される。線４−４０３（図４−４Ｃに示される線と同じ線）は、特定のマルチモード変換から生じる可能な全ての強度／位相対を表す。図４−５は、例えば、図１−１のフォトニックプロセッサ１−１０３を通して光学信号を伝播させる効果を示し得る。
【０４４３】
Ｓｏｕｔが特定の時間に変換から生じたシンボルであると考える。上述したように、シンボルＳｏｕｔは、強度αβ及び位相θ＋Δθを特徴とする。変換された場が基準信号と混合される場合、線４−４０３に沿った点は、基準軸４−５００に射影される。したがって、例えば、シンボルＳｏｕｔは、軸４−５００上の点Ａに射影される。点Ａは、混合から生じた電気出力信号を表し、０とＡとの間
【０４４４】
【数１３２】
2021523508.tif 000134
の距離に等しい振幅を特徴とする。実数軸に対する軸４−５００の角度（すなわち角度φ）が、変換された変調光場に対する基準信号の位相に依存することに留意されたい。この例では、０＜φ＜π／４である。
【０４４５】
再び図４−２Ｂを参照すると、動作４−１６０において、デコーダは、動作４−１５８において取得された電気出力信号に基づいて復号化された実数を表す値を取得し得る。幾つかの実施形態では、光学変換を通して取得されたシンボルを復号化する際、複素平面におけるシンボルの厳密なロケーションは、重要ではないことがある。幾つかの実施形態による正確な復号化に重要なのは、既知の基準軸への光学信号の射影である。換言すれば、線４−４０３に沿ったシンボルは、シンボルＳｏｕｔが点Ａにマッピングされるのと同様に基準軸に沿った点にマッピングすることができる。したがって、幾つかの実施形態は、基準軸に沿った点が複素平面における特定のシンボルに対応する光学復号化方式を実施する。
【０４４６】
基準軸に沿った点が複素平面におけるシンボルにマッピングされる様式は、較正手順を使用して決定され得る。較正手順中、既知の強度及び位相の入力シンボル（実数の組を表すシンボル）の組は、特定の光学変換ユニットを通して渡され、生成されたシンボルは、既知の位相を有する基準信号を使用してコヒーレントに検出される。生成された電気出力信号の振幅（すなわち基準軸に沿った射影の振幅）は、表（例えば、ルックアップテーブル）に記録及び記憶される。表は、続けて、基準軸に沿った射影の振幅に基づいて実数を復号化する動作中に使用され得る。
【０４４７】
幾つかの実施形態によるそのような表の一例を図４−６に示す。この表は、基準信号の位相（「基準位相φ」）の列、基準軸に沿った射影の列（「射影
【０４４８】
【数１３３】
2021523508.tif 000135
、すなわち電気出力信号の振幅」）及び復号化された実数の列（「復号化された実数」）を含む。表は、１）既知の光学変換ユニットを通して既知の強度及び位相のシンボルを通し、２）基準信号の位相を既知の値に設定し、３）変換されたシンボルを基準信号と混合し、それにより変換されたシンボルを既知の基準軸に射影し、４）基準軸に沿った射影の振幅を特定し、５）予期される出力実数を記録することを含む較正手順中に埋めることができる。動作中、ユーザは、基準位相の値及び測定された射影に基づいて表を使用して、復号化された実数を推測し得る。
【０４４９】
図４−６の例では、限定ではなく例として、２つのみの基準位相が考えられる−０及びπ／６。φ＝０において、射影−１、−０．８及び１は、それぞれ実数−９．６、０．２及び８．７にマッピングされる。φ＝π／６において、射影−０．４、０．６及び０，９は、それぞれ実数３．１、−５及び１０にマッピングされる。したがって、例えば、ユーザが−０．４の射影を取得する場合、π／６の基準位相を使用するとき、ユーザは、復号化された実数が３．１であると推測することができる。
【０４５０】
図４−７は、幾つかの実施形態による、光学変換ユニットが光ファイバ４−７０８を含むフォトニックシステム４−７００の特定の例を示す。この例は、本明細書に記載されるタイプの符号化技法が光学通信に関連してどのように使用され得るかを示す。この実装形態では、光ファイバ４−７０８は、受信機４−７０２から送信機４−７０１を隔てる。
【０４５１】
送信機４−７０１は、光源４−１０２、エンコーダ４−１０４及び光学変調器４−１０６（図４−２Ａに関連して上述）を含み、受信機４−７０２は、コヒーレント受信機４−１１０及びデコーダ４−１１４（これも図４−２Ａに関連して上述）を含む。上述したように、幾つかの実施形態では、光学変調器４−１０６は、１つの変調信号４−１０５を使用して駆動され得る。幾つかのそのような実施形態では、光学変調器４−１０６は、オン−オフキーイング（ＯＯＫ：ｏｎ−ｏｆｆ  ｋｅｙｉｎｇ）変調方式を実施し得る。
【０４５２】
この実装形態では、コヒーレント検出に使用される基準信号は、受信機４−７０２においてローカルに生成されるのではなく、送信機４−７０１から直接提供される（しかし、他の実装形態は、受信機４−７０２に局部発振器を含み得る）ことに留意されたい。この概念を示すために、例えば図４−８のプロットを考える。図４−８は、送信機４−７０１の出力における光場の電力スペクトル密度の一例を示す。示されるように、電力スペクトル密度は、信号４−８００及び搬送波４−８０１を含む。信号４−８００は、変調器４−１０６を使用して符号化された情報を表す。搬送波４−８０１は、光源４−１０２の波長（λ０）におけるトーンを表す。光ファイバ４−７０８を通してこの光場を送信すると、コヒーレント受信機４−１１０は、基準信号として搬送波４−８０１自体を使用して混合を実行し得る。
【０４５３】
幾つかの実施形態は、本明細書に記載されるタイプのフォトニックシステムを製造する方法に関連する。幾つかの実施形態による１つのそのような方法は、図４−９に示される。方法４−９００は、変調器が製造される動作４−９０２において開始される。変調器は、１つの電気変調信号を用いて駆動されるように製造され得る。変調器の一例は、変調器４−１０６（図４−２Ａ）である。動作４−９０４において、コヒーレント受信機が製造される。幾つかの実施形態では、コヒーレント受信機は、変調器が製造された基板と同じ半導体基板に製造される。動作４−９０６において、光学変換ユニットが製造される。光学変換ユニットは、コヒーレント受信機が製造された基板と同じ基板及び／又は変調器が製造された基板と同じ半導体基板に製造され得る。光学変換ユニットは、変調器とコヒーレント受信機との間に結合されて製造され得る。光学変換ユニットの一例は、光学変換ユニット４−１０８（図４−２Ａ）である。
【０４５４】
Ｖ．差分受信機
本発明者らは、幾つかの従来の光学受信機が、電圧源から生成されるノイズ、光検出器が必然的に暗電流を生成することから生じるノイズ及び他の形態のノイズの影響を特に受けやすいことを認識及び理解した。ノイズの存在は、信号対雑音比、したがって入力光学信号を正確に検知するこれらの光検出器の能力を低減する。これは、これらの光検出器が展開されるシステムの性能に悪影響を及ぼし得る。例えば、これは、システムのビットエラーレート及び電力予算に悪影響を及ぼし得る。
【０４５５】
本発明者らは、ノイズからの影響の受けやすさを低減した光学受信機を開発した。本願の幾つかの実施形態は、光／電気変換及び増幅の両方が差分的に実行される光学受信機に関する。本明細書に記載される光学受信機では、２つの別個の信号の減算が行われる。まず、光電流が互いから減算されて、差分電流の対を生成する。次に、生成された差分電流は、互いから更に減算されて、増幅された差分出力を生成する。本発明者らは、複数のレベルの信号減算を含む光学受信機を有することが複数のレベルのノイズ相殺に繋がり、したがってシステムからのノイズを実質的に低減することを認識及び理解した。これには、より広いダイナミックレンジ、より大きい信号対雑音比、より大きい出力振幅及び増大した電源ノイズ耐性を含め、従来の光学受信機よりも優れた幾つかの利点があり得る。
【０４５６】
本明細書に記載されるタイプの光学受信機は、例えば、電気通信及びデータ通信（ローカルエリアネットワーク、大都市圏ネットワーク、広域ネットワーク、データセンタネットワーク、衛星ネットワーク等を含む）、光ファイバ無線等のアナログ用途、全光スイッチ、ライダー、フェーズドアレイ、コヒーレント撮像、機械学習、他のタイプの人工知能用途及び他の用途を含めて多様な設定で使用することができる。幾つかの実施形態では、本明細書に記載されるタイプの光学受信機は、フォトニック処理システムの一部として使用され得る。例えば、幾つかの実施形態では、本明細書に記載されるタイプの光学受信機は、図１−１の光学受信機１−１０５（例えば、図１−９の１つ又は複数のホモダイン受信機１−９０１）を実施するために使用され得る。
【０４５７】
図５−１は、本願の幾つかの非限定的な実施形態による光学受信機５−１００の非限定的な例を示す。示されるように、光学受信機５−１００は、光検出器５−１０２、５−１０４、５−１０６及び５−１０８を含むが、他の実装形態は、５つ以上の光検出器を含む。光検出器５−１０２は、光検出器５−１０４に接続され得、光検出器５−１０６は、光検出器５−１０８に接続され得る。幾つかの実施形態では、光検出器５−１０２のアノードは、光検出器５−１０４のカソードに接続され（ノード５−１０３において）、光検出器５−１０６のカソードは、光検出器５−１０８のアノードに接続される（ノード５−１０５において）。図５−１の例では、光検出器５−１０２及び５−１０８のカソードは、電源ＶＤＤに接続され、光検出器５−１０４及び５−１０６のアノードは、基準電位（例えば、接地）に接続される。幾つかの実施形態では、逆の構成も可能である。基準電位は、ゼロに等しい電位であり得るか、又は−ＶＤＤ等の任意の適した値を有し得る。ＶＤＤは、任意の適した値を有し得る。
【０４５８】
光検出器５−１０２乃至５−１０８は、例えば、ＰＮ接合フォトダイオード、ＰＩＮ接合フォトダイオード、アバランシェフォトダイオード、フォトトランジスタ、光抵抗器等を含め、任意の多くの方法で実施され得る。光検出器は、関心のある波長の光を吸収することが可能な材料を含み得る。例えば、Ｏ帯、Ｃ帯又はＬ帯の波長において、光検出器は、非限定的な例として、少なくとも部分的にゲルマニウムで作られた吸収領域を有し得る。可視光の場合、光検出器は、別の非限定的な例として、少なくとも部分的にシリコンで作られた吸収領域を有し得る。
【０４５９】
光検出器５−１０２乃至５−１０８は、同じ基板の部分としてモノリシックに形成された集積構成要素であり得る。幾つかの実施形態では、基板は、バルクシリコン基板又はシリコンオンインシュレータ等のシリコン基板であり得る。例えば、リン化インジウム又は任意の適した半導体材料を含め、他のタイプの基板を使用することも可能である。製造許容差に起因した光検出器の特性のばらつきを低減するために、幾つかの実施形態では、光検出器は、互いの近傍に位置決めされ得る。例えば、光検出器は、基板の１ｍｍ２以下、０．１ｍｍ２以下又は０．０１ｍｍ２以下の面積内に位置決めされ得る。
【０４６０】
図５−１に更に示されるように、光検出器５−１０２乃至５−１０８は、差分演算増幅器５−１１０に接続される。例えば、光検出器５−１０２及び５−１０４は、ＤＯＡ５−１１０の非反転入力（「＋」）に接続され得、光検出器５−１０６及び５−１０８は、ＤＯＡ５−１１０の反転入力（「−」）に接続され得る。ＤＯＡ５−１１０は、出力の対を有する。一方の出力は、反転であり、他方の出力は、非反転である。
【０４６１】
幾つかの実施形態では、図５−２に関連して詳述するように、光検出器５−１０２及び５−１０６は、同じ光学信号「ｔ」を受信するように構成され得、光検出器５−１０４及び５−１０８は、同じ光学信号「ｂ」を受信するように構成され得る。幾つかの実施形態では、光検出器５−１０２乃至５−１０８は、互いに実質的に等しいように設計され得る。例えば、光検出器５−１０２乃至５−１０８は、同じプロセスステップ及び同じフォトマスクパターンを使用して形成され得る。これらの実施形態では、光検出器５−１０２乃至５−１０８は、実質的に同じ応答性（光電流と受信光学電力との比率）及び／又は実質的に同じ暗電流（光学電力が受信されないときに生成される電流）等の実質的に同じ特性を示し得る。これらの実施形態では、信号ｔの受信に応答して光検出器５−１０２及び５−１０６により生成される光電流は、互いに実質的に等しい値であり得る。そのような光電流は、図５−１において「ｉｔ」として識別される。光検出器５−１０２及び５−１０６の向きに起因して、光検出器５−１０２及び５−１０６により生成された光電流は、逆方向に向けられることに留意されたい。すなわち、光検出器５−１０２の光電流は、ノード５−１０３に向けられ、光検出器５−１０６の光電流は、ノード５−１０５から逆に向けられる。更に、信号ｂの受信に応答して光検出器５−１０４及び５−１０８により生成される光電流は、互いに実質的に等しい値であり得る。そのような光電流は、「ｉｂ」として識別される。光検出器５−１０４及び５−１０８の互いに対する向きに起因して、光検出器５−１０４及び５−１０８により生成される光電流は、逆方向に向けられる。すなわち、光検出器５−１０８の光電流は、ノード５−１０５に向けられ、光検出器５−１０４の光電流は、ノード５−１０３の逆に向けられる。
【０４６２】
光検出器の向きに鑑みて、振幅ｉｔ−ｉｂを有する電流は、ノード５−１０３から現れ、振幅ｉｂ−ｉｔを有する電流は、ノード５−１０５から現れる。したがって、電流は、実質的に同じ振幅を有するが、逆の符号を有する。
【０４６３】
光検出器５−１０２乃至５−１０８は、暗電流を生成し得る。暗電流は、通常、漏出に起因し、光検出器が光に露出されているか否かに関係なく、光検出器から生じる。暗電流は、入力光学信号がない場合でも生じるため、光学受信機におけるノイズに実質的に寄与する。本発明者らは、これらの暗電流の悪影響が、上述した電流減算により有意に減衰できることを理解した。したがって、図５−１の例では、光検出器５−１０２の暗電流及び光検出器５−１０４の暗電流は、互いに実質的に相殺され（又は少なくとも相互に実質的に低減され）、光検出器５−１０６及び５−１０８の暗電流も同じである。したがって、暗電流の存在に起因するノイズは、大幅に減衰する。
【０４６４】
図５−２は、幾つかの非限定的な実施形態による、光検出器５−１０２乃至５−１０８に２つの光学信号を提供するように構成されたフォトニック回路５−２００を示す。フォトニック回路５−２００は、光学信号を光検出器にルーティングする光学導波路を備え得る。光学導波路は、関心のある波長の光を透過又は少なくとも部分的に透過する材料で作られ得る。例えば、光学導波路は、シリコン、酸化シリコン、窒化シリコン、リン化インジウム、ガリウムヒ素又は任意の他の適した材料で作られ得る。図５−２の例では、フォトニック回路５−２００は、入力光学導波路５−２０２及び２０４並びに結合器５−２１２、５−２１４及び５−２１６を含む。更に示されるように、フォトニック回路５−２００の出力光学導波路は、光検出器５−１０２乃至５−１０８に結合される。
【０４６５】
図５−２の例では、結合器５−２１２、５−２１４及び５−２１６は、方向性結合器を含み、エバネッセント結合は、隣接する導波路間の光学電力の転送を可能にする。しかしながら、Ｙ接合、Ｘ接合、光学クロスオーバ、逆方向結合器等の他のタイプの結合器も使用可能である。他の実施形態では、フォトニック回路５−２００は、マルチモード干渉計（ＭＭＩ）を用いて実施され得る。結合器５−２１２、５−２１４及び５−２１６は、幾つかの実施形態では、３ｄＢ結合器（５０％−５０％結合比を有する）であり得るが、５１％−４９％、５５％−４５％又は６０％−４０％等の他の比も可能である。製造許容差に起因して、実際の結合比は、意図される結合比からわずかにずれ得ることを理解されたい。
【０４６６】
信号ｓ１は、入力光学導波路５−２０２に提供され得、信号ｓ２は、入力光学導波路２０４に提供され得る。信号ｓ１及びｓ２は、例えば、光ファイバを使用して各入力光学導波路に提供され得る。幾つかの実施形態では、ｓ１は、基準レーザにより生成される信号等の基準局部発振器信号を表し、ｓ２は、検出される信号を表す。したがって、光学受信機は、ホモダイン光学受信機として見なすことができる。幾つかのそのような実施形態では、ｓ１は、連続波（ＣＷ：ｃｏｎｔｉｎｕｏｕｓ  ｗａｖｅ）光学信号であり得る一方、ｓ２は、変調され得る。他の実施形態では、両方の信号は、変調されるか、又は両方の信号は、ＣＷ光学信号であり、用途は、いかなる特定のタイプの信号にも限定されない。
【０４６７】
図５−２の例では、信号ｓ１は、振幅ＡＬＯ及び位相
【０４６８】
【数１３４】
2021523508.tif 000136
を有し、信号ｓ２は、振幅ＡＳ及び位相φを有する。結合器５−２１２は、信号ｔ及びｂが結合器５−２１２の各出力に現れるように信号ｓ１及びｓ２を結合する。結合器５−２１２が３ｄＢ結合器である実施形態では、ｔ及びｂは、以下の式：
【０４６９】
【数１３５】
2021523508.tif 000137
により与えられ得、電力Ｔ及びＢ（それぞれｔ及びｂの）は、以下の式：
【０４７０】
【数１３６】
2021523508.tif 000138
により与えられ得る。
【０４７１】
したがって、結合器５−２１４及び５−２１６が３ｄＢ結合器である実施形態では、光検出器５−１０２及び５−１０６は、それぞれＴ／２により与えられる電力を受信し得、光検出器５−１０４及び５−１０８は、それぞれＢ／２により与えられる電力を受信し得る。
【０４７２】
再び図５−１を参照して、光検出器５−１０２乃至５−１０８の応答性が全て互いに等しい（全ての実施形態がこの点において限定されるわけではない）と仮定すると、ノード５−１０３及び５−１０５から現れる電流は、それぞれ以下の式：
【０４７３】
【数１３７】
2021523508.tif 000139
により与えられ得る。
【０４７４】
ＤＯＡ５−１１０は、「＋」及び「−」入力において受信した差分信号を増幅し、電圧Ｖｏｕｔ，ｎ及びＶｏｕｔ，ｐにより図５−１に表される増幅された差分出力を生成するように構成される。幾つかの実施形態では、ＤＯＡ５−１１０は、インピーダンスｚと組み合わせて、電流の差分対（ｉｂ−ｉｔ，ｉｔ−ｉｂ）に基づいて電圧の差分対（Ｖｏｕｔ，ｎ，Ｖｏｕｔ，ｐ）を生成するという点で差分トランスインピーダンス増幅器と見なすことができる。幾つかの実施形態では、Ｖｏｕｔ，ｎ、Ｖｏｕｔ，ｐの各々は、電流ｉｔ−ｉｂと電流ｉｂ−ｉｔとの間の差分に比例し得、したがって、以下の式：
Ｖｏｕｔ，ｐ＝２ｚ（ｉｔ−ｉｂ）
Ｖｏｕｔ，ｎ＝２ｚ（ｉｂ−ｉｔ）
を生じさせる。
【０４７５】
電圧のこの差分対は、限定ではなく、アナログ−デジタル変換器（図５−１に示されず）を含む任意の適した電子回路に入力として提供され得る。光学受信機５−１００は、２レベルのノイズ拒絶を提供することに留意されたい。第１のレベルのノイズ拒絶は、光電流の減算により生じ、第２のレベルのノイズ拒絶は、差分増幅段階で行われる減算により生じる。これは、ノイズ拒絶の有意な増大を生じさせる。
【０４７６】
図５−１の例では、インピーダンスｚは、互いに等しいものとして示されているが、他の実施形態では異なるインピーダンスが使用され得る。これらのインピーダンスは、抵抗器、キャパシタ及びインダクタ等の受動電気構成要素並びに／又はダイオード及びトランジスタ等の能動電子構成要素を含み得る。これらのインピーダンスを構成する構成要素は、可能な特性の中でも特に、所望の利得及び帯域幅を提供するように選択され得る。
【０４７７】
上述したように、光学受信機５−１００は、基板にモノリシックに集積され得る。幾つかの非限定的な実施形態による１つのそのような基板は、図５−３Ａに示される。この例では、光検出器５−１０２乃至５−１０８、フォトニック回路５−２００及びＤＯＡ５−１１０は、基板５−３０１の部分としてモノリシックに集積される。他の実施形態では、光検出器５−１０２乃至５−１０８及びフォトニック回路５−２００は、基板５−３０１に集積され得、ＤＯＡ５−１１０は、別個の基板５−３０２に集積され得る。図５−３Ｂの例では、基板５−３０１及び５−３０２は、互いにフリップチップ接合される。図５−３Ｃの例では、基板５−３０１及び５−３０２は、互いにワイヤ接合される。更に別の例（図示せず）では、光検出器５−１０２乃至５−１０８及びフォトニック回路５−２００は、別個の基板に製造され得る。
【０４７８】
本願の幾つかの実施形態は、光学受信機を製造する方法に関する。幾つかの非限定的な例による１つのそのような方法は、図５−４に示される。方法５−４００は、複数の光検出器が第１の基板に製造される動作５−４０２において開始される。
【０４７９】
製造されると、光検出器は、例えば、図５−１に示される構成で一緒に接続され得る。幾つかの実施形態では、光検出器は、第１の基板の１ｍｍ２以下、０．１ｍｍ２以下又は０．０１ｍｍ２以下の面積内に位置決めされ得る。動作５−４０４において、フォトニック回路は、第１の基板に製造される。フォトニック回路は、例えば、図５−２に示されるように、光学信号の対を光検出器に提供するように構成され得る。動作５−４０６において、差分演算増幅器は、第２の基板に製造され得る。差分演算増幅器の一例は、図５−１のＤＯＡ５−１１０である。動作５−４０８において、第１の基板は、例えば、フリップチップ接合（図５−３Ａに示されるように）を介して、ワイヤ接合（図５−３Ｂに示されるように）を介して又は任意の他の適した接合技法を使用して第２の基板に接合され得る。基板が接合されると、第１の基板の光検出器は、例えば、図５−１に示されるように第２の基板の差分演算増幅器に電気的に接続され得る。
【０４８０】
幾つかの実施形態による製造プロセスの例は、図５−４Ａ乃至図５−４Ｆに概略的に示される。図５−４Ａは、下部クラッド５−４１２（例えば、埋込酸化層又は他のタイプの誘電材料等の酸化層）と、半導体層５−４１３（例えば、シリコン層、窒化シリコン層又は他のタイプの材料層）とを有する基板５−３０１を示す。図５−４Ｂにおいて、半導体層５−４１３は、例えば、フォトリソグラフィ露光を使用してパターニングされて、領域５−４１４を形成する。領域５−４１４は、幾つかの実施形態では、光学導波路を形成するように構成され得る。幾つかの実施形態では、生成されたパターンは、フォトニック回路５−２００（図５−２）に類似し、導波路５−２０２及び２０４並びに結合器５−２１２、５−２１４及び５−２１６は、１つ又は複数の領域５−４１４内に埋め込まれる。図５−４Ｃにおいて、光検出器５−１０２、５−１０４及び５−１０８（及び任意選択的に他の光検出器）が形成される。この例では、光学吸収材料５−４１６が領域５−４１４に隣接して堆積する。光学吸収材料５−４１６は、光検出器を形成するようにパターニングされ得る。光学吸収材料に使用される材料は、検出される波長に依存し得る。例えば、ゲルマニウムは、Ｌ帯、Ｃ帯又はＯ帯の波長に使用され得る。シリコンは、可視波長に使用され得る。当然ながら、他の材料も可能である。光学吸収材料５−４１６は、限定ではなく、バット結合、テーパ結合及びエバネッセント結合を含め、任意の適した方法で領域５−４１４に光学的に結合されて位置決めされ得る。
【０４８１】
図５−４Ｄにおいて、ＤＯＡ５−１１０が形成される。幾つかの実施形態では、ＤＯＡ５−１１０は、イオン注入を介して形成された幾つかのトランジスタを含む。図５−４Ｄは、注入された領域５−４１８を示し、注入された領域５−４１８は、ＤＯＡ５−１１０の１つ又は複数のトランジスタの部分を形成し得る。図５−４Ｄには１つのイオン注入のみが示されているが、幾つかの実施形態では、ＤＯＡ５−１１０の形成は、２つ以上のイオン注入を含み得る。更に、ＤＯＡ５−１１０は、例えば、基板５−３０１に形成された１つ又は複数の導電性トレースを介して光検出器に電気的に接続され得る。
【０４８２】
図５−４Ｄの構成は、フォトニック回路５−２００、光検出器５−１０２乃至５−１０８及びＤＯＡ５−１１０が共通の基板に形成される（図５−３Ａに示されるように）ようなものである。ＤＯＡ５−１１０が別個の基板に形成される（図５−３Ｂ又は図５−３Ｃに示されるように）構成も可能である。１つのそのような例では、図５−４Ｅに示されるように、ＤＯＡ５−１１０は、別個の基板５−３０２に形成され、注入領域５−４２８は、１つ又は複数のイオン注入を介して形成される。
【０４８３】
続けて、基板５−３０１は、基板５−３０２に接合され、光検出器５−１０２乃至５−１０８は、ＤＯＡ５−１１０に接続される。図５−４Ｆにおいて、導電性パッド５−４３１が形成され、光学吸収材料５−４１６と電気通信して配置され、導電性パッド５−４３２が形成され、注入領域５−４２８と電気通信して配置される。導電性パッドは、ワイヤ接合（図５−４Ｆに示されるように）又はフリップチップ接合を介して電気的に接続される。
【０４８４】
幾つかの実施形態は、入力光学信号を受信する方法に関する。幾つかのそのような実施形態は、ホモダイン検出を含み得るが、用途は、この点に関して限定されない。他の実施形態は、ヘテロダイン検出を含み得る。更に他の実施形態は、直接検出を含み得る。幾つかの実施形態では、光学信号の受信は、光学受信機５−１００（図５−１）を含み得るが、他のタイプの受信機を使用することも可能である。
【０４８５】
幾つかの実施形態による入力光学信号を受信する方法の一例は、図５−５に示される。方法５−５００は、入力信号が基準信号と結合されて、第１及び第２の光学信号を取得する動作５−５０２において開始される。入力信号には、例えば、変調タイプの中でも特に、振幅変調、パルス幅変調、位相又は周波数変調の形態でデータが符号化され得る。ホモダイン検出を含む実施形態の幾つかでは、基準信号は、局部発振器（例えば、レーザ）により生成された信号であり得る。他の実施形態では、基準信号にデータを符号化することもできる。幾つかの実施形態では、入力信号及び基準信号は、フォトニック回路５−２００（図５−２）を使用して結合されるが、限定ではなく、ＭＭＩ、Ｙ接合、Ｘ接合、光学クロスオーバ及び逆方向結合器を含め、他のタイプの光学結合器が使用され得る。フォトニック回路５−２００が使用される実施形態では、ｔ及びｂは、入力信号と基準信号との結合から取得される信号を表し得る。
【０４８６】
動作５−５０４において、第１の光学信号は、第１の光検出器及び第２の光検出器を用いて検出され、第２の光学信号は、第３の光検出器及び第４の光検出器を用いて検出されて、差分電流の対を生成する。幾つかの実施形態では、動作５−５０４は、光学受信機５−１００（図５−１）を使用して実行し得る。幾つかのそのような実施形態では、第１の光学信号は、光検出器５−１０２及び５−１０６を用いて検出され、第２の光学信号は、光検出器５−１０４及び５−１０８を用いて検出される。生成された差分電流対は、まとめて電流ｉｂ−ｉｔ及びｉｔ−ｉｂで表される。差分であるため、幾つかの実施形態では、対の電流は、実質的に等しい振幅を有し得るが、実質的に逆の位相を有し得る（例えば、π位相差を有する）。
【０４８７】
動作５−５０６において、差分演算増幅器（例えば、図５−１のＤＯＡ５−１１０）は、動作５−５０４において生成された差分電流対を使用して、増幅された差分電圧の対を生成する。ＤＯＡ５−１１０を使用する実施形態では、生成された差分電圧対は、電圧Ｖｏｕｔ，ｎ及びＶｏｕｔ，ｐで表される。差分であるため、幾つかの実施形態では、電圧対は、実質的に等しい振幅を有し得るが、実質的に逆の位相を有し得る（例えば、π位相差を有する）。
【０４８８】
方法５−５００は、例えば、より広いダイナミックレンジ、より大きい信号対雑音比、より大きい出力振幅及び増大した電源ノイズ耐性を含め、光学信号を受信する従来の方法よりも優れた１つ又は複数の利点を有し得る。
【０４８９】
ＶＩ．位相変調器
本発明者らは、特定の光学位相変調器が、展開することができる用途の範囲を大幅に制限する高い動的損失及び低変調速度という問題を有することを認識及び理解した。より具体的には、幾つかの位相変調器は、変調速度と動的損失との間において、変調速度を上げると動的損失が上がるような大きいトレードオフを含む。本明細書で使用される場合、「動的損失」という句は、位相が変調される程度に依存する光学信号が受ける光学電力損失を指す。理想的な位相変調器は、電力損失が位相変調から独立するようなものである。しかしながら、現実世界の位相変調器は、変調が行われないとき、特定の電力損失を受け、変調が行われるとき、異なる電力損失を受ける。例えば、位相変調がないときに受ける電力損失は、Ｌ１であり得、π／２位相変調のときに受ける電力損失は、Ｌ２であり、π位相変調のときに受ける電力損失は、Ｌ３であり、Ｌ１、Ｌ２及びＬ３は、互いに異なる。位相変調に加えて、信号は、振幅変調を更に受けるため、この挙動は、望ましくない。
【０４９０】
幾つかのそのような位相変調器は、加えて、十分に大きい位相シフトを提供するために、数百μｍの長さを必要とする。残念ながら、そのように長いことにより、そのような位相変調器は、幾つかの位相シフタを１つのチップに集積する必要がある用途での使用に適さない。位相変調器のみでチップの利用可能なスペースの大半を占め、したがって同じチップに共に集積することができるデバイスの数を制限する。
【０４９１】
特定の位相変調器の上述した制限を認識して、本発明者らは、動的損失を制限しながら高変調速度（例えば、６乃至１００ＭＨｚ又は１ＧＨｚ超）を提供することが可能な小フットプリント光学位相変調器を開発した。幾つかの実施形態では、位相変調器が占める面積は、わずか３００μｍ２であり得る。したがって、一例として、１ｃｍ２の面積を有するレチクルは、５０ｍｍ２を他のデバイスのために保存しながら、１５，０００個もの位相変調器を収容することができる。
【０４９２】
幾つかの実施形態は、互いに隣接して位置決めされ、間に複数のスロットを形成する複数の懸架された光学導波路を有するナノオプトエレクトロメカニカルシステム（ＮＯＥＭＳ）位相変調器に関する。スロットの寸法は、スロット導波路を形成するのに十分に小さく、それにより、モードエネルギーの大部分（例えば、大半）は、スロット自体内に閉じ込められる。本明細書では、これらのモードは、スロットモードと呼ばれる。モードエネルギーの大部分をスロット内に有することで、スロットの寸法を変動させることにより、モードの実効屈折率の変調及び結果としてモードを利用した光学信号の位相の変調が可能になる。幾つかの実施形態では、位相変調は、スロットの寸法を変動させる機械的力を付与することにより達成することができる。
【０４９３】
本発明者らは、本明細書に記載されるＮＯＥＭＳ位相変調器を用いて達成可能な変調速度が、動的損失を有意に増大させずに、光学変調が行われる領域から機械的駆動装置を切り離すことにより増大させ得ることを認識及び理解した。機械的駆動装置が光学変調領域から切り離れた位相変調器では、電気駆動信号は、光学変調領域自体に印加されるのではなく、機械的駆動装置に印加される。この構成は、光学変調領域を導電性にする必要性をなくし、したがってこの領域のドープを低減できるようにする。低ドープは、通常であれば光学吸収に繋がり得る自由キャリアを低減させ、したがって動的損失を下げる。
【０４９４】
更に、機械的駆動装置を光学変調領域から切り離すことは、単位長当たりでより大きい変調を可能にし、その結果、より短い変調領域を可能にする。また、より短い変調領域は、より高い変調速度を可能にする。
【０４９５】
本発明者らは、変調領域に複数のスロットを含めることにより、位相変調器の長さの更なる短縮（それによりサイズの低減）を可能にし得ることを更に認識及び理解した。２つ以上のスロットを有することは、実際に、光が変調領域に結合される遷移領域の長さの有意な短縮を可能にする。結果として、はるかにコンパクトなフォームファクタになる。したがって、本明細書に記載されるタイプのＮＯＥＭＳ位相変調器は、より短い変調領域及び／又はより短い遷移領域を有することができる。本明細書に記載されるタイプの位相変調器は、幾つかの実施形態では、２０μｍ又は３０μｍという短い長さを有することができる。
【０４９６】
以下に更に詳述するように、幾つかの実施形態は、トレンチがチップに形成され、変調導波路が空中に懸架され、空間中を自在に移動可能なように構成される位相変調器に関する。
【０４９７】
本発明者らは、クラッド／空気界面の形成から生じるトレンチの使用に関連する潜在的な欠点を認識した。伝播している光学信号は、トレンチに入る（又は出る）際、クラッド／エアインターフェース（又はエア／クラッド界面）に直面する。残念ながら、境界の存在は、光学反射を生じさせ得、光学反射は、挿入損失を増大させ得る。本発明者らは、そのような境界の悪影響が、境界を通る領域における光学モードの物理的広がりを低減することにより軽減できることを理解した。これは、種々の方法で達成することができる。例えば、幾つかの実施形態では、光学モードの広がりは、モードをリブ導波路内に密に閉じ込めることにより低減され得る。リブ導波路は、モードエネルギーの小さい割合のみ（例えば、２０％未満、１０％未満又は５％未満）が導波路の縁部外にあるようなサイズであり得る。
【０４９８】
本明細書に記載されるタイプのＮＯＥＭＳ位相変調器は、例えば、電気通信及びデータ通信（ローカルエリアネットワーク、大都市圏ネットワーク、広域ネットワーク、データセンタネットワーク、衛星ネットワーク等を含む）、光ファイバ無線等のアナログ用途、全光スイッチ、ライダー、フェーズドアレイ、コヒーレント撮像、機械学習、他のタイプの人工知能用途を含めて多様な用途で使用され得る。更に、ＮＯＥＭＳ変調器は、例えば、マッハツェンダー変調器と組み合わされる場合、振幅変調器の部分として使用され得る。例えば、ＮＯＥＭＳ位相変調器がマッハツェンダー変調器のアームの１つ又は複数に位置決めされたマッハツェンダー変調器が提供され得る。例えば、振幅シフトキーイング（ＡＳＫ：ａｍｐｌｉｔｕｄｅ  ｓｈｉｆｔ  ｋｅｙｉｎｇ）、直交振幅変調（ＱＡＭ：ｑｕａｄｒａｔｕｒｅ  ａｍｐｌｉｔｕｄｅ  ｍｏｄｕｌａｔｉｏｎ）、位相シフトキーイング（ＢＰＳＫ：ｐｈａｓｅ  ｓｈｉｆｔ  ｋｅｙｉｎｇ）、直交位相シフトキーイング（ＱＰＳＫ：ｑｕａｄｒａｔｕｒｅ  ｐｈａｓｅ  ｓｈｉｆｔ  ｋｅｙｉｎｇ）及び高次ＱＰＳＫ、オフセット直交位相シフトキーイング（ＯＱＰＳＫ：ｏｆｆｓｅｔ  ｑｕａｄｒａｔｕｒｅ  ｐｈａｓｅ−ｓｈｉｆｔ  ｋｅｙｉｎｇ）、二重偏波直交シフトキーイング（ＤＰＱＰＳＫ：Ｄｕａｌ−ｐｏｌａｒｉｚａｔｉｏｎ  ｑｕａｄｒａｔｕｒｅ  ｐｈａｓｅ  ｓｈｉｆｔ  ｋｅｙｉｎｇ）、振幅位相シフトキーイング（ＡＰＳＫ：ａｍｐｌｉｔｕｄｅ  ｐｈａｓｅ  ｓｈｉｆｔ  ｋｅｙｉｎｇ）等を含め、幾つかの変調方式は、ＮＯＥＭＳ位相変調器を使用して可能になり得る。更に、ＮＯＥＭＳ位相変調器は、光学信号の位相が予測不可能なようにドリフトする傾向がある用途での位相補正器として使用され得る。幾つかの実施形態では、本明細書に記載されるタイプのＮＯＥＭＳ位相変調器は、フォトニック処理システムの一部として使用され得る。例えば、幾つかの実施形態では、本明細書に記載されるタイプのＮＯＥＭＳ位相変調器は、図１−１の位相変調器１−２０７の実施、図１０４の可変ビームスプリッタ１−４０１の部分の実施、図１−５の位相シフタ１−５０５、１−５０７及び１−５０９の実施、図１−６の位相変調器１−６０１の実施、図１−６の振幅変調器１−６０３の部分の実施及び／又は図１−２の振幅変調器１−２０５の部分の実施に使用され得る。
【０４９９】
図６−１Ａは、幾つかの非限定的な実施形態によるナノオプトエレクトロメカニカルシステム（ＮＯＥＭＳ）位相変調器を概略的に示す上面図である。ＮＯＥＭＳ位相変調器６−１００は、入力導波路６−１０２、出力導波路６−１０４、入力遷移領域６−１４０、出力遷移領域６−１５０、懸架されたマルチスロット光学構造６−１２０、機械的構造６−１３０及び６−１３２並びに機械的駆動装置６−１６０及び６−１６２を含む。ＮＯＥＭＳ位相変調器６−１００は、シリコンフォトニック技法を使用して製造され得る。例えば、ＮＯＥＭＳ位相変調器６−１００は、バルクシリコン基板又はシリコンオンインシュレータ（ＳＯＩ：ｓｉｌｉｃｏｎ−ｏｎ−ｉｎｓｕｌａｔｏｒ）基板等のシリコン基板に製造され得る。幾つかの実施形態では、ＮＯＥＭＳ位相変調器６−１００は、機械的駆動装置６−１６０及び６−１６２の動作を制御するように構成された電子回路を更に含み得る。電子回路は、図６−１Ａの構成要素をホストする基板と同じ基板又は別個の基板に製造され得る。別個の基板に配置される場合、基板は、３Ｄ接合、フリップチップ接合、ワイヤ接合等を含め、任意の適した方法で互いに接合され得る。
【０５００】
ＮＯＥＭＳ位相変調器６−１００の少なくとも部分は、トレンチ６−１０６に形成される。以下に更に詳述するように、本明細書に記載されるタイプのトレンチは、クラッドの一部をエッチングすることにより形成され得る。図６−１Ａの例では、トレンチ６−１０６は、矩形であるが、任意の他の適した形状のトレンチが使用され得る。この例では、トレンチ６−１０６は、４つの側壁を有する。側壁６−１１２及び６−１１４は、ｚ軸（本明細書では伝播軸と呼ばれる）に沿って互いから離間され、他の２つの側壁（図６−１Ａには記されず）は、ｘ軸に沿って互いから離間される。
【０５０１】
幾つかの実施形態では、側壁６−１１２及び６−１１４間のｚ軸に沿った隔たりは、５０μｍ以下、３０μｍ以下又は２０μｍ以下であり得る。したがって、ＮＯＥＭＳ位相変調器の変調領域は、光学信号の位相の変調に数百μｍを必要とする他のタイプの位相変調器よりもはるかに短い。比較的短い長さは、以下の要因の１つ又は複数により可能になる。第１に、複数のスロットを有することは、光学変調領域への結合を改善し、且つ遷移領域の長さの低減を可能にする。改善された結合は、マルチスロット構造の強化モード対称性の結果であり得る。第２に、光学変調領域からの機械的駆動装置の切り離しは、単位長さ当たりでより大きい変調を可能にし、その結果、変調領域が短くなる。
【０５０２】
演算中、光学信号は、入力導波路６−１０２に提供され得る。一例では、光学信号は、連続波（ＣＷ）信号であり得る。位相変調は、懸架されたマルチスロット光学構造６−１２０において行われ得る。位相変調された光学信号は、出力導波路６−１０４からＮＯＥＭＳ位相変調器６−１００から出ることができる。遷移領域６−１４０は、入力導波路６−１０２と、懸架されたマルチスロット光学構造６−１２０との間の損失なし又は略損失なし光学結合を保証し得る。同様に、遷移領域６−１５０は、懸架されたマルチスロット光学構造６−１２０と出力導波路６−１０４との間の損失なし又は略損失なし光学結合を保証し得る。遷移領域６−１４０及び６−１５０は、幾つかの実施形態では、以下に更に詳述するように、テーパ形導波路を含み得る。上述したように、遷移領域の長さは、他の実装形態と比べて短い長さであり得る。
【０５０３】
入力光学信号は、限定ではなく、Ｏ帯、Ｅ帯、Ｓ帯、Ｃ帯又はＬ帯の波長を含め、任意の適した波長を有し得る。代替的に、波長は、８５０ｎｍ帯又は可視帯にあり得る。材料が関心のある波長を透過又は少なくとも部分的に透過し、コア領域の屈折率が周囲クラッドの屈折率よりも大きい限り、ＮＯＥＭＳ位相変調器６−１００は、任意の適した材料で作られ得ることを理解されたい。幾つかの実施形態では、ＮＯＥＭＳ位相変調器６−１００は、シリコンで作られ得る。例えば、入力導波路６−１０２、出力導波路６−１０４、入力遷移領域６−１４０、出力遷移領域６−１５０、懸架されたマルチスロット光学構造６−１２０並びに機械的構造６−１３０及び６−１３２は、シリコンで作られ得る。シリコンの比較的低い光学バンドギャップ（概ね１．１２ｅＶ）を所与として、シリコンは、近赤外線波長との併用に特に適し得る。別の例では、ＮＯＥＭＳ位相変調器６−１００は、窒化シリコン又はダイヤモンドで作られ得る。窒化シリコン及びダイヤモンドの比較的高い光学バンドギャップ（それぞれ概ね５ｅＶ及び概ね５．４７ｅＶ）を所与として、これらの材料は、可視波長との併用に特に適し得る。しかしながら、リン化インジウム、ガリウムヒ素及び又は任意の適したＩＩＩ−Ｖ又はＩＩ−ＶＩ合金を含め、他の材料も可能である。
【０５０４】
幾つかの実施形態では、入力導波路６−１０２及び出力導波路６−１０４は、動作波長において１つのモードをサポートするようなサイズであり得る（しかし、マルチモード導波路を使用することもできる）。例えば、ＮＯＥＭＳ位相変調器が１５５０ｎｍで動作するように設計される場合（しかし、当然ながら、全ての実施形態がこれに関して限定されるわけではない）、入力導波路６−１０２及び出力導波路６−１０４は、１５５０ｎｍにおいて１つのモードをサポートし得る。このようにして、導波路内のモード閉じ込めが強化され得、したがって散乱及び反射に起因した光学損失が低減する。導波路６−１０２及び６−１０４は、リブ導波路（例えば、矩形断面を有する）であり得るか、又は任意の他の適した形状を有し得る。
【０５０５】
上述したように、ＮＯＥＭＳ位相変調器６−１００の部分は、変調領域における導波路が空気で囲まれ、空間を自在に移動可能であるようにトレンチ６−１０６内に形成し得る。トレンチを含むことの欠点は、伝播路に沿ってクラッド／空気界面及び空気／クラッド界面が形成されることである。したがって、入力光学信号は、変調が行われる領域に達する前にクラッド／空気界面（側壁６−１１２に対応する）を通り、変調領域後に空気／クラッド界面（側壁６−１１４に対応する）を通る。これらの境界は、反射損失を導入し得る。幾つかの実施形態では、反射損失は、遷移領域６−１４０をトレンチ６−１０６の外部（図６−１Ａに示されるように）ではなく、内部に位置決めすることにより低減され得る。このようにして、遷移領域に関連するモード拡張は、光学信号がクラッド／空気界面を既に過ぎた場所で行われる。換言すれば、モードは、クラッド／空気界面を通過する際、密に閉じ込められるが、懸架されたマルチスロット構造６−１２０に結合するために、遷移領域を使用してトレンチにおいて拡張する。同様に、遷移領域６−１５０もトレンチ６−１０６内部に形成され得、それにより側壁６−１１４に達する前にモードを空間的に再び閉じ込め得る。
【０５０６】
図６−１Ｂは、幾つかの非限定的な実施形態による懸架されたマルチスロット光学構造６−１２０を更に詳細に示す。図６−１Ｂの例では、マルチスロット光学構造６−１２０は、３つの導波路（６−１２１、６−１２２及び６−１２３）を含む。スロット６−１２４は、導波路６−１２１を導波路６−１２２から分離し、スロット６−１２５は、導波路６−１２２を導波路６−１２３から分離する。スロットの幅（ｄ１及びｄ２）は、スロットモードを形成する臨界幅（動作波長における）未満であり得、それにより、モードエネルギーの大部分（例えば、４０％超、５０％超、６０％超又は７５％超）は、スロット内にある。例えば、ｄ１及びｄ２の各々は、２００ｎｍ以下、６−１５０ｎｍ以下又は６−１００ｎｍ以下であり得る。最小幅は、フォトリソグラフィ分解能により設定され得る。
【０５０７】
図６−１Ｃは、幾つかの非限定的な実施形態による、導波路６−１２１、６−１２２及び６−１２３によりサポートされる光学モードの一例を示すプロットである。より具体的には、プロットは、モードの振幅（例えば、電場Ｅｘ、Ｅｙ若しくはＥｚ又は磁場Ｈｘ、Ｈｙ若しくはＨｚ）を示す。示されるように、全体エネルギーの大部分は、スロット内に閉じ込められ、スロットにおいて、モードは、振幅ピークを示す。幾つかの実施形態では、個々の導波路の任意の１つよりもスロットの１つ内により多くの光学エネルギーがある。幾つかの実施形態では、一緒に考慮される全ての導波路内よりもスロットの１つ内により多くの光学エネルギーがある。外部導波路の外壁外では、モードエネルギーは、減衰する（例えば、指数的に）。
【０５０８】
幅ｄ１及びｄ２は、互いに等しいか又は異なり得る。スロット及び導波路の幅は、ｚ軸に沿って一定であり得る（図６−１Ｂでのように）か又は変化し得る。幾つかの実施形態では、導波路６−１２１、６−１２２及び６−１２３の幅は、入力導波路６−１０２の幅未満であり得る。幾つかの実施形態では、動作波長がＣ帯内にある場合、導波路６−１２１、６−１２２及び６−１２３の幅は、２００ｎｍ乃至４００ｎｍ、２５０ｎｍ乃至３５０ｎｍ又はそのような範囲内であるか若しくは範囲外であるかに関係なく、任意の他の適した範囲内であり得る。
【０５０９】
図６−１Ｂの例は、３つの導波路及び２つのスロットを有する懸架されたマルチスロット光学構造６−１２０を示すが、任意の他の適した数の導波路及びスロットが使用可能である。他の例では、懸架されたマルチスロット光学構造６−１２０は、５つの導波路及び４つのスロット、７つの導波路及び６つのスロット、９つの導波路及び８つのスロット等を含み得る。幾つかの実施形態では、構造は、非対称モードが励起されないままで、対称モードのみが励起されるように奇数の導波路（したがって偶数のスロット）を含む。本発明者らは、モードの対称性の強化がスロット付き構造への結合を強化し、したがっ、遷移領域の長さの有意な低減を可能にすることを理解した。しかしながら、偶数の導波路を有する実装形態も可能である。
【０５１０】
以下に更に詳述するように、位相変調は、外部導波路（図６−１Ｂにおける６−１２１及び６−１２３）をｘ軸に沿って中心導波路（図６−１Ｂにおける６−１２２）に相対して移動させることにより行われる。導波路６−１２１が導波路６−１２２に相対してｘ軸に移動する場合、スロット６−１２４の幅が変化し、それに従って構造によりサポートされるモードの形状も変化する。その結果、構造によりサポートされるモードの実効屈折率が変化し、したがって位相変調が行われる。外部導波路の移動は、機械的構造６−１３０及び６−１３２を使用して誘導され得る。
【０５１１】
幾つかの非限定的な実施形態による機械的構造６−１３０の一例は、図６−１Ｄに示される。機械的構造６−１３２（図６−１Ａを参照されたい）は、同様の構成を有し得る。図６−１Ｄの例では、機械的構造６−１３０は、ビーム６−１３３、６−１３４、６−１３５及び６−１３６を含む。ビーム６−１３３は、機械的駆動装置６−１６０をビーム６−１３４に接続する。ビーム６−１３５及び６−１３６は、ビーム６−１３４を外部導波路に接続する。光学損失を制限するために、ビーム６−１３５及び６−１３６は、変調領域（後述する図６−１Ｅに示されるように）ではなく、それぞれ遷移領域６−１４０及び６−１５０における外部導波路に取り付けられ得る。しかしながら、ビーム６−１３５及び６−１３６を変調領域への外部導波路に取り付けることも可能である。図６−１Ｄに示されるものへの代替又は追加として、異なる形状、サイズ及び向きを有するビームを使用することもできる。
【０５１２】
機械的構造６−１３０は、機械的駆動装置６−１６０において生成された機械力を導波路６−１２１に伝達し、それにより導波路６−１２１を導波路６−１２２に相対して移動させ得る。機械的駆動装置６−１６０及び６−１６２は、任意の適した方法で実施され得る。一例では、機械的駆動装置は、圧電デバイスを含み得る。一例では、機械的駆動装置は、導電性フィンガを含み得る。電圧が隣接するフィンガ間に印加されると、フィンガは、加速を受け得、したがって機械力を機械的構造に付与し得る。幾つかの実施形態では、機械的駆動装置は、符号化されたパターンを有する電気信号を用いて駆動され得る。このようにして、変調は、パターンを入力光学信号の位相に付与させる。
【０５１３】
懸架されたマルチスロット光学構造６−１２０の導波路は、特定の従来の位相変調器でのように電気信号が直接供給されるのではなく、外部機械的駆動装置により駆動されるため、導波路の導電性を緩和することができ、したがって自由キャリア吸収損失が下がり、その結果、動的損失が下がることを理解されたい。これは、導波路自体がヒータ又はキャリア蓄積領域として動作するようにドープされる幾つかの従来の位相変調器と異なる。幾つかの実施形態では、導波路６−１２１、６−１２２及び６−１２３は、非ドープ又は低ドープ半導体材料（例えば、非ドープシリコン又はドープ濃度１０１４ｃｍ−３未満を有するシリコン）で作られ得る。幾つかの実施形態では、導波路を形成する材料の抵抗率は、１３００Ωｃｍ超であり得る。
【０５１４】
図６−１Ｅは、幾つかの非限定的な実施形態による遷移領域６−１４０の一例を示す。この実装形態では、導波路６−１２２は、入力導波路６−１０２に隣接する（例えば、入力導波路６−１０２に連続する）。示されるように、導波路６−１２２は、懸架されたマルチスロット光学構造６−１２０に近づくにつれて幅が狭まるように遷移領域において先細る。これとは対照的に、導波路６−１２１及び６−１２３は、懸架されたマルチスロット光学構造６−１２０から離れるにつれて幅が増大するように遷移領域において先細る。テーパ形導波路は、入力導波路６−１０２のモードと、懸架されたマルチスロット光学構造６−１２０のモードとの間の断熱結合を可能にし得、それにより結合損失を制限する。同様の構成は、遷移領域６−１５０に使用することもできる。マルチスロット構造によりサポートされるモードの強化された対称性に起因して、遷移領域６−１４０及び６−１５０は、他の実装形態よりもはるかに短い。幾つかの実施形態では、遷移領域は、わずか１０μｍ以下又は５μｍ以下であり得るが、他の値も可能である。
【０５１５】
図６−２は、幾つかの非限定的な実施形態による、導波路６−１２２を通るｙｚ平面（図６−１Ｂにおける平面６−１９０を参照されたい）におけるＮＯＥＭＳ位相変調器６−１００の断面図である。入力導波路６−１０２及び出力導波路６−１０４は、コア材料の屈折率未満の屈折率を有する材料（例えば、酸化シリコン）で作られたクラッドで囲まれる。下部クラッド６−２０２は、導波路と下の基板６−２０１との間にある。上部クラッド６−２０６は、導波路上に形成される。
【０５１６】
懸架されたマルチスロット光学構造６−１２０の導波路の自由な移動を可能にするために、トレンチ６−１０６は、上部クラッド６−２０６の部分を通して形成される。幾つかの実施形態では、懸架されたマルチスロット光学構造６−１２０の下の下部クラッド６−２０２の一部は、除去され、したがってアンダーカット６−２０４を形成する。その結果、導波路６−１２１、６−１２２及び６−１２３は、空中に懸架され、機械力に応答して自在に移動することができる。クラッド／空気界面は、トレンチ側壁６−１１２に存在し、空気／クラッド界面は、トレンチ側壁６−１１４に存在する。例えば、トレンチが反応イオンエッチング（ＲＩＥ：ｒｅａｃｔｉｏｎ  ｉｏｎ  ｅｔｃｈｉｎｇ）により形成される場合、側壁は、略垂直であり得るか又は代替的に傾斜し得る。等方性エッチングが使用される場合、図６−２に示されるように、アンダーカット６−２０４は、湾曲側壁を有し得るか又は代替的に略垂直であり得る。幾つかの実施形態では、トレンチ６−１０６及びアンダーカット６−２０４は、同じエッチングの一環として形成され得る一方、他の実施形態では別個のエッチングを使用して形成され得る。
【０５１７】
図６−３は、幾つかの非限定的な実施形態による、導波路６−１２１、６−１２２及び６−１２３を通るｘｙ平面（図６−１Ｂにおける平面６−１９１を参照されたい）におけるＮＯＥＭＳ位相変調器６−１００の断面図である。図６−３は、導波路６−１２１、６−１２２及び６−１２３並びにビーム６−１３４が同じ平面にあり（少なくともこの例では）、基板６−２０１の上方で空中に懸架されることを示す。この図に更に示されるように、導波路６−１２１、６−１２２及び６−１２３は、この断面では下部クラッド６−２０２に接触しない。機械的駆動装置６−１６０及び６−１６２が作動する場合、ビーム６−１３４並びに導波路６−１２１及び６−１２３は、ｘ軸に沿って振動し、したがってスロット６−１２４及び６−１２５の幅を変化させる。幾つかの非限定的な実施形態による導波路６−１２１及び６−１２３の振動運動の一例は、図６−４Ａ乃至図６−４Ｃにまとめて示されている。図６−４Ａは、機械力が印加されない場合を示す。その結果、スロットの幅は、摂動しない。図６−４Ｂでは、矢印で示されるように、両方の導波路６−１２１及び６−１２３が導波路６−１２２に向かって移動するように力の対が印加される。その結果、スロットの幅は、低減する。図６−４Ｃでは、これも矢印で示されるように、両方の導波路６−１２１及び６−１２３が導波路６−１２２から離れて移動するように力の対が印加される。その結果、スロットの幅は、増大する。幾つかの実施形態では、力は、定期的に印加され得、且つ／又は駆動電気信号のパターンに従って印加され得る。幾つかの実施形態では、同じ強度であるが、符号が逆である両方の導波路に印加されるように、力は、導波路６−１２１及び６−１２３に別様に印加され得る。
【０５１８】
図６−５は、幾つかの非限定的な実施形態による、懸架されたマルチスロット光学構造６−１２０を伝播するモードの実効屈折率（Ｎｅｆｆ）が幅ｄ１（導波路６−１２１及び６−１２２間のスロットの幅）の関数としてどのように変化するかを示すプロットである。同様の応答は、ｄ２の関数としてもプロットされ得る。実効屈折率変動は、印加された機械力の影響下で導波路間の隔たりが変化するにつれて、モードの形状が、図６−１Ｃに示されるものからずれることにより生じる。幅が経時変化するにつれて、モードの実効屈折率、したがってモードの位相も経時変化する。
【０５１９】
図６−６は、幾つかの非限定的な実施形態による、ＮＯＥＭＳ位相変調器を製造する方法の一例を示すフローチャートである。後述する方法のステップが任意の適した順序で実行され得、製造プロセスは、図６−６に示される特定の順序に限定されないことを理解されたい。
【０５２０】
製造方法６−６００は、チップが取得されるステップ６−６０２において開始される。幾つかの実施形態では、チップは、シリコンオンインシュレータチップ又はバルクシリコンチップであり得る。チップは、基板及び以下の任意の層を有し得る：下部クラッド層、半導体層及び上部クラッド層。幾つかの実施形態では、下部クラッド層は、酸化シリコンを含み得る。半導体層は、幾つかの実施形態では、シリコン、窒化シリコン及び／又はドープ酸化シリコンを含み得る。上部クラッド層は、下部クラッド層を形成する材料と同じ材料又は異なる材料を含み得る。図６−３は、下部クラッド層（クラッド６−２０２）、半導体層（導波路６−１２１、６−１２２及び６−１２３の層）及び上部クラッド層（クラッド６−２０６）を有する基板（基板６−２０１）の一例を示す。チップが製造設備（ＮＯＥＭＳ位相変調器が製造される）に到着したとき、上記で識別された任意の層がチップ上に既に存在し得るか、又は製造プロセスの一環として設備で形成され得ることを理解されたい。
【０５２１】
ステップ６−６０４において、半導体層は、第１及び第２のスロット（又は３つ以上の任意の他の数のスロット）を有するマルチスロット光学構造を形成するようにパターニングされる。図６−３の例では、ステップ６−６０４において、導波路６−１２１、１２２及び６−１２３が形成され得る。半導体層のパターニングは、フォトレジスト層の堆積、フォトリソグラフィ露光及び半導体層を通したエッチングを含み得る。幾つかの実施形態では、機械的構造６−１３０及び６−１３２、機械的駆動装置６−１６０及び６−１６２、導波路６−１０２及び６−１０４並びに遷移領域６−１４０及び６−１４２（図６−１Ａを参照されたい）は、同じフォトリソグラフィ露光の一環として製造されるが、全ての実施形態がこれに関して限定されるわけではなく、１つ又は複数の別個のフォトリソグラフィ露光が使用され得る。幾つかの実施形態では、ステップ６−６０４において、機械的駆動装置６−１６０は、例えば、イオン注入を使用してドープされ得る。幾つかの実施形態では、マルチスロット光学構造は、ドープされないままであり得る。
【０５２２】
ステップ６−６０６において、トレンチが上部クラッド層を通して形成され得る。トレンチの一例（トレンチ６−１０６）は、図６−３に示される。トレンチは、例えば、反応イオンエッチング等の乾式エッチングを使用して形成され得る。しかしながら、代替又は追加として、湿式エッチングが使用され得る。トレンチの形成は、ステップ６−６０４において形成されたマルチスロット光学構造の上方の領域における上部クラッド層の一部の削除を含み得る。その結果、マルチスロット光学構造は、部分的又は全体的に空気に露出され得る。
【０５２３】
ステップ６−６０８において、アンダーカットが下部クラッド層に形成され得る。アンダーカットの一例（アンダーカット６−２０４）は、図６−３に示される。アンダーカットは、例えば、湿式エッチングを使用して形成され得るが、代替又は追加として乾式エッチングが使用され得る。アンダーカットの形成は、マルチスロット光学構造の下方の領域内の下部クラッド層の一部の除去を含み得る。その結果、マルチスロット光学構造の少なくとも部分は、空中に懸架され得る。
【０５２４】
このように本願の技術のいくつかの態様及び実施形態が説明されているため、様々な代替、変更、及び改善が当業者によって容易になされることを理解されたい。このような代替、変更、及び改善は、本願において説明されている技術の精神と範囲内のものであることが意図される。したがって、前述の実施形態は単なる例として提示されており、添付の特許請求の範囲及びその均等の範囲内で、本発明の実施形態は、具体的に記載されている以外の方法で実施され得ることを理解されたい。加えて、本願に記載の２つ以上の特徴、システム、物品、材料、及び／又は方法の任意の組み合わせは、そのような特徴、システム、物品、材料、及び／又は方法が相互に矛盾しない限り、本開示の範囲内に含まれる。
【０５２５】
また、説明したように、いくつかの態様は、１つ以上の方法として具体化され得る。方法の一部として実行される動作は、任意の適切な方法でその順序が並び替えられ得る。したがって、例示的な実施形態では連続的な動作として示されていても、いくつかの動作を同時に実行することを含む、図示とは異なる順序で動作が実行される実施形態を構築してもよい。
【０５２６】
すべての定義は、本願で定義され使用される通りであり、辞書の定義、援用する文書内の定義、及び／又は定義された用語の通常の意味を統制するように理解すべきである。
不定冠詞「ａ」及び「ａｎ」は、本願の明細書及び特許請求の範囲において使用する場合、明確に反示されない限り、「少なくとも１つ」を意味するものと理解すべきである。
【０５２７】
慣用句「及び／又は」は、本願明細書及び特許請求の範囲において使用する場合、そのように結びつけられた複数の要素の「いずれか又は両方」、すなわち、ある場合には結合的に存在し、またその他の場合には非結合的に存在する要素を意味するものと理解されるべきである。
【０５２８】
本願明細書及び特許請求の範囲において使用する場合、１つ以上の要素のリストを参照する際の慣用句「少なくとも１つ」とは、要素のリスト内の任意の１つ以上の要素から選択される少なくとも１つの要素を意味するものと理解すべきであるが、しかし要素のリスト内に特にリスト化されているあらゆる要素それぞれの少なくとも１つを必ずしも含む必要はなく、また要素のリスト内の要素の任意の組み合わせを排除するものでもない。この定義は、慣用句「少なくとも１つ」が指す要素のリスト内で特に識別された要素以外の要素が、そのような特に識別された要素に関連する、しないに関わらず任意選択で存在し得ることも可能にする。
【０５２９】
「おおよそ」及び「約」という用語は、いくつかの実施形態では目標値の±２０％以内、いくつかの実施形態では目標値の±１０％以内、いくつかの実施形態では目標値の±５％以内、さらにいくつかの実施形態では目標値の±２％以内であることを意味するために使用され得る。なお、「おおよそ」及び「約」という用語は、目標値を含み得る。
【図１−１】
2021523508.tif 000140
【図１−２】
2021523508.tif 000141
【図１−３】
2021523508.tif 000142
【図１−４】
2021523508.tif 000143
【図１−５】
2021523508.tif 000144
【図１−６】
2021523508.tif 000145
【図１−７】
2021523508.tif 000146
【図１−８】
2021523508.tif 000147
【図１−９】
2021523508.tif 000148
【図１−１０】
2021523508.tif 000149
【図１−１１】
2021523508.tif 000150
【図１−１２Ａ】
2021523508.tif 000151
【図１−１２Ｂ】
2021523508.tif 000152
【図１−１２Ｃ】
2021523508.tif 000153
【図１−１３】
2021523508.tif 000154
【図１−１４】
2021523508.tif 000155
【図１−１５】
2021523508.tif 000156
【図１−１６】
2021523508.tif 000157
【図１−１７】
2021523508.tif 000158
【図１−１８】
2021523508.tif 000159
【図１−１９】
2021523508.tif 000160
【図１−２０】
2021523508.tif 000161
【図１−２１】
2021523508.tif 000162
【図２−１】
2021523508.tif 000163
【図２−２】
2021523508.tif 000164
【図２−３】
2021523508.tif 000165
【図２−４】
2021523508.tif 000166
【図２−５】
2021523508.tif 000167
【図３−１】
2021523508.tif 000168
【図３−２】
2021523508.tif 000169
【図３−３Ａ】
2021523508.tif 000170
【図３−３Ｂ】
2021523508.tif 000171
【図３−４Ａ】
2021523508.tif 000172
【図３−４Ｂ】
2021523508.tif 000173
【図３−４Ｃ】
2021523508.tif 000174
【図３−４Ｄ】
2021523508.tif 000175
【図３−４Ｅ】
2021523508.tif 000176
【図３−４Ｆ】
2021523508.tif 000177
【図３−５】
2021523508.tif 000178
【図３−６】
2021523508.tif 000179
【図３−７】
2021523508.tif 000180
【図３−８】
2021523508.tif 000181
【図４−１】
2021523508.tif 000182
【図４−２Ａ】
2021523508.tif 000183
【図４−２Ｂ】
2021523508.tif 000184
【図４−３Ａ】
2021523508.tif 000185
【図４−３Ｂ】
2021523508.tif 000186
【図４−３Ｃ】
2021523508.tif 000187
【図４−３Ｄ】
2021523508.tif 000188
【図４−３Ｅ】
2021523508.tif 000189
【図４−４Ａ】
2021523508.tif 000190
【図４−４Ｂ】
2021523508.tif 000191
【図４−４Ｃ】
2021523508.tif 000192
【図４−５】
2021523508.tif 000193
【図４−６】
2021523508.tif 000194
【図４−７】
2021523508.tif 000195
【図４−８】
2021523508.tif 000196
【図４−９】
2021523508.tif 000197
【図５−１】
2021523508.tif 000198
【図５−２】
2021523508.tif 000199
【図５−３Ａ】
2021523508.tif 000200
【図５−３Ｂ】
2021523508.tif 000201
【図５−３Ｃ】
2021523508.tif 000202
【図５−４】
2021523508.tif 000203
【図５−４Ａ】
2021523508.tif 000204
【図５−４Ｂ】
2021523508.tif 000205
【図５−４Ｃ】
2021523508.tif 000206
【図５−４Ｄ】
2021523508.tif 000207
【図５−４Ｅ】
2021523508.tif 000208
【図５−４Ｆ】
2021523508.tif 000209
【図５−５】
2021523508.tif 000210
【図６−１Ａ】
2021523508.tif 000211
【図６−１Ｂ】
2021523508.tif 000212
【図６−１Ｃ】
2021523508.tif 000213
【図６−１Ｄ】
2021523508.tif 000214
【図６−１Ｅ】
2021523508.tif 000215
【図６−２】
2021523508.tif 000216
【図６−３】
2021523508.tif 000217
【図６−４Ａ】
2021523508.tif 000218
【図６−４Ｂ】
2021523508.tif 000219
【図６−４Ｃ】
2021523508.tif 000220
【図６−５】
2021523508.tif 000221
【図６−６】
2021523508.tif 000222
【国際調査報告】
2021523508.tif 000223
2021523508.tif 000224
2021523508.tif 000225