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

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

▶ ルック ダイナミックス,インコーポレイテツドの特許一覧

特開2023-169190フォトニックニューラルネットワークシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023169190
(43)【公開日】2023-11-29
(54)【発明の名称】フォトニックニューラルネットワークシステム
(51)【国際特許分類】
   G06N 3/067 20060101AFI20231121BHJP
   G06N 3/0464 20230101ALI20231121BHJP
   G06G 7/60 20060101ALI20231121BHJP
   G06G 7/16 20060101ALI20231121BHJP
   G06G 7/14 20060101ALI20231121BHJP
   G06E 3/00 20060101ALI20231121BHJP
【FI】
G06N3/067
G06N3/0464
G06G7/60
G06G7/16 510
G06G7/14
G06E3/00
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023138981
(22)【出願日】2023-08-29
(62)【分割の表示】P 2020516840の分割
【原出願日】2018-09-20
(31)【優先権主張番号】62/561,061
(32)【優先日】2017-09-20
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/625,711
(32)【優先日】2018-02-02
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】520092945
【氏名又は名称】ルック ダイナミックス,インコーポレイテツド
【氏名又は名称原語表記】LOOK DYNAMICS, INC.
【住所又は居所原語表記】105 S. Sunset Street, Suite T Longmont, CO 80501 (US)
(74)【代理人】
【識別番号】100105131
【弁理士】
【氏名又は名称】井上 満
(74)【代理人】
【識別番号】100105795
【弁理士】
【氏名又は名称】名塚 聡
(72)【発明者】
【氏名】クリル,リッキ ジェイ
(72)【発明者】
【氏名】バイアルド,ジョナサン シー
(72)【発明者】
【氏名】ブルース,デービッド エー
(57)【要約】      (修正有)
【課題】画像を光学的に処理するでデジタル空間畳み込みと比較して、速度、解像度及び電力効率を大幅に増加させるシステム及び方法を提供する。
【解決手段】データのフレームを畳み込み、追加するためのシフォトニックニューラルネットワークステム10は、第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26を含む。各センサー・ディスプレイ装置は、送受信モジュールのアレイを備える。各送受信モジュールは、光センサー素子、光送信器素子及びメモリバンクを備える。ラジアル変調装置20は、データのフレームを含む光フィールドの透過がフーリエ変換される場所に配置される。ラジアル変調装置20の変調素子によって実施されるフィルタは、データのフレームを含む光のフィールドを畳み込み、次いで、光センサー素子によって画素毎に検知して電荷を蓄積することで順次的なデータの畳み込みフレームの画素値を加算する。
【選択図】図1
【特許請求の範囲】
【請求項1】
送受信モジュールのアレイを備える第1のセンサー・ディスプレイ装置であって、各送受信モジュールは光センサー素子と、光送信素子と、複数のメモリセルを有するメモリバンクとを備える、第1のセンサー・ディスプレイ装置と、
送受信モジュールのアレイを備える第2のセンサー・ディスプレイ装置であって、各送受信モジュールは光センサー素子と、光送信素子と、複数のメモリセルを有するメモリバンクとを備えると、
光軸に対して複数の半径方向距離及び角度方向に配置された複数の変調素子を有するラジアル変調器装置と、
前記第1のセンサー・ディスプレイ装置の前記光送信素子と前記ラジアル変調器装置の光送信素子との間に配置された第1のフーリエ変換レンズと、
前記第1のセンサー・ディスプレイ装置の前記光送信素子と前記ラジアル変調器装置の間に配置された第2のフーリエ変換レンズと、
を有し、
前記ラジアル変調器装置が前記第1のフーリエ変換レンズと前記第2のフーリエ変換レンズの両方のフーリエ変換面に配置されるように、前記ラジアル変調器装置が第1のフーリエ変換レンズからの焦点距離および第2のフーリエ変換レンズからの焦点距離に配置された、データフレームを畳み込み及び加算するためのシステム。
【請求項2】
前記ラジアル変調器装置にフィルタを形成及び供給し、前記第1及び第2のセンサー・ディスプレイ装置からのデータのフレームを有する光フィールドの送信の順序を制御し、前記ラジアル変調器装置の前記フィルタで前記データのフレームを畳み込み、前記ラジアル変調器装置からのたたき込まれたデータのフレームを有する光フィールドを検知するためのシステム制御コンポーネントを有する請求項1に記載のシステム
【請求項3】
前記光センサー素子は、感知された光から電荷を蓄積する容量光センサーである請求項1に記載のシステム。
【請求項4】
畳み込みニューラルネットワークのためのデータのフレームを畳み込み及び加算する方法であって、
前記データのフレームを、第1の光軸に沿った空間領域における光フィールドとして順次投影するステップと、
フーリエ変換面において順次前記光フィールドをフーリエ変換するステップと、
光軸に対して種々の半径方向距離及び角度方向で間隔を開けて配置された光変調セグメントを有する光変調器で前記フーリエ変換面において光フィールドを順次畳み込むステップと、
畳み込まれた光フィールドのシーケンスを第1のセンサー・ディスプレイ位置で空間領域に逆フーリエ変換するステップと、
前記第1のセンサー・ディスプレイ位置において、畳み込まれた光フィールドの各々を空間ドメインで電荷蓄積可能な画素位置における容量光センサーで画素毎に検知するステップと、
容量性光センサーに、前記第1のセンサー・ディスプレイ位置において畳み込まれた光フィールドを順次検知することから生じる電荷を蓄積させるステップ
を有する方法。
【請求項5】
メモリセルが、順次感知された光フィールドに対して特定の画素位置において検知された光から生じる蓄積された電荷を有するように、複数の畳み込まれた光フィールドを感知した後に、各センサー内に蓄積された電荷をメモリバンク内の前記メモリセルにシフトするステップを有する、請求項4に記載の方法。
【請求項6】
異なるフィルタを適用して前記光変調器でデータのフレームを有する光フィールドの追加のシーケンスを畳み込むステップ、
前記容量センサーで画素毎に畳み込まれた光フィールドの追加のシーケンスを検知し、各画素位置での検知から生じる電荷を蓄積するステップと、
複数の畳み込まれた光フィールドを検知した後に各センサー内の蓄積された電荷を前もって蓄積された電荷を有するメモリセルにシフトさせつつ、前記前もって蓄積された電荷をメモリバンク内の別のメモリセルにシフトさせるステップと、
第1のセンサー・ディスプレイ位置における各画素位置においてメモリバンク内に畳み込まれて加算されたデータのフレームの3D畳み込みブロックを構築するために上記プロセスを繰り返すステップ
を有する、請求項5に記載の方法。
【請求項7】
第1のセンサー・ディスプレイ位置での画素位置からの順次的な光フィールドにおける3D畳み込みブロックを形成する、畳み込まれて加算されたデータのフレームをフーリエ変換してフーリエ変換面内の変調器に送り返すステップと、
光軸に対して種々の半径方向距離及び角度方向で間隔を開けて配置された光変調セグメントを有する光変調器によりフーリエ変換面において光フィールドを順次畳み込むステップと、
畳み込まれた光フィールドのシーケンスを第2のセンサー・ディスプレイ位置で空間領域に逆フーリエ変換するステップと、
電荷蓄積可能な画素位置における容量性光センサーで画素毎に空間領域において畳み込まれた光フィールドの各々を第2のセンサー・ディスプレイ位置で検知するステップと、
容量性光センサーに、第2のセンサー・ディスプレイ位置において畳み込まれた光フィールドを順次検知することから生じる電荷を蓄積させるステップと、
異なるフィルタを適用して光変調器でデータのフレームを有する光フィールドの追加のシーケンスを畳み込むステップと、
第2のセンサー・ディスプレイ位置において画素毎に畳み込まれた光フィールドの追加のシーケンスを容量性センサーで検知し、各画素位置における検知から生じる電荷を蓄積するステップと、
複数の畳み込まれた光フィールドを検知した後に、第2のセンサー・レシーバ位置で各センサーに蓄積された電荷を、以前に蓄積された電荷を有するメモリセルにシフトさせつつ、前記以前に蓄積された電荷をメモリバンク内の別のメモリセルにシフトさせるステップと、
第2のセンサー・ディスプレイ位置における各画素位置においてメモリバンク内に畳み込まれて加算されたデータのフレームの3D畳み込みブロックを構築するために上記プロセスを繰り返すステップ
を有する、請求項6に記載の方法。
【請求項8】
前記プロセスを追加のサイクルで繰り返すステップを有する、請求項7に記載の方法。
【請求項9】
前記プロセスの繰り返しサイクルにおいて、複数の前記センサーおよびメモリバンクを一緒にプーリングするステップを有する、請求項8に記載の方法。
【請求項10】
前記複数のセンサーおよびメモリバンクの最大プーリングを含む、請求項8に記載の方法。
【請求項11】
前記第1のセンサー・ディスプレイ位置における前記画素位置における光送信器素子で画素毎に、畳み込まれて加算されたデータのフレームを送信するステップを有する、請求項7に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はニューラルネットワークに関し、より具体的には、光処理を伴う畳み込みニューラルネットワークに関する。
先行技術の状況
【0002】
ニューラルネットワークは、外部入力に対する動的状態応答によって情報を処理する、多数の単純で高度に相互接続された処理要素を備えるコンピューティング・システムとして周知である。ニューラルネットワークはパターンを認識し、データをクラスタ化および分類するのに有用である。コンピュータは、ニューラルネットワークを利用して、コンピュータがトレーニングサンプルを分析することによって何らかのタスクを実行することを学習する機械学習を実施することができる。通常、これらの例は、ユーザによって事前にラベル付けされている。例えば、物体又は画像認識システムとして設定されたニューラルネットワークには、「猫」又は「猫なし」とラベル付けされた数千の例示的な画像を供給し、次いで、その結果を使用して、他の画像内の猫を識別するか、又は場合によっては他の画像内に猫が存在しないことを示すことができる。あるいは、物体認識システムとしてセットアップされたそのようなニューラルネットワークがネコ、ウシ、ウマ、ブタ、ヒツジ、車、トラック、ボート、および飛行機などの様々な物体を有する画像の数千の例を供給され、そのようにラベル付けされ、次いで、その結果を使用して、他の画像がネコ、ウシ、ウマ、ブタ、ヒツジ、車、トラック、ボート、または飛行機をその中に有するかどうかを識別することができる。
【0003】
CNN(convolutional neural network)は同一ニューロンの同一コピーを多数使用するニューラルネットワークの一種であり、学習が必要なニューロンがどのように振る舞うかを記述する実数値(又は実際の値/actual values)の数をかなり少なくしながら、ネットワークが多くのニューロンを持つことを可能にし、計算的に大きなモデルを表現することを可能にする。畳み込みとは、2つの信号を組み合わせて第3の信号を形成する方法である。CNNは、通常、ソフトウェアまたはプログラマブルデジタルハードウェアで実施される。
【0004】
ディープ・ラーニングはスタック・ニューラルネットワーク、すなわち、いくつかのレイヤー(レイヤー)を含むネットワークに使用される用語である。レイヤーはノードで構成される。ノード(又は結節)は計算が行われる場所であり、人間の脳のニューロンに緩やかにパターン化されており、十分な刺激に遭遇すると発火する。ノードはデータからの入力を、その入力を増幅または減衰させる係数または重みのセットと結合し、それによって、例えば、どの入力が誤りなくデータを分類するのに最も役立つかなどのアルゴリズムが学習しようとしているタスクのために入力に有意性を割り当てる。これらの入力×重み積は合計され、その合計はノードの活性化機能を通過して、分類の行為のような最終的な結果に影響を及ぼすために、その信号がネットワークを通ってさらに進行するかどうか、およびその程度を決定する。ノードレイヤーは、入力がネットワークを介して供給されるときにオンまたはオフになるニューロンのようなスイッチの行である。各レイヤーの出力は同時に、データを受信する初期入力レイヤーから始まる、後続のレイヤーの入力である。3つ以上のノードレイヤーは、「ディープ」ラーニング(学習)と考えられる。ディープラーニングネットワークでは、ノードの各レイヤーが前のレイヤーの出力に基づいて特徴の別個のセットをトレーニングし、したがって、データ(例えば、ピクチャ、画像、音声など)が通過するレイヤーが多いほど、ノードが認識することができる特徴はより複雑になる。トレーニング中に、ネットワークが次回に同じ種類の画像を予測する可能性を高めるために、逆伝搬と呼ばれるプロセスを調整に用いる。このようなデータ処理および逆伝播は予測が適度に正確となり、改善が見られないまで何度も行われる。次いで、ニューラルネットワークは推論モードで利用されて、新しい入力データを分類し、そのトレーニングから推論される結果を予測することができる。
【0005】
典型的な畳み込みニューラルネットワークは入力レイヤーおよび出力レイヤーに加えて、4つの必須のニューロンレイヤー、すなわち畳み込み(convolution)、アクティブ化(又は活性化/activation)、プーリング(pooling)、および完全接続を有する。最初の1つまたは複数の畳み込みレイヤーでは、何千ものニューロンがパターンを探して、画像内のすべての部分およびピクセルを精査するフィルタの第1のセットとして働く。ますます多くの画像が処理されるにつれて、各ニューロンは特定の特徴をフィルタリングすることを徐々に学習し、これは、精度を改善する。事実上、1つ又は複数の畳み込みレイヤーは、画像を異なる特徴に分解する。次いで、アクティブ化レイヤーは顕著な特徴、例えば、最終的な識別結果において価値または重要性を有する可能性が高い特徴などの顕著な特徴を強調する。例えば、目はフライパンではなく顔を示す可能性が高い。
【0006】
画像全体にわたる畳み込みおよびアクティブ化のすべては、大量のデータを生成し、コンピュータの計算容量を圧倒する可能性があり、したがって、プーリングを使用して、データを、より扱いやすい形式に圧縮する。プーリングは最良のデータを選択し、残りを廃棄するプロセスであり、その結果、より低い解像度のデータセットが得られる。いくつかの種類のプーリングを使用することができ、より一般的な種類のいくつかは、「最大プーリング」および「平均プーリング」である。
【0007】
最後に、完全に接続されたレイヤーにおいて、各縮小または「プールされた」フィーチャマップ(特徴マップ)またはデータは、ニューラルネットワークが例えば、ネコ、ウシ、ウマ、ブタ、ヒツジ、自動車、トラック、ボート、および飛行機に対して学習しているか、またはそれらを識別することが可能にされている項目を表す出力ノード(ニューロン)に接続される。フィーチャマップまたはデータがこれらの出力ノードを通して実行されると、各ノードは、ノードが特定のアイテムとして識別する任意の管理項目マップまたはデータに投票する。ネットワークを通過したイメージデータのネットワークの最終出力は、個々のノードの投票に基づいている。ネットワークのトレーニングの初期には投票がより誤った出力を生成することがあるが、重みを調整し、トレーニングを精緻化するために、画像の数および逆伝播が増加することにつれて、精度が向上し、したがって、最終的に、入力データからの結果の予測または推論は非常に正確になり得る。
【0008】
関連技術の前述の例およびそれに関連する限定は本主題の例示であるが、排他的または網羅的ではないことが意図される。関連技術の他の態様および制限は本明細書を読み、図面を検討することにより、当業者には明らかになるのであろう。
【0009】
本明細書に組み込まれ、本明細書の一部を形成する添付の図面はいくつかの例示的な実施形態および/または特徴を示すが、単独または排他的な実施形態および/または特徴を示すものではない。本明細書に開示された実施形態および図面は、限定ではなく例示であると考えられるべきであることが意図されている。
【図面の簡単な説明】
【0010】
図1は、例示的なフォトニックニューラルネットワークシステムの機能ブロック図である。
【0011】
図2は、図1のフォトニックニューラルネットワークシステムのための画像を光学的に処理し、畳み込むための、例示的なフォトニック畳み込みアセンブリの等角図であり、第2のフーリエ変換レンズの一部は、第2のセンサー・ディスプレイ装置の光センサー・ディスプレイ構成要素のアレイを明らかにするために破断されて示されている。
【0012】
図3は、図1の例示的なフォトニックニューラルネットワークにおける例示的なラジアル変調器の正面図である。
【0013】
図4は、ラジアル変調器の一例の光変調器セグメントの拡大図とともに、図3の例のラジアル変調器の中央部分の等角図である。
【0014】
図5は、実施例のフォトニックニューラルネットワークシステムのフォトニック畳み込みアセンブリの一例の畳み込み機能を示す等角図である。
【0015】
図6は、データ(画像)のフレームを表示する第1のセンサー・ディスプレイ装置と、データの畳み込みフレームを検知する第2のセンサー・ディスプレイ装置とを示す、図2のフォトニック畳み込みアセンブリの例の概略上面図である。
【0016】
図7は、データ(画像)のフレームを表示する第2のセンサー・ディスプレイ装置と、データの畳み込みフレームを感知する第1のセンサー・ディスプレイ装置とを示す、図2のフォトニック畳み込みアセンブリの例の概略上面図である。
【0017】
図8は、第1のセンサー・ディスプレイ装置内の送信・受信モジュール(又は、送受信モジュール)のアレイの機能ブロック図である。External Interfaceは外部インターフェース、Column Controlsは列制御、Row Controlsは行制御、
【0018】
図9は、送受信モジュールのアレイの一部の拡大等角図である。
【0019】
図10は、例示的な送受信モジュールの拡大等角図である。
【0020】
図11は、図9および図10の送受信モジュール例の光送信器要素の一例の斜視図である。
【0021】
図12は、センサー・ディスプレイ装置の外部インターフェースへの例示的なシステム・インターフェースの機能ブロック図である。To All RedFivesは、すべてのRedFivesへ。Outputはアウトプット、Analog inはアナログ入力。
【0022】
図13は、センサー・ディスプレイ装置の例示的な外部インターフェースの機能ブロック図である。Digital Interfaceはデジタルインターフェース、Analog Interfaceはアナログインターフェース、Row &Column Controlsは行列制御、Global Controlsはグローバル制御、Analog Bus Buffersはアナログバスバッファ、Trixel ArrayはTrixelアレイ。
【0023】
図14は、送受信モジュールのアレイのための行および列制御線レジスタ(又は、行および列制御ラインレジスタ)の概略図である。
【0024】
図15は、送受信モジュールへのアナログデータラインの概略図である。
【0025】
図16は、プーリング・チェーン(Pooling Chain)で相互接続されたアレイ内の送受信モジュール(trixels)のいくつかの概略図である。
【0026】
図17は、送受信モジュール(ピクセル)のプーリング境界線(又は、プーリング境界ライン)と、隣接する送受信モジュール(trixels)との相互接続の拡大概略図である。
【0027】
図18は、例示的なフォトニックニューラルネットワークシステム10の例示的な送信受信モジュールにおけるメモリバンクのための例示的なメモリシフトドライバである。MEM SHIFT DRIVERはメモリシフトドライバ。
【0028】
図19は、メモリバンクのための例示的なアナログ・メモリ読み出しインターフェースの概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0029】
図20は、プーリング・チェーンへの送受信モジュール(trixel)アナログ・メモリ読取り平均を示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0030】
図21は、プーリング・チェーンへの送受信モジュール(trixel)アナログ・メモリ読取り最大値を示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0031】
図22は、外部データラインに読み出される送受信モジュール(trixel)アナログ・メモリを示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0032】
図23は、送受信モジュール(trixel)アナログ・メモリピーク値保存を示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0033】
図24は、送受信モジュール(trixel)アナログ・メモリピーク値リセットを示す。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0034】
図25は、ReLU(rectified linear unit)応答の例のグラフ表示を示す。Max Voltageは最大電圧、Min Voltageは最小電圧、Linear (Non-ReLU) Responseは線形(非ReLU)応答、Classical ReLU ResponseはクラシカルなReLU応答、Soft ReLU ResponseはソフトなReLU応答を示す。
【0035】
図26は、送受信モジュール(trixel)のアナログ・メモリへの書き込みを示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0036】
図27は、外部データラインからアナログ・メモリをロードすることを示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0037】
図28は、フラグ・メモリ書込回路を示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0038】
図29は、フラグ・メモリ読出回路を示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0039】
図30は、送受信モジュール(trixel)センサーをプーリング・チェーンに読み取るための光学制御ライン設定を示す概略図である。SNSR READ PADはSNSR(センサ)読取パッド, SNSR AMP SNSR(センサ)読取パッド、Pooling Chainはプーリング・チェーン。
【0040】
図31は、送受信モジュール(trixel)センサーを再設定するための光制御ラインを示す概略図である。SNSR READ PADはSNSR(センサ)読取パッド, SNSR AMP SNSR(センサ)読取パッド、Pooling Chainはプーリング・チェーン。
【0041】
図32は、プーリング・チェーンから光送信器要素(変調器)を書き込むための光制御ライン設定を示す概略図である。MOD READ PADはMOD読取パッド, MOD DRIVERはMODドライバ、Pooling Chainはプーリング・チェーン。
【0042】
図33A~Bは、送受信モジュール(trixel)回路の概略図を示す。MEM READ PADはメモリ読取パッド、READ AMPは読取アンプ、APPLY ReLUはReLUを印加、MEM SHIFT DRIVERはMEMシフトドライバ。
【0043】
図34は、トレーニングモードにおいて補正データのフレームをフーリエ変換するためのフーリエ光センサー装置を有する例示的なフォトニック畳み込みアセンブリを示す。
【0044】
図35図35は、一例のフーリエ光センサー装置の図形的等角図である
【0045】
図36は、データ(画像)の実世界フレームをフォトニック畳み込みアセンブリに導入するための、カメラレンズ実施形態を備えたフォトニック畳み込みアセンブリの例を示す。
【発明を実施するための形態】
【0046】
例示的なフォトニックニューラルネットワークシステム(又は、光子ニューラルネットワークシステム)10の機能ブロック図が図1に示され、フォトニックニューラルネットワークシステム10のための画像を光学的に処理し、畳み込むための例示的なフォトニック畳み込みアセンブリ12の等角図が図2に示されている。このフォトニックニューラルネットワークシステム10による畳み込みは光学的フーリエ変換で実行され、これはデジタル空間畳み込みと比較して、速度、解像度、および電力効率を大幅に増加させる。したがって、ニューラルネットワークを生成し、使用することは典型的なコンピュータアルゴリズムによる処理および計算畳み込みよりも、はるかに高速で、かつ、はるかに少ない電力消費で行うことができる。たたみ込みと合計のすべてが完全にアナログ、フルフレームのフォトニック計算であるため、消費電力は非常に低くなる。以下に説明するように、加算(又は、サミング)は容量性光センサー内に電荷を構築することによって達成される、これはアナログプロセスである。センサーはノイズが非常に低く、クロッキングやその他の過渡ノイズ源がないため、サミングは非常にノイズの少ないプロセスである。フォトニックニューラルネットワーク10は画像、ビデオ、音声、スピーチ・パターン、または畳み込みニューラルネットワークによって通常処理される任意のものなどの任意のデータを受け入れ、処理することができ、すべての既存の畳み込みニューラル・ネット・アーキテクチャおよびトレーニング方法をサポートする。フォトニックニューラルネットワーク10はまた、光の速度で処理されたフル解像度で、次のステージのためにすべてのデータ要素がその理想的な位置にあるアーキテクチャを用いてフルフレーム画像並列性を提供し、したがって、ほぼ100パーセント効率的である。他の利点は、この説明から理解することができる。
【0047】
図1および図2の両方を参照すると、例えばフォトニックニューラルネットワークシステム10のための画像の光学処理は、フォトニック畳み込みアセンブリ12で実行される。
本質的に、第1のセンサー・ディスプレイ装置14は以下でより詳細に説明するように、変調光フィールド15として、第1のフーリエ変換レンズ16および偏光子18を介して、レンズ16の焦点面に配置されたラジアル(又は、半径方向)変調装置20に、データのフレーム(例えば、音、スピーチ・パターン、ビデオなどの他のデータの画像または光学表現)を投影する。第1のセンサー・ディスプレイ装置14によって投影されるデータのフレームは、電子データインターフェース22を介してサポートエレクトロニクス(以下により詳細に説明する)によって第1のセンサー・ディスプレイ装置14に供給される値又は信号に基づいて、第1のセンサー・ディスプレイ装置14によって形成される。フーリエ変換レンズ16は、回折レンズ、ソリッド凸レンズ、又は任意の他の形態のフーリエ変換レンズを使用することができる。また、レンズ16に入る前に光をコリメートするために、レンズ16の前にファイバフェースプレート(図示せず)を配置することができる。
【0048】
レンズ16はデータのフレーム(例えば、画像)を焦点面(フーリエ変換面とも呼ばれる)でそのフーリエ等価に変換し、したがって、ラジアル変調装置20の表面で変換する。
ラジアル変調装置20は電子データインターフェース24を介してサポートエレクトロニクス(より詳細に後述する)によってラジアル変調装置20に装填されたパターン(「フィルタ」とも呼ばれる)に基づいて、データのフレームのフーリエ等価物を含む光フィールド15を変調し、変調されたデータのフレームを第2のセンサー・ディスプレイ装置26に反射し、これが結果を検出する。データ逆フーリエ変換の変調フレームを含む反射光フィールドは、ラジアル変調装置20から第2のセンサー・ディスプレイ装置26への距離において空間領域に逆変換され、したがって、第2のセンサー・ディスプレイ装置26に入射する変調データフレームは通過した、すなわち、ラジアル変調装置20によってフィルタ除去されなかったデータフレームの空間領域特徴である。その結果は画素ごとに第2のセンサー・ディスプレイ・モジュール26によって検出され、ここで、各画素に入射する光は光の強度および光が画素に入射する時間に比例して電荷を生成する。第1のセンサー・ディスプレイ装置から出るデータの各フレームは、ラジアル変調装置20によって1つまたは複数のフィルタ(パターン)で変調することができる。また、第2のセンサー・ディスプレイ装置は、ラジアル変調装置20に適用された1つ以上のフィルタによって変調された1つ以上のデータフレームを第1のセンサー・ディスプレイ装置14から受信することができる。したがって、第2のセンサー・ディスプレイ装置26内の各画素の電荷蓄積は以下でより詳細に説明するように、データの1つまたは複数のフレームの1つまたは複数の変調された(すなわち、フィルタリングされた)パターンの合計とすることができ、それによって、第1のセンサー・ディスプレイ装置14によって投影されたデータの1つまたは複数のフレームの畳み込みを構成する。
【0049】
例えば、1フレームのデータは第1のセンサー・ディスプレイ装置14によって順次投影され、まず赤色、次いで緑色、次いで青色で投影され、放射状変調装置20は赤色、緑色、および青色の投影のそれぞれに同じまたは異なるフィルタ(パターン変調)を適用することができる。これらのデータの変調フレームの全ては、順次変調されたデータのフレームの各々からの光により、各画素毎の電荷に加算されて、第2のセンサー・ディスプレイ装置26によって順次検出することができる。次いで、それぞれの画素についてのそれらの電荷は、それぞれのメモリセルに転送され、それらのメモリセルはそれぞれの画素についてのこれらの合計結果を格納し、それによって、第1のセンサー・ディスプレイ装置14によって空間領域に投影され、放射状変調装置20内のフィルタによってフーリエ変換領域に畳み込まれた空間領域内のデータのフレームの畳み込みの格納画素値を含む。
【0050】
その処理は第1のセンサー・ディスプレイ装置14からのデータの同じフレームの赤、緑、青の投影に対してであるがラジアル変調装置20内の異なるフィルタで、したがって、ラジアル変調装置20によって反射されたフーリエ変換領域から第2のセンサー・ディスプレイ装置26への異なる変調パターンで繰り返すことができ、これにより、第2のセンサー・ディスプレイ装置26のメモリバンク内の別の畳み込みフレームのデータの別の蓄積画素値の別のセットと別の加算結果がもたらされる。第2のセンサー・ディスプレイ装置26内に畳み込まれたデータの畳み込みフレームを蓄積するものは、ラジアル変調装置20によるこれらの異なるフィルタ用途の全てに対して第1のセンサー・ディスプレイ装置14によって投影されたデータのフレームから3D畳み込みブロックを形成する。要約すると、第1のセンサー・ディスプレイ装置14からのデータのフレームは、フーリエ面内の一連のフィルタによってラジアル変調装置20によって乗算され、第2のセンサー・ディスプレイ装置26のメモリ内に3D畳み込みブロックを構築するシーケンスで、第2のセンサー・ディスプレイ装置26によって加算される。3D畳み込みブロック内のデータの畳み込みフレームの全てについて画素値の全てを格納するのに十分なメモリ容量を仮定して、データの任意の数のこのような畳み込みフレームを3D畳み込みブロック内に蓄積することができる。その3D畳み込みブロックは、ニューラルネットワークにおける第1のレベルと考えることができる。
【0051】
次の畳み込みブロック又はレベルについては、第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26は、機能を入れ替える。第2のセンサー・ディスプレイ装置26のメモリ内の3D畳み込みブロックは、次の畳み込みシーケンスのためのデータのフレームとなる。例えば、第2のセンサー・ディスプレイ装置26のメモリ内の3D畳み込みブロック内に蓄積された各畳み込みフレームのデータは、第2のフーリエ変換レンズ28を介して第2のセンサー・ディスプレイ装置26によってラジアル変調装置20に投影され、そこでフィルタによって乗算され、第1のセンサー・ディスプレイ装置14に反射される。第1のセンサー・ディスプレイ装置14は第1のセンサー・ディスプレイ装置14のメモリ内に次の3D畳み込みブロックを構築するために、そのような畳み込み及び加算されたデータのフレームのシリーズを検出し、加算する。
【0052】
このプロセスサイクルは、図5に概略的に示されている。
【0053】
これらの畳み込み処理は、第1のセンサー・ディスプレイ装置14と第2のセンサー・ディスプレイ装置26との間で前後に(又は相互に)投影されるデータのフレームを、任意の畳み込みニューラルネットワークアーキテクチャに対して必要な回数だけ繰り返すことができる。後続のサイクルでより多くのフィルタが適用されると、以下により詳細に説明するように、各画素検出からの蓄積電荷を個々のメモリセルに給電する代わりに、複数の画素検出からの蓄積電荷を1つのメモリセルに給電することによって、畳み込みをプールすることができる。したがって、多くの抽象化レベルを有する畳み込みニューラルネットワークを、例示的なフォトニックニューラルネットワーク10を用いて開発することができる。
【0054】
例示的なラジアル変調器デバイス20の正面図が図3に示され、例示的なラジアル変調器デバイス20の例示的なセグメント光変調器の拡大図を有する例示的なラジアル変調器デバイス20の中心部分の斜視図が図4に示されている。ラジアル変調器デバイス20は複数の光変調ウェッジセグメント32(楔形セグメント)を備える光学活性領域30を有し、その各々は、それぞれのウェッジセグメント32に入射する光を変調するように独立して作動可能である。図2図3、及び図4に示す例のラジアル変調装置20では、ウェッジセグメント32が複数のウェッジセクタ34にまとめられており、各ウェッジセクタは中心コンポーネント36から半径方向外側に延びており、それらが一緒になってラジアル変調装置20の光学活性領域30を形成している。図3および図4では図面の混乱を避けるために、ウェッジセグメント32およびセクタ43のいくつかのみにこれらの符号を付しているが、この図ではウェッジセグメント32およびウェッジセクタ34のすべてが例示的なラジアル変調器デバイス20内のどこに位置するかを当業者は理解するのであろう。図3及び図4に示す例のラジアル変調装置20ではウェッジセグメント32が円形の光学活性領域30を形成するように配置されているが、他の形状を使用することもできる。
【0055】
上述したように、ウェッジセグメント32の各々は、各ウェッジセグメント32をアクティブ化して光を透過させるか、光を遮断するか、または完全な透過と遮断との間で光の透過を変調することができるという意味で、光学的に活性である。したがって、光学活性領域30に入射する光のビームまたはフィールドは、1つまたは複数のウェッジセグメント32の任意の組み合わせで変調することができる。空間光変調器は、多くの方法で光を変調するように設計、製造することができる。例えば、2006年9月5日にRikk Crillに対して発行された米国特許第7,103,223号は、図2及び図3のラジアル変調装置20と同様のラジアル空間光変調装置において、ウェッジセグメントを変調するための複屈折液晶材料の使用を例示している。Zhangらの論文「Active meta surface modulator with electro-optic polymer using bimodal plasmonic resonance」、Optics Express、第25巻、第24号、2017年11月17日)は光を変調し、超薄表面法線用途に適した電気光学ポリマーを有する電気的に同調可能な金属格子を記載している。例示の放射状モジュレータ装置20における光学活性ウェッジセグメント32として使用するために形作られたこのようなメタ表面光モジュレータ素子40は、図4では金属グレーティング構造42を含むものとして示されている。格子構造42は全て基板50上に構築された底部金属(例えば、Au)レイヤー46と交差指状の頂部薄膜金属(例えば、Au)格子レイヤー48との間に挟まれた電気光学ポリマー44を含む。回折格子44の周期は、回折が禁止されるように光の波長よりも短い。上部金属レイヤー48の厚さは、入射光Lから電気光学ポリマー44への直接結合を排除するために表皮深さよりも大きい。底部金属レイヤー46も、ほぼ完全な反射ミラーとして動作するように、同じ厚さである。本質的に、光Lはメタ表面光モジュレータ素子40の頂部に入り、ポーリング電圧(poling voltage)45の印加によって周期的にポーリングされる電気光学ポリマー44内で位相シフトされ、底部金属レイヤー46から反射し、その第2(すなわち、反射)通過の間にさらに位相シフトされ、90度回転された光の偏光とともに上面から出る。実施例のラジアル変調装置20における他のウェッジセグメント32は同じ種類の光変調素子40を有するが、各々の特定のウェッジセグメント32に適合しかつ実質的に充足するように寸法及び形状が決められている。中心コンポーネント36はまた、光変調素子40を有することができる。
【0056】
図2図7に示し、上述したように、例えばラジアル変調装置20は反射装置であり、ここで、入射光は、ウェッジセグメント32によって変調され、反射される。しかしながら、ラジアル変調器は代わりに、入射光が変調され、ラジアル変調器を通って伝送される透過装置であってもよい。もちろん、光学構成要素、例えばセンサー・ディスプレイ装置、レンズ、および偏光子の位置はそれぞれの光学構成要素に適切なシーケンスで光フィールドをルーティングするために再配置されなければならないが、当業者は上述の例示的なフォトニックニューラルネットワーク10に精通すれば、そのような再配置を行う方法を理解するであろう。
【0057】
図3および図4に示されるように、かつ簡単に上述されるように、光学的に活性なウェッジセグメント32は、丸い中心コンポーネント36から光学的に活性な領域30の周囲に半径方向に延在する複数のウェッジセクタ34にグループ化される。また、ウェッジセグメント32は、中心コンポーネント36の周囲に同心円状のリング状に配置されている。最も内側の同心円状リング以外のウェッジセグメント32の各同心円状リングは直ぐに隣接する内側リングの外半径の2倍の外半径を有し、これはフーリエ変換におけるスケール分布に一致する。従って、ウェッジセクタ34内の半径方向外側に続くウェッジセグメント32の各々は、直前のウェッジセグメント32の2倍の長さである。画像のフーリエ変換面上でフィルタとして機能するラジアル変調器の詳細な説明は例えば、2006年9月5日にRikk Crillに発行された米国特許第7,103,223号に見ることができる。ここでは空間ドメイン内のより高い空間周波数形状コンテンツからの光エネルギーがより低い空間周波数コンテンツよりも半径方向外側に分散され、一方、より高い空間周波数形状コンテンツから及びより低い空間周波数コンテンツからの光エネルギーの角度配向および強度は画像のフーリエ変換において保存されると言うのが十分である。したがって、フーリエ変換面内のフーリエ変換画像の中心(光軸)から特定の角度配向で、かつ特定の半径距離で配置された特定のウェッジセグメント32によって伝達(又は、透過)された光エネルギーは投影において逆フーリエ変換されて、特定のウェッジセグメント32と同じ角度配向を有する元の画像からの形状コンテンツ(形状コンテンツ)(特徴)、及び、そのような光エネルギーがフーリエ変換面内で分散された半径方向の広がりに対応する範囲内の空間周波数を有するその角度配向の形状コンテンツ(特徴)のみを表示するように逆フーリエ変換される。これらの逆フーリエ変換された特徴(形状コンテンツ)の光強度(明るさ)はこれらの特徴(形状コンテンツ)が元の画像において有していた光強度(明るさ)に対応し、これらは元の画像におけるものと同じ位置にある。もちろん、フーリエ変換面内の特定のウェッジセグメント32によって遮断されて透過されないオリジナル画像の光エネルギーに含まれる形状コンテンツ(特徴)は、逆フーリエ変換画像において空間領域に戻って欠落することになる。また、フーリエ変換面内の特定のウェッジセグメント32によって、部分的にのみ遮断され、したがって部分的に透過される光エネルギで構成される形状コンテンツ(特徴)は上述のように、同じ角度配向および特定の空間周波数を有する空間領域に逆フーリエ変換され、しかし、強度(輝度)が低下する。(又は、また、フーリエ変換面内の特定のウェッジセグメント32によって、部分的にのみ遮断され、したがって部分的に透過される光エネルギで構成される形状コンテンツ(特徴)は上述のように、同じ角度配向および特定の空間周波数で空間領域に逆フーリエ変換され、しかし、強度(輝度)が低下する。)したがって、上記で説明し、以下でより詳細に説明するように、元の画像の形状コンテンツ(特徴)の一部が完全または部分強度(明るさ)で逆フーリエ変換画像に保存され、形状コンテンツ(特徴)の一部が逆フーリエ変換画像で完全に削除された、空間領域に戻った逆フーリエ変換画像は図5に示すように、ニューラルネットワークの3D畳み込みブロックの構築で検出され使用される畳み込み画像である。
【0058】
したがって、図5を参照すると、第1のフィルタ54がデータインターフェース24を介して放射状変調装置20にロードされ、これにより、ウェッジセグメント32が第1のフィルタ54によって設定されるパターンで光を遮断し、または、光を完全にまたは部分的に透過させるように設定される。例えば、LEGO(登録商標)玩具構成ブロック52の山の画像を含むデータの第1のフレームがデータインターフェース22を介して第1のセンサー・ディスプレイ装置14にロードされ、したがって、第1のセンサー・ディスプレイ装置14内の表示構成要素(図5には示されていない)は図5に見られるように、LEGO(登録商標)玩具構成ブロック52の画像を含むデータのフレームを表示するように設定される。レーザー照射13は本質的には第1のフーリエ変換レンズ16を通して及び偏光器18を通してデータ50のフレームを放射状変調器装置20に照射する第1のセンサー・ディスプレイ装置14上に向けられ、これは図6にも示されるように第1のフーリエ変換レンズ16から焦点距離Fl、すなわち、第1のフーリエ変換レンズ16の焦点面内に配置される。フーリエ変換レンズ16は像50を含む光フィールド15をラジアル変調装置20の表面上の焦点に集める。
LEGO(登録商標)玩具構成ブロック52の画像を含むデータ50のフレームはフーリエ変換領域においてウェッジセグメント32ラジアル変調器デバイス20によってフィルタで畳み込まれ、これは、上で説明したように、いくつかの光を完全にまたは部分的に反射するか、または画像を構成するいくつかの光を遮断する。ウェッジセグメント32は反射光を位相シフトし、したがって、偏光を回転させ、その結果、ラジアル変調装置20によって反射された光は反射光フィールド56によって示されるように、偏光子18によって第2のセンサー・ディスプレイ装置26に反射される。したがって、上で説明したように、LEGO(登録商標)玩具構築ブロック52の画像のデータ50の元のフレームの幾つかの形状コンテンツ(特徴)は図5に示すように、第2のセンサー・ディスプレイ装置26に入射する畳み込み画像において欠けているか、またはそれほど強くない、すなわちフィルタ除去されている。その畳み込みデータ(画像)のフレームは、第2のセンサー・ディスプレイ装置26で検出され、第2のセンサー・ディスプレイ装置26で幾つかの後続の畳み込み画像と加算されて、第1の畳み込み加算データフレーム(画像)58を形成する。第1の畳み込み加算されたデータフレーム(画像)58は図5に概略的に示されるように、3D畳み込みブロック64を構築するために、後続の畳み込み加算されたデータフレーム(画像)との累算のためにメモリバンクに転送され得る。
【0059】
次いで、第2のセンサー・ディスプレイ装置26と第1のセンサー・ディスプレイ装置14とは、上述したように役割を入れ替えて、第2のセンサー・ディスプレイ装置26が表示モードになり、第1のセンサー・ディスプレイ装置14がセンサーモードになる。第2のセンサー・ディスプレイ装置26を表示モードにすると、次いで、第1の畳み込み及び加算されたデータフレーム(画像)58が図7に概略的に示すように、第2のセンサー・ディスプレイ装置26によって放射状変調装置20に投影され、そこで、追加のフィルタで畳み込まれ、次いで、放射状変調装置20によって反射されて第1のセンサー・ディスプレイ装置14に戻る。この役割の入れ替えは、図7に図式的に示されており、第2のセンサー・ディスプレイ装置26は表示モードに切り替わり、第1のセンサー・ディスプレイ装置14はセンサーモードに切り替わる。表示モードでは、第2のセンサー・ディスプレイ装置26の表示構成要素がその第1の畳み込み及び加算されたデータフレーム(画像)58を表示するようにプログラムされる。従って、第2のセンサー・ディスプレイ装置26上のレーザー照射60は第1の畳み込み及び加算されたデータのフレーム(画像)58を第2の光学軸62に沿って第2のフーリエ変換レンズ28を通って偏光子18に照射し、これは、第1の光学軸61に沿って光フィールド64をラジアル変調装置20に反射する。第2光軸62及び第1光軸61に沿った第2フーリエ変換レンズ28とラジアル変調装置20との光学距離は、第2フーリエ変換レンズ28の焦点距離と等しい。したがって、フーリエ変換面におけるラジアル変調装置20における光フィールド64は、第1の畳み込み加算されたデータフレーム(画像)58のフーリエ変換である。ラジアル変調装置20は第1の畳み込み及び加算されたデータフレームのフーリエ変換にフィルタを適用して、第2の畳み込みをデータフレームに提供し、上述したように、位相シフトを伴ってそれを反射して、第1の光学軸61に沿って第1のセンサー・ディスプレイ装置14に伝搬する。第1のセンサー・ディスプレイ装置14は、今度は上述したように検出器の交換された役割において、ラジアル変調装置20によって適用されるフィルタによって畳み込まれたデータのフレーム(画像)を検出する。次いで、第1のセンサー・ディスプレイ装置14によって検出されたデータ(画像)の畳み込みフレームは第1のセンサー・ディスプレイ装置14によって、第1のセンサー・ディテクション装置14によって引き続いて検出されたデータ(画像)の他のいくつかの畳み込みフレームと加算され、このような畳み込み加算されたデータ(画像)のフレームはメモリバンクに転送され、第2の3D畳み込みブロック66を構築するために使用され、これは図7に図式的に示されている。
【0060】
次に、第1および第2のセンサー・ディスプレイ装置14、26の役割が再び交換され、第1のセンサー・ディスプレイ装置14によって感知され合計されたデータの畳み込みおよび合計フレームが、上述したのと同じ方法でシステムを通して逆投影され、ラジアル変調器装置20によって畳み込まれ、次いで第2のセンサー・ディスプレイ26によって検出され、合計されて、第1の3D畳み込みブロック64を構築し続け、システムを通して送り返されて、追加のフィルタおよび合計で畳み込まれて、第2の3D畳み込みバンク66を構築し続ける。このプロセスはより深く、より深い畳み込みを構築するために、または推論ニューラルネットワークが完了するまで、所望の回数だけ繰り返される。
【0061】
第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26は各々、以下でより詳細に説明するように、3D畳み込みブロック64、66及びその後の畳み込みブロックを構築するために、引き続いて受け取られた畳み込みフレームのデータ(画像)を受け取り且つ合計するデータ(画像)の畳み込みフレームを記憶するためのメモリバンクを有することができる。したがって、システムにロードされるデータ(画像)の最初のフレームを除いて、データの入力フレームは、前の畳み込みサイクルからセンサー・ディスプレイ装置14、26の1つのメモリバンクに常に常駐することができる。一連のフィルタ68はデータ(画像)のフレームのフィルタでの畳み込みのために、それぞれの第1及び第2のセンサー・ディスプレイ装置14,26によってデータ(画像)のフレームの表示と同期して放射状変調装置20内にロードされる。
【0062】
フーリエ変換領域で光学的に計算されたことを除いて、このフォトニックニューラルネットワークシステム10での畳み込みは、伝統的なデジタル方法によって計算される畳み込みと同じである。しかしながら、以下でより詳細に説明するように、全てのデータ要素がサイクルの次の畳み込み段階のための理想的な位置にあるアーキテクチャで光速で処理される任意の解像度における全フレーム並列性はほぼ100パーセントの効率であり、従って、上述のように、且つ以下により詳細に説明するように、実施例のフォトニックニューラルネットワークシステム10で畳み込みブロックを構築することは、伝統的なデジタル方法によって計算される畳み込みよりもはるかに多くのパワー及び速度を提供する。
【0063】
上述したように、第1および第2のセンサー・ディスプレイ装置14、26の各々は、画素単位で、光検出および画像表示の両方の能力を有する。この例ではフォトニックニューラルネットワークシステム10において、第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26は互いに本質的に同じ構成要素及び構造を有しているので、それらの装置の詳細は主として第1のセンサー・ディスプレイ装置14を参照して後述されるが、そのような詳細も第2のセンサー・ディスプレイ装置26を表すものであることを理解する。したがって、以下の説明では、第1のセンサー・ディスプレイ装置14を単にセンサー・ディスプレイ装置14と呼ぶことがある。一例のセンサー・ディスプレイ装置14の機能ブロック図が図8に示され、送受信モジュール(送信・受信モジュール)82のアレイ80を備え、その各々は以下により詳細に説明されるように、光透過および光検出素子およびメモリバンクを有する。アレイ80内の送受信モジュール82のための行および列制御、ならびに外部制御回路(図8には図示せず)への混合アナログおよびデジタルインターフェース24が、入出力データのために提供され、これについては以下でより詳細に説明する。図9に図式的に示されたアレイ80の拡大部分はアレイ80内の送受信モジュール82の例を図示し、例示の送受信モジュール82のさらなる拡大図形的表現は図10に示されている。例示の送受信モジュール82の各々がマイクロ光送信器要素84とマイクロ光検出器(センサー)要素86の両方を含み、これらは、送受信モジュールが典型的な計算畳み込みからの典型的な計算畳み込みからのニューラルネットワーク結果と少なくとも同程度に有用なニューラルネットワーク結果、およびコンピュータアルゴリズムによる処理と同様に、十分な解像度で、画像またはデータのフレームの実質的に同じ画素位置で光の送信器および光の受信器として有効に機能するために、十分に小さく、かつ互いに十分に近接している。例えば、代表的なフォトニックニューラルネットワークシステム10を用いたニューラルネットワークが典型的な計算畳み込みおよびコンピュータアルゴリズムによる処理からのニューラルネットワークの結果と同様に有用な結果を生じるには、マイクロ光送信素子84およびマイクロ光検出素子86は、互いに40マイクロメートル以下だけオフセットされ得、両方とも、160平方マイクロメートル以下の面積を有する送受信モジュール82内に適合され得る。
【0064】
図10に最もよく示されているように、光送信器要素84および光センサーまたは光受信器検出器要素86に加えて、例示的な送受信モジュール82は、変調器ドライバ88、メモリバンク90、メモリインターフェース92、アナログおよびデジタル制御要素94、アレイ80内の隣接する送受信モジュール82とのプーリング接続を行うためのプーリング接続96、プーリング制御要素98、およびセンス増幅器100を有する。表示モードでは、例えば、第1のセンサー・ディスプレイ装置が上述したように、ラジアル変調器20に1フレームのデータ(画像)を投影すると、図2図5、および図6に示すように、レーザー照射が送受信モジュール82の背面に向けられる。データ(画像)の最初のフレームは、データ(又は日付)(画像)のフレームの各画素に対する画素値から構成される。これらの画素値は、レーザー照射の光フィールド内にデータ(画像)の第1のフレームを生成するパターンでアレイ80のそれぞれの送受信モジュール82に供給される。図10に示すように、送受信モジュール82の個々の1つに対して、画素値はアナログおよびデジタル制御エレメント94に供給され、これにより、画素値が変調器ドライバ88にシフトされる。変調器ドライバ88はピクセル値に従って光送信器素子84上の電圧を変調して、他の光送信器素子84がそれぞれのピクセルの光を伝送すると同時にレーザー照射のピクセルを伝送する方法で光送信器素子84に入射されるレーザー照射を変調し、これが一緒になって、アレイ80を透過するレーザー光フィールドにデータのフレーム(画像)を課す。データ(画像)の最初のフレームが第1のセンサー・ディスプレイ装置14によって送信され、畳み込まれたデータ(画像)のフレームが第1のセンサー・ディスプレイ装置14に戻された後、その畳み込まれたデータ(画像)のフレームを含む光フィールドが第1のセンサー・ディスプレイ装置14のアレイ80内のすべての送受信モジュール82のセンサー86に入射される。従って、アレイ内の各送受信モジュール82上のセンサー86は入射光フィールドの画素を検出し、従って、入射光フィールドによって構成される(又は、入射光フィールドに含まれる)データ(又は日付)のフレーム(画像)の画素を検出する。当業者は光センサー、例えば電荷結合素子(CCD)がどのように構成され機能するかを理解し、そのような光センサーまたは同様の光センサーをセンサー86に使用することができる。本質的に、各光センサーは光子内のエネルギーの大部分を吸収し、入射光強度に比例する電荷を生成し、その電荷を容量性構成要素内に蓄積することによって、入射光子に応答する光感知フォトダイオードまたは容量性構成要素を有する。光がセンサーに入射する時間が長いほど、容量性構成要素に電荷が蓄積される。したがって、各センサー86に入射する光エネルギーの画素は電荷をそのセンサー86内に構築させ、電荷の大きさはその画素内の入射光の強度およびその画素内の光がセンサー86に入射される時間に比例する。
【0065】
上述したように、一連の畳み込まれたフレームのデータ(画像)がセンサー・ディスプレイ装置14に送信され、これによって受信される場合、データ(画像)の連続した(シーケンスの)フレームを含む連続した光フィールドの光エネルギー(光子)はセンサー86内に電荷を生じさせるので、個々のセンサー86によって感知された連続した光フィールドからの光フィールドエネルギーの連続した画素を蓄積することができ、すなわち、その個々のセンサー86の容量性成分に加えることができ、それによって、その特定の画素位置における光フィールドのシーケンスからの光エネルギーの和であるセンサー86内に蓄積された電荷が生じる。従って、センサー・ディスプレイ装置14によって受信されたデータ(画像)の畳み込みフレームのシーケンスは、センサー・ディスプレイ装置14の送受信モジュール82のアレイ80によってピクセル毎に感知され、加算される。次に、上述したように、データ(画像)の所定数の個々の畳み込みフレームが受信され、合計されると、各個々の送受信モジュール82のセンサー86に蓄積された(合計された)電荷は、その個々の送受信モジュール82のメモリバンク90にシフトされる。センサー86に蓄積された(加算された)電荷をメモリバンク90にシフトする同じ動作が、アレイ90内のすべての送受信モジュール82で同時に行われる。したがって、そのシフト動作の実行時に、送受信モジュール92のアレイ90は、データ(画像)の入力フレームのその一連または連続した畳み込みおよび加算から生じるデータ(画像)の完全な畳み込みおよび加算されたフレームを送受信モジュール92の個々のメモリバンク90に格納している。図10を参照すると、その特定の送受信モジュール82の画素位置の、その最初の(又は、第1の)畳み込まれ、合計されたデータ(画像)のフレームに対する画素値は、センサー86から第1のメモリセル102にシフトされる。したがって、アレイ80のすべての送受信モジュール82のメモリバンク90内のすべての第1のメモリセル102の合成は、ピクセルごとでのデータ(画像)の畳み込み加算フレームを含む。
【0066】
次いで、上述のように、データ(画像)のフレームの後続の第2のシリーズまたはシーケンスが畳み込み加算されると、結果として得られる第2の畳み込み加算されたデータ(画像)のフレームのその画素に対するセンサー86内に蓄積された電荷は、第1の畳み込み加算されたデータ(画像)のその画素からの電荷がメモリ90の第2のメモリセル104に同時にシフトされるにつれて、第1のメモリセル102内にシフトされる。当業者はそのようなシフトレジスタメモリがどのように作られ、動作されるかを理解するので、詳細な説明はこの説明の目的のために必要ではない。この同じプロセスは、アレイ80内の他の送受信モジュール82内で同時に発生する。したがって、アレイ80のすべての送受信モジュール82のメモリバンク90内のすべての第1および第2のメモリセル102、104の合成は、ピクセルごとにデータ(画像)の第1および第2の畳み込み加算フレームを含む。
【0067】
データ(画像)のフレームのより多くの後続のシリーズまたはシーケンスが上述のように畳み込まれ合計されるにつれて、そのようなデータ(画像)の順次(又は、シーケンスで)畳み込まれ合計されたフレームの合計された画素値は第1のメモリセル102に順次シフトされ、一方、各先行する画素値はメモリバンク90のメモリセルに沿ってさらにシフトされ、そのプロセスは上述のようにアレイ80の送受信モジュール82のすべてにおいて同時に行われる。従って、畳み込み及び加算の一連又はシーケンスの全てからのデータ(画像)のこのような畳み込み及び加算されたフレームの全ては、送受信モジュール82のアレイ80内のメモリバンク90のメモリセル内に画素毎に記憶される。データ(画像)のこのような畳み込み及び加算されたフレームの各々は畳み込みと呼ばれることがあり、従って、送受信モジュール82のアレイ80は、送受信モジュール82の個々のメモリバンク90内に個々のメモリセルが存在するのと同じ数の畳み込みを画素毎に保持することができる。例えば、図9および図10に概略的に示される例示的な送受信モジュール82は、それぞれ、64個の個々のメモリセル102、104、...、nから構成されるメモリバンク90を有する。従って、送受信モジュール82の例示的なアレイ80はフル解像度でピクセル毎に、64回ものフレームのデータ(画像)を保持することができる。送受信モジュール82(図1参照)内の光送信素子84および光センサー素子86が以下でより詳細に説明するように、隣接する送受信モジュール82の光送信素子84および光センサー素子86と共にプールされると、プールされたグループ内の光送信素子84および光センサー素子86のすべてが、データ(画像)のフレームのより粗い表現のために同じ輝度を表示する。このようなプーリング条件下では、プールされたグループ内の送受信モジュール82のメモリバンク90を順次使用して、プールされたグループ全体の送受信モジュール82について感知され、合計された結果を保存することができ、それによって、実効メモリ容量および深さを増大させることができる。例えば、64個のメモリセルを含むメモリバンク90をそれぞれ有する送受信モジュール82が5×5グループにプールされる場合、すなわち、グループ当たり25個の送受信モジュール82がプールされる場合、各グループの実効メモリ容量または深さは、1,600個のメモリセル(64×25=1,600)である。したがって、データ(画像)の順次の畳み込み加算フレームは最初に、その送受信モジュール82のメモリバンク90が満たされるまでグループ内の送受信モジュール82の1つに供給され、次に、さらなる順次畳み込み加算されたデータ(画像)のフレームはその第2の送受信デバイス82のメモリバンク90も満たされるまでグループ内の第2の送受信モジュール82に供給され、次に、グループ内の残りの送受信モジュール82のそれぞれのメモリバンク90を順次満たし続けることができる。グループ内のすべての伝送モジュール82のメモリバンク90が満たされる場合、メモリ内の畳み込みのそのブロックは、1,600の深さになる。アレイ80内の送受信モジュール82のメモリ90内の畳み込みの集約は例えば、図5に図式的に示す3D畳み込みブロック65である。このような畳み込みの所望の数が最後の3D畳み込みブロックのためにアレイ内に蓄積されると、センサー・ディスプレイ装置14による送信のために、ピクセル毎にメモリバンク90から読み出され、プロセスの終了時に電子データインターフェース22を通して戻され、ニューラルネットワーク結果を出力することができる。
【0068】
しかしながら、例のフォトニックニューラルネットワークシステム10を用いてデータのフレームを繰り返しさらに畳み込み、加算するディープラーニングプロセスの間、最も最近に形成された畳み込みブロックの画素値は、個々の送受信モジュール82内の個々のメモリバンク90のメモリセル内に依然として存在することを繰り返すことが重要である。したがって、センサー・ディスプレイ装置14が、畳み込みブロックが送受信モジュール82のメモリ90内に蓄積されるセンサーモードから、より深い畳み込み処理のためにその畳み込みブロックがシステム10の光学コンポーネントを介して送信され戻される表示モードに切り替わると、畳み込みブロックを有する(又は畳み込みブロックを構成する)データ(画像)の畳み込みフレームおよび合計フレームのそれぞれに対する画素値を、メモリ90のメモリセル102、104,...,nから外部コンピュータ処理、メモリ、および他の構成要素または機能への、またはそれらからのデータのさらなる処理および転送なしに、変調器ドライバ88へ直接読み出す(シフトする)ことができる。代わりに、センサーモードから表示モードに切り換えると、畳み込みブロックを有する(又は畳み込みブロックを構成する)データ(画像)の個々のフレームの画素値がメモリ90から直接変調器ドライバ88に順次読み出され(シフトされ)、これにより、光送信器素子84が、その畳み込みサイクルでさらに畳み込まれるべきデータ(画像)のフレームの画素値を光フィールドに書き込む(課す)方法で、送受信モジュール82に入射されるレーザー光を変調するように駆動される。従って、アレイ80内の送受信モジュール82の全てが同時に表示モードに切り替わり、それらの各々における画素値がレーザー光フィールド内に書き込まれる(課される)ので、センサー・ディスプレイ装置14によって送信される光フィールド内のそれらの画素値の合成は、アレイ80内の送受信モジュール82のメモリバンク90内に加算され記憶されたデータ(画像)の先に畳み込まれたフレームを複製する。
先に畳み込まれ、合計されたデータのフレーム(画像)を有する光フィールドがフーリエ変換レンズ16を通して、フーリエ変換面内のフィルタでの更なる畳み込みのためにラジアル変調器20に投影され、次いで、先に説明したように、他の(例えば、第2の)センサー・ディスプレイ装置26で検出される。
【0069】
また、上で説明したように、これらの畳み込みおよび加算プロセスは、多くのフィルタを有する多くのサイクルを経て何度も繰り返される。また、第1のセンサー・ディスプレイ装置14および第2のセンサー・ディスプレイ装置は第1のセンサー・ディスプレイ装置14の送受信モジュール82が第2のセンサー・ディスプレイ装置26の対応する送受信モジュール82と光学的に整列するように、それぞれの光軸61、62上に整列され(図2図6、および図7参照)、その結果、対応する送受信モジュール間を含む、第1および第2のセンサー・ディスプレイ装置14、26のそれぞれのアレイ80間に完全な光学的位置合わせが存在する。従って、例示のフォトニックニューラルネットワーク10は、光速度でフルフレームのフル解像度の完全並列畳み込みを行う。利得、しきい値(ReLU)、最大または平均プーリング、および他の機能などの他の効果は以下でより詳細に説明するように、専用回路で同時に実行され、これらの効果は、追加の時間遅延を呈さない。例えば、VGG16またはInception-Resnet-v2を含む、事実上任意の畳み込みニューラルネットワークアーキテクチャを収容することができる。全ての処理はセンサー・ディスプレイ装置14、26上で完全に行われ、データ(画像)のフレームをこれらの装置に再配置したり、これらの装置から再配置したりすることはない。推論動作では、ユーザアプリケーションは画像をロードし、数マイクロ秒後に結果を受け入れるだけでよい。
【0070】
送受信モジュール82内のマイクロ光送信器要素84は、光を放射または変調する任意の光変調器デバイスとすることができる。上述の例示的なフォトニックニューラルネットシステム10の説明は、光が光送信器要素を透過することを可能にするか、または抑制することによって光送信器要素の背面に入射するレーザー光を変調する光送信器要素84を含む。しかしながら、光送信器要素84は入射光を変調し、それを反射する反射光変調器デバイスに置き換えることができ、これは、光が反射される光送信器要素の同じ表面にレーザー照射が入射することを必要とし、かつ、上述したフォトニックニューラルネットワークの例を理解するようになった後で当業者に理解されるように、光学要素の再配置を必要とするのであろう。別の代替案として、光送信器要素84を発光器で置き換えることができ、これにより、レーザー光フィールドが背面に入射し、及び変調器を通過することが不要になる。
【0071】
一例の光送信器要素84が図11に示されており、これは、図4に示され、上述されたメタ表面光変調器要素40と同様の入射光の位相変調を行う。しかしながら、図11のこの例の光送信器要素84は図4の光反射要素の代わりに光透過要素であるので、最下部の金属レイヤー46は頂部電極48のように交差するように格子構造の間に空隙が生じ、その結果、入射光Lは電気光学ポリマー44によって位相変調されて、電気光学ポリマー44によって遮断されるか、又は格子構造42を通過することが可能である。基板50は、光Lに対して透明である。ポーリング電圧45は上述したように、光フィールドLで課される画素値に従って、送受信モジュール82の変調器ドライバ88によって駆動される。このような透過型光変調器のさらなる詳細はKosugiらの論文「Surface-normal electro-optic-polymer modulator with silicon subwavelength grating」、IEICE Electronics Express、第13巻、第17号、1~9頁、2016年9月10日に見る。
【0072】
送受信モジュール82の背面は光が光送信素子84に到達して通過することを可能にする開口を除いて、送受信モジュール82の背面上のレーザー照射が送受信モジュール82を透過するのを阻止するために、背面を覆う不透明なカバーまたはマスク(図示せず)を有する。フーリエ変換レンズ16及びフーリエ変換レンズ16の前方の光をコリメートするファイバーフェースプレートを含む光学部品は、第1のセンサー・ディスプレイ装置14の前面に接合することができる。同様に、フーリエ変換レンズ28とファイバーフェースプレートとを第2のセンサー・ディスプレイ装置26の前面に接着することができる。
【0073】
ここで図1を参照すると、フォトニック畳み込みアセンブリ12の第1および第2のセンサー・ディスプレイ装置14、26およびラジアル変調器デバイス20に加えて、例示的なフォトニックニューラルネットワークシステム10は例えば、(i)ラジアル変調器デバイス20を駆動するためのパルス出力を実施する回路ブロック110と、(ii)デジタルデータが第1および第2のセンサー・ディスプレイ装置14、26にロードされ、そこから受信される高速アナログ-デジタル回路ブロック112と、高帯域幅メモリ(HBM2)114と、他のシステムコンポーネントのための基本的な制御およびインターフェースデバイスであるフィールドプログラマブルゲートアレイ(FPGA)116とを含む、外部制御コンポーネントも含む。HBM2114は、フィルタ、状態機械ステップ、および画像データのための記憶装置を提供する。回路ブロック110、HBM2114、およびFPGA116はマルチチップモジュール(MCM)118上にあり、システム10へのユーザインターフェースは、名目上、PCI-Expressバス120を介している。
【0074】
フィールド・プログラマブル・ゲートアレイ(FPGA)116と第1のセンサー・ディスプレイ装置14との間の例示的なシステム・インターフェース122の機能ブロック図が図12に示されており、図12の機能ブロック図は、FPGA116と第2のセンサー・ディスプレイ装置26との間のシステム・インターフェースの代表でもある。図面における便宜上及び簡潔さのために、図面及び回路ブロック110のための関連する説明において、センサー・ディスプレイ装置14、26のために任意の用語「Sensay」(センサー及びディスプレイの略語)や任意の用語「RedFive」が時々使用される。便宜上及び簡潔さのために、送受信モジュール82は、「Trixel」と呼ばれることがある。(「Trixel」が「送信・受信ピクセル」の略語である。)
【0075】
RedFivesのいくつかは、センサー・メモリ90をロードするためにアナログ・データを生成する役割を果たす。これらのRedFiveは、HBM2114がFPGA116によって管理される状態マシンソースであるため、メモリモジュール(HBM2)114を介してインターフェースされる。アナログおよびデジタル入出力(I/O)は、フィードバックループの制御に使用されるため、FPGA116を介してインターフェースされる。いくつかの未使用ビットは、同期のためのステータスフラグとしてFPGA116にラップバックされる。Sensay Digital I/OはRedFivesのいくつかと同じメモリラインを使用するが、それらは同時にアクセスされないので、メモリラインのこの二重使用は競合ではない。また、RedFivesからの出力アナログラインのいくつかは、ADCへの入力アナログラインとして共有される。データを読み取り、それをFPGA116に渡すために使用されるADCの数は実装に依存する。
【0076】
Sensay外部インターフェースの機能ブロック図が図13に示されている。図13では、「Sx」が「Sensay A」14または「Sensay B」26の前に付けられている(Sensay14、26のいずれかに関連する信号を区別するためにシステムを論じる場合,図8のデジタル入力線は3つの一般的なカテゴリにグループ化することができる。行および列制御はSensay内のラッチのセットをロードする(図14参照)。グローバル制御ライン(又は、行)は種々の機能を有し、その各々は、使用の文脈で説明される。グローバル行は、行または列に沿ってルーティングできる。グローバル制御ラインはすべての送受信モジュール(trixels)82へルーティングし、特定の列または行に固有ではない。
【0077】
SxPeakresetは、外部ゲインコントロールに使用されるアナログピークホールド回路をリセットする。この信号は非同期であるが、データ競合を回避するために、SxFreezeがアサートされるときにのみアサートされるべきである(1)。
【0078】
SxSnsresetは、センサーをアナログSxLevelラインのレベルにリセットする。センサーは、電荷を蓄積するように設計されているので、予め設定されたレベルまで降下するためにこの機構を必要とする。このリセットをグローバルバイアスとして使用して、Sensorの充電レベル(したがって、次のパスのモジュレータレベル)をプリセットできる。
【0079】
SxPoolmodeは、プーリングにおける平均(1)または最大(0)動作を決定する。
【0080】
SxFreezeは、グローバルメモリアクセスを有効または無効にする。アサート(1)された場合、すべてのtrixelsメモリドライブがセーフ状態に設定され、メモリアクセスやシフトは許可されない。SxFreezeは、ラインが整定される前にデータの汚染を防止するために他の制御ラインを構成するときに使用される。以下の説明では、SxFreezeの機能は常に言及されるわけではなく、その動作は常に規則である。
【0081】
SxRWDirは、有効なメモリが読み出し/書き込みを決定する。”1”に設定するとメモリにデータが書き込まれ、”0”に設定するとメモリからデータが読み出される。これはまた、センサー(光検出素子)86及び変調器(光送信素子)84の動作をゲート制御する。これはモジュレーターモード(0)またはセンサーモード(1)を表す。
【0082】
SxFlagRD、SxFlagWR、およびSxFlagRSTは、セマンティック・ラベリングに使用されるデジタルフラグ・メモリを制御する。SxFlagRSTは、全フラグ・メモリのグローバルアドレスリセットである。SxFlagRDおよびSxFlagWRは、メモリアクセスを制御する。
【0083】
SxShift0,1,2はアドレス指定されたtrixels(送信-受信モジュール)82においてのみ、シフトレジスタメモリ90の電荷を時計回り方向または反時計回り方向のいずれかに移動させるために、3相シーケンスで外部から駆動される。trixelがアドレス指定されていない場合、そのメモリドライブラインは強制的に安全な状態になり、メモリの充電には影響しない。
【0084】
SxExtemalは、SxAnalogおよびSxDataラインがアクティブ(1)であるか、またはデータ移動およびアクセスが単に内部(0)であるかを判定する。
【0085】
これらの信号の4つの組み合わせを考える:
【0086】
画像ロード:SxFreeze=0、SxRWDir=1、SxExternal=1。これは、アドレス指定されたtrixels82のメモリセルが外部SxAnalogラインからデータを取り込み、内部SxDataラインを介してtrixelsメモリバンク90に電圧を入れることを意味する。SxAnalogラインが120本あるため、このアクションは最大120ワイドまで可能である。120幅のDACセットが適切でない実装では、ラインはグループで外部接続でき、MEMRラインをシーケンスで有効にするだけで、より狭いアクセスに対応できる。実装された外部行幅に関係なく、競合を避けるために、通常は一度に1つのMEMCラインのみが有効になる(ただし、必要に応じて、同じDAC値を一度に1行全体に送信することもできる)。
【0087】
ResultSave:SxFreeze=0、SxRWDir=0、SxExternal=l。これは、アドレス指定されたtrixels82のメモリセルが外部ADCとのコンバージョンのために外部SxAnalogラインにデータを送ることを意味する。再び、これは128までの幅であり得るが、より狭い実装はSensayへの設計変更なしに適応され得る。実装された外部行幅に関係なく、競合を避けるために、一度に1つのMEMCのみが有効になる(これは、データの競合を避けるために読み取りではオプションではない)。
【0088】
Sensor Mode:SxFreeze=0、SxRWDir=l、SxExternal=0。これは、アドレス指定されたtrixels82における任意のメモリセルがセンサー86からデータを取得することを意味する(以下に説明するプーリング・チェーンを介して、またSxShiftO,1,2に関連して、メモリ値のシフトレジスタセットとして現存する電圧をシフトしながら、電圧を新しいメモリ電荷として保存する。
【0089】
変調器モード:SxFreeze=0、SxRWDir=0、SxExternal=0。これは、アドレス指定されたtrixels82の任意のメモリセルが(プーリング・チェーンを介して)変調器(光送信素子)84にデータを送り、SxShiftO,1,2との関連で、メモリ電荷のシフトレジスタセットとして現存する電圧をシフトすることを意味する。メモリ読み出しは非破壊的である。
【0090】
trixels(送受信モジュール)82のための例示的な行および列制御ラインレジスタは図14に概略的に示されている。この例では、行および列制御ラインレジスタがtrixels当たり5つの行および5つの列ラインとして配置された235個の個別にアドレス指定された静的64ビットラッチを備える。これらの出力は常にアクティブであり、電源投入時にゼロにされる。これらの行および列制御ラインは、各trixels82によって、その隣接装置に関連して自身の機能を構成するために使用される。ラッチの各々はSxControlでデータをアサートし、SxAddrで8ビットアドレスを設定し、SxLatchをパルス化することによって個別にアドレス指定される。
【0091】
trixelのメモリ90はそのMEMRおよびMEMCが共にアサートされたときに「アドレス指定された」と言われる。同様に、そのOPTCおよびOPTRが共にアサートされたときに、その光センサーは「アドレス指定された」と言われる。その他のtrixels82の機能は、そのENBRおよびENBCがデアサートされるとディスエーブルされる。trixels82を完全にディスエーブルするために、そのMEMR、MEMC、OPTR、OPTC、FLAGRおよびFLAGCもデアサートする。
【0092】
プール境界ライン86(POOLCおよびPOOLR)はtrixels82の列および行全体に影響を与え、以下でより詳細に説明するように、スーパーtrixelsの境界を定義する。最右端および最下端のラインは常にイネーブルされているので、1079POOLRおよび1919POOLCラインのみが存在する。64ビットラッチの未使用ラインは接続されていない。
【0093】
*_SLおよび*_SRラインは、立ち上がりエッジでそれぞれのレジスタを左または右にシフトする。
【0094】
SxReLUlおよびSxReLU2(図13)は、外部DACによって駆動される。それらは、全てのtrixels82に対してグローバルであり、弱い情報を除去するためにセンサー86の読み取り値に適用される。SxLevel(図13)も外部DACによって駆動される。プリセットレベルとして全てのtrixels・センサー86によって使用され、変調器駆動部88レベルにも加算され、そこで位相オフセットとして使用される。sensay(センサー・ディスプレイ装置)14または26は上述したように、いつでもセンサーまたは変調器(送信)モードにあるので、競合はない。SxPeak(図13)アナログ出力信号は、すべてのtrixels(送受信モジュール)82からの信号である。以下により詳細に説明するように、各trixels・メモリ・セルは、その最高値を共通トレースに渡す。このトレースの値はSxPeakresetが最後にアサートされてから、trixelsアレイ全体によって見られる最高のグローバル値を表す。これは、システムゲインおよび正規化のために外部回路によって使用される。
【0095】
アナログインターフェースの一例を図15に模式的に示す。SxAnalogラインは9つの隣接するSxData行をそれぞれ接続する120のトレースである。言い換えれば、内部的にSxDataOOOからSxData0008行トレースはすべて出力ピンSxAnalogOOに接続される。SxData0009~SxData0017行トレースは、すべて出力ピンSxAnalogOOlなどに接続する。すべてのSxAnalogピンは、9つの内部SxDataトレースにハードワイヤードされている。一度に1つのtrixelsメモリバンク90のみが、そのローカルトレース(外部コントローラによって強制される)を駆動または感知することが可能である。TMSがアサートされている場合、すべてのSxAnalogおよびSxDataラインが一緒に接続される。
【0096】
上述したように、制御ラインは個々に制御可能であるため、1から120幅の任意のサイズの入力または出力スキームはこれらのラインを単にSensay(センサー・ディスプレイ装置)の外部で一緒に接続し、適切なtrixels82のみをアーキテクチャと一致させることを可能にすることによって、実施することができることに留意されたい。インターフェースが広いほど、ロードおよびアンロード操作は高速になるが、より多くの外部回路が必要になる。これにより、設計を変更することなく、高度なカスタマイズが可能になる。
【0097】
例示のフォトニックニューラルネットワークシステム10におけるSensay(センサー・ディスプレイ装置)14、26アーキテクチャは、プーリング・チェーンの周囲に構築される。図9図10、および図16に示すように、アレイ80内の送受信モジュール(trixels)82の各々は図9図10、および図16が紙上に向けられるとき、その縁の2つに沿って、例えば右縁および下縁に沿って、プーリング境界ライン96を有する。すべてのセンサー、変調器、メモリ読取りまたはメモリ書込みアクセスは、プーリング・チェーンを使用して、trixels(センサー・ディスプレイ装置)82内およびその間でアナログ・データを渡す。プーリング境界ライン96の機能はプーリング・チェーンから隣接する送受信モジュール(trixels)82を接続または切断し、スーパーtrixelsまたは「アイランド」を生成することである。それぞれの隣接するtrixels82の境界ライン96へのプーリング・チェーン回路接続は、trixels82のアレイ80内の仮想位置nnnn,mmmmで、図17内の接続の拡大概略図に示されている。POOLC=0の場合、列全体の東西trixels・プーリング・チェーン接続はすべてオープンされる。POOLR=0の場合、行全体に対する南北trixelsプーリング・チェーン接続のすべてがオープンされる。全ての他のtrixelsプーリング・チェーン接続は、依然として閉じている。このプーリング構造の効果は、接続されたプーリング・チェーン・ラインのアイランドを生成することである。スーパーtrixelsアイランド上の全てのtrixelsは、本質的に単一の低インピーダンス「トレース」であるこのチェーンを共有する。POOLRがアサートされると、このtrixelsのプーリング・チェーンを接続するトランジスタが導通し、プーリング・チェーンを次の行のその南のtrixels82に接続する。POOLCがアサートされている場合、POOLCは、trixels82のためのプーリング・チェーンに東に接続する。
【0098】
上述したように、送受信モジュール(trixels)82の各々におけるメモリバンク90は本質的にシフトレジスタであり、シフトレジスタの設計および技術は、当業者によってよく理解され、容易に利用可能である。図18は、アナログ・メモリシフトドライバスキームを示す。アドレス指定され(MEMCおよびMEMRが共にアサートされ)、凍結解除された(SxFreezeがデアサートされる)場合、SxShiftO,1,2の任意の組み合わせは、アナログ・メモリセルシフトプレートを実際に駆動する出力(MemShiftO,1,2)に単に伝播する。MEMCまたはMEMRのいずれかがTrixelに対してデアサートされた場合、またはSxFreezeがアサートされた場合、アナログ・メモリドライバは自動的に安全状態に置かれる(MemShiftO、1,2=010)。
【0099】
図19は、メモリバンク90(図10)のための例示的なアナログ・メモリ読出しインターフェースの概略図である。メモリは読み出すことができ、アナログ・データは、内部SxDataラインを介して外部SxAnalogインターフェースに送られるか、または最大(ダイオード)または平均(抵抗器)回路経路のいずれかを介してプーリング・チェーン126(SxReLUより大きい場合、さもなければゼロにされる)に送られることができる。アナログ・メモリから読み出された変更されていない値はダイオード絶縁キャパシタ(サンプル&ホールド回路)を充電するためにも使用され、最終的にはセンサー・ディスプレイ・デバイス(sensay)14、26全体(システムゲイン制御のために外部で使用される)に対してSxPeak値を駆動する。これらのモードの例は、図20~24に概略的に示されている。図20は、プーリング・チェーンへのtrixelアナログ・メモリ読み出し平均を示す。図21は、プーリング・チェーンへのtrixels・アナログ・メモリ読取り最大値を示す。図22は、外部データラインに読み出されるアナログ・メモリを示す。図23は、trixelsアナログ・メモリピーク値保存を示す。図24は、アナログ・メモリピーク値リセットを示す。
【0100】
整流線形ユニット(ReLU)はしばしば、弱い応答を抑制するためにデータに適用される。第1のセンサー・ディスプレイ装置14および第2のセンサー・ディスプレイ装置26(sensay、14、26)はそれぞれ、図24に示される様々な応答をもたらすことができる柔軟なデュアル・スロープReLU実装を有し、その応答は無効果(実施例A)から従来のカットオフ(実施例B)から、可変スロープ・カットオフ(実施例C)までの範囲である。DACによって駆動される2つの外部アナログ電圧が伝達関数を制御する。感知器14、26は単極設計であるため、「ゼロ」位置は公称ではメモリバンク90の電圧範囲の中央にある。
【0101】
アナログ・メモリ90への書き込みは、読み出しよりも単純である。送受信モジュール(trixels)82のアナログ・メモリ90がアドレス指定されると(MEMCおよびMEMRの両方がアサートされ、SxRWDir=1)、ローカル・プーリング・チェーン上の値が何であれ図26に示すように書込みパッド上に置かれる。アナログ・メモリ・セル内の値を実際に保存するために、シフトラインが循環される。外部データラインからアナログ・メモリ90をロードすることが図27に示されている。
【0102】
フラグ・メモリは、セマンティック・ラベリングの実施のために使用される各送受信モジュール(trixels)82における640ビットのLIFO(Last-In-First-Out)装置(すなわち「スタック」)である。SxFlagRST=lの場合、すべての送受信モジュール(trixels)82に対して、内部アドレスポインタは無条件にゼロにセットされる。値をゼロにする必要はない。リセットを除いて、メモリは、仮想trixel位置nnnnnn,mmmmに対してFLAGRmmmm=1およびFLAGCNNnn=1のときにのみアクティブである。FLAGRmmmm=0またはFLAGCNNnn=0のいずれかの場合、信号はメモリに影響を与えない。FLAGRおよびFLAGCについては、図14を参照されたい。
【0103】
フラグ・メモリ書込みおよびフラグ・メモリ読出しの概略図を、それぞれ図28および図29に示す。SxFlagWR=1の場合、比較器の出力は「D」メモリ入力で有効である。SxFlagWRが「1」から「0」になる立ち下がりエッジで、SxFlagRD=0の場合、プーリング・チェーン上の値と比較されるtrixelの現在の読み取り値の状態によって決定される現在のフラグビットはスタック上にプッシュされる。すなわち、アナログ・メモリ読み取り電圧がプーリング・チェーン電圧と一致する場合、このtrixel82は「マスタ」であり、「1」が格納され、そうでない場合、「0」が格納される。FlagVALについては、図19を参照されたい。
【0104】
ヒステリシスが非常に小さいため、複数のtrixel82が非常に似た電圧レベルを持っていれば、それ自体を「マスタ」として見ることが可能である。このような場合、最終的に読み出されるのは、拡張パスの間、このプーリング・グループ内の有効化(又は、イネーブル)されたtrixels82の平均電圧になる。「競合する」電圧はほぼ同一であったので、これは実用上ほとんど影響を及ぼさないであろう。
【0105】
SxFlagRD=1の立ち上がりエッジで、SxFlagWR=0の間に、書き込まれた最後のビット(すなわち、スタックの上部)が読み出され、イネーブルされたFlagEN=1としてTrixelメモリ読み出し回路に印加される(図19参照)。出力は、SxFlagRD=1である限りイネーブルされる。
【0106】
SxFlagWR=0およびSxFlagRD=0の場合、FlagEN=1である。これを適用した。SxFlagWR=1およびSxFlagRD=1は不正であり、外部コントローラはそれを適用すべきではない。メモリ出力と比較器出力との間の競合を回避するために、フラグENは、そのような場合にトライステートにされる。
【0107】
送受信モジュール(trixel)82のセンサー86をプーリング・チェーンに読み込み、センサー86を再設定し、変調器(光送信器要素)84をプーリング・チェーンから書き込むための光制御ライン設定の例が、それぞれ、図30図31図32に示されている。
光制御ラインの機能はイネーブルされたOPTR及びOPTCラインの交点にあるtrixels82に、それらの光学素子(変調器84又はセンサー86)をプーリング・チェーンに接続させることである。SxRWDir=0およびSxExternal=0の場合、このtrixels変調器84を駆動するために、データがプーリング・チェーンから読み出される。SxRWDir=1およびSxExternal=0の場合、データはこのtrixelのセンサー86からバッファされ、プーリング・チェーン上に配置される。SxExternal=lの場合、変調器84とセンサー86の両方が切断される。複数のセンサー86を同時に有効にする(又は、イネーブルする)ことができ、それらの値の平均は、より低いノイズのためにプーリング・チェーン上に現れるのであろう。また、センサー86が上述したように光信号(データのフレーム)を加算しているとき、感知器14、26(クロックなどがない)上に他の活動は存在しないので、非常に低ノイズの測定結果となることに留意されたい。
【0108】
変調器モード(SxRWDir=0)および内部駆動(SxExternal=0)の場合、すべてのアドレス指定されたtrixelメモリバンク90の出力は自動的にプールされ、同じスーパーtrixel(同じプーリング・チェーンに接続されている)内のすべての光送信素子(変調器)84は同じ輝度で「輝く」。これは、複製による再サンプリングを構成する。
【0109】
ローカルENB(ENBRmmmm=lおよびENBCNNn=l)により、個々の光送信素子(変調器)84を無効にすることができる。
【0110】
光送信素子(変調器)84の駆動レベルDLはプーリング・チェーンPCの合計に較正センサー値CS+1を掛けたものにSxLevelを加えたものであり、式DL=(PC*(CS+1))+SxLevelである。Sxlnvert=1の場合、ドライブは反転され、すなわち、100%レベルは0%変調、90%は10%等となる。
【0111】
図33A~Bの概略図は、送受信モジュール(trixel)回路の概要を示す。
【0112】
上記の説明は推論モード、例えば、訓練されたニューラルネットワークが画像、音声、音等を認識するために使用される場合におけるフォトニックニューラルネットワーク処理に基づく。フォトニックニューラルネットワーク、例えば、上述のフォトニックニューラルネットワークシステム10を用いてニューラルネットワークを訓練することは、デジタル畳み込みネットワークシステムと比較して、いくつかの差異を有する。上述したように、典型的なデジタル畳み込みニューラルネットワークシステムのトレーニング中に、ネットワークが次回に同じ種類の画像を予測する可能性を高めるために、逆伝搬と呼ばれるプロセスを用いて調整が行われる。典型的なデジタル畳み込みニューラルネットワークでは、このようなデータ処理および逆伝播が予測が適度に正確になり、改善されなくなるまで何度も行われる。次いで、ニューラルネットワークは推論モードで利用されて、新しい入力データを分類し、そのトレーニングから推論される結果を予測することができる。ディジタル畳み込みニューラルネットワークでは、後方伝搬項(又は、期間/term)およびフィルタはすべて空間領域にあるので、トレーニングは比較的簡単である。「正しい答え」をとり、修正項を計算するために構造を通って戻ることは遅いが、依然としてドメインの変更を必要としない。光子ニューラルネットワークにおけるトレーニングはトレーニングされる必要がある項が周波数領域にあり、畳み込み結果が空間領域にあるので、それほど直接的ではない。空間領域データを使用し、高速フーリエ変換(FFT)アルゴリズムを用いて補正項を計算し、それらをラジアル変調器装置20で使用されるフーリエフィルタに適用することができるが、そのような計算は非常に計算集約的である。
【0113】
代わりに、上述したフォトニックニューラルネットワークシステム10の例は、訓練用の補正項を、ラジアル変調装置20によって反復訓練プロセスにおける畳み込みに適用されるフィルタに次いで追加され得るフーリエ変換項に変換するように適合される。このような変換をデジタル計算の代わりに光学的に実施するための適応例は図34に示すように、フォトニック畳み込みアセンブリ12に特殊化されたフーリエ光センサー装置130を追加することを含む。フーリエ光センサー装置130は光学軸62上の第2のセンサー・ディスプレイ装置26から、偏光子18の反対側に、第2のセンサー・ディスプレイ装置26と軸方向に整列して配置される。また、フーリエ光センサー装置130は、フーリエ変換レンズ26の焦点距離F2と等しいフーリエ変換レンズ26からの距離でフーリエ変換面内に位置している。したがって、フーリエ光センサー装置130は、フーリエ変換レンズ26のフーリエ変換面に位置している。そのフーリエ変換面において、フーリエ光センサー装置130は、第2のセンサー・ディスプレイ装置26から発する光のデータ又は画像のフレームのフーリエ変換を検出することができる。従って、フォトニックニューラルネットワークシステム10を訓練するために必要な補正項は補正データの空間領域フレームで第2のセンサー・ディスプレイ装置10に供給することができ、次いで、光フィールド132内の補正データのフレームをフーリエ光センサー装置130に表示(投影)することになる。したがって、光フィールド132内の補正データのフレームはフーリエ変換レンズ26によってフーリエ光センサー装置130に到達するときにフーリエ変換され、すなわち、空間領域内の補正データのフレームは、フーリエ光センサー装置130において光の速度でフーリエ領域にフーリエ変換される。次に、フーリエ変換領域の補正データのフレームは、フーリエ光センサー装置130によって検出され、ラジアル変調装置20のフィルタを調整するために使用される。
【0114】
通常、推論モードでは、3D畳み込みブロックがメモリからシフトアウトされ、さらなるレベルの畳み込みおよび加算サイクルのためにフォトニック畳み込みアセンブリ12を介して送り返されるときに送受信モジュール82のメモリバンク90内の特定の反復畳み込みサイクルで存在するデータフレームが失われ、メモリバンク90は後続の3D畳み込みブロックで再充填され、そのすべては上述のように非常に高速で行われる。しかしながら、トレーニングモードの場合、これらの中間のデータのフレームは第1及び第2のセンサー・ディスプレイ装置14、26のメモリバンク90から抽出され、外部メモリに転送されて、逆伝播デジタル計算を行い、空間領域に補正項を書き込む際に使用される。
次に、これらの補正項は図34に示され、上で説明されたように、フーリエ光センサー装置130への投影およびフーリエ変換のために、空間領域内の補正データのフレームとして第2のセンサー・ディスプレイ装置26に供給され、したがって、補正データのフーリエ変換されたフレームはさらなる畳み込みサイクルのためにラジアル変調器装置20のフィルタとして使用するために、フーリエ領域内のフーリエ光センサー装置130によって検出され得る。中間相関データ、逆伝播デジタル計算、および修正項の書込みのこのトレーニングモード抽出はいくらかの時間がかかり、したがって、推論動作モードと比較して反復畳み込み加算サイクルを遅くするが、それでもなおデジタル畳み込みニューラルネットワークトレーニングよりはるかに高速である。
【0115】
フーリエ光センサー装置130をフォトニック畳み込みアセンブリ12に組み込むために、例えば、図34に示すように、補正データのフレームが第2のセンサー・ディスプレイ装置26によってフーリエ光センサー130に投影されているときに、偏光面を90度回転させるために、半波可変偏光板134が第2のセンサー・ディスプレイ装置26と偏光子18との間に配置される。例えば、通常の推論動作モードでは、第2のセンサー・ディスプレイ装置26が偏光子18からラジアル変調器装置20に反射するP偏光を表示し、次いで、トレーニングのために補正データのフレームをフーリエ光センサー130に表示または投影するために、半波長可変偏光板134が起動されて、投影された光フィールドの偏光面を90度回転させてS偏光させ、結果として生じる光フィールド132が偏光子18を通過してフーリエ光センサー130に至るようにする。
【0116】
補正データのフレームは、ニューラルネットワークをトレーニングするためにフィルタによって特定のウェッジセグメント32に提供される必要がある値を有する。したがって、フーリエ光センサー装置130への投影のために第2のセンサー・ディスプレイ装置26に提供される補正データのフレームは、ニューラルネットワークを訓練するために補正された方法で変調される必要があるラジアル変調器デバイス20(図3参照)のウェッジセグメント32に対応するフォーマットで提供され、その結果、これらの補正データは最終的に、補正された方法で適切なウェッジセグメント32を駆動するフィルタに配置される。したがって、フーリエ光センサー装置130は第2のセンサー・ディテクタ装置26からの光132をラジアル変調器装置20のウェッジセグメント32と同じパターンで検出し、その結果、光132の補正データが検出され、処理され、ラジアル変調器装置20の適切なウェッジセグメント32に供給される。
【0117】
第2のセンサー・ディスプレイ装置26から投射された光をウェッジセグメント32と同じパターンに従って検出することを容易にするために、上述したように、例としてのフーリエ光センサー装置130は例えば図35に示すように、ラジアル変調装置20のウェッジセグメント32およびウェッジセクタ34のパターンに対応する光センサーアレイ138に配置された複数の光センサー素子136を有する光センサーボード135を有している。図35に示すように、ラジアルアレイレンズプレート140は、光センサーアレイ138の前に配置され、ラジアル変調装置20のウェッジセグメント32およびセクタ34に一致するウェッジおよびセクタの半径方向パターンで配置された複数の個々のレンズ素子142を有している。これらのレンズ素子142は放射状変調装置20のウェッジセグメント32及びウェッジセクタ34の放射状パターンに対応する放射状パターンで、第2のセンサー・ディスプレイ装置26からの入射光132を捕捉し、これにより、第2のセンサー・ディスプレイ装置26に定式化されプログラムされたときに、入射光132の補正データのフレームを捕捉する。それぞれのレンズ素子142によって捕捉された光のセグメントは、個々のサブビーム138としてレンズ素子142によってそれぞれの光センサー素子136上に集束され、センサー素子136上に入射する光の強度に対応する電気信号に変換され、したがって、入射光132内の補正データのフレームを、補正データのフレームに対応する電気データ信号に変換する。これらのアナログ電気データ信号はFPGA110による補正フィルタへの処理のためにデジタル信号に変換することができ、これは次に、インターフェース24を介してラジアル変調器デバイス20に接続するために回路ブロック110によって供給することができる。この場合も、入射光132内のデータのフレームはフーリエ変換レンズ26によってフーリエ変換され、フーリエ変換領域内のセンサー素子136によって検出され、したがって、フーリエ光センサー装置130からFPGA116または他の電気処理構成要素に送られる信号内の補正データはラジアル変調器デバイス20のウェッジセグメント32を駆動するのに必要なようにフーリエ領域内にある。光学構成要素の配置のために、第2のセンサー・ディスプレイ装置26に供給される補正データのフレームはセンサー素子136によって捕捉された光のセグメント及び生成された対応する信号がラジアル変調器装置20の適切なウェッジセグメント32に一致するように、反転されなければならない場合がある。しかしながら、上述したように、補正項は空間領域で計算されるので、訓練にアルゴリズム的制約は課されない。一旦、通常のトレーニング逆伝播計算が行われると、上述され、図34および図35に示される光学系は、空間領域補正項を放射状フーリエ領域等価物に変換する。
【0118】
図36に図示される別の実施形態では、カメラレンズ150が上述のように、例えばフォトニックニューラルネットワーク10で処理するために、カメラレンズ150がデータ(画像)のフレームとして実世界のシーン152を空間領域内のフォトニック畳み込みアセンブリ12に照射する方法で、フォトニック畳み込みアセンブリ12上に取り付けられる。例えば、図35に示すように、カメラレンズ150は、第2のセンサー・ディスプレイ装置26から偏光子18の反対側で第2のセンサー・ディスプレイ装置26と軸方向に整列するように光軸62上に取り付けられる。偏光板154はカメラレンズ150によって透過された光フィールド156を偏光子18から反射する偏光面に偏光させるために、カメラレンズ150と偏光子18との間に配置されている。したがって、光フィールド156は図36に示すように、偏光子18によって第1のセンサー・ディスプレイ装置14に反射される。第1のセンサー・ディスプレイ装置14の送受信モジュール82(図9および10参照)内の光センサー素子86は光フィールド156内のデータ(画像)のフレームを検出して捕捉し、上述したように、第1のセンサー・ディスプレイ装置14内のメモリバンク90内にデータ(画像)のフレームを処理する。次いで、カメラレンズ150上のシャッタ装置158がカメラレンズ150上で閉じて、カメラレンズ150を通る光透過を終了し、次いで、第1のセンサー・ディスプレイ装置14は上述した推論動作またはトレーニング動作のいずれかで、フォトニック畳み込みアセンブリ12を通るデータ(画像)のフレームの処理を開始することができる。
【0119】
必要に応じて光の特定のスペクトル周波数のみがフォトニック畳み込みアセンブリ12に伝送されることを可能にするために、バンドパスフィルタ160をカメラレンズ150とともに設けることもできる。バンドパスフィルタ160は必要に応じて、可変バンドパスフィルタとすることができ、その結果、実世界シーン152からの光の様々なスペクトル周波数帯域はカメラレンズ150からフォトニック畳み込みアセンブリへと順次伝送することができ、一方、各周波数帯域内のデータ(画像)のフレームは順次捕捉され、それにより、畳み込みのためのハイパースペクトル画像セットが、フォトニック畳み込みアセンブリを通して順次提供される。このような可変バンドパスフィルタは周知である。例えば、可変半波長リターダ(retarder)を、可変帯域通過フィルタとして固定偏光板と組み合わせて使用することができる。固定偏光板と組み合わせたこのような可変半波長リターダは、シャッタとしても使用することができる。
【0120】
前述の説明は、本発明の原理を説明するものと考えられる。さらに、多数の修正および変更が当業者には容易に思い浮かぼうから、本発明を、上記に示され、説明された正確な構造およびプロセスに限定することは望ましくない。したがって、本発明の範囲内にあるすべての適切な修正および均等物に頼ることができる。「備える」、「含む」、「含んでいる」、および「有する」という用語は本明細書で使用される場合、述べられた特徴、整数、構成要素、またはステップの存在を指定することを意図されるが、それらは1つまたは複数の他の特徴、整数、構成要素、ステップ、またはそれらのグループの存在または追加を排除しない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33A
図33B
図34
図35
図36
【手続補正書】
【提出日】2023-08-29
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
送受信モジュールのアレイを備え、前記アレイ内の送受信モジュールの各々は光送信器と、前記光送信器に接続されて前記光送信器を駆動するための変調ドライバと、光受信器であって、前記光受信器によって受信した光から電荷を生成する、該光受信器と、メモリバンクと、前記光受信器を前記メモリバンクに接続し、電荷をデータとして前記光受信器から前記メモリバンクにシフトし、前記データを電荷として前記メモリバンクから前記変調ドライバにシフトして、前記光送信器を駆動して前記電荷に基づいて光を送信するメモリインターフェースとを備える、センサー・ディスプレイ装置。
【請求項2】
前記メモリバンクがシフトレジスタを含む請求項1に記載のセンサー・ディスプレイ装置。
【請求項3】
前記アレイ内の前記送受信モジュールの各々は、(i)光を送信画像のピクセルとして送信し、それによって前記送受信モジュールの前記アレイによって送信された光の前記ピクセルの合成が前記送信画像を有し、(ii)光を入射画像のピクセルとして受信し、それによって送受信モジュールの前記アレイによって受信された光の前記ピクセルの合成が前記入射画像を有するために、十分に小さく、かつ互いに十分に近接している請求項1に記載のセンサー・ディスプレイ装置。
【請求項4】
前記アレイが行及び列に配置された前記送受信モジュールを有する請求項1に記載のセンサー・ディスプレイ装置。
【請求項5】
前記アレイ内の前記それぞれの送受信モジュールの前記メモリバンクに接続可能なプーリング・チェーンであって、プーリング・チェーンによって、前記アレイ内の複数の送受信モジュールからのデータが一緒に読み出し可能であり、データが前記アレイ内の複数の送受信モジュールに一緒に書き込み可能である、該プーリング・チェーンを含む請求項4に記載のセンサー・ディスプレイ装置。
【請求項6】
前記送受信モジュール内の前記光送信器及び光受信器がお互いから40マイクロメートル以下だけオフセットされ、双方が160平方マイクロメートル以下の面積を有する前記送受信モジュール内に適合される請求項3に記載のセンサー・ディスプレイ装置。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本発明はニューラルネットワークに関し、より具体的には、光処理を伴う畳み込みニューラルネットワークに関する。
先行技術の状況
【0002】
ニューラルネットワークは、外部入力に対する動的状態応答によって情報を処理する、多数の単純で高度に相互接続された処理要素を備えるコンピューティング・システムとして周知である。ニューラルネットワークはパターンを認識し、データをクラスタ化および分類するのに有用である。コンピュータは、ニューラルネットワークを利用して、コンピュータがトレーニングサンプルを分析することによって何らかのタスクを実行することを学習する機械学習を実施することができる。通常、これらの例は、ユーザによって事前にラベル付けされている。例えば、物体又は画像認識システムとして設定されたニューラルネットワークには、「猫」又は「猫なし」とラベル付けされた数千の例示的な画像を供給し、次いで、その結果を使用して、他の画像内の猫を識別するか、又は場合によっては他の画像内に猫が存在しないことを示すことができる。あるいは、物体認識システムとしてセットアップされたそのようなニューラルネットワークがネコ、ウシ、ウマ、ブタ、ヒツジ、車、トラック、ボート、および飛行機などの様々な物体を有する画像の数千の例を供給され、そのようにラベル付けされ、次いで、その結果を使用して、他の画像がネコ、ウシ、ウマ、ブタ、ヒツジ、車、トラック、ボート、または飛行機をその中に有するかどうかを識別することができる。
【0003】
CNN(convolutional neural network)は同一ニューロンの同一コピーを多数使用するニューラルネットワークの一種であり、学習が必要なニューロンがどのように振る舞うかを記述する実数値(又は実際の値/actual values)の数をかなり少なくしながら、ネットワークが多くのニューロンを持つことを可能にし、計算的に大きなモデルを表現することを可能にする。畳み込みとは、2つの信号を組み合わせて第3の信号を形成する方法である。CNNは、通常、ソフトウェアまたはプログラマブルデジタルハードウェアで実施される。
【0004】
ディープ・ラーニングはスタック・ニューラルネットワーク、すなわち、いくつかのレイヤー(レイヤー)を含むネットワークに使用される用語である。レイヤーはノードで構成される。ノード(又は結節)は計算が行われる場所であり、人間の脳のニューロンに緩やかにパターン化されており、十分な刺激に遭遇すると発火する。ノードはデータからの入力を、その入力を増幅または減衰させる係数または重みのセットと結合し、それによって、例えば、どの入力が誤りなくデータを分類するのに最も役立つかなどのアルゴリズムが学習しようとしているタスクのために入力に有意性を割り当てる。これらの入力×重み積は合計され、その合計はノードの活性化機能を通過して、分類の行為のような最終的な結果に影響を及ぼすために、その信号がネットワークを通ってさらに進行するかどうか、およびその程度を決定する。ノードレイヤーは、入力がネットワークを介して供給されるときにオンまたはオフになるニューロンのようなスイッチの行である。各レイヤーの出力は同時に、データを受信する初期入力レイヤーから始まる、後続のレイヤーの入力である。3つ以上のノードレイヤーは、「ディープ」ラーニング(学習)と考えられる。ディープラーニングネットワークでは、ノードの各レイヤーが前のレイヤーの出力に基づいて特徴の別個のセットをトレーニングし、したがって、データ(例えば、ピクチャ、画像、音声など)が通過するレイヤーが多いほど、ノードが認識することができる特徴はより複雑になる。トレーニング中に、ネットワークが次回に同じ種類の画像を予測する可能性を高めるために、逆伝搬と呼ばれるプロセスを調整に用いる。このようなデータ処理および逆伝播は予測が適度に正確となり、改善が見られないまで何度も行われる。次いで、ニューラルネットワークは推論モードで利用されて、新しい入力データを分類し、そのトレーニングから推論される結果を予測することができる。
【0005】
典型的な畳み込みニューラルネットワークは入力レイヤーおよび出力レイヤーに加えて、4つの必須のニューロンレイヤー、すなわち畳み込み(convolution)、アクティブ化(又は活性化/activation)、プーリング(pooling)、および完全接続を有する。最初の1つまたは複数の畳み込みレイヤーでは、何千ものニューロンがパターンを探して、画像内のすべての部分およびピクセルを精査するフィルタの第1のセットとして働く。ますます多くの画像が処理されるにつれて、各ニューロンは特定の特徴をフィルタリングすることを徐々に学習し、これは、精度を改善する。事実上、1つ又は複数の畳み込みレイヤーは、画像を異なる特徴に分解する。次いで、アクティブ化レイヤーは顕著な特徴、例えば、最終的な識別結果において価値または重要性を有する可能性が高い特徴などの顕著な特徴を強調する。例えば、目はフライパンではなく顔を示す可能性が高い。
【0006】
画像全体にわたる畳み込みおよびアクティブ化のすべては、大量のデータを生成し、コンピュータの計算容量を圧倒する可能性があり、したがって、プーリングを使用して、データを、より扱いやすい形式に圧縮する。プーリングは最良のデータを選択し、残りを廃棄するプロセスであり、その結果、より低い解像度のデータセットが得られる。いくつかの種類のプーリングを使用することができ、より一般的な種類のいくつかは、「最大プーリング」および「平均プーリング」である。
【0007】
最後に、完全に接続されたレイヤーにおいて、各縮小または「プールされた」フィーチャマップ(特徴マップ)またはデータは、ニューラルネットワークが例えば、ネコ、ウシ、ウマ、ブタ、ヒツジ、自動車、トラック、ボート、および飛行機に対して学習しているか、またはそれらを識別することが可能にされている項目を表す出力ノード(ニューロン)に接続される。上記フィーチャマップまたはデータがこれらの出力ノードを通して実行されると、各ノードは、ノードが特定のアイテムとして識別する任意のフィーチャマップまたはデータに投票する。ネットワークを通過したイメージデータのネットワークの最終出力は、個々のノードの投票に基づいている。ネットワークのトレーニングの初期には投票がより誤った出力を生成することがあるが、重みを調整し、トレーニングを精緻化するために、画像の数および逆伝播が増加することにつれて、精度が向上し、したがって、最終的に、入力データからの結果の予測または推論は非常に正確になり得る。
【0008】
関連技術の前述の例およびそれに関連する限定は本主題の例示であるが、排他的または網羅的ではないことが意図される。関連技術の他の態様および制限は本明細書を読み、図面を検討することにより、当業者には明らかになるのであろう。
【0009】
本明細書に組み込まれ、本明細書の一部を形成する添付の図面はいくつかの例示的な実施形態および/または特徴を示すが、単独または排他的な実施形態および/または特徴を示すものではない。本明細書に開示された実施形態および図面は、限定ではなく例示であると考えられるべきであることが意図されている。
【図面の簡単な説明】
【0010】
図1は、例示的なフォトニックニューラルネットワークシステムの機能ブロック図である。
【0011】
図2は、図1のフォトニックニューラルネットワークシステムのための画像を光学的に処理し、畳み込むための、例示的なフォトニック畳み込みアセンブリの等角図であり、第2のフーリエ変換レンズの一部は、第2のセンサー・ディスプレイ装置の光センサー・ディスプレイ構成要素のアレイを明らかにするために破断されて示されている。
【0012】
図3は、図1の例示的なフォトニックニューラルネットワークにおける例示的なラジアル変調器の正面図である。
【0013】
図4は、ラジアル変調器の一例の光変調器セグメントの拡大図とともに、図3の例のラジアル変調器の中央部分の等角図である。
【0014】
図5は、実施例のフォトニックニューラルネットワークシステムのフォトニック畳み込みアセンブリの一例の畳み込み機能を示す等角図である。
【0015】
図6は、データ(画像)のフレームを表示する第1のセンサー・ディスプレイ装置と、データの畳み込みフレームを検知する第2のセンサー・ディスプレイ装置とを示す、図2のフォトニック畳み込みアセンブリの例の概略上面図である。
【0016】
図7は、データ(画像)のフレームを表示する第2のセンサー・ディスプレイ装置と、データの畳み込みフレームを感知する第1のセンサー・ディスプレイ装置とを示す、図2のフォトニック畳み込みアセンブリの例の概略上面図である。
【0017】
図8は、第1のセンサー・ディスプレイ装置内の送信・受信モジュール(又は、送受信モジュール)のアレイの機能ブロック図である。External Interfaceは外部インターフェース、Column Controlsは列制御、Row Controlsは行制御、
【0018】
図9は、送受信モジュールのアレイの一部の拡大等角図である。
【0019】
図10は、例示的な送受信モジュールの拡大等角図である。
【0020】
図11は、図9および図10の送受信モジュール例の光送信器要素の一例の斜視図である。
【0021】
図12は、センサー・ディスプレイ装置の外部インターフェースへの例示的なシステム・インターフェースの機能ブロック図である。To All RedFivesは、すべてのRedFivesへ。Outputはアウトプット、Analog inはアナログ入力。
【0022】
図13は、センサー・ディスプレイ装置の例示的な外部インターフェースの機能ブロック図である。Digital Interfaceはデジタルインターフェース、Analog Interfaceはアナログインターフェース、Row &Column Controlsは行列制御、Global Controlsはグローバル制御、Analog Bus Buffersはアナログバスバッファ、Trixel ArrayはTrixelアレイ。
【0023】
図14は、送受信モジュールのアレイのための行および列制御線レジスタ(又は、行および列制御ラインレジスタ)の概略図である。
【0024】
図15は、送受信モジュールへのアナログデータラインの概略図である。
【0025】
図16は、プーリング・チェーン(Pooling Chain)で相互接続されたアレイ内の送受信モジュール(trixels)のいくつかの概略図である。
【0026】
図17は、送受信モジュール(ピクセル)のプーリング境界線(又は、プーリング境界ライン)と、隣接する送受信モジュール(trixels)との相互接続の拡大概略図である。
【0027】
図18は、例示的なフォトニックニューラルネットワークシステム10の例示的な送信受信モジュールにおけるメモリバンクのための例示的なメモリシフトドライバである。MEM SHIFT DRIVERはメモリシフトドライバ。
【0028】
図19は、メモリバンクのための例示的なアナログ・メモリ読み出しインターフェースの概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0029】
図20は、プーリング・チェーンへの送受信モジュール(trixel)アナログ・メモリ読取り平均を示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0030】
図21は、プーリング・チェーンへの送受信モジュール(trixel)アナログ・メモリ読取り最大値を示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0031】
図22は、外部データラインに読み出される送受信モジュール(trixel)アナログ・メモリを示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0032】
図23は、送受信モジュール(trixel)アナログ・メモリピーク値保存を示す概略図である。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0033】
図24は、送受信モジュール(trixel)アナログ・メモリピーク値リセットを示す。MEM READ PADはメモリ読取パッド、APPLY ReLUはReLUを印加、READ AMPは読取アンプ、Pooling Chainはプーリング・チェーン。
【0034】
図25は、ReLU(rectified linear unit)応答の例のグラフ表示を示す。Max Voltageは最大電圧、Min Voltageは最小電圧、Linear (Non-ReLU) Responseは線形(非ReLU)応答、Classical ReLU ResponseはクラシカルなReLU応答、Soft ReLU ResponseはソフトなReLU応答を示す。
【0035】
図26は、送受信モジュール(trixel)のアナログ・メモリへの書き込みを示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0036】
図27は、外部データラインからアナログ・メモリをロードすることを示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0037】
図28は、フラグ・メモリ書込回路を示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0038】
図29は、フラグ・メモリ読出回路を示す概略図である。MEM DRIVERはMEM(メモリ)ドライバ、MEM WRITE PADはMEM書込パッド、Pooling Chainはプーリング・チェーン。
【0039】
図30は、送受信モジュール(trixel)センサーをプーリング・チェーンに読み取るための光学制御ライン設定を示す概略図である。SNSR READ PADはSNSR(センサ)読取パッド, SNSR AMP SNSR(センサ)読取パッド、Pooling Chainはプーリング・チェーン。
【0040】
図31は、送受信モジュール(trixel)センサーを再設定するための光制御ラインを示す概略図である。SNSR READ PADはSNSR(センサ)読取パッド, SNSR AMP SNSR(センサ)読取パッド、Pooling Chainはプーリング・チェーン。
【0041】
図32は、プーリング・チェーンから光送信器要素(変調器)を書き込むための光制御ライン設定を示す概略図である。MOD READ PADはMOD読取パッド, MOD DRIVERはMODドライバ、Pooling Chainはプーリング・チェーン。
【0042】
図33A~Bは、送受信モジュール(trixel)回路の概略図を示す。MEM READ PADはメモリ読取パッド、READ AMPは読取アンプ、APPLY ReLUはReLUを印加、MEM SHIFT DRIVERはMEMシフトドライバ。
【0043】
図34は、トレーニングモードにおいて補正データのフレームをフーリエ変換するためのフーリエ光センサー装置を有する例示的なフォトニック畳み込みアセンブリを示す。
【0044】
図35図35は、一例のフーリエ光センサー装置の図形的等角図である
【0045】
図36は、データ(画像)の実世界フレームをフォトニック畳み込みアセンブリに導入するための、カメラレンズ実施形態を備えたフォトニック畳み込みアセンブリの例を示す。
【発明を実施するための形態】
【0046】
例示的なフォトニックニューラルネットワークシステム(又は、光子ニューラルネットワークシステム)10の機能ブロック図が図1に示され、フォトニックニューラルネットワークシステム10のための画像を光学的に処理し、畳み込むための例示的なフォトニック畳み込みアセンブリ12の等角図が図2に示されている。このフォトニックニューラルネットワークシステム10による畳み込みは光学的フーリエ変換で実行され、これはデジタル空間畳み込みと比較して、速度、解像度、および電力効率を大幅に増加させる。したがって、ニューラルネットワークを生成し、使用することは典型的なコンピュータアルゴリズムによる処理および計算畳み込みよりも、はるかに高速で、かつ、はるかに少ない電力消費で行うことができる。たたみ込みと合計のすべてが完全にアナログ、フルフレームのフォトニック計算であるため、消費電力は非常に低くなる。以下に説明するように、加算(又は、サミング)は容量性光センサー内に電荷を構築することによって達成される、これはアナログプロセスである。センサーはノイズが非常に低く、クロッキングやその他の過渡ノイズ源がないため、サミングは非常にノイズの少ないプロセスである。フォトニックニューラルネットワーク10は画像、ビデオ、音声、スピーチ・パターン、または畳み込みニューラルネットワークによって通常処理される任意のものなどの任意のデータを受け入れ、処理することができ、すべての既存の畳み込みニューラル・ネット・アーキテクチャおよびトレーニング方法をサポートする。フォトニックニューラルネットワーク10はまた、光の速度で処理されたフル解像度で、次のステージのためにすべてのデータ要素がその理想的な位置にあるアーキテクチャを用いてフルフレーム画像並列性を提供し、したがって、ほぼ100パーセント効率的である。他の利点は、この説明から理解することができる。
【0047】
図1および図2の両方を参照すると、例えばフォトニックニューラルネットワークシステム10のための画像の光学処理は、フォトニック畳み込みアセンブリ12で実行される。
本質的に、第1のセンサー・ディスプレイ装置14は以下でより詳細に説明するように、変調光フィールド15として、第1のフーリエ変換レンズ16および偏光子18を介して、レンズ16の焦点面に配置されたラジアル(又は、半径方向)変調装置20に、データのフレーム(例えば、音、スピーチ・パターン、ビデオなどの他のデータの画像または光学表現)を投影する。第1のセンサー・ディスプレイ装置14によって投影されるデータのフレームは、電子データインターフェース22を介してサポートエレクトロニクス(以下により詳細に説明する)によって第1のセンサー・ディスプレイ装置14に供給される値又は信号に基づいて、第1のセンサー・ディスプレイ装置14によって形成される。フーリエ変換レンズ16は、回折レンズ、ソリッド凸レンズ、又は任意の他の形態のフーリエ変換レンズを使用することができる。また、レンズ16に入る前に光をコリメートするために、レンズ16の前にファイバフェースプレート(図示せず)を配置することができる。
【0048】
レンズ16はデータのフレーム(例えば、画像)を焦点面(フーリエ変換面とも呼ばれる)でそのフーリエ等価に変換し、したがって、ラジアル変調装置20の表面で変換する。
ラジアル変調装置20は電子データインターフェース24を介してサポートエレクトロニクス(より詳細に後述する)によってラジアル変調装置20に装填されたパターン(「フィルタ」とも呼ばれる)に基づいて、データのフレームのフーリエ等価物を含む光フィールド15をフーリエ変換面で変調し、変調されたデータのフレームを第2のセンサー・ディスプレイ装置26に反射し、これが結果を検出する。データ逆フーリエ変換の変調フレームを含む反射光フィールドは、ラジアル変調装置20から第2のセンサー・ディスプレイ装置26への距離において空間領域に逆変換され、したがって、第2のセンサー・ディスプレイ装置26に入射する変調データフレームは通過した、すなわち、ラジアル変調装置20によってフーリエ変換面でフィルタ除去されなかったデータフレームの空間領域特徴である。その結果は画素ごとに第2のセンサー・ディスプレイ装置26によって検出され、ここで、各画素に入射する光は光の強度および光が画素に入射する時間に比例して電荷を生成する。第1のセンサー・ディスプレイ装置14から出るデータの各フレームは、ラジアル変調装置20によって1つまたは複数のフィルタ(パターン)で変調することができる。また、第2のセンサー・ディスプレイ装置26は、ラジアル変調装置20に適用された1つ以上のフィルタによって変調された1つ以上のデータフレームを第1のセンサー・ディスプレイ装置14から受信することができる。したがって、第2のセンサー・ディスプレイ装置26内の各画素の電荷蓄積は以下でより詳細に説明するように、データの1つまたは複数のフレームの1つまたは複数の変調された(すなわち、フィルタリングされた)パターンの合計とすることができ、それによって、第1のセンサー・ディスプレイ装置14によって投影されたデータの1つまたは複数のフレームの畳み込みを構成する。
【0049】
例えば、1フレームのデータは第1のセンサー・ディスプレイ装置14によって順次投影され、まず赤色、次いで緑色、次いで青色で投影され、放射状変調装置(又は、ラジアル変調装置/放射状モジュレータ)20は赤色、緑色、および青色の投影のそれぞれに同じまたは異なるフィルタ(パターン変調)を適用することができる。これらのデータの変調フレームの全ては、順次変調されたデータのフレームの各々からの光により、第2のセンサー・ディスプレイ装置26の各画素毎の電荷に加算されて、第2のセンサー・ディスプレイ装置26によって順次検出することができる。次いで、第2のセンサー・ディスプレイ装置26のそれぞれの画素についてのそれらの電荷は、第2のセンサー・ディスプレイ装置26のそれぞれの画素のそれぞれのメモリセルに転送され、それらのメモリセルは第2のセンサー・ディスプレイ装置26のそれぞれの画素についてのこれらの合計結果を格納し、それによって、第1のセンサー・ディスプレイ装置14によって空間領域に投影され、放射状変調装置20内のフィルタによってフーリエ変換領域に畳み込まれた空間領域内のデータのフレームの畳み込みの格納画素値を含む。
【0050】
その処理は第1のセンサー・ディスプレイ装置14からのデータの同じフレームの赤、緑、青の投影に対してであるがラジアル変調装置20内の異なるフィルタで、したがって、ラジアル変調装置20によって反射されたフーリエ変換領域から第2のセンサー・ディスプレイ装置26への異なる変調パターンで繰り返すことができ、これにより、第2のセンサー・ディスプレイ装置26のメモリバンク内の別の畳み込みフレームのデータの別の蓄積画素値の別のセットと別の加算結果がもたらされる。第2のセンサー・ディスプレイ装置26内に畳み込まれたデータの畳み込みフレームを蓄積するものは、ラジアル変調装置20によるこれらの異なるフィルタ用途の全てに対して第1のセンサー・ディスプレイ装置14によって投影されたデータのフレームから3D畳み込みブロックを形成する。要約すると、第1のセンサー・ディスプレイ装置14からのデータのフレームは、フーリエ面内の一連のフィルタによってラジアル変調装置20によって乗算され、第2のセンサー・ディスプレイ装置26のメモリ内に3D畳み込みブロックを構築するシーケンスで、第2のセンサー・ディスプレイ装置26によって加算される。3D畳み込みブロック内のデータの畳み込みフレームの全てについて画素値の全てを格納するのに十分なメモリ容量を仮定して、データの任意の数のこのような畳み込みフレームを3D畳み込みブロック内に蓄積することができる。その3D畳み込みブロックは、ニューラルネットワークにおける第1のレベルと考えることができる。
【0051】
次の畳み込みブロック又はレベルについては、第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26は、機能を入れ替える。第2のセンサー・ディスプレイ装置26のメモリ内の3D畳み込みブロックは、次の畳み込みシーケンスのためのデータのフレームとなる。例えば、第2のセンサー・ディスプレイ装置26のメモリ内の3D畳み込みブロック内に蓄積された各畳み込みフレームのデータは、第2のフーリエ変換レンズ28を介して第2のセンサー・ディスプレイ装置26によってラジアル変調装置20に投影され、そこでフィルタによって乗算され、第1のセンサー・ディスプレイ装置14に反射される。第1のセンサー・ディスプレイ装置14は第1のセンサー・ディスプレイ装置14のメモリ内に次の3D畳み込みブロックを構築するために、そのような畳み込み及び加算されたデータのフレームのシリーズを検出し、加算する。
【0052】
このプロセスサイクルは、図5に概略的に示されている。
【0053】
これらの畳み込み処理は、第1のセンサー・ディスプレイ装置14と第2のセンサー・ディスプレイ装置26との間で前後に(又は相互に)投影されるデータのフレームを、任意の畳み込みニューラルネットワークアーキテクチャに対して必要な回数だけ繰り返すことができる。後続のサイクルでより多くのフィルタが適用されると、以下により詳細に説明するように、各画素検出からの蓄積電荷を個々のメモリセルに給電する代わりに、複数の画素検出からの蓄積電荷を1つのメモリセルに給電することによって、畳み込みをプールすることができる。したがって、多くの抽象化レベルを有する畳み込みニューラルネットワークを、例示的なフォトニックニューラルネットワーク10を用いて開発することができる。
【0054】
例示的なラジアル変調器デバイス20の正面図が図3に示され、例示的なラジアル変調器デバイス20の例示的なセグメント光変調器要素40の拡大図を有する例示的なラジアル変調器デバイス20の中心部分の斜視図が図4に示されている。ラジアル変調器デバイス20は複数の光変調ウェッジセグメント32(楔形セグメント)を備える光学活性領域30を有し、その各々は、それぞれのウェッジセグメント32に入射する光を変調するように独立して作動可能である。図2図3、及び図4に示す例のラジアル変調装置20では、ウェッジセグメント32が複数のウェッジセクタ34にまとめられており、各ウェッジセクタは中心コンポーネント36から半径方向外側に延びており、それらが一緒になってラジアル変調装置20の光学活性領域30を形成している。図3および図4では図面の混乱を避けるために、ウェッジセグメント32およびセクタ34のいくつかのみにこれらの符号を付しているが、この図ではウェッジセグメント32およびウェッジセクタ34のすべてが例示的なラジアル変調器デバイス20内のどこに位置するかを当業者は理解するのであろう。図3及び図4に示す例のラジアル変調装置20ではウェッジセグメント32が円形の光学活性領域30を形成するように配置されているが、他の形状を使用することもできる。
【0055】
上述したように、ウェッジセグメント32の各々は、各ウェッジセグメント32をアクティブ化して光を透過させるか、光を遮断するか、または完全な透過と遮断との間で光の透過を変調することができるという意味で、光学的に活性である。したがって、光学活性領域30に入射する光のビームまたはフィールドは、1つまたは複数のウェッジセグメント32の任意の組み合わせで変調することができる。空間光変調器は、多くの方法で光を変調するように設計、製造することができる。例えば、2006年9月5日にRikk Crillに対して発行された米国特許第7,103,223号は、図2及び図3のラジアル変調装置20と同様のラジアル空間光変調装置において、ウェッジセグメントを変調するための複屈折液晶材料の使用を例示している。Zhangらの論文「Active meta surface modulator with electro-optic polymer using bimodal plasmonic resonance」、Optics Express、第25巻、第24号、2017年11月17日)は光を変調し、超薄表面法線用途に適した電気光学ポリマーを有する電気的に同調可能な金属格子を記載している。例示の放射状モジュレータ装置20における光学活性ウェッジセグメント32のための金属格子構造42を有する例示のセグメント光変調器40として使用するために形作られてこのようなメタ表面光モジュレータ素子が図4に示されている。格子構造42は全て基板50上に構築された底部金属(例えば、Au)レイヤー46と交差指状の頂部薄膜金属(例えば、Au)格子レイヤー48との間に挟まれた交差指状の電気光学ポリマー44を含む。回折格子42の周期は、回折が禁止されるように入射の波長よりも短い。上部金属レイヤー48の厚さは、入射光Lから電気光学ポリマー44への直接結合を排除するために表皮深さよりも大きい。底部金属レイヤー46も、ほぼ完全な反射ミラーとして動作するように、同じ厚さである。本質的に、光Lはメタ表面光モジュレータ素子40の頂部に入り、ポーリング電圧(poling voltage)45の印加によって周期的にポーリングされる電気光学ポリマー44内で位相シフトされ、底部金属レイヤー46から反射し、その第2(すなわち、反射)通過の間にさらに位相シフトされ、90度回転された光の偏光とともに上面から出る。実施例のラジアル変調装置20における他のウェッジセグメント32は同じ種類の光変調素子40を有することができるが、各々の特定のウェッジセグメント32に適合しかつ実質的に充足するように寸法及び形状が決められている。中心コンポーネント36はまた、光変調素子40を有することができる。
【0056】
図2図7に示し、上述したように、例えばラジアル変調装置20は反射装置であり、ここで、入射光は、ウェッジセグメント32によって変調され、反射される。しかしながら、ラジアル変調器は代わりに、入射光が変調され、ラジアル変調器を通って伝送される透過装置であってもよい。もちろん、光学構成要素、例えばセンサー・ディスプレイ装置、レンズ、および偏光子の位置はそれぞれの光学構成要素に適切なシーケンスで光フィールドをルーティングするために再配置されなければならないが、当業者は上述の例示的なフォトニックニューラルネットワーク10に精通すれば、そのような再配置を行う方法を理解するであろう。
【0057】
図3および図4に示されるように、かつ簡単に上述されるように、光学的に活性なウェッジセグメント32は、丸い中心コンポーネント36から光学的に活性な領域30の周囲に半径方向に延在する複数のウェッジセクタ34にグループ化される。また、ウェッジセグメント32は、中心コンポーネント36の周囲に同心円状のリング状に配置されている。最も内側の同心円状リング以外のウェッジセグメント32の各同心円状リングは直ぐに隣接する内側リングの外半径の2倍の外半径を有し、これはフーリエ変換におけるスケール分布に一致する。従って、ウェッジセクタ34内の半径方向外側に続くウェッジセグメント32の各々は、直前のウェッジセグメント32の2倍の長さである。画像のフーリエ変換面上でフィルタとして機能するラジアル変調器の詳細な説明は例えば、2006年9月5日にRikk Crillに発行された米国特許第7,103,223号に見ることができる。ここでは空間ドメイン内のより高い空間周波数形状コンテンツからの光エネルギーがより低い空間周波数コンテンツからの光エネルギーよりもフーリエ変換面で半径方向外側に分散され、一方、より高い空間周波数形状コンテンツから及びより低い空間周波数コンテンツからの光エネルギーの角度配向および強度は画像のフーリエ変換において保存されると言うのが十分である。したがって、フーリエ変換面内のフーリエ変換画像の中心(光軸)から特定の角度配向で、かつ特定の半径距離で配置された特定のウェッジセグメント32によって伝達(又は、透過)された光エネルギーは投影において逆フーリエ変換されて、特定のウェッジセグメント32と同じ角度配向を有する元の画像からの形状コンテンツ(形状コンテンツ)(特徴)、及び、そのような光エネルギーがフーリエ変換面内で分散された半径方向の広がりに対応する範囲内の空間周波数を有するその角度配向の形状コンテンツ(特徴)のみを表示するように逆フーリエ変換される。空間領域に戻ったこれらの逆フーリエ変換された特徴(形状コンテンツ)の光強度(明るさ)はこれらの特徴(形状コンテンツ)が元の画像において有していた光強度(明るさ)に対応し、これらは元の画像におけるものと同じ位置にある。もちろん、フーリエ変換面内の特定のウェッジセグメント32によって遮断されて透過されないオリジナル画像の光エネルギーに含まれる形状コンテンツ(特徴)は、逆フーリエ変換画像において空間領域に戻って欠落することになる。また、フーリエ変換面内の特定のウェッジセグメント32によって、部分的にのみ遮断され、したがって部分的に透過される光エネルギで構成される形状コンテンツ(特徴)は上述のように、同じ角度配向および特定の空間周波数を有する空間領域に逆フーリエ変換され、しかし、強度(輝度)が低下する。(又は、また、フーリエ変換面内の特定のウェッジセグメント32によって、部分的にのみ遮断され、したがって部分的に透過される光エネルギで構成される形状コンテンツ(特徴)は上述のように、同じ角度配向および特定の空間周波数で空間領域に逆フーリエ変換され、しかし、強度(輝度)が低下する。)したがって、上記で説明し、以下でより詳細に説明するように、元の画像の形状コンテンツ(特徴)の一部が完全または部分強度(明るさ)で逆フーリエ変換画像に保存され、形状コンテンツ(特徴)の一部が逆フーリエ変換画像で部分的に又は完全に削除された、空間領域に戻った逆フーリエ変換画像は図5に示すように、ニューラルネットワークの3D畳み込みブロックの構築で検出され使用される畳み込み画像である。
【0058】
したがって、図5を参照すると、第1のフィルタ54がデータインターフェース24を介して放射状変調装置20にロードされ、これにより、ウェッジセグメント32が第1のフィルタ54によって設定されるパターンで光を遮断し、または、光を完全にまたは部分的に透過させるように設定される。例えば、LEGO(登録商標)玩具構成ブロック52の山の画像を含むデータの第1のフレームがデータインターフェース22を介して第1のセンサー・ディスプレイ装置14にロードされ、したがって、第1のセンサー・ディスプレイ装置14内の表示構成要素(図5には示されていない)は図5に見られるように、LEGO(登録商標)玩具構成ブロック52の画像を含むデータのフレームを表示するように設定される。レーザー照射13は本質的には第1のフーリエ変換レンズ16を通して及び偏光器18を通してデータ50のフレームを放射状変調器装置20に照射する第1のセンサー・ディスプレイ装置14上に向けられ、これは図6にも示されるように第1のフーリエ変換レンズ16から焦点距離Fl、すなわち、第1のフーリエ変換レンズ16の焦点面内に配置される。フーリエ変換レンズ16は像50を含む光フィールド15をラジアル変調装置20の表面上の焦点に集める。LEGO(登録商標)玩具構成ブロック52の画像を含むデータ50のフレームはフーリエ変換領域においてラジアル変調装置20のウェッジセグメント32によってフィルタで畳み込まれ、これは、上で説明したように、いくつかの光を完全にまたは部分的に反射するか、または画像を構成するいくつかの光を遮断する。ウェッジセグメント32は反射光を位相シフトし、したがって、偏光を回転させ、その結果、ラジアル変調装置20によって反射された光は反射光フィールド56によって示されるように、偏光子18によって第2のセンサー・ディスプレイ装置26に反射される。したがって、上で説明したように、LEGO(登録商標)玩具構築ブロック52の画像のデータ50の元のフレームの幾つかの形状コンテンツ(特徴)は図5に示すように、第2のセンサー・ディスプレイ装置26に入射する畳み込み画像において欠けているか、またはそれほど強くない、すなわちフィルタ除去されている。その畳み込みデータ(画像)のフレームは、第2のセンサー・ディスプレイ装置26で検出され、第2のセンサー・ディスプレイ装置26で幾つかの後続の畳み込み画像と加算されて、第1の畳み込み加算データフレーム(画像)58を形成する。第1の畳み込み加算されたデータフレーム(画像)58は図5に概略的に示されるように、3D畳み込みブロック6を構築するために、後続の畳み込み加算されたデータフレーム(画像)との累算のためにメモリバンクに転送され得る。
【0059】
次いで、第2のセンサー・ディスプレイ装置26と第1のセンサー・ディスプレイ装置14とは、上述したように役割を入れ替えて、第2のセンサー・ディスプレイ装置26が表示モードになり、第1のセンサー・ディスプレイ装置14がセンサーモードになる。第2のセンサー・ディスプレイ装置26を表示モードにすると、次いで、第1の畳み込み及び加算されたデータフレーム(画像)58が図7に概略的に示すように、第2のセンサー・ディスプレイ装置26によって放射状変調装置20に投影され、そこで、追加のフィルタで畳み込まれ、次いで、放射状変調装置20によって反射されて第1のセンサー・ディスプレイ装置14に戻る。この役割の入れ替えは、図7に図式的に示されており、第2のセンサー・ディスプレイ装置26は表示モードに切り替わり、第1のセンサー・ディスプレイ装置14はセンサーモードに切り替わる。表示モードでは、第2のセンサー・ディスプレイ装置26の表示構成要素がその第1の畳み込み及び加算されたデータフレーム(画像)58を表示するようにプログラムされる。従って、第2のセンサー・ディスプレイ装置26上のレーザー照射60は第1の畳み込み及び加算されたデータのフレーム(画像)58を第2の光学軸62に沿って第2のフーリエ変換レンズ28を通って偏光子18に照射し、これは、第1の光学軸61に沿って光フィールド64をラジアル変調装置20に反射する。第2光軸62及び第1光軸61に沿った第2フーリエ変換レンズ28とラジアル変調装置20との光学距離は、第2フーリエ変換レンズ28の焦点距離と等しい。したがって、フーリエ変換面におけるラジアル変調装置20における光フィールド64は、第1の畳み込み加算されたデータフレーム(画像)58のフーリエ変換である。ラジアル変調装置20は第1の畳み込み及び加算されたデータフレームのフーリエ変換にフィルタを適用して、第2の畳み込みをデータフレームに提供し、上述したように、位相シフトを伴ってそれを反射して、第1の光学軸61に沿って第1のセンサー・ディスプレイ装置14に伝搬する。第1のセンサー・ディスプレイ装置14は、今度は上述したように検出器の交換された役割において、ラジアル変調装置20によって適用されるフィルタによって畳み込まれたデータのフレーム(画像)を検出する。次いで、第1のセンサー・ディスプレイ装置14によって検出されたデータ(画像)の畳み込みフレームは第1のセンサー・ディスプレイ装置14によって、第1のセンサー・ディテクション装置14によって引き続いて検出されたデータ(画像)の他のいくつかの畳み込みフレームと加算され、このような畳み込み加算されたデータ(画像)のフレームはメモリバンクに転送され、第2の3D畳み込みブロック66を構築するために使用され、これは図に図式的に示されている。
【0060】
次に、第1および第2のセンサー・ディスプレイ装置14、26の役割が再び交換され、第1のセンサー・ディスプレイ装置14によって感知され合計されたデータの畳み込みおよび合計フレームが、上述したのと同じ方法でシステムを通して逆投影され、ラジアル変調器装置20によって畳み込まれ、次いで第2のセンサー・ディスプレイ26によって検出され、合計されて、第1の3D畳み込みブロック65を構築し続け、システムを通して送り返されて、追加のフィルタおよび合計で畳み込まれて、第2の3D畳み込みバンク66を構築し続ける。このプロセスはより深く、より深い畳み込みを構築するために、または推論ニューラルネットワークが完了するまで、所望の回数だけ繰り返される。
【0061】
第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26は各々、以下でより詳細に説明するように、3D畳み込みブロック65、66及びその後の畳み込みブロックを構築するために、引き続いて受け取られた畳み込みフレームのデータ(画像)を受け取り且つ合計するデータ(画像)の畳み込みフレームを記憶するためのメモリバンクを有することができる。したがって、システムにロードされるデータ(画像)の最初のフレームを除いて、データの入力フレームは、前の畳み込みサイクルからセンサー・ディスプレイ装置14、26の1つのメモリバンクに常に常駐することができる。一連のフィルタ68はデータ(画像)のフレームのフィルタでの畳み込みのために、それぞれの第1及び第2のセンサー・ディスプレイ装置14,26によってデータ(画像)のフレームの表示と同期して放射状変調装置20内にロードされる。
【0062】
フーリエ変換領域で光学的に計算されたことを除いて、このフォトニックニューラルネットワークシステム10での畳み込みは、伝統的なデジタル方法によって計算される畳み込みと同じである。しかしながら、以下でより詳細に説明するように、全てのデータ要素がサイクルの次の畳み込み段階のための理想的な位置にあるアーキテクチャで光速で処理される任意の解像度における全フレーム並列性はほぼ100パーセントの効率であり、従って、上述のように、且つ以下により詳細に説明するように、実施例のフォトニックニューラルネットワークシステム10で畳み込みブロックを構築することは、伝統的なデジタル方法によって計算される畳み込みよりもはるかに多くのパワー及び速度を提供する。
【0063】
上述したように、第1および第2のセンサー・ディスプレイ装置14、26の各々は、画素単位で、光検出および画像表示の両方の能力を有する。この例ではフォトニックニューラルネットワークシステム10において、第1のセンサー・ディスプレイ装置14及び第2のセンサー・ディスプレイ装置26は互いに本質的に同じ構成要素及び構造を有しているので、それらの装置の詳細は主として第1のセンサー・ディスプレイ装置14を参照して後述されるが、そのような詳細も第2のセンサー・ディスプレイ装置26を表すものであることを理解する。したがって、以下の説明では、第1のセンサー・ディスプレイ装置14を単にセンサー・ディスプレイ装置14と呼ぶことがある。一例のセンサー・ディスプレイ装置14の機能ブロック図が図8に示され、送受信モジュール(送信・受信モジュール)82のアレイ80を備え、その各々は以下により詳細に説明されるように、光透過および光検出素子およびメモリバンクを有する。アレイ80内の送受信モジュール82のための行および列制御、ならびに外部制御回路(図8には図示せず)への混合アナログおよびデジタルインターフェース24が、入出力データのために提供され、これについては以下でより詳細に説明する。図9に図式的に示されたアレイ80の拡大部分はアレイ80内の送受信モジュール82の例を図示し、例示の送受信モジュール82のさらなる拡大図形的表現は図10に示されている。例示の送受信モジュール82の各々がマイクロ光送信器要素84とマイクロ光検出器(センサー)要素86の両方を含み、これらは、送受信モジュール82が典型的な計算畳み込みからの典型的な計算畳み込みからのニューラルネットワーク結果と少なくとも同程度に有用なニューラルネットワーク結果、およびコンピュータアルゴリズムによる処理と同様に、十分な解像度で、画像またはデータのフレームの実質的に同じ画素位置で光の送信器および光の受信器として有効に機能するために、十分に小さく、かつ互いに十分に近接している。例えば、代表的なフォトニックニューラルネットワークシステム10を用いたニューラルネットワークが典型的な計算畳み込みおよびコンピュータアルゴリズムによる処理からのニューラルネットワークの結果と同様に有用な結果を生じるには、マイクロ光送信素子84およびマイクロ光検出素子86は、互いに40マイクロメートル以下だけオフセットされ得、両方とも、160平方マイクロメートル以下の面積を有する送受信モジュール82内に適合され得る。
【0064】
図10に最もよく示されているように、光送信器要素84および光センサーまたは光受信器検出器要素86に加えて、例示的な送受信モジュール82は、変調器ドライバ88、メモリバンク90、メモリインターフェース92、アナログおよびデジタル制御要素94、アレイ80内の隣接する送受信モジュール82とのプーリング接続を行うためのプーリング接続96、プーリング制御要素98、およびセンス増幅器100を有する。表示モードでは、例えば、第1のセンサー・ディスプレイ装置14(図2図5、および図6が上述したように、ラジアル変調器20に1フレームのデータ(画像)を投影すると、図2図5、および図6に示すように、レーザー照射が送受信モジュール82の背面に向けられる。データ(画像)の最初のフレームは、データ(画像)のフレームの各画素に対する画素値から構成される。これらの画素値は、レーザー照射13(図2図5、および図6参照)の光フィールド15内にデータ(画像)の第1のフレームを生成するパターンでアレイ80図8~10)のそれぞれの送受信モジュール82に供給される。図10に示すように、送受信モジュール82の個々の1つに対して、画素値はアナログおよびデジタル制御エレメント94に供給され、これにより、画素値が変調器ドライバ88にシフトされる。変調器ドライバ88はピクセル値に従って光送信器素子84図10上の電圧を変調して、アレイ80(図8~10)の他の送受信モジュール82の他の光送信器素子84がそれぞれのピクセルの光を伝送すると同時にレーザー照射13(図2図5、および図6のピクセルを伝送する方法で光送信器素子84に入射されるレーザー照射を変調し、これが一緒になって、アレイ80を透過するレーザー光フィールド15(図2図5、および図6にデータのフレーム(画像)を課す。データ(画像)の最初のフレームが第1のセンサー・ディスプレイ装置14によって送信され、畳み込まれたデータ(画像)のフレームが第1のセンサー・ディスプレイ装置14に戻された後、その畳み込まれたデータ(画像)のフレームを含む光フィールドが第1のセンサー・ディスプレイ装置14のアレイ80内のすべての送受信モジュール82のセンサー86に入射される。従って、アレイ80内の各送受信モジュール82上のセンサー86は入射光フィールドの画素を検出し、従って、入射光フィールドによって構成される(又は、入射光フィールドに含まれる)データ(又は日付)のフレーム(画像)の画素を検出する。当業者は光センサー、例えば電荷結合素子(CCD)がどのように構成され機能するかを理解し、そのような光センサーまたは同様の光センサーをセンサー86に使用することができる。本質的に、各光センサーは光子内のエネルギーの大部分を吸収し、入射光強度に比例する電荷を生成し、その電荷を容量性構成要素内に蓄積することによって、入射光子に応答する光感知フォトダイオードまたは容量性構成要素を有する。光がセンサーに入射する時間が長いほど、容量性構成要素に電荷が蓄積される。したがって、各センサー86に入射する光エネルギーの画素は電荷をそのセンサー86内に構築させ、電荷の大きさはその画素内の入射光の強度およびその画素内の光がセンサー86に入射される時間に比例する。
【0065】
上述したように、一連の畳み込まれたフレームのデータ(画像)がセンサー・ディスプレイ装置14に送信され、これによって受信される場合、データ(画像)の連続した(シーケンスの)フレームを含む連続した光フィールドの光エネルギー(光子)はセンサー86内に電荷を生じさせるので、個々のセンサー86によって感知された連続した光フィールドからの光フィールドエネルギーの連続した画素を蓄積することができ、すなわち、その個々のセンサー86の容量性成分に加えることができ、それによって、その特定の画素位置における光フィールドのシーケンスからの光エネルギーの和であるセンサー86内に蓄積された電荷が生じる。従って、センサー・ディスプレイ装置14によって受信されたデータ(画像)の畳み込みフレームのシーケンスは、センサー・ディスプレイ装置14の送受信モジュール82のアレイ80によってピクセル毎に感知され、加算される。次に、上述したように、データ(画像)の所定数の個々の畳み込みフレームが受信され、合計されると、各個々の送受信モジュール82のセンサー86に蓄積された(合計された)電荷は、その個々の送受信モジュール82のメモリバンク90にシフトされる。センサー86に蓄積された(加算された)電荷をメモリバンク90にシフトする同じ動作が、アレイ80内のすべての送受信モジュール82で同時に行われる。したがって、そのシフト動作の実行時に、送受信モジュール82のアレイ80は、データ(画像)の入力フレームのその一連または連続した畳み込みおよび加算から生じるデータ(画像)の完全な畳み込みおよび加算されたフレームを送受信モジュール82の個々のメモリバンク90に格納している。図10を参照すると、その特定の送受信モジュール82の画素位置の、その最初の(又は、第1の)畳み込まれ、合計されたデータ(画像)のフレームに対する画素値は、センサー86から第1のメモリセル102にシフトされる。したがって、アレイ80のすべての送受信モジュール82のメモリバンク90内のすべての第1のメモリセル102の合成は、ピクセルごとでのデータ(画像)の畳み込み加算フレームを含む。
【0066】
次いで、上述のように、データ(画像)のフレームの後続の第2のシリーズまたはシーケンスが畳み込み加算されると、結果として得られる第2の畳み込み加算されたデータ(画像)のフレームのその画素に対するセンサー86内に蓄積された電荷は、第1の畳み込み加算されたデータ(画像)のその画素からの電荷がメモリ90の第2のメモリセル104に同時にシフトされるにつれて、第1のメモリセル102内にシフトされる。当業者はそのようなシフトレジスタメモリがどのように作られ、動作されるかを理解するので、詳細な説明はこの説明の目的のために必要ではない。この同じプロセスは、アレイ80内の他の送受信モジュール82内で同時に発生する。したがって、アレイ80のすべての送受信モジュール82のメモリバンク90内のすべての第1および第2のメモリセル102、104の合成は、ピクセルごとにデータ(画像)の第1および第2の畳み込み加算フレームを含む。
【0067】
データ(画像)のフレームのより多くの後続のシリーズまたはシーケンスが上述のように畳み込まれ合計されるにつれて、そのようなデータ(画像)の順次(又は、シーケンスで)畳み込まれ合計されたフレームの合計された画素値は第1のメモリセル102に順次シフトされ、一方、各先行する画素値はメモリバンク90のメモリセルに沿ってさらにシフトされ、そのプロセスは上述のようにアレイ80の送受信モジュール82のすべてにおいて同時に行われる。従って、畳み込み及び加算の一連又はシーケンスの全てからのデータ(画像)のこのような畳み込み及び加算されたフレームの全ては、送受信モジュール82のアレイ80内のメモリバンク90のメモリセル内に画素毎に記憶される。データ(画像)のこのような畳み込み及び加算されたフレームの各々は畳み込みと呼ばれることがあり、従って、送受信モジュール82のアレイ80は、送受信モジュール82の個々のメモリバンク90内に個々のメモリセルが存在するのと同じ数の畳み込みを画素毎に保持することができる。例えば、図9および図10に概略的に示される例示的な送受信モジュール82は、それぞれ、64個の個々のメモリセル102、104、...、nから構成されるメモリバンク90を有する。従って、送受信モジュール82の例示的なアレイ80はフル解像度でピクセル毎に、64回ものフレームのデータ(画像)を保持することができる。送受信モジュール82(図1参照)内の光送信素子84および光センサー素子86が以下でより詳細に説明するように、隣接する送受信モジュール82の光送信素子84および光センサー素子86と共にプールされると、プールされたグループ内の光送信素子84および光センサー素子86のすべてが、データ(画像)のフレームのより粗い表現のために同じ輝度を表示する。このようなプーリング条件下では、プールされたグループ内の送受信モジュール82のメモリバンク90を順次使用して、プールされたグループ全体の送受信モジュール82について感知され、合計された結果を保存することができ、それによって、実効メモリ容量および深さを増大させることができる。例えば、64個のメモリセルを含むメモリバンク90をそれぞれ有する送受信モジュール82が5×5グループにプールされる場合、すなわち、グループ当たり25個の送受信モジュール82がプールされる場合、各グループの実効メモリ容量または深さは、1,600個のメモリセル(64×25=1,600)である。したがって、データ(画像)の順次の畳み込み加算フレームは最初に、その送受信モジュール82のメモリバンク90が満たされるまでグループ内の送受信モジュール82の1つに供給され、次に、さらなる順次畳み込み加算されたデータ(画像)のフレームはその第2の送受信デバイス82のメモリバンク90も満たされるまでグループ内の第2の送受信モジュール82に供給され、次に、グループ内の残りの送受信モジュール82のそれぞれのメモリバンク90を順次満たし続けることができる。グループ内のすべての伝送モジュール82のメモリバンク90が満たされる場合、メモリ内の畳み込みのそのブロックは、1,600の深さになる。アレイ80内の送受信モジュール82のメモリ90内の畳み込みの集約は例えば、図5に図式的に示す3D畳み込みブロック65である。このような畳み込みの所望の数が最後の3D畳み込みブロックのためにアレイ内に蓄積されると、センサー・ディスプレイ装置14による送信のために、ピクセル毎にメモリバンク90から読み出され、プロセスの終了時に電子データインターフェース22を通して戻され、ニューラルネットワーク結果を出力することができる。
【0068】
しかしながら、例のフォトニックニューラルネットワークシステム10を用いてデータのフレームを繰り返しさらに畳み込み、加算するディープラーニングプロセスの間、最も最近に形成された畳み込みブロックの画素値は、個々の送受信モジュール82内の個々のメモリバンク90のメモリセル内に依然として存在することを繰り返すことが重要である。したがって、センサー・ディスプレイ装置14が、畳み込みブロックが送受信モジュール82のメモリ90内に蓄積されるセンサーモードから、より深い畳み込み処理のためにその畳み込みブロックがシステム10の光学コンポーネントを介して送信され戻される表示モードに切り替わると、畳み込みブロックを有する(又は畳み込みブロックを構成する)データ(画像)の畳み込みフレームおよび合計フレームのそれぞれに対する画素値を、メモリ90のメモリセル102、104,...,nから外部コンピュータ処理、メモリ、および他の構成要素または機能への、またはそれらからのデータのさらなる処理および転送なしに、変調器ドライバ88へ直接読み出す(シフトする)ことができる。代わりに、センサーモードから表示モードに切り換えると、畳み込みブロックを有する(又は畳み込みブロックを構成する)データ(画像)の個々のフレームの画素値がメモリ90から直接変調器ドライバ88に順次読み出され(シフトされ)、これにより、光送信器素子84が、その畳み込みサイクルでさらに畳み込まれるべきデータ(画像)のフレームの画素値を光フィールドに書き込む(課す)方法で、送受信モジュール82に入射されるレーザー光を変調するように駆動される。従って、アレイ80内の送受信モジュール82の全てが同時に表示モードに切り替わり、それらの各々における画素値がレーザー光フィールド内に書き込まれる(課される)ので、センサー・ディスプレイ装置14によって送信される光フィールド内のそれらの画素値の合成は、アレイ80内の送受信モジュール82のメモリバンク90内に加算され記憶されたデータ(画像)の先に畳み込まれたフレームを複製する。
先に畳み込まれ、合計されたデータのフレーム(画像)を有する光フィールドがフーリエ変換レンズ16を通して、フーリエ変換面内のフィルタでの更なる畳み込みのためにラジアル変調器20に投影され、次いで、先に説明したように、他の(例えば、第2の)センサー・ディスプレイ装置26で検出される。
【0069】
また、上で説明したように、これらの畳み込みおよび加算プロセスは、多くのフィルタを有する多くのサイクルを経て何度も繰り返される。また、第1のセンサー・ディスプレイ装置14および第2のセンサー・ディスプレイ装置は第1のセンサー・ディスプレイ装置14の送受信モジュール82が第2のセンサー・ディスプレイ装置26の対応する送受信モジュール82と光学的に整列するように、それぞれの光軸61、62上に整列され(図2図6、および図7参照)、その結果、対応する送受信モジュール間を含む、第1および第2のセンサー・ディスプレイ装置14、26のそれぞれのアレイ80間に完全な光学的位置合わせが存在する。従って、例示のフォトニックニューラルネットワーク10は、光速度でフルフレームのフル解像度の完全並列畳み込みを行う。利得、しきい値(ReLU)、最大または平均プーリング、および他の機能などの他の効果は以下でより詳細に説明するように、専用回路で同時に実行され、これらの効果は、追加の時間遅延を呈さない。例えば、VGG16またはInception-Resnet-v2を含む、事実上任意の畳み込みニューラルネットワークアーキテクチャを収容することができる。全ての処理はセンサー・ディスプレイ装置14、26上で完全に行われ、データ(画像)のフレームをこれらの装置に再配置したり、これらの装置から再配置したりすることはない。推論動作では、ユーザアプリケーションは画像をロードし、数マイクロ秒後に結果を受け入れるだけでよい。
【0070】
送受信モジュール82内のマイクロ光送信器要素84は、光を放射または変調する任意の光変調器デバイスとすることができる。上述の例示的なフォトニックニューラルネットシステム10の説明は、光が光送信器要素を透過することを可能にするか、または抑制することによって光送信器要素の背面に入射するレーザー光を変調する光送信器要素84を含む。しかしながら、光送信器要素84は入射光を変調し、それを反射する反射光変調器デバイスに置き換えることができ、これは、光が反射される光送信器要素の同じ表面にレーザー照射が入射することを必要とし、かつ、上述したフォトニックニューラルネットワークの例を理解するようになった後で当業者に理解されるように、光学要素の再配置を必要とするのであろう。別の代替案として、光送信器要素84を発光器で置き換えることができ、これにより、レーザー光フィールドが背面に入射し、及び変調器を通過することが不要になる。
【0071】
一例の光送信器要素84が図11に示されており、これは、図4に示され、上述されたメタ表面光変調器要素40と同様の入射光の位相変調を行う。しかしながら、図11のこの例の光送信器要素84は図4の光反射要素の代わりに光透過要素であるので、最下部の金属レイヤー46は頂部電極48のように交差するように格子構造の間に空隙が生じ、その結果、入射光Lは電気光学ポリマー44によって位相変調されて、電気光学ポリマー44によって遮断されるか、又は格子構造42を通過することが可能である。基板50は、光Lに対して透明である。ポーリング電圧45は上述したように、光フィールドLで課される画素値に従って、送受信モジュール82の変調器ドライバ88によって駆動される。このような透過型光変調器のさらなる詳細はKosugiらの論文「Surface-normal electro-optic-polymer modulator with silicon subwavelength grating」、IEICE Electronics Express、第13巻、第17号、1~9頁、2016年9月10日に見る。
【0072】
送受信モジュール82の背面は光が光送信素子84に到達して通過することを可能にする開口を除いて、送受信モジュール82の背面上のレーザー照射が送受信モジュール82を透過するのを阻止するために、背面を覆う不透明なカバーまたはマスク(図示せず)を有する。フーリエ変換レンズ16及びフーリエ変換レンズ16の前方の光をコリメートするファイバーフェースプレートを含む光学部品は、第1のセンサー・ディスプレイ装置14の前面に接合することができる。同様に、フーリエ変換レンズ28とファイバーフェースプレートとを第2のセンサー・ディスプレイ装置26の前面に接着することができる。
【0073】
ここで図1を参照すると、フォトニック畳み込みアセンブリ12の第1および第2のセンサー・ディスプレイ装置14、26およびラジアル変調器デバイス20に加えて、例示的なフォトニックニューラルネットワークシステム10は例えば、(i)ラジアル変調器デバイス20を駆動するためのパルス出力を実施する回路ブロック110と、(ii)デジタルデータが第1および第2のセンサー・ディスプレイ装置14、26にロードされ、そこから受信される高速アナログ-デジタル回路ブロック112と、高帯域幅メモリ(HBM2)114と、他のシステムコンポーネントのための基本的な制御およびインターフェースデバイスであるフィールドプログラマブルゲートアレイ(FPGA)116とを含む、外部制御コンポーネントも含む。HBM2114は、フィルタ、状態機械ステップ、および画像データのための記憶装置を提供する。回路ブロック110、HBM2114、およびFPGA116はマルチチップモジュール(MCM)118上にあり、システム10へのユーザインターフェースは、名目上、PCI-Expressバス120を介している。
【0074】
フィールド・プログラマブル・ゲートアレイ(FPGA)116と第1のセンサー・ディスプレイ装置14との間の例示的なシステム・インターフェース122の機能ブロック図が図12に示されており、図12の機能ブロック図は、FPGA116と第2のセンサー・ディスプレイ装置26との間のシステム・インターフェースの代表でもある。図面における便宜上及び簡潔さのために、図面及び回路ブロック110出力回路装置111(図1のための関連する説明において、センサー・ディスプレイ装置14、26図1図2図5-7、図10のために任意の用語「Sensay」(センサー及びディスプレイの略語)や任意の用語「RedFive」が時々使用される。便宜上及び簡潔さのために、送受信モジュール82図8~10)は、「Trixel」と呼ばれることがある。(「Trixel」が「送信・受信ピクセル」の略語である。)
【0075】
RedFives111のいくつかは、センサー・メモリバンク90をロードするためにアナログ・データを生成する役割を果たす。これらのRedFives 111は、HBM2114がFPGA116によって管理される状態マシンソースであるため、メモリモジュール(HBM2)114を介してインターフェースされる。アナログおよびデジタル入出力(I/O)は、フィードバックループの制御に使用されるため、FPGA116を介してインターフェースされる。いくつかの未使用ビットは、同期のためのステータスフラグとしてFPGA116にラップバックされる。Sensay Digital 14、26I/OはRedFives111のいくつかと同じメモリラインを使用するが、それらは同時にアクセスされないので、メモリラインのこの二重使用は競合ではない。また、RedFives111からの出力アナログラインのいくつかは、ADC112への入力アナログラインとして共有される。データを読み取り、それをFPGA116に渡すために使用されるADC112の数は実装に依存する。
【0076】
センサー・ディスプレイ装置(Sensay)14、26の外部インターフェース図8参照)の機能ブロック図が図13に示されている。図13では、「Sx」が「Sensay A」14または「Sensay B」26の前に付けられている(Sensay14、26のいずれかに関連する信号を区別するためにシステムを論じる場合,図8のデジタル入力線は3つの一般的なカテゴリにグループ化することができる。行および列制御はSensay内のラッチのセットをロードする(図14参照)。グローバル制御ライン(又は、行)は種々の機能を有し、その各々は、使用の文脈で説明される。グローバル行は、行または列に沿ってルーティングできる。グローバル制御ラインはすべての送受信モジュール(trixels)82へルーティングし、特定の列または行に固有ではない。
【0077】
SxPeakresetは、外部ゲインコントロールに使用されるアナログピークホールド回路をリセットする。この信号は非同期であるが、データ競合を回避するために、SxFreezeがアサートされるときにのみアサートされるべきである(1)。
【0078】
図13SxSnsresetは、センサー86(図10をアナログSxLevelラインのレベルにリセットする。センサー86は、電荷を蓄積するように設計されているので、予め設定されたレベルまで降下するためにこの機構を必要とする。このリセットをグローバルバイアスとして使用して、センサー86の充電レベル(したがって、次のパスのモジュレータレベル)をプリセットできる。
【0079】
SxPoolmodeは、プーリングにおける平均(1)または最大(0)動作を決定する。
【0080】
図13SxFreezeは、グローバルメモリバンク90(図10)のアクセスを有効または無効にする。アサート(1)された場合、すべてのtrixelsメモリドライブ92がセーフ状態に設定され、メモリバンク90のアクセスやシフトは許可されない。SxFreezeは、ラインが整定される前にデータの汚染を防止するために他の制御ラインを構成するときに使用される。以下の説明では、SxFreezeの機能は常に言及されるわけではなく、その動作は常に規則である。
【0081】
図13SxRWDirは、有効なメモリバンク90(図10が読み出し/書き込みを決定する。”1”に設定するとメモリバンク90にデータが書き込まれ、”0”に設定するとメモリバンク90からデータが読み出される。これはまた、センサー(光検出素子)86及び変調器(光送信素子)84の動作をゲート制御する。これはモジュレーターモード(0)またはセンサーモード(1)を表す。
【0082】
SxFlagRD、SxFlagWR、およびSxFlagRSTは、セマンティック・ラベリングに使用されるデジタルフラグ・メモリを制御する。SxFlagRSTは、全フラグ・メモリのグローバルアドレスリセットである。SxFlagRDおよびSxFlagWRは、メモリアクセスを制御する。
【0083】
SxShift0,1,2はアドレス指定されたtrixels(送信-受信モジュール)82においてのみ、シフトレジスタメモリ90の電荷を時計回り方向または反時計回り方向のいずれかに移動させるために、3相シーケンスで外部から駆動される。trixelがアドレス指定されていない場合、そのメモリドライブラインは強制的に安全な状態になり、メモリの充電には影響しない。
【0084】
SxExtemalは、SxAnalogおよびSxDataラインがアクティブ(1)であるか、またはデータ移動およびアクセスが単に内部(0)であるかを判定する。
【0085】
これらの信号の4つの組み合わせを考える:
【0086】
画像ロード:SxFreeze=0、SxRWDir=1、SxExternal=1。これは、アドレス指定されたtrixels82のメモリセルが外部SxAnalogラインからデータを取り込み、内部SxDataラインを介してtrixelsメモリバンク90に電圧を入れることを意味する。SxAnalogラインが120本あるため、このアクションは最大120ワイドまで可能である。120幅のDACセットが適切でない実装では、ラインはグループで外部接続でき、MEMRラインをシーケンスで有効にするだけで、より狭いアクセスに対応できる。実装された外部行幅に関係なく、競合を避けるために、通常は一度に1つのMEMCラインのみが有効になる(ただし、必要に応じて、同じDAC値を一度に1行全体に送信することもできる)。
【0087】
ResultSave:SxFreeze=0、SxRWDir=0、SxExternal=l。これは、アドレス指定されたtrixels82のメモリセルが外部ADCとのコンバージョンのために外部SxAnalogラインにデータを送ることを意味する。再び、これは128までの幅であり得るが、より狭い実装はSensayへの設計変更なしに適応され得る。実装された外部行幅に関係なく、競合を避けるために、一度に1つのMEMCのみが有効になる(これは、データの競合を避けるために読み取りではオプションではない)。
【0088】
Sensor Mode:SxFreeze=0、SxRWDir=l、SxExternal=0。これは、アドレス指定されたtrixels82における任意のメモリセルがセンサー86からデータを取得することを意味する(以下に説明するプーリング・チェーンを介して、またSxShiftO,1,2に関連して、メモリ値のシフトレジスタセットとして現存する電圧をシフトしながら、電圧を新しいメモリ電荷として保存する。
【0089】
変調器モード:SxFreeze=0、SxRWDir=0、SxExternal=0。これは、アドレス指定されたtrixels82の任意のメモリセルが(プーリング・チェーンを介して)変調器(光送信素子)84にデータを送り、SxShiftO,1,2との関連で、メモリ電荷のシフトレジスタセットとして現存する電圧をシフトすることを意味する。メモリ読み出しは非破壊的である。
【0090】
trixels(送受信モジュール)82のための例示的な行および列制御ラインレジスタは図14に概略的に示されている。この例では、行および列制御ラインレジスタがtrixels当たり5つの行および5つの列ラインとして配置された235個の個別にアドレス指定された静的64ビットラッチを備える。これらの出力は常にアクティブであり、電源投入時にゼロにされる。これらの行および列制御ラインは、各trixels82によって、その隣接装置に関連して自身の機能を構成するために使用される。ラッチの各々はSxControlでデータをアサートし、SxAddrで8ビットアドレスを設定し、SxLatchをパルス化することによって個別にアドレス指定される。
【0091】
trixelのメモリ90はそのMEMRおよびMEMCが共にアサートされたときに「アドレス指定された」と言われる。同様に、そのOPTCおよびOPTRが共にアサートされたときに、その光センサーは「アドレス指定された」と言われる。その他のtrixels82の機能は、そのENBRおよびENBCがデアサートされるとディスエーブルされる。trixels82を完全にディスエーブルするために、そのMEMR、MEMC、OPTR、OPTC、FLAGRおよびFLAGCもデアサートする。
【0092】
プール境界ライン86(POOLCおよびPOOLR)はtrixels82の列および行全体に影響を与え、以下でより詳細に説明するように、スーパーtrixelsの境界を定義する。最右端および最下端のラインは常にイネーブルされているので、1079POOLRおよび1919POOLCラインのみが存在する。64ビットラッチの未使用ラインは接続されていない。
【0093】
*_SLおよび*_SRラインは、立ち上がりエッジでそれぞれのレジスタを左または右にシフトする。
【0094】
SxReLUlおよびSxReLU2(図13)は、外部DACによって駆動される。それらは、全てのtrixels82に対してグローバルであり、弱い情報を除去するためにセンサー86の読み取り値に適用される。SxLevel(図13)も外部DACによって駆動される。プリセットレベルとして全てのtrixels・センサー86によって使用され、変調器駆動部88レベルにも加算され、そこで位相オフセットとして使用される。sensay(センサー・ディスプレイ装置)14または26は上述したように、いつでもセンサーまたは変調器(送信)モードにあるので、競合はない。SxPeak(図13)アナログ出力信号は、すべてのtrixels(送受信モジュール)82からの信号である。以下により詳細に説明するように、各trixels・メモリ・セルは、その最高値を共通トレースに渡す。このトレースの値はSxPeakresetが最後にアサートされてから、trixelsアレイ全体によって見られる最高のグローバル値を表す。これは、システムゲインおよび正規化のために外部回路によって使用される。
【0095】
アナログインターフェースの一例を図15に模式的に示す。SxAnalogラインは9つの隣接するSxData行をそれぞれ接続する120のトレースである。言い換えれば、内部的にSxDataOOOからSxData0008行トレースはすべて出力ピンSxAnalogOOに接続される。SxData0009~SxData0017行トレースは、すべて出力ピンSxAnalogOOlなどに接続する。すべてのSxAnalogピンは、9つの内部SxDataトレースにハードワイヤードされている。一度に1つのtrixelsメモリバンク90のみが、そのローカルトレース(外部コントローラによって強制される)を駆動または感知することが可能である。TMSがアサートされている場合、すべてのSxAnalogおよびSxDataラインが一緒に接続される。
【0096】
上述したように、制御ラインは個々に制御可能であるため、1から120幅の任意のサイズの入力または出力スキームはこれらのラインを単にSensay(センサー・ディスプレイ装置)の外部で一緒に接続し、適切なtrixels82のみをアーキテクチャと一致させることを可能にすることによって、実施することができることに留意されたい。インターフェースが広いほど、ロードおよびアンロード操作は高速になるが、より多くの外部回路が必要になる。これにより、設計を変更することなく、高度なカスタマイズが可能になる。
【0097】
例示のフォトニックニューラルネットワークシステム10におけるSensay(センサー・ディスプレイ装置)14、26アーキテクチャは、プーリング・チェーンの周囲に構築される。図9図10、および図16に示すように、アレイ80内の送受信モジュール(trixels)82の各々は図9図10、および図16が紙上に向けられるとき、その縁の2つに沿って、例えば右縁および下縁に沿って、プーリング境界ライン96を有する。すべてのセンサー、変調器、メモリ読取りまたはメモリ書込みアクセスは、プーリング・チェーンを使用して、trixels(センサー・ディスプレイ装置)82内およびその間でアナログ・データを渡す。プーリング境界ライン96の機能はプーリング・チェーンから隣接する送受信モジュール(trixels)82を接続または切断し、スーパーtrixelsまたは「アイランド」を生成することである。それぞれの隣接するtrixels82の境界ライン96へのプーリング・チェーン回路接続は、trixels82のアレイ80内の仮想位置nnnn,mmmmで、図17内の接続の拡大概略図に示されている。POOLC=0の場合、列全体の東西trixels・プーリング・チェーン接続はすべてオープンされる。POOLR=0の場合、行全体に対する南北trixelsプーリング・チェーン接続のすべてがオープンされる。全ての他のtrixelsプーリング・チェーン接続は、依然として閉じている。このプーリング構造の効果は、接続されたプーリング・チェーン・ラインのアイランドを生成することである。スーパーtrixelsアイランド上の全てのtrixelsは、本質的に単一の低インピーダンス「トレース」であるこのチェーンを共有する。POOLRがアサートされると、このtrixelsのプーリング・チェーンを接続するトランジスタが導通し、プーリング・チェーンを次の行のその南のtrixels82に接続する。POOLCがアサートされている場合、POOLCは、trixels82のためのプーリング・チェーンに東に接続する。
【0098】
上述したように、送受信モジュール(trixels)82の各々におけるメモリバンク90は本質的にシフトレジスタであり、シフトレジスタの設計および技術は、当業者によってよく理解され、容易に利用可能である。図18は、アナログ・メモリシフトドライバスキームを示す。アドレス指定され(MEMCおよびMEMRが共にアサートされ)、凍結解除された(SxFreezeがデアサートされる)場合、SxShiftO,1,2の任意の組み合わせは、アナログ・メモリセルシフトプレートを実際に駆動する出力(MemShiftO,1,2)に単に伝播する。MEMCまたはMEMRのいずれかがTrixelに対してデアサートされた場合、またはSxFreezeがアサートされた場合、アナログ・メモリドライバは自動的に安全状態に置かれる(MemShiftO、1,2=010)。
【0099】
図19は、メモリバンク90(図10)のための例示的なアナログ・メモリ読出しインターフェースの概略図である。メモリは読み出すことができ、アナログ・データは、内部SxDataラインを介して外部SxAnalogインターフェースに送られるか、または最大(ダイオード)または平均(抵抗器)回路経路のいずれかを介してプーリング・チェーン126(SxReLUより大きい場合、さもなければゼロにされる)に送られることができる。アナログ・メモリから読み出された変更されていない値はダイオード絶縁キャパシタ(サンプル&ホールド回路)を充電するためにも使用され、最終的にはセンサー・ディスプレイ・デバイス(sensay)14、26全体(システムゲイン制御のために外部で使用される)に対してSxPeak値を駆動する。これらのモードの例は、図20~24に概略的に示されている。図20は、プーリング・チェーンへのtrixelアナログ・メモリ読み出し平均を示す。図21は、プーリング・チェーンへのtrixels・アナログ・メモリ読取り最大値を示す。図22は、外部データラインに読み出されるアナログ・メモリを示す。図23は、trixelsアナログ・メモリピーク値保存を示す。図24は、アナログ・メモリピーク値リセットを示す。
【0100】
整流線形ユニット(ReLU)はしばしば、弱い応答を抑制するためにデータに適用される。第1のセンサー・ディスプレイ装置14および第2のセンサー・ディスプレイ装置26(sensay、14、26)はそれぞれ、図25に示される様々な応答をもたらすことができる柔軟なデュアル・スロープReLU実装を有し、その応答は無効果(実施例A)から従来のカットオフ(実施例B)から、可変スロープ・カットオフ(実施例C)までの範囲である。DACによって駆動される2つの外部アナログ電圧が伝達関数を制御する。感知器14、26は単極設計であるため、「ゼロ」位置は公称ではメモリバンク90の電圧範囲の中央にある。
【0101】
アナログ・メモリ90への書き込みは、読み出しよりも単純である。送受信モジュール(trixels)82のアナログ・メモリ90がアドレス指定されると(MEMCおよびMEMRの両方がアサートされ、SxRWDir=1)、ローカル・プーリング・チェーン上の値が何であれ図26に示すように書込みパッド上に置かれる。アナログ・メモリ・セル内の値を実際に保存するために、シフトラインが循環される。外部データラインからアナログ・メモリ90をロードすることが図27に示されている。
【0102】
フラグ・メモリは、セマンティック・ラベリングの実施のために使用される各送受信モジュール(trixels)82における640ビットのLIFO(Last-In-First-Out)装置(すなわち「スタック」)である。SxFlagRST=lの場合、すべての送受信モジュール(trixels)82に対して、内部アドレスポインタは無条件にゼロにセットされる。値をゼロにする必要はない。リセットを除いて、メモリは、仮想trixel位置nnnnnn,mmmmに対してFLAGRmmmm=1およびFLAGCNNnn=1のときにのみアクティブである。FLAGRmmmm=0またはFLAGCNNnn=0のいずれかの場合、信号はメモリに影響を与えない。FLAGRおよびFLAGCについては、図14を参照されたい。
【0103】
フラグ・メモリ書込みおよびフラグ・メモリ読出しの概略図を、それぞれ図28および図29に示す。SxFlagWR=1の場合、比較器の出力は「D」メモリ入力で有効である。SxFlagWRが「1」から「0」になる立ち下がりエッジで、SxFlagRD=0の場合、プーリング・チェーン上の値と比較されるtrixelの現在の読み取り値の状態によって決定される現在のフラグビットはスタック上にプッシュされる。すなわち、アナログ・メモリ読み取り電圧がプーリング・チェーン電圧と一致する場合、このtrixel82は「マスタ」であり、「1」が格納され、そうでない場合、「0」が格納される。FlagVALについては、図19を参照されたい。
【0104】
ヒステリシスが非常に小さいため、複数のtrixel82が非常に似た電圧レベルを持っていれば、それ自体を「マスタ」として見ることが可能である。このような場合、最終的に読み出されるのは、拡張パスの間、このプーリング・グループ内の有効化(又は、イネーブル)されたtrixels82の平均電圧になる。「競合する」電圧はほぼ同一であったので、これは実用上ほとんど影響を及ぼさないであろう。
【0105】
SxFlagRD=1の立ち上がりエッジで、SxFlagWR=0の間に、書き込まれた最後のビット(すなわち、スタックの上部)が読み出され、イネーブルされたFlagEN=1としてTrixelメモリ読み出し回路に印加される(図19参照)。出力は、SxFlagRD=1である限りイネーブルされる。
【0106】
SxFlagWR=0およびSxFlagRD=0の場合、FlagEN=1である。これを適用した。SxFlagWR=1およびSxFlagRD=1は不正であり、外部コントローラはそれを適用すべきではない。メモリ出力と比較器出力との間の競合を回避するために、フラグENは、そのような場合にトライステートにされる。
【0107】
送受信モジュール(trixel)82のセンサー86をプーリング・チェーンに読み込み、センサー86を再設定し、変調器(光送信器要素)84をプーリング・チェーンから書き込むための光制御ライン設定の例が、それぞれ、図30図31図32に示されている。
光制御ラインの機能はイネーブルされたOPTR及びOPTCラインの交点にあるtrixels82に、それらの光学素子(変調器84又はセンサー86)をプーリング・チェーンに接続させることである。SxRWDir=0およびSxExternal=0の場合、このtrixels変調器84を駆動するために、データがプーリング・チェーンから読み出される。SxRWDir=1およびSxExternal=0の場合、データはこのtrixelのセンサー86からバッファされ、プーリング・チェーン上に配置される。SxExternal=lの場合、変調器84とセンサー86の両方が切断される。複数のセンサー86を同時に有効にする(又は、イネーブルする)ことができ、それらの値の平均は、より低いノイズのためにプーリング・チェーン上に現れるのであろう。また、センサー86が上述したように光信号(データのフレーム)を加算しているとき、感知器14、26(クロックなどがない)上に他の活動は存在しないので、非常に低ノイズの測定結果となることに留意されたい。
【0108】
変調器モード(SxRWDir=0)および内部駆動(SxExternal=0)の場合、すべてのアドレス指定されたtrixelメモリバンク90の出力は自動的にプールされ、同じスーパーtrixel(同じプーリング・チェーンに接続されている)内のすべての光送信素子(変調器)84は同じ輝度で「輝く」。これは、複製による再サンプリングを構成する。
【0109】
ローカルENB(ENBRmmmm=lおよびENBCNNn=l)により、個々の光送信素子(変調器)84を無効にすることができる。
【0110】
光送信素子(変調器)84の駆動レベルDLはプーリング・チェーンPCの合計に較正センサー値CS+1を掛けたものにSxLevelを加えたものであり、式DL=(PC*(CS+1))+SxLevelである。Sxlnvert=1の場合、ドライブは反転され、すなわち、100%レベルは0%変調、90%は10%等となる。
【0111】
図33A~Bの概略図は、送受信モジュール(trixel)回路の概要を示す。
【0112】
上記の説明は推論モード、例えば、訓練されたニューラルネットワークが画像、音声、音等を認識するために使用される場合におけるフォトニックニューラルネットワーク処理に基づく。フォトニックニューラルネットワーク、例えば、上述のフォトニックニューラルネットワークシステム10を用いてニューラルネットワークを訓練することは、デジタル畳み込みネットワークシステムと比較して、いくつかの差異を有する。上述したように、典型的なデジタル畳み込みニューラルネットワークシステムのトレーニング中に、ネットワークが次回に同じ種類の画像を予測する可能性を高めるために、逆伝搬と呼ばれるプロセスを用いて調整が行われる。典型的なデジタル畳み込みニューラルネットワークでは、このようなデータ処理および逆伝播が予測が適度に正確になり、改善されなくなるまで何度も行われる。次いで、ニューラルネットワークは推論モードで利用されて、新しい入力データを分類し、そのトレーニングから推論される結果を予測することができる。ディジタル畳み込みニューラルネットワークでは、後方伝搬項(又は、期間/term)およびフィルタはすべて空間領域にあるので、トレーニングは比較的簡単である。「正しい答え」をとり、修正項を計算するために構造を通って戻ることは遅いが、依然としてドメインの変更を必要としない。光子ニューラルネットワークにおけるトレーニングはトレーニングされる必要がある項が周波数領域にあり、畳み込み結果が空間領域にあるので、それほど直接的ではない。空間領域データを使用し、高速フーリエ変換(FFT)アルゴリズムを用いて補正項を計算し、それらをラジアル変調器装置20で使用されるフーリエフィルタに適用することができるが、そのような計算は非常に計算集約的である。
【0113】
代わりに、上述したフォトニックニューラルネットワークシステム10の例は、訓練用の補正項を、ラジアル変調装置20によって反復訓練プロセスにおける畳み込みに適用されるフィルタに次いで追加され得るフーリエ変換項に変換するように適合される。このような変換をデジタル計算の代わりに光学的に実施するための適応例は図34に示すように、フォトニック畳み込みアセンブリ12に特殊化されたフーリエ光センサー装置130を追加することを含む。フーリエ光センサー装置130は光学軸62上の第2のセンサー・ディスプレイ装置26から、偏光子18の反対側に、第2のセンサー・ディスプレイ装置26と軸方向に整列して配置される。また、フーリエ光センサー装置130は、第2のフーリエ変換レンズ28の焦点距離F2と等しい第2のフーリエ変換レンズ28からの距離でフーリエ変換面内に位置している。したがって、第2のフーリエ光センサー装置130は、第2のフーリエ変換レンズ28のフーリエ変換面に位置している。そのフーリエ変換面において、第2のフーリエ光センサー装置130は、第2のセンサー・ディスプレイ装置26から発する光のデータ又は画像のフレームのフーリエ変換を検出することができる。従って、フォトニックニューラルネットワークシステム10図1を訓練するために必要な補正項は補正データの空間領域フレームで第2のセンサー・ディスプレイ装置26に供給することができ、次いで、光フィールド132内の補正データのフレームをフーリエ光センサー装置130に表示(投影)することになる。したがって、光フィールド132内の補正データのフレームはフーリエ変換レンズ28によってフーリエ光センサー装置130に到達するときにフーリエ変換され、すなわち、空間領域内の補正データのフレームは、フーリエ光センサー装置130において光の速度でフーリエ領域にフーリエ変換される。次に、フーリエ変換領域の補正データのフレームは、フーリエ光センサー装置130によって検出され、ラジアル変調装置20のフィルタを調整するために使用される。
【0114】
通常、推論モードでは、3D畳み込みブロックがメモリからシフトアウトされ、さらなるレベルの畳み込みおよび加算サイクルのためにフォトニック畳み込みアセンブリ12を介して送り返されるときに送受信モジュール(trixel)82のメモリバンク90図10内の特定の反復畳み込みサイクルで存在するデータフレームが失われ、メモリバンク90は後続の3D畳み込みブロックで再充填され、そのすべては上述のように非常に高速で行われる。しかしながら、トレーニングモードの場合、これらの中間のデータのフレームは第1及び第2のセンサー・ディスプレイ装置14、26の送受信モジュール82のメモリバンク90から抽出され、外部メモリに転送されて、逆伝播デジタル計算を行い、空間領域に補正項を書き込む際に使用される。次に、これらの補正項は図34に示され、上で説明されたように、フーリエ光センサー装置130への投影およびフーリエ変換のために、空間領域内の補正データのフレームとして第2のセンサー・ディスプレイ装置26に供給され、したがって、補正データのフーリエ変換されたフレームはさらなる畳み込みサイクルのためにラジアル変調器装置20のフィルタとして使用するために、フーリエ領域内のフーリエ光センサー装置130によって検出され得る。中間相関データ、逆伝播デジタル計算、および修正項の書込みのこのトレーニングモード抽出はいくらかの時間がかかり、したがって、推論動作モードと比較して反復畳み込み加算サイクルを遅くするが、それでもなおデジタル畳み込みニューラルネットワークトレーニングよりはるかに高速である。
【0115】
フーリエ光センサー装置130をフォトニック畳み込みアセンブリ12に組み込むために、例えば、図34に示すように、補正データのフレームが第2のセンサー・ディスプレイ装置26によってフーリエ光センサー130に投影されているときに、偏光面を90度回転させるために、半波可変偏光板134が第2のセンサー・ディスプレイ装置26と偏光子18との間に配置される。例えば、通常の推論動作モードでは、第2のセンサー・ディスプレイ装置26が偏光子18からラジアル変調器装置20に反射するP偏光で表示し、次いで、トレーニングのために補正データのフレームをフーリエ光センサー130に表示または投影するために、半波長可変偏光板134が起動されて、投影された光フィールドの偏光面を90度回転させてS偏光させ、結果として生じる光フィールド132が偏光子18を通過してフーリエ光センサー130に至るようにする。
【0116】
補正データのフレームは、ニューラルネットワークをトレーニングするためにフィルタによってラジアル変調装置20(図3参照)特定のウェッジセグメント32に提供される必要がある値を有する。したがって、図34フーリエ光センサー装置130への投影のために第2のセンサー・ディスプレイ装置26に提供される補正データのフレームは、ニューラルネットワークを訓練するために補正された方法で変調される必要があるラジアル変調器デバイス20(図3参照)のウェッジセグメント32に対応するフォーマットで提供され、その結果、これらの補正データは最終的に、補正された方法で適切なウェッジセグメント32を駆動するフィルタに配置される。したがって、フーリエ光センサー装置130は第2のセンサー・ディテクタ装置26からの光132をラジアル変調器装置20のウェッジセグメント32と同じパターンで検出し、その結果、光132の補正データが検出され、処理され、ラジアル変調器装置20の適切なウェッジセグメント32に供給される。
【0117】
第2のセンサー・ディスプレイ装置26から投射された光をラジアル変調装置20(図3)のウェッジセグメント32と同じパターンに従って検出することを容易にするために、上述したように、例としてのフーリエ光センサー装置130は例えば図35に示すように、ラジアル変調装置20図3のウェッジセグメント32およびウェッジセクタ34のパターンに対応する光センサーアレイ138に配置された複数の光センサー素子136を有する光センサーボード135を有している。図35に示すように、ラジアルアレイレンズプレート140は、光センサーアレイ138の前に配置され、ラジアル変調装置20図3のウェッジセグメント32およびセクタ34に一致するウェッジおよびセクタの半径方向パターンで配置された複数の個々のレンズ素子142を有している。これらのレンズ素子142は放射状変調装置20のウェッジセグメント32及びウェッジセクタ34の放射状パターンに対応する放射状パターンで、第2のセンサー・ディスプレイ装置26からの入射光132を捕捉し、これにより、第2のセンサー・ディスプレイ装置26に定式化されプログラムされたときに、入射光132の補正データのフレームを捕捉する。それぞれのレンズ素子142によって捕捉された光のセグメントは、個々のサブビーム138としてレンズ素子142によってそれぞれの光センサー素子136上に集束され、センサー素子136上に入射する光の強度に対応する電気信号に変換され、したがって、入射光132内の補正データのフレームを、補正データのフレームに対応する電気データ信号に変換する。図34に示すように、これらのアナログ電気データ信号はFPGA116による補正フィルタへの処理のためにデジタル信号に変換することができ、これは次に、インターフェース24を介してラジアル変調器デバイス20に接続するために回路ブロック110によって供給することができる。この場合も、入射光132内のデータのフレームはフーリエ変換レンズ28によってフーリエ変換され、フーリエ変換領域内のセンサー素子136によって検出され、したがって、フーリエ光センサー装置130からFPGA116または他の電気処理構成要素に送られる信号内の補正データはラジアル変調器デバイス20のウェッジセグメント32を駆動するのに必要なようにフーリエ領域内にある。光学構成要素の配置のために、第2のセンサー・ディスプレイ装置26に供給される補正データのフレームはセンサー素子136によって捕捉された光のセグメント及び生成された対応する信号がラジアル変調器装置20の適切なウェッジセグメント32に一致するように、反転されなければならない場合がある。しかしながら、上述したように、補正項は空間領域で計算されるので、訓練にアルゴリズム的制約は課されない。一旦、通常のトレーニング逆伝播計算が行われると、上述され、図34および図35に示される光学系は、空間領域補正項を放射状フーリエ領域等価物に変換する。
【0118】
図36に図示される別の実施形態では、カメラレンズ150が上述のように、例えばフォトニックニューラルネットワーク10図1で処理するために、カメラレンズ150がデータ(画像)のフレームとして実世界のシーン152を空間領域内のフォトニック畳み込みアセンブリ12に照射する方法で、フォトニック畳み込みアセンブリ12上に取り付けられる。例えば、図35に示すように、カメラレンズ150は、第2のセンサー・ディスプレイ装置26から偏光子18の反対側で第2のセンサー・ディスプレイ装置26と軸方向に整列するように光軸62上に取り付けられる。偏光板154はカメラレンズ150によって透過された光フィールド156を偏光子18から反射する偏光面に偏光させるために、カメラレンズ150と偏光子18との間に配置されている。したがって、光フィールド156は図36に示すように、偏光子18によって第1のセンサー・ディスプレイ装置14に反射される。第1のセンサー・ディスプレイ装置14の送受信モジュール82(図9および10参照)内の光センサー素子86は光フィールド156内のデータ(画像)のフレームを検出して捕捉し、上述したように、第1のセンサー・ディスプレイ装置14内のメモリバンク90図10内にデータ(画像)のフレームを処理する。次いで、カメラレンズ150上のシャッタ装置158がカメラレンズ150上で閉じて、カメラレンズ150を通る光透過を終了し、次いで、第1のセンサー・ディスプレイ装置14は上述した推論動作またはトレーニング動作のいずれかで、フォトニック畳み込みアセンブリ12を通るデータ(画像)のフレームの処理を開始することができる。
【0119】
必要に応じて光の特定のスペクトル周波数のみがフォトニック畳み込みアセンブリ12に伝送されることを可能にするために、バンドパスフィルタ160をカメラレンズ150とともに設けることもできる。バンドパスフィルタ160は必要に応じて、可変バンドパスフィルタとすることができ、その結果、実世界シーン152からの光の様々なスペクトル周波数帯域はカメラレンズ150からフォトニック畳み込みアセンブリへと順次伝送することができ、一方、各周波数帯域内のデータ(画像)のフレームは順次捕捉され、それにより、畳み込みのためのハイパースペクトル画像セットが、フォトニック畳み込みアセンブリを通して順次提供される。このような可変バンドパスフィルタは周知である。例えば、可変半波長リターダ(retarder)を、可変帯域通過フィルタとして固定偏光板と組み合わせて使用することができる。固定偏光板と組み合わせたこのような可変半波長リターダは、シャッタとしても使用することができる。
【0120】
前述の説明は、本発明の原理を説明するものと考えられる。さらに、多数の修正および変更が当業者には容易に思い浮かぼうから、本発明を、上記に示され、説明された正確な構造およびプロセスに限定することは望ましくない。したがって、本発明の範囲内にあるすべての適切な修正および均等物に頼ることができる。「備える」、「含む」、「含んでいる」、および「有する」という用語は本明細書で使用される場合、述べられた特徴、整数、構成要素、またはステップの存在を指定することを意図されるが、それらは1つまたは複数の他の特徴、整数、構成要素、ステップ、またはそれらのグループの存在または追加を排除しない。
下記は、本願の出願当初に記載の発明である。
<請求項1>
送受信モジュールのアレイを備える第1のセンサー・ディスプレイ装置であって、各送受信モジュールは光センサー素子と、光送信素子と、複数のメモリセルを有するメモリバンクとを備える、第1のセンサー・ディスプレイ装置と、
送受信モジュールのアレイを備える第2のセンサー・ディスプレイ装置であって、各送受信モジュールは光センサー素子と、光送信素子と、複数のメモリセルを有するメモリバンクとを備えると、
光軸に対して複数の半径方向距離及び角度方向に配置された複数の変調素子を有するラジアル変調器装置と、
前記第1のセンサー・ディスプレイ装置の前記光送信素子と前記ラジアル変調器装置の光送信素子との間に配置された第1のフーリエ変換レンズと、
前記第1のセンサー・ディスプレイ装置の前記光送信素子と前記ラジアル変調器装置の間に配置された第2のフーリエ変換レンズと、
を有し、
前記ラジアル変調器装置が前記第1のフーリエ変換レンズと前記第2のフーリエ変換レンズの両方のフーリエ変換面に配置されるように、前記ラジアル変調器装置が第1のフーリエ変換レンズからの焦点距離および第2のフーリエ変換レンズからの焦点距離に配置された、データフレームを畳み込み及び加算するためのシステム。
<請求項2>
前記ラジアル変調器装置にフィルタを形成及び供給し、前記第1及び第2のセンサー・ディスプレイ装置からのデータのフレームを有する光フィールドの送信の順序を制御し、前記ラジアル変調器装置の前記フィルタで前記データのフレームを畳み込み、前記ラジアル変調器装置からのたたき込まれたデータのフレームを有する光フィールドを検知するためのシステム制御コンポーネントを有する請求項1に記載のシステム
<請求項3>
前記光センサー素子は、感知された光から電荷を蓄積する容量光センサーである請求項1に記載のシステム。
<請求項4>
畳み込みニューラルネットワークのためのデータのフレームを畳み込み及び加算する方法であって、
前記データのフレームを、第1の光軸に沿った空間領域における光フィールドとして順次投影するステップと、
フーリエ変換面において順次前記光フィールドをフーリエ変換するステップと、
光軸に対して種々の半径方向距離及び角度方向で間隔を開けて配置された光変調セグメントを有する光変調器で前記フーリエ変換面において光フィールドを順次畳み込むステップと、
畳み込まれた光フィールドのシーケンスを第1のセンサー・ディスプレイ位置で空間領域に逆フーリエ変換するステップと、
前記第1のセンサー・ディスプレイ位置において、畳み込まれた光フィールドの各々を空間ドメインで電荷蓄積可能な画素位置における容量光センサーで画素毎に検知するステップと、
容量性光センサーに、前記第1のセンサー・ディスプレイ位置において畳み込まれた光フィールドを順次検知することから生じる電荷を蓄積させるステップ
を有する方法。
<請求項5>
メモリセルが、順次感知された光フィールドに対して特定の画素位置において検知された光から生じる蓄積された電荷を有するように、複数の畳み込まれた光フィールドを感知した後に、各センサー内に蓄積された電荷をメモリバンク内の前記メモリセルにシフトするステップを有する、請求項4に記載の方法。
<請求項6>
異なるフィルタを適用して前記光変調器でデータのフレームを有する光フィールドの追加のシーケンスを畳み込むステップ、
前記容量センサーで画素毎に畳み込まれた光フィールドの追加のシーケンスを検知し、各画素位置での検知から生じる電荷を蓄積するステップと、
複数の畳み込まれた光フィールドを検知した後に各センサー内の蓄積された電荷を前もって蓄積された電荷を有するメモリセルにシフトさせつつ、前記前もって蓄積された電荷をメモリバンク内の別のメモリセルにシフトさせるステップと、
第1のセンサー・ディスプレイ位置における各画素位置においてメモリバンク内に畳み込まれて加算されたデータのフレームの3D畳み込みブロックを構築するために上記プロセスを繰り返すステップ
を有する、請求項5に記載の方法。
<請求項7>
第1のセンサー・ディスプレイ位置での画素位置からの順次的な光フィールドにおける3D畳み込みブロックを形成する、畳み込まれて加算されたデータのフレームをフーリエ変換してフーリエ変換面内の変調器に送り返すステップと、
光軸に対して種々の半径方向距離及び角度方向で間隔を開けて配置された光変調セグメントを有する光変調器によりフーリエ変換面において光フィールドを順次畳み込むステップと、
畳み込まれた光フィールドのシーケンスを第2のセンサー・ディスプレイ位置で空間領域に逆フーリエ変換するステップと、
電荷蓄積可能な画素位置における容量性光センサーで画素毎に空間領域において畳み込まれた光フィールドの各々を第2のセンサー・ディスプレイ位置で検知するステップと、
容量性光センサーに、第2のセンサー・ディスプレイ位置において畳み込まれた光フィールドを順次検知することから生じる電荷を蓄積させるステップと、
異なるフィルタを適用して光変調器でデータのフレームを有する光フィールドの追加のシーケンスを畳み込むステップと、
第2のセンサー・ディスプレイ位置において画素毎に畳み込まれた光フィールドの追加のシーケンスを容量性センサーで検知し、各画素位置における検知から生じる電荷を蓄積するステップと、
複数の畳み込まれた光フィールドを検知した後に、第2のセンサー・レシーバ位置で各センサーに蓄積された電荷を、以前に蓄積された電荷を有するメモリセルにシフトさせつつ、前記以前に蓄積された電荷をメモリバンク内の別のメモリセルにシフトさせるステップと、
第2のセンサー・ディスプレイ位置における各画素位置においてメモリバンク内に畳み込まれて加算されたデータのフレームの3D畳み込みブロックを構築するために上記プロセスを繰り返すステップ
を有する、請求項6に記載の方法。
<請求項8>
前記プロセスを追加のサイクルで繰り返すステップを有する、請求項7に記載の方法。
<請求項9>
前記プロセスの繰り返しサイクルにおいて、複数の前記センサーおよびメモリバンクを一緒にプーリングするステップを有する、請求項8に記載の方法。
<請求項10>
前記複数のセンサーおよびメモリバンクの最大プーリングを含む、請求項8に記載の方法。
<請求項11>
前記第1のセンサー・ディスプレイ位置における前記画素位置における光送信器素子で画素毎に、畳み込まれて加算されたデータのフレームを送信するステップを有する、請求項7に記載の方法。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33A
図33B
図34
図35
図36