IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マサチューセッツ インスティテュート オブ テクノロジーの特許一覧 ▶ エヌティーティー リサーチ インコーポレイテッドの特許一覧

特許7554541WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング
<>
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図1
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図2
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図3
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図4
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図5
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図6
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図7
  • 特許-WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-11
(45)【発行日】2024-09-20
(54)【発明の名称】WDM重みブロードキャストを介した光ニューラルネットワークによる低消費電力エッジコンピューティング
(51)【国際特許分類】
   G06N 3/067 20060101AFI20240912BHJP
   G02F 3/00 20060101ALI20240912BHJP
【FI】
G06N3/067
G02F3/00 501
【請求項の数】 20
(21)【出願番号】P 2023519686
(86)(22)【出願日】2021-07-29
(65)【公表番号】
(43)【公表日】2023-10-20
(86)【国際出願番号】 US2021043593
(87)【国際公開番号】W WO2022086615
(87)【国際公開日】2022-04-28
【審査請求日】2023-06-01
(31)【優先権主張番号】63/084,600
(32)【優先日】2020-09-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】596060697
【氏名又は名称】マサチューセッツ インスティテュート オブ テクノロジー
(73)【特許権者】
【識別番号】523112138
【氏名又は名称】エヌティーティー リサーチ インコーポレイテッド
(74)【代理人】
【識別番号】100107984
【弁理士】
【氏名又は名称】廣田 雅紀
(74)【代理人】
【識別番号】100182305
【弁理士】
【氏名又は名称】廣田 鉄平
(74)【代理人】
【識別番号】100096482
【弁理士】
【氏名又は名称】東海 裕作
(74)【代理人】
【識別番号】100131093
【弁理士】
【氏名又は名称】堀内 真
(74)【代理人】
【識別番号】100150902
【弁理士】
【氏名又は名称】山内 正子
(74)【代理人】
【識別番号】100141391
【弁理士】
【氏名又は名称】園元 修一
(74)【代理人】
【識別番号】100221958
【弁理士】
【氏名又は名称】篠田 真希恵
(74)【代理人】
【識別番号】100192441
【弁理士】
【氏名又は名称】渡辺 仁
(72)【発明者】
【氏名】ハマーリー ライアン
(72)【発明者】
【氏名】エングルンド ダーク ロバート
【審査官】福西 章人
(56)【参考文献】
【文献】特表2019-523932(JP,A)
【文献】特開平06-043957(JP,A)
【文献】特開平02-201427(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G02F 3/00
(57)【特許請求の範囲】
【請求項1】
サーバーにおいて、深層ニューラルネットワーク(DNN)用のスペクトル多重化された重みのセットで変調された光キャリアを含む重み信号を生成すること、
前記サーバーから光リンクを介してクライアントに前記重み信号を送信すること、および
前記クライアントにおいて、(i)前記光キャリア上に変調された前記スペクトル多重化された重みのセット、および(ii)前記DNNの層への入力の、行列ベクトル積を計算することを含む、方法。
【請求項2】
前記重み信号を生成することが、前記サーバーのメモリーから前記スペクトル多重化された重みのセットを取得することを含む、請求項1に記載の方法。
【請求項3】
前記重み信号を生成することが、複数の時間ステップの各々で、前記DNNの重み行列の列のそれぞれのエントリーで、前記光キャリアの波長分割多重化(WDM)チャネルを変調することを含む、請求項1に記載の方法。
【請求項4】
前記行列ベクトル積を計算することが、
前記DNNの前記層への前記入力で前記重み信号を変調すること、
前記DNNの前記層への前記入力で変調された前記重み信号の前記WDMチャネルを多重分離すること、および
前記DNNの前記層への前記入力で変調された前記重み信号の前記それぞれのWDMチャネルの電力を感知することを含む、請求項3に記載の方法。
【請求項5】
前記DNNの前記層への前記入力で前記重み信号を変調することが、
前記DNNの前記層への前記入力の振幅でMach-Zehnder変調器への入力を強度変調すること、および
前記Mach-Zehnder変調器を用いて、前記DNNの前記層への前記入力の符号をエンコードすることを含む、請求項4に記載の方法。
【請求項6】
前記重み信号を生成することが、
前記光キャリアをリング共振器のセットに結合する前に、前記スペクトル多重化された重みのセットの振幅で前記光キャリアの強度を変調すること、および
前記リング共振器を使用して、前記光キャリアを、前記スペクトル多重化された重みのセットの符号で変調することを含む、請求項1に記載の方法。
【請求項7】
前記重み信号を生成することが、前記スペクトル多重化された重みのセットを前記光キャリアの複素振幅にエンコードすることを含み、および
前記行列ベクトル積を計算することが、前記重み信号の前記DNNの前記層への前記入力で変調された局所振動子との干渉を検出することを含む、請求項1に記載の方法。
【請求項8】
前記スペクトル多重化された重みが、重み行列を形成し、ならびに(i)前記光キャリア上に変調された前記スペクトル多重化された重みのセットおよび(ii)前記DNNの前記層への入力の、前記行列ベクトル積を計算することが、
前記DNNの前記層への前記入力で前記重み行列の列を重み付けして、スペクトル多重化積を生成すること、
前記スペクトル多重化積を多重分離すること、および
前記スペクトル多重化積を、それぞれの光検出器で検出することを含む、請求項1に記載の方法。
【請求項9】
前記DNNの前記層への前記入力で前記重み行列の前記列を重み付けすることが、複数の波長チャネルを同時に変調することを含む、請求項8に記載の方法。
【請求項10】
前記スペクトル多重化された重みが、重み行列を形成し、ならびに(i)前記光キャリア上に変調された前記スペクトル多重化された重みのセットおよび(ii)前記DNNの前記層への入力の、前記行列ベクトル積を計算することが、
前記重み行列の行を前記DNNの前記層への前記入力で重み付けして、時間的に多重化積を生成すること、および
前記時間的に多重化積を、少なくとも一つの光検出器で検出することを含む、請求項1に記載の方法。
【請求項11】
前記重み行列の前記行を前記DNNの前記層への前記入力で重み付けすることが、複数の波長チャネルの各々を独立して変調することを含む、請求項10に記載の方法。
【請求項12】
深層ニューラルネットワーク(DNN)の重みを格納する第一のメモリーと、
光キャリアを生成するためのレーザー源と、
前記光キャリアの波長分割多重化(WDM)チャネル上に変調された前記重みを含む重み信号を生成するために、前記第一のメモリーおよび前記レーザー源に動作可能に結合された第一の変調器と
を有する、サーバーと、
光リンクを介して前記サーバーに動作可能に結合されたクライアントであって、
前記DNNの層に対するアクティベーションを格納する第二のメモリーと、
前記第二のメモリーに動作可能に結合され、前記アクティベーションを前記重み信号上に変調し、それによって前記重みおよび前記アクティベーションの行列ベクトル積を生成する、第二の変調器と、
前記変調器に動作可能に結合され、前記行列ベクトル積の前記WDMチャネルを検出する、周波数選択検出器とを有するクライアントと
を備えた、システム。
【請求項13】
前記第一の変調器が、それぞれの時間ステップにわたって、前記DNNの重み行列の列のそれぞれのエントリーで、前記光キャリアの前記WDMチャネルを変調するように構成される、請求項12に記載のシステム。
【請求項14】
前記第一の変調器が、WDMチャネルを変調するように構成されるマイクロリング共振器を備える、請求項12に記載のシステム。
【請求項15】
前記周波数選択検出器が、
前記WDMチャネルのそれぞれに対して一対のリング共振器と、
リング共振器の対ごとに一つのバランス検出器と
を備えた、請求項12に記載のシステム。
【請求項16】
前記第一の変調器が、前記重みの符号を前記光キャリア上に変調するように構成され、
前記第一の変調器に動作可能に結合され、前記重みの振幅を前記光キャリア上に変調する、強度変調器をさらに備えた、請求項12に記載のシステム。
【請求項17】
前記第二の変調器が、前記アクティベーションの符号を前記重み信号上に変調するように構成され、
前記第二の変調器に動作可能に結合され、前記アクティベーションの振幅を前記重み信号上に変調する、少なくとも一つの強度変調器をさらに備えた、請求項12に記載のシステム。
【請求項18】
深層ニューラルネットワーク(DNN)の重みを格納する第一のメモリーと、
周波数コームを生成するためのレーザー源と、
前記周波数コームの波長分割多重化(WDM)チャネル上に変調された前記重みを含む重み信号を生成するために、前記第一のメモリーおよび前記レーザー源に動作可能に結合された周波数選択変調器と
を有するサーバーと、
光リンクを介して前記サーバーに動作可能に結合されたクライアントであって、
前記DNNの層に対するアクティベーションを格納する第二のメモリーと、
前記周波数コームに位相ロックされたLO周波数コームを生成する局所振動子(LO)、
前記第二のメモリーおよび前記LOに動作可能に結合され、前記LO周波数コーム上に前記アクティベーションを変調する変調器と、
前記変調器に動作可能に結合され、前記重み信号および前記LO周波数コームの干渉を検出し、それによって前記重み信号および前記アクティベーションの行列ベクトル積を生成する、周波数選択検出器と
を有するクライアントと
を備えた、システム。
【請求項19】
前記周波数選択変調器が、
Mach-Zehnder干渉計の異なるアーム上に配置される前記WDMチャネルのそれぞれに対して、一対のリング共振器を備えた、請求項18に記載のシステム。
【請求項20】
前記周波数選択検出器が、
前記WDMチャネルのそれぞれに対して一対のリング共振器と、
リング共振器の対ごとに一つのバランス検出器と
を備えた、請求項18に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
本出願は、米国特許法第119条(e)に基づき、2020年9月29日に出願された米国特許出願第63/084,600号の優先権を主張し、当該出願の全ての内容はここに引用することにより組み込まれる。
【0002】
政府の支援
本発明は、米国科学財団(NSF)により授与された助成金番号ECCS1344005、および陸軍研究局(ARO)により授与された助成金番号W911NF-18-2-0048に基づく政府の支援により行われた。政府は、本発明において特定の権利を有する。
【0003】
機械学習は、エッジコンピューティングアプリケーションで広く普及し始めているが、低電力スマートセンサーの大規模なネットワークがデータをリモートで前処理してから、中央サーバーに中継している。この前処理の多くは、深層ニューラルネットワーク(DNN)に依存しているため、エッジでのDNN推論のためのサイズ、重み、および電力(SWaP)制約のあるハードウェアおよび効率的なモデルの開発には、多大な努力が費やされる。しかしながら、多くの最新鋭のDNNは、非常に大きく、モデルサイズがSWaP制約のあるエッジプロセッサーのメモリーを超えるため、データセンターでしか実行することができない。このようなDNNはエッジ上で実行することができないため、センサーは分析のためにそのデータをサーバーに送信しなければならず、重大な帯域幅のボトルネックにつながる。
【発明の概要】
【0004】
DNN推論をエッジで実行する際のこれらの問題に対処するために、我々は、SNNサイズに対する制限を回避し、任意サイズのDNNをSWaP制約のあるエッジデバイス上で実行することを可能にする、光ニューラルネットワークアーキテクチャーであるNetCastを導入する。NetCastは、波長分割多重化(WDM)、差異検出および積分、光重み伝送、ならびに光リンクの極めて広い帯域幅を利用するサーバークライアントプロトコルおよびアーキテクチャーを使用して、エッジデバイスのSWaP制約にとらわれない任意のサイズのネットワークに対して、エッジでの低電力DNN推論を可能にする。これにより、これまでデータセンターに限定されていた、全く新しいクラスのニューラルネットワークをエッジで導入できるようになる。
【0005】
より広くは、NetCastは、SWaP制約のあるエッジデバイスにおいてDNN推論を行うためのサーバークライアントアーキテクチャーを提供する。中央サーバーから光学的にシナプスの重みをブロードキャストすることで、このアーキテクチャーはエッジデバイスのメモリーと電力要件を大幅に低減し、今日では不可能な低消費電力プラットフォーム上でデータセンター規模の深層学習を可能にする。
【0006】
中央サーバーは、マトリックス(DNN重み)を光パルス列にエンコードする。それは、エンコードされた光パルス列をリンク(例えば、光ファンアウトを有する可能性のある、自由空間またはファイバーリンク)上におよび一つまたは複数のクライアント(エッジデバイス)に伝送する。各クライアントは、光変調、波長多重化、および光検出の組み合わせを使用して、(リンクを介して受信された)重みと、クライアント上に格納されるアクティベーションとも呼ばれるDNN層入力との間の行列ベクトル積Σmnを計算する。多くの層が順次実行され、各クライアントが、重みをメモリーに格納することなく、任意のサイズおよび深さのDNNについて推論を行うことを可能にする。
【0007】
このクライアントサーバーアーキテクチャーには、既存のアプリケーションよりもいくつかの利点がある。現在、エッジデバイス上で深層学習を行うためには、それぞれに独自の欠点がある限定されたオプションがある。これらのオプションは、以下を含む。(1)データをアップロードし、帯域幅、遅延、プライバシーの問題を犠牲にしてクラウドでDNNを実行する。(2)エッジデバイス上で全てのDNNを実行する。ただし、多くの場合、メモリーおよび電力要件がデバイスのSWaP制約を超えることに注意する。または(3)より低い電力およびメモリーで実行できるように(多くの場合不可能)、DNNを圧縮し、およびDNNの性能(分類精度など)を低下させる。対照的に、本技術は、ローカルデータストレージ、SWaP制約充足、および高性能(非圧縮)DNNを同時に提供することができる。
【0008】
NetCastクライアントサーバープロトコルおよびアーキテクチャーのアプリケーションには、高性能の深層学習を、モノのインターネットの軽量エッジまたはフォグデバイスにもたらすことが含まれる。先進の機械(航空機、自動車、船、衛星など)上で低電力のファイバー結合(coupled)式スマートセンサーを可能にし、DNNを大型の自由空間センサーネットワーク(例えば、環境監視、災害救援、鉱業、石油/ガス探査、地理空間インテリジェンス、またはセキュリティ)に分配する。利用度の高いDNNについては、データセンターがアーキテクチャーを使用して、DNN推論のエネルギー消費量を低減することもできる。
【0009】
NetCastは以下のように実装できる。サーバーは、DNNに対してスペクトル多重化された重みのセットで変調された光キャリアを含む重み信号を生成し、その後、光リンクを介して、その重み信号をクライアントに送信する。クライアントは、重み信号を受信し、(i)光キャリア上に変調されたスペクトル多重化された重みのセットと、(ii)DNNの層への入力との行列ベクトル積を計算する。サーバーは、スペクトル多重化された重みのセットをその(ローカル)メモリーに格納し、スペクトル多重化された重みのセットをその(ローカル)メモリーから取得することができる。
【0010】
サーバーは、複数の時間ステップの各々で、光キャリアのWDMチャネルを、DNNの重み行列の列のそれぞれのエントリー(entries)で変調することによって、重み信号を生成できる。この場合、クライアントは、重み信号をDNNの層への入力で変調すること、DNNの層への入力で変調された重み信号のWDMチャネルを多重分離すること、およびDNNの層への入力で変調された重み信号のそれぞれのWDMチャネルの電力を感知することによって、行列ベクトル積を計算することができる。クライアントは、DNNの層への入力の振幅でMach-Zehnder変調器への入力を強度変調し、Mach-Zehnder変調器を用いて、DNNの層への入力の符号をエンコードすることによって、DNNの層への入力で重み信号を変調することができる。
【0011】
サーバーはまた、光キャリアをリング共振器のセットに結合(coupling)する前に、スペクトル多重化された重みのセットの振幅で光キャリアの強度を変調することによって、およびリング共振器を使用してスペクトル多重化された重みのセットの符号で光キャリアを変調することによって、重み信号を生成することができる。または、サーバーは、スペクトル多重化された重みのセットを光キャリアの複素振幅(complex amplitude)にエンコードすることによって、重み信号を生成することができ、その場合、クライアントは、重み信号のDNNの層への入力で変調された局所振動子との干渉を検出することによって、部分的に行列ベクトル積を計算する。
【0012】
スペクトル多重化された重みは、重み行列を形成してもよく、その場合、クライアントは、スペクトル多重化積を生成するために重み行列の列をDNNの層への入力で重み付けすること、スペクトル多重化積を多重分離すること、およびスペクトル多重化積をそれぞれの光検出器で検出することによって、行列ベクトル積を計算することができる。この場合、重み行列の列をDNNの層への入力で重み付けすることは、複数の波長チャネルを同時に変調することを含み得る。別の方法として、クライアントは、重み行列の行をDNNの層への入力で重み付けして、時間的に多重化積を生成し、少なくとも一つの(およびおそらくは一つのみの)光検出器で時間的に多重化積を検出することができる。この場合、重み行列の行をDNNの層への入力で重み付けすることは、複数の波長チャネルの各々を独立して変調することを含み得る。
【0013】
NetCastシステムは、サーバーおよび一つまたは複数のクライアントの両方を含み得る。サーバーは、第一のメモリー、(レーザー)ソース、ならびに第一のメモリーおよびソースに動作可能に結合された第一の変調器を含み得る。動作中、第一のメモリーは、DNNの重み(重み行列)を記憶する。ソースは、光キャリア(例えば、周波数コーム)を放射する。そして、第一の変調器は、光キャリアの波長分割多重化(WDM)チャネル上に変調された重みを含む重み信号を生成する。クライアントは、光リンクを介してサーバーに動作可能に結合され、第二のメモリー、第二の変調器、および周波数選択検出器を含む。動作中、第二のメモリーは、DNNの層に対するアクティベーションを記憶する。第二のメモリーに動作可能に結合される第二の変調器は、アクティベーションを重み信号上に変調し、それによって重みおよびアクティベーションの行列ベクトル積を生成する。変調器に動作可能に結合される周波数選択検出器は、行列ベクトル積のWDMチャネルを検出する。
【0014】
第一の変調器は、それぞれの時間ステップにわたって、DNNの重み行列の列のそれぞれのエントリーで、光キャリアのWDMチャネルを変調することができる。それはWDMチャネルを変調するように構成されるマイクロリング共振器を含み得る。周波数選択検出器は、各WDMチャネルに対して一対のリング共振器、およびリング共振器の各対に対して一つのバランス検出器を含み得る。
【0015】
一部の事例では、第一の変調器は、重みの符号を光キャリア上に変調することができ、その場合、クライアントは、第一の変調器に動作可能に結合された強度変調器をさらに含み、重みの振幅を光キャリア上に変調する。同様に、第二の変調器は、アクティベーションの符号を重み信号上に変調することができ、その場合、クライアントは、第二の変調器に動作可能に結合された少なくとも一つの強度変調器を含み、アクティベーションの振幅を重み信号上に変調する。
【0016】
コヒーレントNetCastシステムには、サーバーおよび少なくとも一つのクライアントも含まれる。コヒーレントNetCastサーバーは、DNNの重みを格納する第一のメモリー、周波数コームを生成するレーザー源、および第一のメモリーおよびレーザー源に動作可能に結合された周波数選択変調器を含み、周波数コームのWDMチャネル上に変調された重みを含む重み信号を生成する。クライアントは、光リンクを介してサーバーに動作可能に結合され、第二のメモリー、局所振動子(LO)、変調器、および周波数選択検出器を含む。第二のメモリーは、DNNの層に対するアクティベーションを記憶する。LOは、周波数コームに位相ロックされたLO周波数コームを生成する。変調器は、第二のメモリーおよびLOに動作可能に結合され、LO周波数コーム上にアクティベーションを変調する。また、周波数選択検出器は、変調器に動作可能に結合され、重み信号およびLO周波数コームの干渉を検出し、それによって、重み信号およびアクティベーションの行列ベクトル積を生成する。
【0017】
周波数選択変調器は、Mach-Zehnder干渉計の異なるアーム上に配置されるWDMチャネルのそれぞれに対して、一対のリング共振器を含み得る。周波数選択検出器は、WDMチャネルのそれぞれに対して一対のリング共振器、およびリング共振器の各対に対して一つのバランス検出器を含み得る。
【0018】
前述の概念および以下でより詳細に論じる追加的概念の全ての組み合わせは(このような概念は相互に矛盾していないという前提で)、本明細書に開示される本発明の主題の一部であると考えられる。特に、本開示の最後に現れる、特許請求の範囲に記載する主題の全ての組み合わせは、本明細書に開示する発明主題の一部であると考えられる。参照により本明細書に組み込まれる、あらゆる開示においても明示的に用いられる用語は、本明細書に開示される特定の概念と最も一致する意味を与える必要がある。
【図面の簡単な説明】
【0019】
当業者であれば、図面が主として例示的な目的で提示されていて、本明細書に記載の本発明の主題の範囲を制限することを意図していないことを理解するであろう。図面は、必ずしも、正確な縮尺ではない。いくつかの事例では、本明細書に開示される本発明の主題の種々の側面は、異なる特徴の理解を促進するために、図面中で誇張または拡大されて示され得る。図面では、同様の参照文字は一般に、同様の特徴(例えば、機能的に類似したおよび/または構造的に類似した要素)を意味する。
【0020】
図1図1は、波長分割多重化(WDM)された重みブロードキャストを介した光ニューラルネットワーク(ONN)を用いた低電力エッジコンピューティングのためのNetCastと呼ばれるアーキテクチャーシステムを示す。NetCastシステムは、WDMトランスミッタアレイ(左)を有する重みサーバーと、光リンク(中央)と、差異検出および積分(右)を有するWDMレシーバーアレイに結合された変調器を有するクライアントとを含む。具体的には、図1は、マイクロリングアレイで実装されたWDMトランスミッターおよびレシーバーを示す。ただし、これらはMach-Zehnder変調器および/または他のコンポーネントでも実装できる。
【0021】
図2図2は、図1のNetCast ONNにおけるデータフローを示す。行列ベクトル積は、M波長チャネルで、N時間ステップで実施される。各時間ステップnでは、重みwmnは、WDMトランスミッタアレイ内の変調器への電気入力を調整することによってエンコードされる(この場合には、リング共振器の離調Δmn)。スルーポート出力とドロップポート出力
【数1】
(式(2))はクライアントに送信され、Mach-Zehnder変調器(MZM)がそれらを混合して出力
【数2】
(式(2))を生成する。各波長チャネルの差電流は、積wmnを与える。時間積分後、積y=Σmnは読み出される。
【0022】
図3図3は、NetCastの一貫した実装を示す。周波数コームの線は、WDM-MZM(ここではリングアレイ支援MZM)を使用して、DNN重みで独立して変調される。クライアント側では、信号は局所振動子(LO)に対してビートされ、別のMZMによってDNN層入力で変調され、波長チャネルはWDMホモダイン検出器で別々に読み出される。主な追加の複雑さは、LOコームの相、周波数、および線間隔を安定化させることに由来する。
【0023】
図4図4Aは、NetCastに対する時間積分/周波数分離(TIFS)と周波数積分/時間分離(FITS)積分スキームの違いを示す。
【0024】
図4Bは、TIFS(左クライアント列)またはFITS(右クライアント列)によるインコヒーレント検出のための、単純な(上行)および低ノイズ(下行)のサーバーおよびクライアント概略図を示す。
【0025】
図4Cは、TIFS(左クライアント列)またはFITS(右クライアント列)によるコヒーレント検出のためのサーバーおよびクライアント概略図を示す。
【0026】
図5図5Aは、小さなニューラルネットワーク(NN)に対する式(14)のノイズ振幅σの関数としてのMNIST DNN分類誤差のプロットである。
【0027】
図5Bは、大きなNNに対する式(14)のノイズ振幅σの関数としてのMNIST DNN分類誤差のプロットである。
【0028】
図6図6Aは、波長多重化対数深さスイッチングツリーに基づく、ウエハースケールのNetCast重みサーバーの概略図である。
【0029】
図6Bは、NetCastアーキテクチャーで中央サーバーに連結されるスマートセンサーを備えた航空機を示す。
【0030】
図6Cは、NetCastアーキテクチャーの自由空間光リンクを介して中央サーバーに結合された別個のエッジデバイス(例えば、ドローン)を示す。
【0031】
図6Dは、NetCastアーキテクチャー内のファイバーリンクを介して中央サーバーに連結されるエッジデバイスを備えたデータセンターを示す。
【0032】
図7図7Aは、単一のDNN層を通した推論(実線矢印)およびトレーニング(破線矢印)のデータフローを示す。
【0033】
図7Bは、wmnのエンコードに類似した、時間周波数空間における重み更新δmnのエンコードを示す。
【0034】
図7Cは、DNNをトレーニングするための、インコヒーレントサーバーおよび単純(上行)および低ノイズ(下行)のクライアント設計を示す。
【0035】
図7Dは、DNNをトレーニングするためのコヒーレントサーバーおよびクライアント設計を示す。
【0036】
図8図8Aは、スプリアス干渉を抑制するために、インコヒーレントスキームに対して時間インターリーブを使用して複数のクライアントからの重み更新を組み合わせることと、コヒーレントスキームに対して単純に組み合わせることとを示す。
【0037】
図8Bは、インコヒーレント結合ハードウェア、すなわち、MZI分割ツリー(上)または時間遅延を伴う受動接合部(下、未熟な人のインターリーバ)を示す。
【0038】
図8Cは、コヒーレントスキームで結合される受動信号を示す。
【発明を実施するための形態】
【0039】
図1は、光リンク120によって接続される重みサーバー110および一つまたは複数のクライアント130を含む、NetCast光ニューラルネットワーク100を示す。(明確にするために、図1は一つのクライアント130のみを示す。)重みサーバー110は、周波数コームの形態で光キャリアを生成するモードロックされたレーザー111として図1に図示した光源を含む(ただし、周波数チャネル間の一貫性は、インコヒーレントなNetCastには必要ない)。他の適切な光源は、異なる周波数で放射するレーザーのアレイを含む。重みサーバー110はまた、可変可能な波長分割多重化(WDM)変調器(マイクロリングアレイとして表される)112のセットとして図示された広帯域変調器を含み、その入力は光源111に光学的に連結され、その出力はバス導波路を介して偏光ビームスプリッター(PBS)113の入力ポートに結合される。この例では、四つのマイクロリング変調器112があり、それぞれがωからωまで異なる周波数に調整される。マイクロリング変調器112は、RAM113からのデジタル信号を、マイクロリング変調器112を駆動するのに好適なアナログ信号に変換するマルチチャネルデジタル-アナログ変換器(DAC)114によって、第一のメモリー、すなわちDNNの重み行列を格納するランダムアクセスメモリー(RAM)113に格納される重みで駆動される。
【0040】
ビームスプリッター113の出力ポートは、ファイバーリンク121(例えば、出力で偏光制御を有する偏光維持ファイバー(PMF)またはシングルモードファイバー(SMF))、自由空間リンク122、または複数のクライアント130に接続するためのファンアウト123を有する光リンクであり得る、光リンク120に結合される。サーバー110が複数のクライアント110に接続される場合、それは、異なる(タイプの)光リンク120を介して各クライアント110に接続することができる。さらに、所与の光リンク120は、アンプまたはリピータによって接続される複数のファイバーまたは自由空間セグメントを含む、複数のセグメントを含み得る。
【0041】
各クライアント130は、一つのPBS出力から対応するMZM入力への経路に相変調器132を有するMach-Zehnder変調器(MZM)133のそれぞれの入力ポートに結合される、二つの出力ポートを有するPBS131を含む。MZM133の出力は、波長チャネルごとに一つずつ、差検出器135のアレイ内に多重分離される。多重分離することは、アレイド導波路格子、不平衡Mach-Zehnderツリー、およびリングフィルターアレイ(ここに表示)を含む、さまざまな受動光学部品を用いて達成することができる。リングベースの実装では、光は、WDMリング共振器134のバンクでフィルターリングされる。各バンクのリング共振器134は、クライアント110のマイクロリング変調器112と同じ共振周波数ωからωに調整される。各共振器134は、同じ共振周波数に調整された他方のバンクの対応する共振器とペアリングされる。これらの共振器134の対は、それぞれの微分検出器135にエバネセント的に連結され、その結果、各微分検出器135は、同じ周波数(例えば、ω)で共鳴する共振器134の対に結合される。この配置では、共振器134の対は、MZM133からそれぞれの微分検出器135に特定の周波数で光を結合する通過帯域フィルターとして機能する。
【0042】
微分検出器135は、微分検出器135からのアナログ信号を、RAM137に格納できるデジタル信号に変換する、アナログ/デジタル変換器(ADC)136に結合される。RAM137はまた、入力をDNNの一つまたは複数の層に格納する。RAM136は、DAC138に結合され、これは次にMZM133に結合される。DAC138は、以下に説明するように、RAM137に格納されるDNN層入力でMZM133を駆動する。
【0043】
NetCast光ニューラルネットワーク100は、以下のように機能する。データは、時間多重化およびWDMの組み合わせを使用してエンコードされ、サーバー110およびクライアント130は、M波長チャネルにわたってN時間ステップでM×N行列ベクトル積を実行する。各時間ステップ(nによってインデックス付けされる)で、サーバー110は、光リンク120を介して、重み行列の列w:,nをクライアント130にブロードキャストする。サーバー110は、RAM113に格納される重み行列要素を、周波数コーム上に変調して、広帯域変調器(例えば、マイクロリング共振器112)を使用して重み信号を生成する。次に、サーバー110は、光リンク120を介してこの重み信号をクライアント130に送信する。クライアント130のMZM133は、クライアントRAM137に格納される対応するDNN層への入力で、重み信号を乗算する。クライアント130内の一対MのWDM(例えば、Mリング共振器134)と、M差光検出器135(波長当たり1セット)との対は、MZM133の出力を多重分離する。これらの出力は、クライアントのRAM137に格納される入力ベクトルを有する重みの積、wmnである。全N時間ステップを積分して、各差検出器135上に蓄積された総電荷は、
=Σmn (1)
であり、所望の行列ベクトル積を実行する。
【0044】
図2は、図1の光ニューラルネットワーク100のより詳細な、NetCastプロトコルを示す。再び、サーバー110は、光周波数コームなどの複数のチャネルを有する光キャリアを放射し、マイクロリング(またはディスク)変調器112の重みバンクに連結される、広帯域WDMソース111を含む。各マイクロリング変調器112は、単一のWDMチャネルに結合され、その入力電力の一部を、PBS115の上部ポートに結合される導波管に結合されるスルーポートに送信する。各マイクロリング変調器112は、残りの入力電力をPBS115の下部ポートに結合される導波管に結合される、ドロップポートに反映する。マイクロリング変調器112によって伝送され、反射される電力の間の差は、重みをエンコードし、その各々は正または負の値であり得る。これは、透過係数および反射係数、すなわち、
【数3】

を用いてモデル化することができる。マイクロリング変調器112が上部導波管/上部ポート(κ=κ+κabs)に臨界的に結合される場合、これらの係数は、
【数4】
式中、Δmnは、時間ステップnで、(ωに連結する)mthリング変調器112のキャビティの離調である。
【0045】
PBS115は、リング変調器112のスルーポート出力およびドロップポート出力を、組み合わせられたスルーポート出力およびドロップポート出力を重み信号としてクライアント130に送信する、偏光維持出力ファイバー(PMF)光ファイバーリンク121の直交偏光に組み合わせる。スルービームとドロップビームが同じ偏光(例えば、横方向電気(TE))を有する場合、PBS115の一つの入力ポートに結合された偏光回転子が存在して、PBS115への一つの入力の偏光を回転させ(例えば、TEから横方向磁気(TM)へ)、その結果、入力が直交モード(例えば、TEおよびTMモードが、同じ121の導波路を伝播する)として、PBS115の同じ出力ポートに結合され得る。光リンク120は、ファイバーまたは空き空間上にあってもよく、上述のように、複数のクライアントへの光ファンアウトを含んでもよい。リンク損失またはファンアウト比が大きい場合、サーバー出力は、エルビウムドープファイバーアンプ(EDFA)または別の適切な光アンプ(図示せず)によって事前に増幅され得る。
【0046】
リンク120の終了時に、重み信号はクライアント130に入り、第二のPBS131は偏光を分離し、位相シフター132(図1)はリンク120に生じた偏光モード分散による任意の相対位相シフトを補正する。これらの入力
【数5】
は、広帯域移動波MZM133を使用して混合され、その電圧は、図2に示すように、電流アクティベーションxをエンコードする。MZM133の出力は:
【数6】
【0047】
最後に、WDMチャネルは、リング共振器134を使用して多重分離され、各チャネル内の電力は、対応する光検出器135上で読み出される。この場合、リングベースのWDMトランスミッターでは、MZM出力間の差電流は、
【数7】
【0048】
式(4)における第一の項は、DNN重み(|tmn-|rmn)としてエンコードされる)とアクティベーション(cos(2θ)としてエンコードされる)との間の積である。第二の項Re[t mnmn]sin(2θ)は望まれない。これは、MZM133のスルーポート出力とドロップポート出力の間の干渉に起因する。この干渉は、フィールドが±π/2位相がずれること(臨界結合のケース式(2)で真)を確保すること、それらを時間遅延で相殺すること(ただし、これはスループットを2分の1に減少させる)、または一つではなく二つのMZMを使用すること(余分な複雑さのコストで)によって抑制または除去することができる。
【0049】
NetCastは、時間多重化を使用し、行列ベクトル積は、複数の時間ステップにわたって積分することによって導出される。明確にするために、波長チャネルにはインデックスmを、時間ステップにはインデックスnを付ける。時間ステップnごとに、重みサーバー110は、この行列の列w:,nを出力し、重みが、変調器透過係数(およびそれゆえに、離調)に関連し、アクティベーションxが、MZM相でエンコードされる。
【数8】
損失なし変調器(κ=κ=κ/2)については、アクセス可能な重みの範囲はwmn∈[-1,+1]であり、損失あり変調器については、下限はより厳格であるwmn∈[-1,+1];wmn∈[-1+2κabs/κ,+1]。全範囲x∈[-1,1]の全てのアクティベーションに到達するには、変調はθ∈[-π/2,π/2]の全ての点にヒットする。この状態は、Vpp=Vπを有するドライバーを使用して達成することができる。
【0050】
時間ステップにわたる式(4)を積分した後、検出器ペアmの差分電荷は:
=ΣΔImn=Σmn (7)
これは所望の行列ベクトル積である。
【0051】
高レベルでは、NetCastアーキテクチャーは、ニューラルネットワーク(重み)を光パルスにエンコードし、それを処理のために軽量クライアント130にブロードキャストし、そのため、NetCastという名称になる。
【0052】
NetCastアーキテクチャーバリアント
NetCastの概念は非常に柔軟である。例えば、安定した局所振動子がある場合、差分電力検出ではなくホモダイン検出を使用して、コヒーレントバージョンを作成できる。NetCastはコヒーレント検出や干渉に依存しないが、コヒーレント検出はパフォーマンスを向上させることができる。さらに、高速MZMをスローリング変調器の配列で置き換えて、時間ではなく周波数にわたって信号を積分することができる(wxの代わりにxwを計算)。最後に、信号の多くが小さい場合、差分検出で発生するノイズを低減する方法がいくつかある。
【0053】
コヒーレントNetCast
図3は、例示的なコヒーレントNetCastアーキテクチャー300の概略図を示す。図1のインコヒーレントアーキテクチャー100と同様に、図3のコヒーレントアーキテクチャー300は、それぞれの光リンク320を介して一つまたは複数のクライアント330に結合された重みサーバー310を含む(簡略化のために、図3は、一つの光リンク320と一つのクライアント330のみを示す)。重みサーバー310は、WDM-MZM312に光学的に結合されたモードロックされたレーザーなどの周波数コーム源311を含む。WDM-MZMは、各周波数チャネルの振幅を独立して変調する。具体的には、図3は、各WDMチャネルに対して一対のリング共振器を含むリングベースの実装を示し、各リング共振器ペアの半片が、MZMの一方のアームにエバネセント的に連結され、他方の半片が、他方のアームにエバネセント的に連結される。WDM-MZM312のリング共振器は、RAM313または他のメモリーに格納される重みに基づき、DAC314で調整することができる。
【0054】
このアーキテクチャー300は、重みデータがコヒーレント振幅でエンコードされ、クライアント330が局所振動子(LO)340を使用してコヒーレントホモダイン検出を行うため、コヒーレントアーキテクチャーと呼ばれる。タップカプラー(例えば、90:10ビームスプリッター)341は、LO340の出力の小さな部分を、微分検出器342の一つのポートに結合し、残りの部分をMZM333の入力に連結する。同様に、微分検出器342の他方のポートは、別のタップカプラー332を介して、サーバー310から重み信号の一部を受信する。微分検出器342の出力は、位相ロックされたループ(PLL)内のLO340のキャリア周波数および繰返し速度を安定化する位相ロック回路343を駆動する。第二のタップカプラー332は、残りの重み信号を、その他の入力ポートがMZM333の出力に連結される50:50ビームスプリッター344に連結する。この50:50ビームスプリッター344の出力ポートは、WDMホモダイン検出器334のそれぞれの入力ポートに供給される。
【0055】
具体的には、図3は、図1のクライアント110のように、それぞれの微分検出器に結合されたリング共振器対を有する、リングドロップフィルターに基づく実装を示す。WDMホモダイン検出器334の各リング共振器ペアは、各微分検出器が、対応する重み信号とLO WDMチャネルとの間のホモダイン干渉を送信するように、異なるWDMチャネルに調整される。ADC336は、RAM337に格納するためのWDMホモダイン検出器334の出力をデジタル化し、これはまた、MZM333を駆動するためのDNN層入力にも格納する。DAC338は、RAM337からのデジタルDNN層入力を、MZM333を駆動するためのアナログ信号に変換する。
【0056】
図1に示すように、重みwmnは、周波数コームの線を変調し、得られた重み信号を、光リンク320を介してクライアント330にブロードキャストすることによって、時間周波数ベースでサーバー310において生成される。図3のコヒーレントクライアント330は、その電力ではなく、フィールドの複素振幅でデータをエンコードし、単一の偏光を使用する。クライアント330のLO340からの同一の周波数コームは、この複素振幅を測定するためのLO信号として機能する。LO信号パワーの一部は、LOコームをサーバーのコームにロックするために、微分検出器342によって検出され、位相ロック回路343によって使用されるビートノートを生成するために、重み信号と混合される。LOコームの残りの部分は、MZM333で振幅変調され、アクティベーションxによってLOコームの振幅をスケールする。波長多重分離ホモダイン検出器334は、積wmnを蓄積し、この積が統合されて、インコヒーレントな場合と同様に行列ベクトル積を得る。
【0057】
クライアント330でのコヒーレント検出の一つの利点は、データ速度の増加である。図3に示され、上述のコヒーレントスキームは、単一の直交および偏光でデータエンコードする。両方直角位相および両方偏光のデータをエンコードすることによって、図3に示されるコヒーレントスキームは、図1および2に示されるインコヒーレントスキームの容量の四倍を提供する。
【0058】
コヒーレントスキームの別の利点は、特に低信号電力での、信号対ノイズ比(SNR)の増加である。これは、伝送効率が非常に低い長距離の自由空間リンクに特に関連する。十分に強力なLOを有するホモダイン検出により、この信号が、ジョンソンノイズに圧倒されるのではなく、量子限界まで測定される。
【0059】
入力と重みが、範囲x,wmn∈[-1,1]内にあるようにスケールされると仮定する。光子数に正規化されたホモダイン検出器に入力されるコームライン振幅は、
【数9】
である。微弱信号の制限a<<aでは、時間ステップごとに各光検出器上に蓄積される電荷の差は、
【数10】
従って、出力信号の平均および標準偏差は、
【数11】
予想通り、SNRは、重みパルス当たりのエネルギー(変調前)|aに反比例する。SNRが低すぎると、ONNの性能が損なわれる可能性がある。これにより、ONN標準量子限界値に類似した、光受信電力に対する下限が設定される。
【0060】
重みデータがRFリンクを介して送信される場合、同じプロトコルも機能し得る。この場合、光ホモダイン検出器の代わりにミキサーが使用される。光リンクを使用する利点は、10-10×より高いキャリア周波数によって駆動される、はるかに高いデータ容量である。
【0061】
追加のNetCastバリアント
NetCastは非常に拡張可能である。それは、コヒーレントまたはインコヒーレントに検出し、周波数または時間にわたって統合し、インコヒーレント検出の場合、追加の複雑さによってレシーバーのノイズを低減することができる。
【0062】
図4A~4Cは、NetCastの異なるバリアントを示す。これらのバリアントの全ては、時間周波数空間における重み行列をエンコードし、ここで、wmnは時間ステップtでの波長バンドの振幅ωである。図4Aは、二つの可能な行列ベクトル乗算スキームを示す:高速MZMおよびWDM光検出器(PD)を使用した時間積分/周波数分離(TIFS;上)による右乗算y=wx、またはクライアントの高速光検出器(PD)と重みバンク(WB)を使用した時間積分/周波数分離(FITS;下)による左乗算y=xw。重みバンクは、周波数チャネルの電力を独立して重み付けする役目をし、一つの可能な実装には、図2に示すように、共振器の離調でエンコードされたアクティベーションxで周波数にわたって積分する、リング共振器のアレイが含まれる。FITSは、多くの低速検出器が使用されるTIFS方式とは異なり、単一の高速検出器ペアを使用する。
【0063】
図4Bは、シンプルインコヒーレント検出(上行)および低ノイズインコヒーレント検出(下行)のための、重みサーバー(左列)、TIFSクライアント(中列)、FITSクライアント(右列)を示す。単純なインコヒーレント検出は、図1および図2からの重みサーバー100およびTIFSクライアント130を実施することができる。また、追加ポートとドロップポートが、異なる入力の微分検出器135′に結合された、リング共振器134′の重みバンクを使用するFITSクライアント130′を用いて実施することができる。
【0064】
TIFSクライアント130では、光信号は、全波長チャネルを同時に変調する広帯域MZM133によって変調される。これは、アクティベーションxによって重み行列wmnの列を重み付けする。結果として生じる波長チャネルは、多重分離され134′、積は、時間積分後、差検出器135′で検出される(重み行列の行の総和、Σmn)。
【0065】
FITSクライアント130′では、光信号は、各波長チャネルを独立して変調する重みバンク134を介して送信される。これは、アクティベーションxによって重み行列の行wmnを重み付けする。得られた信号は、差検出器上で検出され、時間ステップnで、差電流は、全ての寄与波長チャネルの総和(重み行列、の行の総和、Σmn)である。
【0066】
図4の一番下の行に示されている低ノイズのインコヒーレントサーバー410とクライアント430および430′は、インコヒーレントサーバー110およびクライアント130および130′よりも低いノイズで動作する(ただし、コヒーレントサーバー310およびクライアント330および330′ほど低くはない)、およびLOを要求しない。単純なインコヒーレント重みサーバー110と比較して、低ノイズインコヒーレント重みサーバー410は、マイクロリング変調器412のアレイの前に、追加の波長選択強度変調器(IM)441を有する。この波長選択強度変調器441は、図4Bに示すようにリングのアレイで実施することができる。強度変調器441は、重み振幅|wmn|を光キャリア上にエンコードし、マイクロリング変調器412はバイナリモードで機能して、重みの符号を光キャリア上にエンコードする。同様に、TIFSクライアント430では、図4Bに示されるように、MZM433の入力に結合された追加の強度変調器442の対が使用される。強度変調器442は、DNN入力振幅|x|に従って電力を減衰させ、一方、MZM433は、バイナリモードで機能して、DNN入力の符号をエンコードする。リング共振器134は、上述のように、バランスの取れた光検出器435による検出のために各WDMチャネルをフィルターリングする。FITSクライアント430′はまた、リング共振器434′に結合された強度変調器442′を含み、その追加ポートおよびドロップポートは、微分検出器435′の異なる入力に結合される。
【0067】
図4Cは、コヒーレント検出を使用して動作する重みサーバー310、TIFSクライアント330、およびFITSクライアント330′を示す。重みサーバー310およびTIFSクライアント330は、図3について上記に記述される。FITSクライアント330′は、高速ホモダイン検出器334′を使用して、重み信号と、コームラインが重み信号を生成するサーバー310のWDM-MZM312のようなWDM-MZM333′で変調されたLOコームとの間の干渉を検出する。ホモダイン方式の一つの利点は、低ノイズであり、これによって、ONNが低受信光パワーで動作することを可能にするが、LOはクライアント330′に非常に複雑なものを加える。
【0068】
望ましいニューラルネットワークの性能およびシステムの複雑さに応じて、単純で低ノイズインコヒーレントサーバーおよびクライアントを混合し、一致させることができる。低ノイズ構成の利点を示すために、S/S、S/LN、LN/S、LN/LN(シンプルなサーバー/シンプルなクライアント、シンプルなサーバー/低ノイズクライアントなど)という四つのケースを検討する。いずれの場合も、振幅aを有する非重み付け周波数コームから開始し、ここで、Nwt=|aは、(ソースでの)重み当たりの光子の数であり、w,x∈[-1,1]であるように、変数を正規化する。
1.S/S:重みバンク(WB)は、wmnをPBSで多重化された二つのチャネルの差分電力にエンコードする。これらは、
【数12】
である。クライアントでは、これらのチャネルをMZM(干渉回避)と再混合して、
【数13】
を与える。従って、差分電荷は、
【数14】

であり、一方ショットノイズを設定する総吸収電荷は、
【数15】

である。
2.S/LN:入力はS/Sと同じであるが、クライアントは、図4Bに示すように、MZMの前に、強度変調器(IM)の追加対を有する。IMは振幅|x|に従って電力を減衰し、一方でMZMはバイナリモードで機能して、符号(θ=arg(x)∈{0,π/2})をエンコードする。従って、光検出器(PD)入力は、x>0に対する
【数16】

またはx<0に対する
【数17】

のいずれかである。Qdetは、同じであるが、Qtotは、|x|分の1に減少する。
3.LN/S:この場合、標準クライアントが使用されるが、重みサーバーはWBの前に追加のIMを有する。これは波長選択性であり、図4Bに示すように、リングのアレイで達成することができる。S/LNの場合と同様に、IMは振幅|wmn|をエンコードする、一方でWBはバイナリモードで機能し、符号をエンコードする。従って、単一の偏光は、電力を運ぶ:wmn>0の場合、a=|wmn|Nwt、およびwmn<0の場合a-=|wmn|Nwtである。PD入力は
【数18】
であり、これは同じQdetを与えるが、Qtotは、S/Sケースと比較して|wmn|分の1に減少する。
4.LN/LN:サーバーとクライアントの両方が低ノイズ設計を使用している場合、WBとMZMは常にBARモードまたはCROSSモードになっているため、全ての電力は、検出器の一つに投入される:wmn>0に対して
【数19】
またはwmn<0に対して
【数20】
のいずれか。従ってQtotは、|wmn|分の1に減少される。
【表1】


【0069】
これらのケースを表1に列挙する。それらが同じ差分電荷Qdet=wmnwtを収集する間、ショットノイズ制限を設定する総PD電荷は、多くの入力または重みが小さい(またはゼロ)場合、かなり変化する。これは一般的に、真実であり、特に、メモリーを節約するためにしばしば切詰められるDNN重みに対してそうである。
【0070】
PD電荷から、論理出力y上のショットノイズを計算することができる。一般的に、我々は以下を得る。
【数21】
【0071】
表1の右列は、四つのインコヒーレントスキーム(ならびにコヒーレントスキーム、式(9))のノイズ振幅σを比較する。予想通り、低ノイズおよびコヒーレントスキームは、単純なスキームよりも低いノイズ振幅を有する。また、
【数22】

であるので(Holderの不等式の適用)、コヒーレントスキームはS/LNよりも優れている。しかし、LN/LNまたはコヒーレントが最良かどうかは、重みに依存し得る。
【0072】
時間および周波数はフーリエコンジュゲートであるため、ノイズ解析は、FITSおよびTIFS積分スキームで、置換w→wおよびN→M(周波数チャネルを備えたスワップ時間ビン)で同じである。さらに、低ノイズ方式のサイドメリットは、位相誤差に対する頑健性である。MZMは常にBARまたはCROSS構成であるため、aとaの間の干渉はなく、相対位相はもはや重要ではない。
【0073】
性能
スループット
クライアントが、例えば、図1および図2に示すように、マトリクスベクトル乗数として実行される場合、それは、受信した重み当たり一つのMACを実行する。従って、クライアントのスループットは、光リンクによって制限される。NetCastシステムは、PBS115の後(図1)、オンチップファンアウトを備えたマトリックス-マトリックスクライアントを有し得る。これにより、最大スループットが、複雑さを犠牲にして(クライアントはκ回超複製される)一定のファクタ(重みあたりκMAC)だけ増加する。ただし、この場合、リンク帯域幅は依然としてスループットに限界を置く。
【0074】
基本的に、サーバーとクライアント間の光リンクのチャネル容量は通常、クロストークによって制限される。このアーキテクチャーでは、クロストークは、(1)時間的クロストークと(2)周波数クロストークの二つの形態を取る。時間的クロストークは、リング変調器の有限光子寿命およびその有限RC時定数から発生する。これらをひとまとめにすると、およその変調器応答時間
【数23】

が得られる。効率的な変調器については
【数24】
であり、故に
【数25】
時間的クロストークは、形態X=e-T/tを有してもよく、ここで、Tは重み間の時間である。これにより、変調器のシンボルレートR=1/Tの上限が設定される。
【数26】
ここでfは、は光キャリア周波数であり、およびQは、リングの品質ファクタである。
【0075】
周波数クロストークは、WDMレシーバーのチャネル間で発生する(完全なWDMであっても、トランスミッターリングは周波数クロストークを有する)。これは、Lorentz型線形Xω=(1/2κ)/(Δω+(1/2κ))によって設定され、ここでΔωは、隣接するWDMチャネル間の間隔である。低クロストークの場合Δω>>κ、これは最小チャネル間隔を与える:
【数27】
【0076】
アナログクロストークは、DNNが機能するには十分に低い必要がある。
【数28】

のアナログクロストークは通常十分である。空間的クロストークが類似の閾値(X=Xω=X)を有すると仮定すると、チャネル容量は、以下によって制限される。
【数29】
ここで、Bは、帯域幅(Hz単位)であり、およびCは、正規化されたシンボルレート(単位は1/Hz-s)である。
【0077】
表2は、クロストークの関数としての容量を示す。これらの値は、ハイエンドGPUのHBMメモリー帯域幅と同じボールパーク内にある(例えば、6~12Tbps)。1MAC/wtの行列ベクトルの場合、GPUまたはTPUレベルの算術性能(>50TMAC/s)に到達できない可能性がある。これには、重みを再利用する(上述の通り、GPUおよびTPUはいずれにしてもこれを行う)、またはCバンドを超えて動作するために、クライアント内の光学ファンアウトを伴い得る。
【0078】
また、MZM、長いファイバーリンク、PBS、または自由空間光学部品の分散によって設定される実用的な帯域幅制限があり得る。これらの帯域幅制限の多くは、適切なエンジニアリングによって回避できる。
【表2】

【0079】
レーザー出力/SQL
サーバーは、検出器で妥当なSNRを維持するのに十分なレーザー出力を放射する必要がある。ノイズは、各DNN層の行列ベクトル積においてガウス項としてモデル化することができる。式(10)の後、以下を得る。
【数30】
【0080】
ここで、σおよびσは、それぞれジョンソンおよびショットノイズ寄与である。ジョンソンノイズは、キャパシタの電荷に対していわゆるkTCノイズ変動を生じさせる。これらの変動は
【数31】
としてスケールし、大きな静電容量を有するリードアウト回路(検出器およびトランスインピーダンスアンプ(TIA))に対して、優勢となる。光の光子への量子化によるショットノイズは、高い光パワーまたはコヒーレント検出(強いLOで)の場合に優勢であり得る。
【0081】
レーザー出力のベンチマーク基準を定義するには、少なくとも二つの方法がある。第一に、基準は、WDM-MZMの前に、重みサーバーで周波数コーム内のソース電力に基づき定義することができる。これをNsrcとして示す。これは、本明細書の他の場所で使用されたNwtと同じである。第二に、ベースは、Ntrで示される重みサーバーの出力における送信電力(平均)に基づき定義することができる。多くの重みがゼロであり、低ノイズまたはコヒーレント検出スキームが使用される場合、これは、Nsrcよりもはるかに低くあり得る。受信電力(クライアントで)は、リンク効率のほんのNtr倍である。ソース電力は、実用的なアンプなしでは便利な基礎であるが、あまりにも多くの分散、非線形性、またはクロストークなしに効率的に信号を増幅することが可能である限り、送信された電力がより便利な基礎であり得る。さらに、送信電力を使用すると、多くの場合、より有利な結果につながる。
【0082】
ONNのノイズによって負わされるエネルギー束を計算するには、ニューラルネットワークを、各層に加法ガウスノイズ(式(14))を用いて実行し、ノイズ限界、最大の許容ノイズ振幅σmaxを計算することを検討する。これは、DNNおよび誤差に対する許容誤差に依存する。
【0083】
図5Aおよび5Bは、小および大NNに対して、MNISTパーセプトロンのσの関数としてエラー率をそれぞれ示す。ノイズが、1.5×以下、誤差をより大きくするのなら、小さなNN(100-ニューロン隠れ層)に対してσmax=0.27および大きなNN(1000-ニューロン隠れ層)に対して0.95である。
【0084】
【数32】

が光エネルギーに依存するため、最大の耐ノイズ振幅σmaxは、エネルギー測定基準(NsrcまたはNtrのいずれか)の保守的な推定値を得るために使用できる。第一に、ジョンソンノイズは、Nsrcで反比例的にスケールされ、それに下限を設定する。
【数33】
表3は、kTCノイズ、MAC Emin当たりの対応する最小エネルギー、および最小電力(1TMAC/sのレートで)を列挙する。
【表3】


【表4】

【0085】
ショットノイズの項σは、電力の平方根と反比例する。これは、コヒーレント状態における基本的な量子変動(十分に小さな静電容量で、または検出器の前にアバランチングもしくはオンチップゲインを使用して回避できる熱変動ではない)から生じるため、標準量子制限(SQL)と呼ばれる光パワーに下限を設定する。SQLは、二つの理由から、ここで関連し得る。(1)光パワーバジェットは、レーザー効率、自由キャリア効果、および非線形効果により、はるかに低い。チップは100Wの加熱に耐えることができるが、ほとんどのシリコンオン絶縁体(SOI)導波路は最大で100mWかかる。および(2)リンクは、多くのアプリケーション(例えば、長距離の自由空間)において非常に低い効率であり得る。そのため、HD-ONNとは異なり、NetCastシステムはSQLの近くで動作し得る。
【0086】
以下による、係数FsrcおよびFtr係数の定義:
【数34】

ショットノイズによって設定された電力制限は、
【数35】
【0087】
従って、エネルギー制限は、係数Fsrc、Ftrに密接に関連する。これらの係数は、σの形態(表1)によって得ることができる。表4は、各スキームの係数を列挙する。上述のように、スパースまたはほぼスパースの重みまたはアクティベーション
【数36】
の場合にノイズを低減することによって、低ノイズ設計は、必要なレーザー出力を大きなファクタだけ低減することができる。表5に示すこれらの要因FsrcおよびはFtr、同じMNISTニューラルネットワークについて、「シンプル」設計と比較して光電力消費量の10×低減を可能にする。
【0088】
一見すると、単純な設計であっても、ノイズ制限された電力はEmin=1.4fJ/MACであり、オンチップ電子機器、例えばDAC、ADC、およびメモリーが支配する可能性が高いほど十分に低いため、このような減少は重要ではないと思われる。しかし、このノイズ制限された電力は、1TMAC/sという控えめなスループットであっても、レシーバーで1.4mWの光パワーがあることを意味する。レーザーとEDFAが最大で10~100mWでサポートされることを考えると、これは、リンク損失や目の安全を言うまでもなく、許容される光ファンアウトに制限をかけることになる。特に損失の多いリンク(例えば、空きスペース上で長距離で接続されるドローン)については、たとえそれがクライアント側の電力予算に影響を与えていなくても、可能な限りEminを削減する強い動機がある。
【0089】
幸いなことに、コヒーレントスキームとLN/LNインコヒーレントスキームは、数光子/MACの非常に低い透過エネルギーで動作可能であり、1TMAC/秒でさえもPmin<1umWを実現することができる。このようなクライアントでは、10mWのソースは、最大10のリンク損失(またはファンアウト比)に耐えることができる。あるいは、低損失リンクは、100TMAC/秒の計算に十分な電力を供給でき、サブmW(光)電力バジェットでTPUをビートすることができる。
【0090】
低ノイズインコヒーレントスキームでは、ショットノイズの制限が非常に低いため、ジョンソンノイズがショットノイズを支配し得る。ジョンソンノイズを抑制するために、信号の増幅前(例えば、EDFAまたは半導体光アンプを用いて)またはアバランチ検出器を使用し得る。
【表5】
【0091】
クライアント電力消費量
クライアントでの電力消費量は、(1)クライアントメモリーからアクティベーションをフェッチすること(DNN層への入力)、(2)MZMを駆動すること、および(3)検出器出力を読み取り、デジタル化することに依存する。
【0092】
サーバーからクライアントに重みをブロードキャストすることで、NetCastはクライアントメモリーから重みを取得する必要性を排除する。一般的に、DNNの重みは、アクティベーションよりもはるかに多くのメモリーを占有する。完全に接続される層では、重みはO(N)メモリーを使う一方で、アクティベーションはO(N)を使うのみである。(バッチ処理はこれを少し均等化するが、ミニバッチのサイズは通常、Nよりも小さくなる)。さらに、重みとは異なり、その全てはどこかに記憶されるべきであり、推定中、現在の層のアクティベーションのみがいつでも記憶される必要がある(分岐点および残差層を除く)。従って、アクティベーションに対する重みの比率は、ネットワークの深さおよびその層のサイズとともに増加する。
【0093】
重みがなければ、クライアントは、オンチップメモリー内にDNNの全状態を保存することができ、クライアント側で動的ランダムアクセスメモリー(DRAM)リードを排除することができる。さらに、オンチップメモリーから読み取る場合でも、図1に示されるように、MZMにおける波長多重化からのMのデータ再利用係数がある。従って、クライアントによるメモリー関連のエネルギー消費は非常に低い。
【0094】
クライアントでMZMを運転しても、電力はあまり消費されない。自由なキャリアベースのユニトラベルキャリア(UTC)MZMトランスミッターは、O(1)pJ/bitを使用する。メモリー読み取りと同様に、WDMはMチャネル全体のドライバーコストを償却するため、MAC当たりのエネルギーはO(1/M)pJとなる。多くのチャネルでは、駆動コストは、数十フェムトジュール/MACを下回って駆動することができる。(これは、MZMが帯域幅全体にわたってUTCであり、分散を無視していることを前提としている)。より外来の変調器(例えば、LiNbO、有機ポリマー、BaTiO、またはフォトニック結晶に基づく)は、変調コストをフェムトジュールに低減することができ、これは再びWDMから1/Mに償却される。しかし、今日、ファウンドリで利用可能な変調器では、少ないfJ/MAC性能がすでに可能である。
【0095】
クライアントでの検出器出力の読み取りおよびデジタル化はまた、少量の電力を消費する。読み出しおよびデジタイズ時の消費電力は通常、8ビットの精度でO(1)pJ/サンプルであるアナログ-デジタル変換(ADC)によって支配される。性能を損なうことなく、1または2ビットを犠牲にすることによって、ADCエネルギーを100fJ以下にスケールダウンすることができる。いずれにしても、N>100で割った後、ADCのコストは、最大数十フェムトジュール/MACである。
【0096】
クライアントは、フィルターとして使用されるリング共振器のチューニングおよび制御を含む、他の動作のために電力を消費し得る。サーマルリングチューニングによって、リング変調器のシステムレベルの電力消費量をfJ/bitからpJ/bitに上げることができる。レシーバーWDM(図1に示すようにリングアレイで設計される)が熱的に安定しない場合、それは熱的に調整され得る。サーマルリングチューニングの消費電力は、MEMSまたはキャリアチューニングを使用することで削減できる。
【0097】
サーバーの電力消費量
最も高い電力消費シナリオでは、重みサーバーはその重み全てをDRAMに記憶し、ローカルデータ再利用ゼロを達成し、故に電力バジェットはDRAM読み取り(8ビット精度で約20pJ/wt)で支配される。目標帯域幅1Twt/sでは、これはおよそ20Wである。トランスミッターは、数ワット(前と同じO(1)pJ/wtと仮定)を加算してもよく、その後、以前に考慮した光パワーがある。
【0098】
NetCastサーバークライアントアーキテクチャーは、サーバーが計算およびメモリー書き込みのタスクから解放されるため、全く新しいデータフローにつながることができる。例えば、重みサーバーは、重みを静的ランダムアクセスメモリー(SRAM)に格納するウエハースケールの重みサーバーとして構築され得る。それに見合った変調器の改善により、エネルギー消費量は桁違いに減少する。ウエハースケールのサーバーでは、オフチップおよびオンチップの両方の相互接続コストを回避するために、ローカルにデータを格納する必要がある。
【0099】
図6Aは、重みサーバー用の低電力光バックボーンを形成する層間チップ600を示す。重みは、ウエハースケール(またはマルチチップセット)プロセッサー上のSRAMブロック613の規則的な配列に格納される。各SRAMブロック613は、対応するDAC614を介して独自のWDM変調器アレイ612に結合され、少数の時間ステップ(例えば、100時間ステップ)をステップスルーするのに十分なメモリーを有する。サーバーは、各交差点でスイッチング論理619によって制御されるMZM618を有する対数深さ光スイッチングツリーを使用して、オンデマンドでSRAMブロック613を選択することができる。スイッチングツリーアーキテクチャーは高度にモジュール化されており、モデルが単一のサーバーに対して大きすぎる場合に、複数のウエハースケールサーバーを結合することが可能となる。柔軟なフォトニックバックボーン(低速だが低損失のコンポーネント、例えばサーモ光学またはMEMSコンポーネントで構築可能)があれば、サーバーは異なるモデルに独立して対応したり、リソースをプールしたりして、全てをルール化する一つのサーバーを構築したりできる。
【0100】
一見すると、ツリー上の各リーフに一つの重みがありスイッチがクロックサイクルごとに切り替えられる場合、スイッチングツリーはエネルギー集約的であるように思われる。しかし、このケースでは、各リーフは多くの重みを含んでもよく、切り替え前に多くのクロックサイクルを待つことができる。これにより、スイッチングネットワークの負荷が大幅に軽減される。ただし、重みがDRAMに格納される場合でさえ、NetCastは既存の技術で妥当な電力で稼働する必要がある。
【0101】
NetCastのアプリケーション
スマートセンサーが、サーバーへの直通の視線または光ファイバー接続を有するが、電力が不足する、多くのエッジコンピューティングシナリオがある。例えば、航空機などの複雑な機械は、図6Bに示すように、航空機内部のファイバーを通してリンクされ得る、何百ものセンサーを含む一方で、それらを配線で接続することが、煩雑または危険であり得または信号を電磁妨害の影響を受けやすい状態にし得る。これは、チップをつなぐ長いワイヤが、太陽嵐の間に静電放電を起こしやすい宇宙空間で特に当てはまる。
【0102】
図6Cは、深層学習が、環境モニターリング、探査、および資源探索などのタスクを支援するために、ソーラーまたはバッテリー駆動のカメラ、ドローン、およびその他のモノのインターネット(IoT)デバイスのネットワークにもたらされる、測量および現場作業に使用されるNetCastを示す。この場合、光ファイバーは、基地局の視線内の全ての装置にDNN重みをブロードキャストするスマート光のペンシルビームによって置き換えられる。サーバーに結合された自由空間トランスミッターは、クライアントデバイスのポインティング、取得、および追跡のためにブロードバンド信号のために機能する、複数のビームに対して潜在的に正確なビームステアリング装置を使用し得る。
【0103】
図6Dは、単一のDNNサーバーが複数のラックを光学的に提供し、その各々がクライアントを保持する、データセンター内に展開されたNetCastを示す。同じニューラルネットワークが多数のユーザーで並行して実行される場合、これにより、大量のエネルギーコスト(重み回収)をラック数に対して償却することができる。NetCastは、他の光学式重みサーバーよりも堅牢である。その理由は、(1)NetCastのインコヒーレントバージョンは、コヒーレント干渉に依存せず、(2)自由空間リンクであっても、整列する単一モードがあるためである。
【0104】
NetCastは、DNNを用いたエッジ処理の他のスキームよりもいくつかの利点を提供する。まず、アナログドメイン内の光パワーを統合し、最後に読み取る。従って、エネルギー消費はデジタル光ニューラルネットワークよりもO(1/N)に小さくなる。今日の集積回路では不可能な大きなDNN(例えば、10重みを超えるもの)の実装に使用することができる。それは、位相の一貫性なく動作できるため、サーバーとクライアントを接続するリンクの安定性に関する要件を緩和する。さらに、リンクは画像化リンクではない。それらは、光ファイバーリンク、またはシンプルなガウス光学部品を備えたシングルモードの自由空間リンクである。最後に、O(MN)、またはO(N)ではなく、チップエリアはO(M)として、スケール化される。なぜなら、NetCastは、重み固定のスキームとは異なり、出力固定であるためである。
【0105】
分散トレーニング
もう一つのエキサイティングな可能性は、サーバーとクライアント間の双方向の光リンクを使用して、分散トレーニングを実施することである。トレーニングにより、サーバーはクライアント上で処理されるデータからリアルタイムで重みを更新することができる。以下のトレーニング方法は、NetCastと互換性があり類似のハードウェア上で実行される。
【0106】
DNNトレーニングは2ステップのプロセスである。第一に、アクティベーションX=∂J/∂x,ψ=∂J/∂yに対する損失関数Jの勾配は、逆行性伝播によって計算される。各層内で、逆行性伝播関係は、
【数37】
層の間では、
【数38】
ベクトル化された形態では、式(18)を行列積X=wψとして記述することができ、式(19)はベクトル要素ψ=g(x)Xの要素ごとの重み付けである。
【0107】
第二に、重み更新δmn=∂J/∂wmn、すなわち、重みに対するJの勾配を計算する。
【数39】
これは、ベクトル外積δ=ψxに過ぎない。これらの関係を表6に要約し、図7Aに示す。
【表6】
【0108】
逆行性伝播は、行列ベクトル積に依存する。光学部品に関しては、NetCastで実行するのは簡単である。単にwに対しwをスワップを行うだけで、全てが推論と同じように進行する。重み更新については、アクティベーションxおよび勾配ψを仮定して、外積δ=ψxを計算し、結果を(互換フォーマットで光学的にエンコードして)サーバーに送信する。
【0109】
重み更新は行列なので、図7Bに示されるように、重み行列と同じ時間周波数フォーマットでエンコードすることができる。内積を得るために、行列の行はψによってスケールされ、列はxによってスケールされる。これは、低速波長選択変調器(異なる共振周波数に同調されたリング共振器の重みバンク(WB)として図7Bに表される)のアレイを通して、次に、高速ブロードバンドMZMを通して、周波数コームを送ることによって行うことができる。光信号がサーバーに到達すると、それは多重分離され、各波長チャネルが高速検出器のアレイ上で読み出される。
【0110】
図7Cと7Dは、図4Bおよび4Cに関して上述した、シンプル、低ノイズおよびコヒーレント推論に類似しているハードウェアでこれを実行する三つの方法を示す。図7Cは、サーバー710aでのインコヒーレント検出を使用するための(右上)、シンプルなクライアント730aおよび/または低ノイズクライアント730a’に光リンク720を介して接続されるサーバー710a(左)を示す。図7Dは、光リンク720を介して別のクライアント730bからのトレーニング信号のコヒーレント検出のために構成されるサーバー710bを示す。
【0111】
図7Cのシンプルなクライアント730aにおいて、モードロックされたレーザー731は、マイクロリング変調器732aの重みバンク(WB)によって変調され、MZM733に供給される、周波数コームを生成する。WBの変調器732aは、一部T=1/2(1+ψ)を送信し、残りの部分R=1/2(1-ψ)を反映するように設定される。MZM733は、θ=1/2cos-1(x)に設定され、これらの入力を混合するが、それらが、±π/2位相ずれている場合、干渉は発生せず、各出力ポートで電力は
【数40】
によって供給される。これらのポートは、PBS734上で組み合わされ、今や(now)
、重みのレシーバーとして機能する、サーバー710aに送信される。サーバー730a内のWDM-PDレシーバー712aは、受動WDMで波長を分離し、各時間ステップで、重み勾配と等しい差電流を計算する。
【数41】
【0112】
アクティベーションまたは重みの多くが非常に小さい場合、大きなショットノイズのため、信号Qdetを解決することが困難であり得る。図7Cの低ノイズクライアント730a’は、図4Bの低ノイズクライアント430と同様に、この問題を解決する。ここで、ψの符号および振幅は、それぞれマイクロリング変調器732aおよび波長選択強度変調器(IM)741によって、ソース731からの周波数コーム上にエンコードされる。同様に、xの符号および振幅は、MZM733および強度変調器ペア742にエンコードされる。結果として、偏光のうち一つのみが電力を伝送し(ψの符号に応じて)、電力は|ψ|である。検出された差分電荷は、式(21)によって与えられるが、総電荷は、ショットノイズとともに大幅に減少される。
【0113】
コヒーレントサーバー710bおよびクライアント730bは、共通のLOを共有するため、重みをコヒーレントにエンコードすることができる。これは、コーム源731から低速WDM-MZM732bを通してクライアント側の高速ブロードバンドMZM733に周波数コームをカスケードし、サーバー710bでWDMホモダイン検出器712bのLO711からLOコームに対して、結果として生じるトレーニング信号をビートすることを伴う。この場合、信号フィールド(電力ではなく)はψのようにスケールされる。LO振幅αでは、各検出器の電荷は
【数42】
であり、差分電荷はψとしてスケールされる。
【表7】
【0114】
推定と同様、NetCastにおけるトレーニングの精度は、光パワーの関数である検出器ノイズによって制限される。大信号の限界では、このノイズは、計算された外積のガウス項につながる。
【数43】
【0115】
σmnは、多くの場合、特定の行列要素に依存するが、平均
【数44】
を見ることがより便利であり得る。このノイズ分散は、ジョンソンとショットノイズの項
【数45】
の総和であり、
【数46】
としてスケールされる。表7は、図7Cおよび7Dの三つのトレーニングスキームのノイズ振幅を比較する。推定に関する上記の議論と一致して、ほとんどの|x|(または|ψ|)がゼロに近い場合、ノイズは大幅に低減される。表5は、訓練されたDNNについて、〈|x|〉<0.1を示す。これがトレーニングで真実(True)であり、ψが、同様に少ない場合、低ノイズ設計は、単純な設計と比較して、ノイズを10~10分の1に低減する(または固定ノイズで電力を低減する)ことができる。コヒーレント設計のノイズ低減(または省エネルギー)も有意であり得る。
【0116】
トレーニングが本当に分散している場合、サーバーは複数のクライアントから重み更新を受信し得る。重み伝送に対するクライアント側の電力バジェットは、かなり低いが(M×Nマトリックスに対してO(M)+O(N))、サーバー側では、全ての重みがメモリーに読み取られるため、それは、O(MN)である。サーバーがクライアントの重み更新を独立して処理する場合、重大な帯域幅およびエネルギーのボトルネックが発生し得る。従って、サーバーがそれらを読み取る前に、これらの更新を光学的に組み合わせることが非常に有利であり得る。
【0117】
図8Aは、サーバーでの読み取り前の、光学部品における重み更新の組み合わせを示す。インコヒーレントなケースでは、更新は、(ノイズとして現れる可能性がある)未定義の位相のオーバーラップする光信号間のスプリアス干渉項を回避するために、時間内にインターリーブされる。これは、図8Bの上半分のようにインターリーブを実行するために、高速MZMスイッチ801aおよび801bを含む対数深さスイッチングツリーを用いて効率的に行うことができる。あるいは、時間遅延を伴う受動コンバイナー802をK倍の犠牲を払って、未熟な人のインターリーバとして使用でき、ここで、Kは図8Bの下半分に示すようにクライアントの数である。
【0118】
対照的に、図8Cは、信号がコヒーレントスキームですでに位相に入っているため、それらが通常の受動光学素子を使用していかなるインターリーブもせずに組み合わせることができることを示す。これにはK倍の損失を伴なうが、結合中に関連情報(全てのクライアントフィールドの合計)が保存されるため、SNRには影響しない。フィールドa,k∈{1,...,K}上のK個の別々のホモダイン測定値の結果を比較し、
【数47】
最初に光学的にフィールドを組み合わせ(a=K-1/2Σκκ)、その後、ホモダイン検出を行うことによりわかる。
【数48】
【0119】
式(23)および(24)の結果は、スケーリング係数によって異なり、SNRが同じである。従って、コヒーレントスキームでは、重み更新は、シグナルを失うことなく組み合わせることができる。これ以外に、コヒーレントスキームの別の利点は、速度である。インターリーブなしで、それは、多くのクライアントの場合、速度がはるかに速い。インコヒーレントな場合、インターリーブは、重み更新速度を上記で導き出された制限に制限することができる。対照的に、コヒーレント光学部品では、これらの重み更新は光学的にバッチされ、限界はもはや適用されない。これは、多くのクライアントを有し、(光学的)スループットが制限されるシステムにおいて、大きな利点となり得る。
【0120】
結び
本発明の種々の実施形態が、本明細書に説明および図示されたが、当業者は、本明細書に説明される機能を行い、および/または結果および/または利点のうちの一つまたはそれを上回るものを得るための種々の他の手段および/または構造を容易に想起し、そのような変形例および/または修正はそれぞれ、本明細書に説明される本発明の実施形態の範囲内にあるとみなされる。さらに通常、本明細書に記載する全てのパラメーター、寸法、材料、および構成が例であることを意味し、実際のパラメーター、寸法、材料、および/または構成は、本発明の教示が使用される、特定の一つのまたは複数の適用に依存するであろうことを、当業者は容易に理解するだろう。当業者は、通常の実験法を使用するのみで、本明細書に記載する特定の発明の実施形態の多くの同等物を認識し、または解明できるだろう。従って、前述の実施形態は、一例として提示されるにすぎず、添付の請求項およびその均等物の範囲内において、本発明の実施形態は、具体的に説明および請求されるものと別様に実践され得ることを理解されたい。本開示の発明に関する実施形態は、本明細書に記載する個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、二つ以上のこうした特徴、システム、物品、材料、キット、および/または方法の任意の組み合わせは、こうした特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の発明の範囲内に含まれる。
【0121】
また、種々の本発明の概念が、一つまたはそれを上回る方法として具現化され得、その実施例が提供されている。方法の一部として行われる作用は、任意の好適な方法で順序付けられてもよい。従って、実施形態は、例示と異なる順序で行為が実施されるように構築されてもよく、これには、例示の実施形態で連続した行為として示しているにもかかわらず、一部の行為を同時に実施することが含まれ得る。
【0122】
本明細書で定義および使用する全ての定義は、辞書定義、参照により組み込まれる文書の定義、および/または定義された用語の通常の意味を統制するものと理解されるべきである。
【0123】
明細書および請求項において、本明細書で使用されるような不定冠詞「a」および「an」は、これと異なることが明確に示されない限り、「少なくとも一つ」を意味すると理解されるべきである。
【0124】
明細書および請求項において、本明細書で使用されるような「および/または」という語句は、そのように結合された要素の「いずれか一方または両方」、すなわち、ある場合には接合的に存在し、他の場合においては離接的に存在する要素を意味すると理解されるべきである。「および/または」で記載される複数の要素は、同じように、すなわち、そのように結合された要素のうちの「一つまたはそれを上回る」と解釈されるべきである。「および/または」節によって具体的に識別される要素以外に、具体的に識別される要素に関係しようと、無関係であろうと、他の要素が随意的に存在し得る。従って、非限定的な例として、「Aおよび/またはB」とは、「含む」などのオープンエンドの言語と組み合わせて使用される場合、一実施形態ではAのみ(場合によりB以外の要素を含む)、別の実施形態ではBのみ(場合によりA以外の要素を含む)、さらに別の実施形態では、AおよびBの両方(場合により他の要素を含む)、等を指すことができる。
【0125】
本明細書および特許請求の範囲で使用する場合、「または」は、上記で定義された「および/または」と同じ意味を有すると理解されるべきである。例えば、リスト内の項目を区切る場合、「または」または「および/または」は包括的である、すなわち、いくつかのまたはリストされた要素の、および場合によって別のリストされていないアイテムのうちの少なくとも一つを含むが、それらのうちの複数も含むと解釈されるものとする。それとは反対であると明確に指示される用語、例えば「のうちの一つのみ」もしくは「のうちのまさに一つ」、または特許請求の範囲において使用する時の「から成る」などの用語のみ、多数のまたは列挙された要素のうちのまさに一つの要素を包含することを指す。一般に、本明細書で使用する場合、「または」という用語は、「いずれか」、「のうちの一つ」、「のうちの一つのみ」、または「のうちのまさに一つ」など、排他的な用語が先行するときには、排他的な選択肢(すなわち「両方ではなく一方または他方」)を示すとのみ解釈されるものとする。「本質的に~から成る」は、請求項で使用されるとき、特許法の分野で使用されるようなその通常の意味を有するものとする。
【0126】
本明細書および特許請求の範囲で使用する場合、一つまたは複数の要素のリストに関連する「少なくとも一つ」という語句は、要素のリストの中の要素のいずれか一つまたは複数から選択される、少なくとも一つの要素を意味するが、要素のリスト内で具体的に列挙したありとあらゆる要素のうちの、少なくとも一つを必ずしも含むわけではなく、要素のリストのいかなる要素の組み合せも除外するものではないと理解されるべきである。この定義はまた、具体的に識別される要素に関係しようと、無関係であろうと、「少なくとも一つ」という語句が指す、要素のリスト内で具体的に識別される要素以外に、要素が随意で存在し得ることを許容する。非限定的な実施例従って、非限定的な例として、「AおよびBのうちの少なくとも一つ」(または同等に「AまたはBのうちの少なくとも一つ」、または同等に「Aおよび/またはBのうちの少なくとも一つ」)は、一実施形態では、少なくとも一つの、必要に応じて二つ以上のAを含み、Bが存在しない(および必要に応じてB以外の要素を含む)ことを指し、別の実施形態では、少なくとも一つの、必要に応じて二つ以上のBを含み、Aが存在しない(および必要に応じてA以外の要素を含む)ことを指し、さらに別の実施形態では、少なくとも一つの、必要に応じて二つ以上のAを含み、ならびに少なくとも一つの、必要に応じて二つ以上のBを含む(および必要に応じて他の要素を含む)、等を指すことができる。
【0127】
本明細書および特許請求の範囲において本明細書で使用される場合、数値範囲が、用語「間」によって接続される二つの値の観点から表される場合、範囲は、範囲の一部として二つの値を含むことが理解されるべきである。
【0128】
特許請求の範囲、ならびに上記の明細書で、全ての移行句、例えば、「備える(comprising)」、「含む(including)」、「持つ(carrying)」、「有する(having)」、「包含する(containing)」、「伴う(involving)」、「保つ(holding)」、「から構成される(composed of)」、および類似のものは制限がないと理解され、すなわち、含むがそれに限定はされないということを意味する。「から成る(consisting of)」および「から本質的に成る(consisting essentially of)」という移行句のみが、米国特許局の特許審査手続便覧、セクション2111.03に規定の通り、それぞれ閉鎖的または半閉鎖的な移行句であるものとする。
図1
図2
図3
図4
図5
図6
図7
図8