TW202020598A - 光子處理系統及方法 - Google Patents
光子處理系統及方法 Download PDFInfo
- Publication number
- TW202020598A TW202020598A TW108116591A TW108116591A TW202020598A TW 202020598 A TW202020598 A TW 202020598A TW 108116591 A TW108116591 A TW 108116591A TW 108116591 A TW108116591 A TW 108116591A TW 202020598 A TW202020598 A TW 202020598A
- Authority
- TW
- Taiwan
- Prior art keywords
- matrix
- optical
- phase
- photon
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 218
- 238000012545 processing Methods 0.000 title claims abstract description 163
- 239000011159 matrix material Substances 0.000 claims abstract description 746
- 230000003287 optical effect Effects 0.000 claims abstract description 675
- 239000013598 vector Substances 0.000 claims abstract description 308
- 230000009471 action Effects 0.000 claims description 67
- 230000001427 coherent effect Effects 0.000 claims description 34
- 238000000354 decomposition reaction Methods 0.000 claims description 32
- 238000001514 detection method Methods 0.000 claims description 31
- 230000008878 coupling Effects 0.000 claims description 19
- 238000010168 coupling process Methods 0.000 claims description 19
- 238000005859 coupling reaction Methods 0.000 claims description 19
- 238000004564 bond valence sum analysis Methods 0.000 claims 2
- 230000000670 limiting effect Effects 0.000 description 98
- 238000004422 calculation algorithm Methods 0.000 description 81
- 239000000758 substrate Substances 0.000 description 76
- 230000009466 transformation Effects 0.000 description 63
- 239000010410 layer Substances 0.000 description 61
- 238000004364 calculation method Methods 0.000 description 59
- 238000005253 cladding Methods 0.000 description 37
- 230000010363 phase shift Effects 0.000 description 37
- 238000012549 training Methods 0.000 description 33
- 238000007781 pre-processing Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 30
- 239000000463 material Substances 0.000 description 29
- 238000012805 post-processing Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 28
- 238000013528 artificial neural network Methods 0.000 description 27
- 230000007704 transition Effects 0.000 description 27
- 238000006243 chemical reaction Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 22
- 239000010703 silicon Substances 0.000 description 22
- 229910052710 silicon Inorganic materials 0.000 description 22
- 238000004519 manufacturing process Methods 0.000 description 21
- 238000005259 measurement Methods 0.000 description 21
- 239000004065 semiconductor Substances 0.000 description 20
- 230000001902 propagating effect Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 18
- 230000004044 response Effects 0.000 description 18
- 239000013307 optical fiber Substances 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 16
- 239000011162 core material Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 13
- 230000003595 spectral effect Effects 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 230000036961 partial effect Effects 0.000 description 10
- 229940050561 matrix product Drugs 0.000 description 9
- 238000010521 absorption reaction Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 230000002829 reductive effect Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000014509 gene expression Effects 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 7
- 238000002156 mixing Methods 0.000 description 7
- 230000000644 propagated effect Effects 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 239000000835 fiber Substances 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 238000000844 transformation Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 229910052581 Si3N4 Inorganic materials 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 5
- 238000007792 addition Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000005684 electric field Effects 0.000 description 5
- 238000005530 etching Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 238000011896 sensitive detection Methods 0.000 description 5
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 5
- GPXJNWSHGFTCBW-UHFFFAOYSA-N Indium phosphide Chemical compound [In]#P GPXJNWSHGFTCBW-UHFFFAOYSA-N 0.000 description 4
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 4
- 230000003321 amplification Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000002238 attenuated effect Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000003199 nucleic acid amplification method Methods 0.000 description 4
- 229910052814 silicon oxide Inorganic materials 0.000 description 4
- 230000001629 suppression Effects 0.000 description 4
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 3
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 3
- 230000008602 contraction Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000011049 filling Methods 0.000 description 3
- 239000007943 implant Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000012212 insulator Substances 0.000 description 3
- 150000002500 ions Chemical class 0.000 description 3
- 238000001459 lithography Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000005693 optoelectronics Effects 0.000 description 3
- 238000001020 plasma etching Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 239000002356 single layer Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008033 biological extinction Effects 0.000 description 2
- 238000009529 body temperature measurement Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000000151 deposition Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000001312 dry etching Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 229910052732 germanium Inorganic materials 0.000 description 2
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000005468 ion implantation Methods 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000000087 stabilizing effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000003826 tablet Substances 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 238000001039 wet etching Methods 0.000 description 2
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910000530 Gallium indium arsenide Inorganic materials 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000005699 Stark effect Effects 0.000 description 1
- 239000011358 absorbing material Substances 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- -1 concentration) Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- RDYMFSUJUZBWLH-UHFFFAOYSA-N endosulfan Chemical compound C12COS(=O)OCC2C2(Cl)C(Cl)=C(Cl)C1(Cl)C2(Cl)Cl RDYMFSUJUZBWLH-UHFFFAOYSA-N 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- GQYHUHYESMUTHG-UHFFFAOYSA-N lithium niobate Chemical compound [Li+].[O-][Nb](=O)=O GQYHUHYESMUTHG-UHFFFAOYSA-N 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000000382 optic material Substances 0.000 description 1
- 230000003534 oscillatory effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 239000004038 photonic crystal Substances 0.000 description 1
- 229920002120 photoresistant polymer Polymers 0.000 description 1
- 230000021715 photosynthesis, light harvesting Effects 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000002407 reforming Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000002277 temperature effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
- G06N3/0675—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
-
- G—PHYSICS
- G02—OPTICS
- G02F—OPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
- G02F1/00—Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
- G02F1/01—Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour
- G02F1/21—Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour by interference
-
- G—PHYSICS
- G02—OPTICS
- G02F—OPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
- G02F1/00—Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics
- G02F1/01—Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour
- G02F1/21—Devices or arrangements for the control of the intensity, colour, phase, polarisation or direction of light arriving from an independent light source, e.g. switching, gating or modulating; Non-linear optics for the control of the intensity, phase, polarisation or colour by interference
- G02F1/212—Mach-Zehnder type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/50—Transmitters
- H04B10/516—Details of coding or modulation
- H04B10/548—Phase or frequency modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/60—Receivers
- H04B10/61—Coherent receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/70—Photonic quantum communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/80—Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water
- H04B10/801—Optical aspects relating to the use of optical transmission for specific applications, not provided for in groups H04B10/03 - H04B10/70, e.g. optical power feeding or optical transmission through water using optical interconnects, e.g. light coupled isolators, circuit board interconnections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J14/00—Optical multiplex systems
- H04J14/02—Wavelength-division multiplex systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J14/00—Optical multiplex systems
- H04J14/02—Wavelength-division multiplex systems
- H04J14/0278—WDM optical network architectures
- H04J14/0279—WDM point-to-point architectures
-
- G—PHYSICS
- G02—OPTICS
- G02F—OPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
- G02F2203/00—Function characteristic
- G02F2203/48—Variable attenuator
-
- G—PHYSICS
- G02—OPTICS
- G02F—OPTICAL DEVICES OR ARRANGEMENTS FOR THE CONTROL OF LIGHT BY MODIFICATION OF THE OPTICAL PROPERTIES OF THE MEDIA OF THE ELEMENTS INVOLVED THEREIN; NON-LINEAR OPTICS; FREQUENCY-CHANGING OF LIGHT; OPTICAL LOGIC ELEMENTS; OPTICAL ANALOGUE/DIGITAL CONVERTERS
- G02F2203/00—Function characteristic
- G02F2203/50—Phase-only modulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Electromagnetism (AREA)
- Nonlinear Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Optics & Photonics (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
- Optical Communication System (AREA)
- Optical Integrated Circuits (AREA)
- Image Analysis (AREA)
- Manufacture, Treatment Of Glass Fibers (AREA)
- Optical Couplings Of Light Guides (AREA)
Abstract
各態樣涉及光子處理系統、光子處理器和執行矩陣向量乘法的方法。光學編碼器可以將輸入向量編碼為第一複數個光學信號。光子處理器可以接收第一複數個光學信號;對第一複數個光學信號執行複數個運算,複數個運算實施輸入向量與矩陣的矩陣乘法;並輸出表示輸出向量的第二複數個光學信號。光學接收器可偵測該第二複數個光學信號,並輸出該輸出向量的一電子數位表示。
Description
對於相關申請案的交互參照:本申請案根據專利法第28條之規定,主張對於申請於2018年5月15日、名為「ALGORITHMS FOR TRAINING NEURAL NETWORKS WITH PHOTONIC HARDWARE ACCELERATORS」的美國臨時申請案第62/671,793號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
本申請案根據專利法第28條之規定,主張對於申請於2018年6月4日、名為「PHOTONICS PROCESSING SYSTEMS AND METHODS」的美國臨時申請案第62/680,557號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
本申請案根據專利法第28條之規定,主張對於申請於2018年6月22日、名為「CONVOLUTIONAL LAYERS FOR NEURAL NETWORKS USING PROGRAMMABLE NANOPHOTONICS」的美國臨時申請案第62/689,022號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
本申請案根據專利法第28條之規定,主張對於申請於2018年11月11日、名為「REAL NUMBER PHOTONIC ENCODING」的美國臨時申請案第62/755,402號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
本申請案根據專利法第28條之規定,主張對於申請於2019年1月15日、名為「HIGH-EFFICIENCY DOUBLE-SLOT WAVEGUIDE NANO-OPTOELECTROMECHANICAL PHASE MODULATOR」的美國臨時申請案第62/792,720號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
本申請案根據專利法第28條之規定,主張對於申請於2019年1月16日、名為「DIFFERENTIAL, LOW-NOISE HOMODYNE RECEIVER」的美國臨時申請案第62/793,327號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
本申請案根據專利法第28條之規定,主張對於申請於2019年4月16日、名為「STABILIZING LOCAL OSCILLATOR PHASES IN A PHOTOCORE」的美國臨時申請案第62/834,743號的優先權,在此仰賴且併入此美國臨時申請案之內容以作為參考。
常規計算使用包括數百萬個電晶體的電路的處理器,以在由電信號表示的信息位元上實現邏輯閘。傳統中央處理單元(CPU)的架構被設計用於通用計算,但不針對特定類型的演算法進行優化。圖形處理、人工智能、神經網路和深度學習是演算法類型的一些例子,這些演算法是計算密集型的並且不能使用CPU有效地執行。
因此,已經開發出具有更適合於特定演算法的架構的專用處理器。例如,圖形處理單元(GPU)具有高度並行的架構,使得他們比CPU更有效地執行圖像處理和圖形處理。在開發圖形處理之後,GPU也被發現比用於其他內存密集型演算法(如神經網路和深度學習)的GPU更有效。這種實現以及人工智能和深度學習的日益普及,導致對新電路架構的進一步研究,這可以進一步提高這些演算法的速度。
在一些實施例中,提供了一種光子處理器。光子處理器可包含:第一互連可變分束器(VBS)陣列,第一互連VBS陣列包含第一複數個光學輸入與第一複數個光學輸出;第二互連可變分束器(VBS)陣列,第二互連VBS陣列包含第二複數個光學輸入與第二複數個光學輸出;以及複數個可控制式光學元件,複數個可控制式光學元件的每一個將第一陣列的第一複數個光學輸出中的單一個輸出,耦合至第二陣列的第二複數個光學輸入的各別單一個輸入。
在一些實施例中,提供了一種光子處理系統。光子處理系統可包括光學編碼器,光學編碼器被配置為將輸入向量編碼為第一複數個光學信號。光子處理系統亦可包含光子處理器,光子處理器經配置以:接收第一複數個光學信號,第一複數個信號的每一個由光子處理器的複數個輸入空間模態的相應輸入空間模態接收;對第一複數個光學信號執行複數個運算,複數個運算實施輸入向量與矩陣的矩陣乘法;以及輸出代表輸出向量的第二複數個光學信號,第二複數個信號的每一個由光子處理器的複數個輸出空間模態的相應輸出空間模態發送。光子處理系統亦可包含光學接收器,光學接收器經配置以偵測第二複數個光學信號,並輸出輸出向量的電子數位表示。
在一些實施例中,提供了一種光學執行矩陣向量乘法的方法。方法可包含:接收輸入向量的數位表示;使用光學編碼器將輸入向量編碼成第一複數個光學信號;使用處理器執行矩陣的奇異值分解(SVD),以確定第一、第二和第三SVD矩陣;控制包括複數個可變分束器(VBS)的光子處理器,以光學地實施第一、第二和第三SVD矩陣;將第一複數個光學信號傳播通過光子處理器;偵測從光子處理器接收的第二複數個光學信號;和基於偵測到的第二複數個光學信號確定輸出向量,其中輸出向量表示矩陣向量乘法的結果。
前述設備與方法具體實施例,可被實施在任何適合的與前述(以及下文詳細說明的)態樣、特徵與步驟的結合者中。連同附加圖式參閱下列說明之後,可更全面瞭解本教示內容的這些與其他的態樣、具體實施例與特徵。
I. 光電核心
A. 基於光子的處理概述
發明人已經認識並理解到,基於電路的傳統處理器的速度和效率存在限制。電處理器的電路中的每個導線和電晶體具有電阻、電感和電容,其導致任何電信號中的傳播延遲和功率耗散。例如,連接多個處理器核心和/或將處理器核心連接到記憶體,使用具有非零阻抗的導電跡線。較大的阻抗值限制了在誤碼率可忽略不計的情況下,資料通過跡線傳輸的最大速率。在時間延遲至關重要的應用中(諸如高頻率股票交易),即使延遲幾百分之一秒也會使演算法無法使用。對於需要數十億電晶體進行數十億次運算的處理,這些延遲會導致大量的時間損失。除了電路的速度效率低之外,由電路阻抗引起的能量耗散產生的熱量,也是開發電處理器的障礙。
發明人進一步認識並理解到,使用光學信號替代電信號,克服了電性計算的許多上述問題。光學信號以光速在光傳播的介質中傳播;因此光子信號的潛時遠小於電性傳播延遲的限制。此外,光學信號傳播距離增加不會提升所消耗的功率,這打開了使用電信號難以達成的新拓撲結構和處理器佈局。因此,基於光的處理器(諸如基於光子的處理器)可具有比傳統電處理器更好的速度和效率性能。
另外,發明人已經認識並理解到,基於光的處理器(諸如基於光子的處理器)可以非常適合用於特定類型的演算法。例如,許多機器學習演算法(例如支援向量機、人工神經網路、概率圖形模型學習),在很大程度上依賴於多維陣列/張量上的線性變換。最簡單的例子是用矩陣乘以向量,這使用複雜度大約為O(n2
)
的常規算法,其中n
是相乘的方陣的維數。發明人已經認識並理解到,基於光子的處理器(在一些實施例中可以是高度並行的線性處理器),可以藉由傳播特定的一組輸入光學信號通過可配置的分束器陣列,來以高度並行的方式執行線性變換(諸如矩陣乘法)。使用這樣的實現例,可以在數百皮秒內完成維度n
=512
的矩陣的矩陣乘法,相對於使用傳統處理所需的數十到數百奈秒。使用一些實施例,相對於傳統技術,估計矩陣乘法加速了兩個數量級。例如,可以由現有技術的圖形處理單元(GPU)在大約10ns內執行的乘法,可以由光子處理系統在大約200ps內執行。
為了實施基於光子的處理器,發明人已經認識並理解到,可以藉由將相干光學信號(例如雷射脈衝)傳播通過第一互連可變分束器(VBS)陣列、第二互連可變分束器陣列、以及兩個陣列之間的多個可控光學元件(例如電光或光機械元件),來實現輸入向量與矩陣的相乘,多個可控光學元件將第一陣列的單個輸出連接到第二陣列的單個輸入。下面描述包括光子處理器的光子處理系統的細節。
B. 光子處理系統概述
參照圖1-1,根據一些實施例,光子處理系統1-100包括光學編碼器1-101、光子處理器1-103、光學接收器1-105和控制器1-107。光子處理系統1-100接收由一組輸入位元串表示的輸入向量以作為來自外部處理器(例如CPU)的輸入,並產生由一組輸出位元串表示的輸出向量。例如,如果輸入向量是n
維向量,則輸入向量可以由n
個單獨的位元串表示,每個位元串表示向量的相應分量。輸入位元串可以作為來自外部處理器的電信號或光學信號被接收,並且輸出位元串可以作為電信號或光學信號被發送到外部處理器。在一些實施例中,控制器1-107不必在每次處理迭代之後輸出輸出位元串。相對的,控制器1-107可以使用一個或多個輸出位元串,來確定要饋送通過光子處理系統1-100的組件的新輸入位元串流。在一些實施例中,輸出位元串本身可以用作對於由光子處理系統1-100實現的處理的後續迭代的輸入位元串。在其他實施例中,以各種方式組合多個輸出位元串流,以確定後續輸入位元串。例如,可以將一個或多個輸出位元串相加在一起,作為後續輸入位元串的確定的一部分。
光學編碼器1-101被配置為將輸入位元串轉換為光學編碼資訊,以由光子處理器1-103處理。在一些實施例中,每個輸入位元串由控制器1-107以電信號的形式發送到光學編碼器1-101。光學編碼器1-101將輸入向量的每個分量從其數位位元串轉換為光學信號。在一些實施例中,光學信號以光學脈衝的振幅和相位表示相關位元串的值和符號。在一些實施例中,相位可以限於零相移或π相移的二元選擇,分別表示正值和負值。實施例不限於實際輸入向量值。複數向量分量可以例如由在編碼光學信號時使用多於兩個相位值來表示。在一些實施例中,光學編碼器1-101將位元串作為來自控制器1-107的光學信號(例如數位光學信號)接收。在這些實施例中,光學編碼器1-101將數位光學信號轉換成上述類型的類比光學信號。
光學編碼器1-101輸出n
個單獨的光學脈衝,這些光學脈衝被傳輸到光子處理器1-103。光學編碼器1-101的每個輸出,一對一地耦合到光子處理器1-103的單個輸入。在一些實施例中,光學編碼器1-101可以與光子處理器1-103設置在同一基板上(例如,光學編碼器1-101和光子處理器1-103在同一晶片上)。在這樣的實施例中,光學信號可以在波導(諸如矽光子波導)中從光學編碼器1-101傳輸到光子處理器1-103。在其他實施例中,光學編碼器1-101可以設置在與光子處理器1-103分開的基板上。在這樣的實施例中,光學信號可以在光纖中從光學編碼器1-101傳輸到光子處理器103。
光子處理器1-103執行輸入向量乘以矩陣M
。如下面詳細描述的,使用奇異值分解(SVD)和酉矩陣分解的組合,將矩陣M分解成三個矩陣。在一些實施例中,使用與QR分解中的Givens旋轉類似的運算,來執行酉矩陣分解。例如,可以使用結合Householder分解的SVD。可以由控制器1-107執行將矩陣M
分解成三個組成部分,並且每個組成部分可以由光子處理器1-103的一部分實現。在一些實施例中,光子處理器1-103包括三個部分:第一可變分束器陣列(VBS),其被配置為對輸入光學脈衝陣列實現相當於第一矩陣乘法的變換(例如參見圖1-3的第一矩陣實現例1-301);一組可控光學元件,被配置為調整從第一陣列接收的每個光學脈衝的強度和/或相位,此調整相當於將第二矩陣乘以對角矩陣(參見例如圖1-3的第二矩陣實現例1-303);以及第二VBS陣列,被配置為對從可控電光元件組接收的光學脈衝實施變換,此變換相當於第三矩陣乘法(例如參見圖3的第三矩陣實現例1-305)。
光子處理器1-103輸出n
個單獨的光學脈衝,這些光學脈衝被傳輸到光子處理器1-105。光子處理器1-103的每個輸出,一對一地耦合到光接收器1-105的單個輸入。在一些實施例中,光子處理器1-103可以與光接收器1-105設置在同一基板上(例如,光子處理器1-103和光接收器1-105在同一晶片上)。在這樣的實施例中,光學信號可以在矽光子波導中從光子處理器1-103傳輸到光接收器1-105。在其他實施例中,光子處理器1-103可以設置在與光接收器1-105分開的基板上。在這樣的實施例中,光學信號可以在光纖中從光子處理器1-103傳輸到光接收器1-105。
光接收器1-105接收來自光子處理器1-103的n
個光學脈衝。然後將每個光學脈衝轉換成電信號。在一些實施例中,每個光學脈衝的強度和相位由光接收器內的光偵測器測量。然後將表示那些測量值的電信號輸出到控制器1-107。
控制器1-107包括記憶體1-109和用於控制光學編碼器1-101、光子處理器1-103和光學接收器1-105的處理器1-111。記憶體1-109可用於儲存來自光接收器1-105的輸入和輸出位元串和測量結果。記憶體1-109還儲存可執行指令,當由處理器1-111執行時,控制光學編碼器1-101、執行矩陣分解演算法、控制光子處理器103的VBS、以及控制光學接收器1- 105。記憶體1-109還可以包括可執行指令,其使得處理器1-111基於由光接收器1-105執行的測量確定的一個或多個輸出向量的集合,來確定要發送到光學編碼器的新輸入向量。以這種方式,控制器1-107可以藉由調整光子處理器1-103的設置並將來自光接收器1-105的偵測資訊反饋到光學編碼器1-101,來控制將輸入向量乘以多個矩陣的迭代過程。因此,由光子處理系統1-100發送到外部處理器的輸出向量,可以是多個矩陣乘法的結果,而不僅僅是單個矩陣乘法。
在一些實施例中,矩陣可能太大而不能使用單次通過以在光子處理器中編碼。在這種情況下,可以在光子處理器中對大矩陣的一部分進行編碼,並且可以對大矩陣的此單個部分執行乘法處理。第一運算的結果可以儲存在記憶體1-109中。隨後,可以在光子處理器中對大矩陣的第二部分進行編碼,並且可以執行第二乘法處理。這種對大矩陣的「分塊」可以繼續,直到對大矩陣的所有部分執行乘法處理為止。然後可以組合可以儲存在記憶體1-109中的多個乘法處理的結果,以形成輸入向量乘以大矩陣的最終結果。
在其他實施例中,外部處理器僅使用輸出向量的集合性行為。在這樣的實施例中,僅將諸如多個輸出向量的平均值或最大值/最小值的集合性結果,發送到外部處理器。
C. 光學編碼器
如圖1-2所示,根據一些實施例,光學編碼器包括至少一個光源1-201、冪次樹1-203、振幅調變器1-205、相位調變器1-207、相關聯於振幅調變器1-205的數位類比轉換器(DAC)1-209、以及相關聯於相位調變器1-207的DAC 1-211。雖然在圖1-2中將振幅調變器1-205和相位調變器1-207示為具有n
個輸入和n
個輸出的單個模塊(每個輸入和輸出例如是波導),在一些實施例中,每個波導可以包括相應的振幅調變器和相應的相位調變器,使得光學編碼器包括n
個振幅調變器和n
個相位調變器。再者,每個振幅和相位調變器可以有一個單獨的DAC。在一些實施例中,可以使用單個調變器來編碼振幅和相位資訊兩者,而不是具有與每個波導相關聯的振幅調變器和單獨的相位調變器。雖然使用單個調變器來執行這種編碼限制了精確調諧每個光學脈衝的振幅和相位的能力,但是存在不需要精確調諧光學脈衝的振幅和相位的一些編碼方案。這種方案將在後面描述。
光源1-201可以是任何合適的相干光源。在一些實施例中,光源1-201可以是二極體雷射或垂直腔表面發射雷射(VCSEL)。在一些實施例中,光源1-201被配置為具有大於10mW、大於25mW、大於50mW或大於75mW的輸出功率。在一些實施例中,光源1-201被配置為具有小於100mW的輸出功率。光源1-201可以被配置為在一個或多個波長下(例如C波段或O波段)發射連續的光波或光脈衝(「光學脈衝」)。光學脈衝的時間持續時間可以是例如大約100ps。
雖然圖1-2將光源1-201示為與光學編碼器的其他部件在同一半導體基板上,但實施例不限於此。例如,光源1-201可以是單獨的雷射封裝,其邊緣粘合或表面粘合到光學編碼器晶片。或者,光源1-201可以完全在晶片外,並且光學脈衝可以經由光纖和/或光柵耦合器耦合到光學編碼器1-101的波導1-202。
光源1-201被示為兩個光源1-201a和1-201b,但是實施例不限於此。一些實施例可包括單個光源。包括多個光源201a-b(其可包括兩個以上的光源),可在其中一個光源發生故障的情況下提供冗餘。包括多個光源可以延長光子處理系統1-100的使用壽命。多個光源1-201a-b可以各自耦合到光學編碼器1-101的波導,然後在波導組合器處組合,此波導組合器被配置為將來自每個光源的光學脈衝引導到冪次樹1-203。在這樣的實施例中,在任何給定時間僅使用一個光源。
一些實施例可以同時使用兩個或更多個相同波長的鎖相光源,來增加進入光學編碼器系統的光學功率。來自兩個或更多個光源中的每一個的一小部分光(例如經由波導抽頭獲取),可以被引導到零差偵測器,可在其中測量差拍誤差(beat error)信號。差拍誤差信號可用於確定兩個光源之間可能的相位漂移。例如,差拍誤差信號可以被饋送到反饋電路,此反饋電路控制相位調變器,此相位調變器將一個光源的輸出鎖相到另一個光源的相位。鎖相可以被概括在主從方案中,其中N≥1個從光源被鎖相到單個主光源。結果是光學編碼器系統可用的總共N+1個鎖相光源。
在其他實施例中,每個單獨的光源可以與不同波長的光相關聯。使用多個波長的光允許一些實施例被多工化,使得可以使用相同的光學硬體同時執行多個計算。
冪次樹1-203被配置為將來自光源1-201的單個光學脈衝分成空間分離的光學脈衝陣列。因此,冪次樹1-203具有一個光學輸入和n
個光學輸出。在一些實施例中,來自光源1-201的光學功率在與n個波導相關聯的n個光學模態上均勻地分開。在一些實施例中,冪次樹1-203是50:50分束器1-801的陣列,如圖1-8所示。冪次樹1-203的數量「深度」,取決於輸出端的波導數量。對於具有n
個輸出模態的冪次樹,冪次樹1-203的深度為ceil(log2
(n)
)。圖1-8的冪次樹1-203僅示出了樹深度為3(樹的每一層都標記在冪次樹1-203的底部)。每層包括2m-1
個分束器,其中m
是層數。因此,第一層具有單個分束器1-801a,第二層具有兩個分束器1-801b至1-801c,第三層具有四個分束器1-801d至1-801g。
雖然冪次樹1-203被示為級聯分束器陣列(其可以實現為漸逝波導耦合器),但實施例不限於此,而是可使用將一個光學脈衝轉換為複數個空間分離的光學脈衝的任何光學設備。例如,可以使用一個或多個多模干涉儀(MMI)來實現冪次樹1-203,在這種情況下,將適當地修改管理層寬度和深度的方程式。
無論使用何種類型的冪次樹1-203,製造冪次樹1-203使得在n
個輸出模態之間的分束比精確均勻,即使可能也會是困難的。因此,可以對振幅調變器的設置進行調整,以校正冪次樹輸出的n
個光學脈衝的不等強度。例如,具有最低光學功率的波導,可以被對於傳輸到光子處理器1-103的任何給定脈衝設置為最大功率。因此,除了對用於將資訊編碼到光學脈衝中的振幅的調變之外,可以藉由振幅調變器1-205調變具有高於最大功率的功率的任何光學脈衝為具有較低的功率。相位調變器也可以放置在n個輸出模態中的每一個處,其可以用於調整冪次樹1-203的每個輸出模態的相位,使得所有輸出信號具有相同的相位。
可選地或另外地,可以使用一個或多個Mach-Zehnder干涉儀(MZI)來實現冪次樹1-203,MZI可以被調諧使得冪次樹中每個分束器的分束比,在冪次樹1-203的輸出處產生實質相等的強度脈衝。
振幅調變器1-205被配置為基於相應的輸入位元串,修改從冪次樹1-203接收的每個光學脈衝的振幅。振幅調變器1-205可以是可變衰減器或由DAC 1-209控制的任何其他合適的振幅調變器,DAC 1-209可以進一步由控制器1-107控制。一些振幅調變器對於電信應用是已知的,並且可以在一些實施例中使用。在一些實施例中,可變分束器可以用作振幅調變器1-205,其中僅保留可變分束器的一個輸出而丟棄或忽略另一個輸出。可以在一些實施例中使用的振幅調變器的其他示例,包括行進波調變器、基於腔的調變器、Franz-Keldysh調變器、基於電漿的調變器、基於2D材料的調變器、和奈米光電機械開關(NOEMS)。
相位調變器1-207被配置為基於相應的輸入位元串,修改從冪次樹1-203接收的每個光學脈衝的相位。相位調變器可以是熱光移相器或可以由1-211電性控制的任何其他合適的移相器,1-211可以進一步由控制器1-107控制。
雖然圖1-2示出了振幅調變器1-205和相位調變器1-207作為兩個單獨的組件,但他們可以組合成控制光學脈衝的振幅和相位兩者的單個元件。然而,分別控制光學脈衝的振幅和相位是有利的。亦即,由於經由Kramers-Kronenig關係的振幅偏移和相移之間的連結,存在與任何振幅偏移相關聯的相移。為了精確地控制光學脈衝的相位,應該使用相位調變器1-207補償由振幅調變器1-205產生的相移。舉例來說,離開光學編碼器1-101的光學脈衝的總振幅是A = a0
a1
a2
,並且離開光學編碼器的光學脈衝的總相位是θ=Δθ+Δφ+φ,其中a0
是輸入光學脈衝的輸入強度(假設調變器輸入端為零相位),a1
是振幅調變器1-205的振幅衰減,Δθ是振幅調變器1-205在調變振幅時賦予的相移,Δφ是由相位調變器1-207賦予的相移,a2
是與通過相位調變器1-209的光學脈衝相關的衰減,φ是由於光學信號傳播而賦予到光學信號上的相位。因此,設置光學脈衝的振幅和相位,不是兩個獨立的確定過程。相反的,為了將特定振幅和相位精確地編碼進從光學編碼器1-101輸出的光學脈衝,對於兩種設置都應考慮振幅調變器1-205和相位調變器1-207的設置。
在一些實施例中,光學脈衝的振幅與位元串值直接相關。例如,高振幅脈衝對應於高位元串值,而低振幅脈衝對應於低位元串值。光學脈衝的相位,將位元串值編碼為正或負。在一些實施例中,光學編碼器1-101輸出的光學脈衝的相位,可以選自相隔180度(π弧度)的兩個相位。例如,正位元串值可以用零度相移來編碼,而負位串值可以用180度(π弧度)相移來編碼。在一些實施例中,向量意為複數值,因此光學脈衝的相位選自不僅僅是0和2π之間的兩個值。
在一些實施例中,控制器1-107基於輸入位元串和前述將輸出振幅和輸出相位鏈接到由振幅調變器1-204和相位調變器1-207施加的振幅和相位的等式,來確定由振幅調變器1-205和相位調變器1-207兩者施加的振幅和相位。在一些實施例中,控制器1-107可以在記憶體1-109中儲存用於驅動振幅調變器1-205和相位調變器1-207的數位值表。在一些實施例中,可以將記憶體放置在調變器附近以減少通信時間性潛時和功耗。
與振幅調變器1-205相關聯並通信地耦合到振幅調變器1-205的數位類比轉換器(DAC)1-209,從控制器1-107接收數位驅動值,並將數位驅動值轉換為驅動振幅調變器1-205的類比電壓。類似的,與相位調變器1-207相關聯並通信地耦合到相位調變器1-207的數位類比轉換器(DAC)1-211,從控制器1-107接收數位驅動值,並將數位驅動值轉換為驅動相位調變器1-207的類比電壓。在一些實施例中,DAC可以包括放大器,放大器將類比電壓放大到足夠高的位準,以在振幅調變器內實現期望的消光比(例如,實際上可能使用特定相位調變器實現的最高消光比)並在相位調變器內實現期望的相移範圍(例如,覆蓋0到2π之間的整個範圍的相移範圍)。雖然如圖1-2所示DAC 1-209和DAC 1-211位於光學編碼器1-101的晶片中和/或晶片上,在一些實施例中,DAC 1-209和1-211可以位於晶片外,同時仍然由導電跡線和/或導線分別通信耦合到振幅調變器1 -205和相位調變器1-207。
在由振幅調變器1-205和相位調變器1-207調變之後,n
個光學脈衝從光學編碼器1-101傳輸到光子處理器1-103。
D. 光子處理器
參考圖1-3所示,光子處理器1-103對由n
輸入光學脈衝表示的輸入向量實現矩陣乘法,並包括三個主要部分:第一矩陣實現例1-301、第二矩陣實現例1-303和第三矩陣實現例1-305。在一些實施例中,如下面更詳細討論的,第一矩陣實現例1-301和第三矩陣實現例1-305包括可編程、可重新配置的可變分束器(VBS)的互連陣列,其被配置為將來自輸入向量的n
個輸入光學脈衝變換為輸出向量,向量的分量由每個光學脈衝的振幅和相位表示。在一些實施例中,第二矩陣實現例1-303包括一組電光元件。
輸入向量藉由使輸入光學脈衝通過光子處理器1-103而所乘以的矩陣稱為M
。矩陣M
是控制器1-107已知應由光子處理器1-103實現的一般m
xn
。這樣,控制器1-107使用奇異值分解(SVD)分解矩陣M
,使得矩陣M
由三個組成矩陣表示:M =VT
ΣU,其中U
和V
分別是實正交n
xn
和m
xm
矩陣( UT
U = UUT
= I且VT
V = VVT
= I),並且Σ是具有實條目的m
×n
對角矩陣。所有方程式中的上標「T」表示相關矩陣的轉置。矩陣的SVD確定程序是已知的,並且控制器1-107可以使用任何合適的技術來確定矩陣M
的SVD。在一些實施例中,矩陣M是複矩陣,在這種情況下矩陣M可以被分解成M = V†
ΣU,其中V和U是複數酉n × n和m × m矩陣,分別是U†
U = UU†
= I和V†
V = VV†
= I),Σ是具有實數條目或複數條目的m × n對角矩陣。對角奇異值的值也可以進一步歸一化,使得奇異值的最大絕對值是1。
一旦控制器1-107在矩陣U
和V
是正交實矩陣的情況下對矩陣M
確定了矩陣U
、Σ
和V
,則控制器可以進一步將兩個正交矩陣U
和V
分解為一系列實數Givens旋轉矩陣。Givens旋轉矩陣G
(i
,j
,θ
)由以下方程式按分量定義:對於 對於 ,,
其中gij
表示矩陣G的第i行和第j列中的元素,θ是與矩陣相關聯的旋轉角度。一般而言,矩陣G是具有行列式1(SU(2)組)的任意2 × 2酉矩陣,並且由兩個參數參數化。在一些實施例中,這兩個參數是旋轉角度θ和另一個相位值φ。然而,矩陣G可以藉由除角度或相位之外的其他值參數化,例如藉由反射率/透射率或藉由間隔距離(在NOEMS的情況下)。
用於以複數空間中的Givens旋轉組的乘積表達任意實正交矩陣的演算法,提供在M. Reck等人所著的「Experimental realization of any discrete unitary operator,」 Physical Review Letters 73, 58 (1994) (「Reck」),與 W. R. Clements等人所著的,「Optimal design for universal multiport interferometers,」 Optica 3, 12 (2016) (「Clements」),這兩篇文獻的全部內容通過引用併入本文,至少針對他們對根據Givens旋轉分解實正交矩陣的技術的討論。(如果本文使用的任何術語與Reck和/或Clements中該術語的使用相衝突,則術語應該被賦予與具有通常知識者如何理解其在本文中的使用最相符的含義)。得到的分解由下式給出:
其中U
是n
xn
正交矩陣,Sk
是與第k組Givens旋轉相關的索引集(由分解演算法定義),表示在第k組Givens旋轉中分量i和j之間對Givens旋轉施加的角度,D是表示每個分量上的全局符號的+1或-1條目的對角矩陣。索引集合Sk
取決於n是偶數還是奇數。例如,當n
是偶數時:
l對於奇數k
l對於偶數k
當n
是奇數:
l對於奇數k
l對於偶數k
上述演算法的結果矩陣U'
是下三角形,並且通過以下等式與原始矩陣U
相關:
其中標籤SL
標記由VBS連接到U'
左側的兩個模態的組,標籤SR
標記由VBS連接到U'
右側的兩個模態的組。因為U是正交矩陣,所以U'
是沿對角線具有{-1, 1}條目的對角矩陣。此矩陣,U'= DU
,被稱為「相位屏幕」。
上述演算法也可用於分解V
和/或VT
,以確定m
層的VBS值和相關的相位屏幕。
將正交矩陣分解為實值Givens旋轉矩陣的上述概念可以擴展到複數矩陣,例如酉矩陣,而不是正交矩陣。在一些實施例中,這可以通過在Givens旋轉矩陣的參數化中包括附加相位來實現。因此,附加額外相位項的Givens矩陣的一般形式是T(i,j,θ,ϕ),其中對於,,,,,,
其中tij
表示矩陣T
的第i行和第j列,θ是與矩陣相關聯的旋轉角度,φ是附加相位。任何酉矩陣都可以分解為T(i,j,θ,ϕ)類型的矩陣。藉由選擇設置相位φ= 0,獲得上述傳統的實值Givens旋轉矩陣。相反的,如果相位φ=π,則獲得稱為Householder矩陣的一組矩陣。Householder矩陣H
的形式為H
=I
-(v
⊗v
),其中I
是n
×n
單位矩陣,v是單位向量,⊗是外積。Householder矩陣表示關於與單位向量v
正交的超平面的反射。在此參數化中,超平面是二維子空間,而不是在定義用於QR分解的Householder矩陣中常見的n-1維子空間。因此,將矩陣分解為Givens旋轉,等效於將矩陣分解為Householder矩陣。
基於上述將任意酉矩陣分解為限制的Givens旋轉組的程序,可以通過特定的旋轉和相移序列來實現任何酉矩陣。並且在光子學中,旋轉可以由可變分束器(VBS)表示,並且可以使用相位調變器輕易實現相移。因此,對於光子處理器1-103的n
個光學輸入,表示矩陣M
的SVD的酉矩陣的第一矩陣實現例1-301和第三矩陣實現例1-305,可以由互連的VBS和移相器陣列實現。由於通過VBS陣列傳遞光學脈衝的並行性質,可以在O(1)時間內執行矩陣乘法。第二矩陣實現例1-303是矩陣M
的SVD的對角矩陣,其與對應於SVD的每個正交矩陣的對角矩陣D
組合。如上所述,每個矩陣D被稱為「相位屏幕」,並且可以用下標標記,以表示他是與矩陣U
還是矩陣V
相關聯的相位屏幕。因此,第二矩陣實現例303是矩陣Σ'=DV
ΣDU
。
在一些實施例中,與第一矩陣實現例1-301和第三矩陣實現例1-305相關聯的光子處理器1-103的VBS單元,可以是具有內部移相器的Mach-Zehnder干涉儀(MZI)。在其他實施例中,VBS單元電池可以是微機電系統(MEMS)致動器。在一些實施例中,可以使用外部移相器來實現Givens旋轉所需的附加相位。
表示對角矩陣DV
ΣDU
的第二矩陣實現例1-303,可以使用振幅調變器和移相器來實現。在一些實施例中,VBS可用於分離可被丟棄的光的一部分以可變地衰減光學脈衝。附加地或替代地,可使用可控制式增益介質來放大光學信號。例如,GaAs、InGaAs、GaN或InP可以用作用於放大光學信號的主動增益介質。也可以使用其他主動增益處理,例如具有晶體反轉對稱的材料(例如KTP和鈮酸鋰)中的二次諧波產生,以及缺乏反轉對稱性的材料(例如矽)中的四波混合處理。取決於所實現的相位屏幕,每種光學模態中的移相器可用於施加零或π相移。在一些實施例中,對於每個相位屏幕,僅使用用於每個光學模態的單個移相器而不是一個移相器。這是可能的,因為每個矩陣DV
、Σ和DU
都是對角的,因此是可交換的(commute)。因此,光子處理器1-103的第二矩陣實現例1-303的每個移相器的值,是兩個相位屏幕的乘積的結果:DV
DU
。
參考圖1-4,根據一些實施例,第一和第三矩陣實現例10-301和1-305被實現為VBS 1-401的陣列。為簡單起見,僅示出了n = 6個輸入光學脈衝(列數),導致「電路深度」(例如行數)等於輸入光學脈衝的數量(例如六個)。為清楚起見,只對一個VBS 1-401標有元件符號。然而,VBS被標記有下標與上標,下標識別特定VBS正在混合哪些光學模態,上標標記相關的行。如上所述,每個VBS 1-401實現複數Givens旋轉,T(i,j,θ,ϕ),其中i和j等效於VBS 1-401的下標標籤,θ是Givens旋轉的旋轉角度,φ是與廣義旋轉相關的附加相位。
參考圖1-5所示,每個VBS 1-401可以使用MZI 1-510和至少一個外部移相器1-507來實現。在一些實施例中,還可以包括第二外部移相器1-509。MZI 1-510包括第一瞬逝耦合器1-501和第二瞬逝耦合器1-503,用於混合MZI 1-510的兩個輸入模態。內部移相器1-505調變MZI 1-510的一個臂中的相位θ,以在兩個臂之間產生相位差。調整相位θ使得VBS 1-401的光輸出強度從MZI 1-510的一種輸出模態變化到另一種輸出模態,從而產生可控且可變的分束器。在一些實施例中,可以在第二臂上施加第二內部移相器。在這種情況下,兩個內部移相器之間的差異導致輸出光強度變化。兩個內部相位之間的平均值,將為進入模態i和模態j的光賦予全局相位。因此,兩個參數θ和φ可以各自由移相器控制。在一些實施例中,第二外部移相器1-509可用於校正由於靜態相位無序而在VBS的輸出模態上的不想要的差分相位。
在一些實施例中,移相器1-505、1-507和1-509可包括熱光、電光或光機械相位調變器。在其他實施例中,可以使用NOEMS調變器,而不是在MZI 510內包括內部相位調變器505。
在一些實施例中,VBS的數量隨著矩陣的大小而增長。發明人已經認識並理解到,控制大量VBS可能是具有挑戰性的,並且在多個VBS之間共享單個控制電路是有益的。可用於控制多個VBS的並行控制電路的示例,是數位類比轉換器接收數位串作為輸入,此數位串對要在特定VBS上賦予的類比信號進行編碼。在一些實施例中,電路還接收第二輸入,即要控制的VBS的位址。然後,電路可以在定址的VBS上賦予類比信號。在其他實施例中,控制電路可以自動掃描多個VBS並在多個VBS上賦予類比信號,而不被主動給予位址。在這種情況下,定址序列是預定義的,使得他以已知的順序遍歷VBS陣列。
參考圖1-6所示,第二矩陣實現例1-303實現了對角矩陣Σ'=DV
ΣDU
的乘法。這可以使用兩個移相器1-601和1-605來實現兩個相位屏幕和振幅調變器1-603,以將相關光學脈衝的強度調整量η來實現。如上所述,在一些實施例中,可以僅使用單個相位調變器1-601,因為兩個相位屏幕可以組合在一起,因為形成Σ'的三個組成矩陣是對角的並且因此是可交換的。
在一些實施例中,振幅調變器1-603可以使用衰減器和/或放大器來實現。如果振幅調變η的值大於1,則光學脈衝被放大。如果振幅調變η的值小於1,則光學脈衝被衰減。在一些實施例中,僅使用衰減。在一些實施例中,衰減可以由一行集成衰減器實現。在其他實施例中,如圖1-7所示,衰減1-603可以使用包括兩個瞬逝耦合器1-701和1-703的MZI以及可控內部移相器1-705來實現,以調整從MZI輸入端傳送多少輸入光到MZI的第一輸出端口1-709。MZI的第二輸出端口1-707可以被忽略、阻止或丟棄。
在一些實施例中,控制器1-107控制光子處理器1-103中的每個移相器的值。上面討論的每個移相器,可以包括類似於結合光學編碼器1-101的相位調變器1-207討論的DAC的DAC。
光子處理器1-103可以包括任何數量的輸入節點,但是互連的VBS陣列1-301和1-305的尺寸和複雜性,將隨著輸入模態的數量的增加而增加。例如,如果存在n
個輸入光學模態,則光子處理器1-103將具有2n + 1的電路深度,其中第一矩陣實現例1-301和第二矩陣實現例1-305各自具有電路深度n
,且第二矩陣實現例1-303的電路深度為1。重要的是,執行單個矩陣乘法的時間複雜度與輸入光脈衝的數量甚至不是線性關係 - 他總為O(1)。在一些實施例中,由並行化提供的這種低階複雜性,導致使用傳統電處理器無法獲得的能量和時間效率。
應注意,雖然本文描述的實施例將光子處理器1-103示出為具有n
個輸入和n
個輸出,但是在一些實施例中,由光子處理器1-103實現的矩陣M
可以不是方形矩陣。在這樣的實施例中,光子處理器1-103可以具有不同數量的輸出和輸入。
還應注意,由於第一和第二矩陣實現例1-301和1-305內的VBS的互連的拓撲,可以將光子處理器1-103細分為的非交互列子集,使得可以同時執行多個矩陣乘法。例如,在圖1-4中所示的VBS陣列中,如果設置耦合光學模態3和4的每個VBS 1-401,使得光學模態3和4根本不耦合(例如好像圖1-4中不存在具有下標「34」的VBS 1-401),那麼前三種光學模態將完全獨立於底部三種光學模態而運行。利用具有更多輸入光學模態的光子處理器,可以由更大的規模完成這種細分。例如,n
= 64光子處理器可以將8個8分量輸入向量,同時乘以相應的8 × 8矩陣(8 × 8矩陣中的每一個可被單獨編程和控制)。而且,光子處理器1-103不需要被均勻地細分。例如,n = 64光子處理器可以細分為分別具有20、13、11、8、6、4和2個分量的七個不同的輸入向量,每個向量同時乘以相應的矩陣。應該理解的是,上述數值示例僅用於說明目的,並且任何數量的細分都是可能的。
另外,雖然光子處理器1-103執行向量矩陣乘法,其中藉由使光學信號通過VBS陣列將向量乘以矩陣,但光子處理器1-103也可用於執行矩陣 - 矩陣乘法。例如,多個輸入向量可以一個接一個地、一次一個輸入向量地通過光子處理器1-103,其中每個輸入向量表示輸入矩陣的行。在光學計算每個單獨的向量矩陣乘法(每次乘法產生輸出向量,輸出向量對應於所得矩陣的輸出行的行)之後,可以數位地組合結果以形成由矩陣 - 矩陣乘法產生的輸出矩陣。
E. 光學接收器
光子處理器1-103輸出n
個光學脈衝,這些光學脈衝被傳輸到光學接收器1-105。光學接收器1-105接收光學脈衝,並基於接收的光學信號產生電信號。在一些實施例中,確定每個光學脈衝的振幅和相位。在一些實施例中,這是使用零差或外差偵測方案實現的。在其他實施例中,可以使用習知光電二極體執行簡單的非相敏光電偵測。
參考圖1-9,根據一些實施例,光學接收器1-105包括零差偵測器1-901、跨阻抗放大器1-903和類比數位轉換器(ADC)1-905。雖然組件被示為用於圖1-9中的所有光學模態的一個元件,但這是為了簡單說明起見。每個光學模態可以具有專用的零差偵測器1-901、專用的跨阻抗放大器1-903和專用的ADC 1-905。在一些實施例中,可以不使用跨阻抗放大器1-903。相反的,可以使用將電流轉換為電壓的任何其他合適的電子電路。
參考圖1-10所示,根據一些實施例,零差偵測器1-903包括本地振盪器1-1001、正交控制器1-1003、分束器1-1005和兩個偵測器1-1007和1-1009。零差偵測器1-903輸出基於第一偵測器1-1007和第二偵測器1-1009輸出的電流之間的差的電流。
本地振盪器1-1001在分束器1-1005處與輸入光學脈衝組合。在一些實施例中,光源1-201的一部分經由光學波導和/或光纖傳輸到零差偵測器1-901。來自光源1-201的光本身可以用作本地振盪器1-1001,或者在其他實施例中,本地振盪器1-1001可以是使用來自光源1-201的光以產生相位匹配的光學脈衝的單獨光源。在一些實施例中,MZI可以代替分束器1-1005,使得可以在信號和本地振盪器之間進行調整。
正交控制器1-1003控制進行測量的相位空間中的橫截面角度。在一些實施例中,正交控制器1-1003可以是移相器,其控制輸入光學脈衝和本地振盪器之間的相對相位。正交控制器1-1003在輸入光學模態中被示為移相器。但是在一些實施例中,正交控制器1-1003可以處於本地振盪器模式。
第一偵測器1-1007偵測分束器1-1005的第一輸出的光輸出,第二偵測器1-1009偵測分束器1-1005的第二輸出的光輸出。偵測器1-1007和1-1009可以是以零偏壓操作的光電二極體。減法電路1-1011從來自第二偵測器1-1009的電流中減去來自第一偵測器1-1007的電流。因此產生的電流具有振幅和符號(正或負)。跨阻抗放大器1-903將此電流差轉換為電壓,此電壓可以是正的或負的。最後,ADC 1-905將類比信號轉換為數位位元串。此輸出位元串表示矩陣乘法的輸出向量結果,並且是由光子處理器1-103輸出的輸出向量的光學輸出表示的電性數位版本。在一些實施例中,輸出位元串可以被發送到控制器1-107以進行額外處理,額外處理可以包括:基於一個或多個輸出位元串確定下一個輸入位元串,和/或將輸出位元串發送到外部處理器,如上所述。
發明人進一步認識並理解到,上述光子處理系統1-100的組件不需要背對背地鏈接在一起而使得存在第一矩陣實現例1-301連接到第二矩陣實現例1-303連接到第三矩陣實現例1-305。在一些實施例中,光子處理系統1-103可以僅包括用於執行一次或多次乘法的單個酉電路。單個酉電路的輸出可以直接連接到光學接收器1-105,其中藉由偵測輸出光學信號來確定乘法的結果。在這樣的實施例中,單個酉電路可以例如實現第一矩陣實現例1-301。然後,光學接收器1-105偵測到的結果,可以數位地傳輸到習知處理器(例如處理器1-111),其中使用習知處理器(例如,1-111)在數位域中執行對角第二矩陣實現例1-303。然後,控制器1-107可以重新編程單個酉電路以執行第三矩陣實現例1-305,基於第二矩陣實現例的數位實現例的結果確定輸入位元串,並控制光學編碼器以發送(基於新的輸入位元串編碼的)光學信號通過具有重新編程設置的單個酉電路。然後,使用由光學接收器105偵測的所得輸出光學信號來確定矩陣乘法的結果。
發明人還認識並理解到,串聯背對背地連接多個光子處理器1-103可為有利的。例如,為了實現矩陣乘法M = M1
M2
,其中M1
和M2
是任意矩陣但是M2
基於變化的輸入工作負荷比M1
更頻繁地變化,可以控制第一光子處理器以實現M2
,且光學耦合到第一光子處理器的第二光子處理器可以實現保持靜態的M1
。以這種方式,僅需要基於改變的輸入工作量頻繁地更新第一光子處理系統。這樣的佈置不僅加速了計算,而且還減少了在控制器1-107和光子處理器之間傳輸的資料位元的數量。
F. 折疊式光子處理系統
在圖1-1所示,在這種佈置中,光學編碼器1-101和光學接收器1-105位於光子處理系統1-100的相對側。在使用來自光學接收器1-105的反饋來確定光學編碼器1-101的輸入以用於將來的過程迭代的應用中,資料以電子方式從光學接收器1-105傳輸到控制器1-107,然後到光學編碼器1-101。發明人已經認識到並意識到,減小這些電信號需要行進的距離(例如藉由減小電跡線和/或導線的長度)導致功率節省和更低的潛時。而且,不需要將光學編碼器1-101和光學接收器1-105放置在光子處理系統的相對兩端。
因此,在一些實施例中,光學編碼器1-101和光學接收器1-105彼此靠近定位(例如在光子學處理器1-103的同一側),使得電信號必須在光學編碼器1-101和光學接收器1-105之間行進的距離小於光子處理器1-103的寬度。這可以藉由實體地交織第一矩陣實現例1-301和第三矩陣實現例1-305的組件來實現,使得他們實體上位於晶片的相同部分中。這種佈置被稱為「折疊式」光子處理系統,因為光首先在第一方向上傳播通過第一矩陣實現例1-301,直到光到達遠離光學編碼器1-101與光學接收器1-105的晶片的實體部分,然後折疊回,使得當實現第三矩陣實現例1-305時波導使光轉而在與第一方向相反的方向上傳播。在一些實施例中,第二矩陣實現例1-303實體上位於波導中的折疊附近。這種佈置降低了連接光學編碼器1-101、光學接收器1-105和控制器1-107的電跡線的複雜性,並減少了用於實現光子處理系統1-100的總晶片面積。例如,使用折疊佈置的一些實施例,僅使用如圖1-1的背對背光子佈置所需的總晶片面積的65%。這可以降低光子處理系統的成本和複雜性。
發明人已經認識並理解到,折疊佈置不僅具有電性優勢,而且還具有光學優勢。例如,藉由減小光學信號必須從光源傳播的距離以用作零差偵測的本地振盪器,可以減少光學信號的時間相依相位波動,從而產生更高品質的偵測結果。特定而言,藉由將光源和零差體定位在光子處理器的同一側,用於本地振盪器的光學信號行進的距離不再取決於矩陣的大小。例如,在圖1-1的背對背佈置中,用於本地振盪器的光學信號行進的距離與矩陣的大小成線性關係,而折疊佈置中行進的距離是恆定的,與矩陣大小無關。
圖1-11是根據一些實施例的折疊式光子處理系統1-1100的示意圖。折疊式光子處理系統1-1100包括冪次樹1-1101、複數個光學編碼器1-1103a至1-1103d、複數個零差偵測器1-1105a至1-1105d、複數個選擇器開關1-1107a至1-1107d、複數個U矩陣分量1-1109a至1-1109j、複數個對角矩陣分量1-1111a至1-1111d、以及複數個V矩陣分量1-1113a至1-1113j。為清楚起見,並未在圖中示出折疊式光子處理系統的所有組件。應當理解,折疊式光子處理系統1-1100可以包括與背對背光子處理系統1-100類似的組件。
冪次樹1-1101類似於圖2的冪次樹1-203,且被配置為將光從光源(未示出)傳送到光學編碼器1-1103。然而,冪次樹1-1101和冪次樹1-203的不同之處,在於冪次樹直接向零差偵測器1-1105a傳送光學信號。在圖2中,光源201藉由從光源中取出一部分光學信號並使用波導引導光學信號,以將本地振盪器信號傳送到光子處理器另一側的零差偵測器。在圖1-11中,冪次樹1-1101包括多個輸出,其等於空間模態數量的兩倍。例如,圖1-11僅示出了光子處理器的四個空間模態,其導致來自冪次樹1-1101的八個輸出模態:一個輸出將光導向每個光學編碼器1-1103,一個輸出將光導向每個零差偵測器1-1105。可例如使用級聯分束器或多模干涉儀(MMI)來實現冪次樹。
光學編碼器1-1103類似於圖1的冪次樹光學編碼器1-101,並且被配置為將資訊編碼為從冪次樹1-1101接收的光學信號的振幅和/或相位。這可以例如如結合圖2的光學編碼器1-101所描述般來達成。
零差偵測器1-1105位於冪次樹1-1101和U矩陣組件1-1109之間。在一些實施例中,零差偵測器1-1105與光學編碼器1-1103實體地定位在一行中。在一些實施例中,光學編碼器1-1103和零差偵測器1-1105可以在單個行中交織。以這種方式,光學編碼器1-1103和零差偵測器1-1105彼此非常接近,減小了用於連接光學編碼器1-1103和零差偵測器1-1105和控制器(未示出)的電跡線(未示出)的距離,此控制器可以實體地位於光學編碼器1-1103和零差偵測器1-1105的行附近。
每個光學編碼器1-1103與相應的零差偵測器1-1105相關聯。光學編碼器1-1103和零差偵測器1-1105兩者都接收來自冪次樹1-1101的光學信號。如上所述,光學編碼器1-1103使用光學信號來編碼輸入向量。如上所述,零差偵測器1-1105使用從冪次樹接收的所接收光學信號作為本地振盪器。
每對光學編碼器1-1103和零差偵測器1-1105,藉由波導與選擇器開關1-1107相關聯並連接到選擇器開關1-1107。選擇器開關1-1107a至1-1107d可以使用例如習知的2 × 2光學開關來實現。在一些實施例中,2 × 2光學開關是具有內部移相器的MZI,以控制MZI從交叉到條的行為。開關1-1107連接到控制器(未示出),以控制從光學編碼器1-1103接收的光學信號是否將被引導向U矩陣組件1-1109或V矩陣組件1-1113。還控制光學開關,以將從U矩陣組件1-1109和/或V矩陣組件1-1113接收的光,導向零差偵測器1-1105以進行偵測。
用於實現矩陣乘法的技術,在光子折疊式光子處理系統1-1100中是類似的,如上面結合背對背系統所描述的,如圖1-3所示。兩個系統之間的差異在於,矩陣分量的實體放置和折疊1-1120的實現,其中光學信號從圖1-11中的大致從左向右傳播變化,改變成大致從右向左傳播。在圖1-11中,組件之間的連結可以表示波導。在一些實施例中,實線連結表示其中光學信號從左向右傳播的波導部分,並且在一些實施例中,虛線連結表示其中光學信號從右向左傳播的波導部分。特定而言,考慮到這種命名方式,圖1-11中所示的實施例是選擇器開關1-1107首先將光學信號引導到U矩陣組件1-1109的實施例。在其他實施例中,選擇器開關1-1107可以首先將光學信號引導到V矩陣組件1-1113,在這種情況下,虛線將表示其中光學信號從左向右傳播的波導部分,並且實線連結將代表光學信號從右向左傳播的波導部分。
使用與V矩陣分量1-1113交織的U矩陣分量1-1109,在光子處理系統1-1100中實現矩陣M的SVD的U矩陣。因此,不同於圖1-3中所示的背對背佈置的實施例,所有U矩陣組件1-1109和V矩陣組件1-1113實體上不位於單個物理區域內的相應的自包含陣列中。因此,在一些實施例中,光子處理系統1-1100包括複數行矩陣組件,並且至少一行包含U矩陣組件1-1109和V矩陣組件1-1113兩者。在一些實施例中,第一行可以僅具有U矩陣組件1-1109,如圖1-11所示。與圖3的第一矩陣實現例1-301類似地實現U矩陣組件1-1109。
由於U矩陣組件1-1109和V矩陣組件1-1113的交織結構,折疊式光子處理系統1-1100包括在矩陣元素行之間的各個位置處的波導交叉1-1110。在一些實施例中,可以使用積體光子晶片中的兩層或更多層之間的絕熱消逝升降舵(adiabatic evanescent elevators),來建構波導交叉。在其他實施例中,U矩陣和V矩陣可以位於同一晶片的不同層上,並且不使用波導交叉。
在光學信號傳播通過所有U矩陣組件1-1109之後,光學信號傳播到對角矩陣組件1-1111,其與圖1-3的第二矩陣實現例1-303類似地實現。
在光學信號傳播通過所有對角矩陣組件1-1111之後,光學信號傳播到V矩陣組件1-1113,其與圖1-3的第三矩陣實現例1-305類似地實現。使用與U矩陣分量1-1109交織的V矩陣分量1-1113,在光子處理系統1-1100中實現矩陣M的SVD的V矩陣。因此,所有V矩陣分量1-1113都不是實體上位於單個自包含陣列中。
在光學信號傳播通過所有V矩陣組件1-1113之後,光學信號返回到選擇器開關1-1107,選擇器開關1-1107將光學信號引導到零差偵測器1-1105以進行偵測。
發明人進一步認識並理解到,藉由在光學編碼器之後並在矩陣組件之前包括選擇器開關,折疊式光子處理系統1-1100允許電路具有有效率的雙向性。因此,在一些實施例中,控制器(諸如結合圖1-1描述的控制器1-107)可以控制光學信號首先乘以U矩陣還是首先乘以VT
矩陣。對於設置為在從左到右傳播光學信號時實現酉矩陣U的VBS陣列,從右到左傳播光學信號會實現乘以酉矩陣UT
。因此,對於VBS陣列的相同設置可以實現U和UT
兩者,取決於光學信號傳播通過陣列的方式,這可以使用選擇器開關1-1107來控制。在一些應用中,諸如用於訓練機器學習演算法的反向傳播,可能需要使光學信號向後通過一個或多個矩陣。在其他應用中,雙向性可用於計算輸入向量上的反矩陣的運算。例如,對於可逆n × n矩陣M,SVD產生M=VT
ΣU。此矩陣的反矩陣是M-1
=UT
Σ-1
V,其中Σ-1
是對角矩陣的反矩陣,其可以有效率地藉由將每個對角元素反轉來計算。為了將向量乘以矩陣M,開關被配置為將光學信號沿第一方向引導通過矩陣U,然後通過Σ,再通過VT
。為了將向量乘以反矩陣M-1
,首先設置奇異值以編程Σ-1矩陣的實現例。這構成僅改變一行VBS而不是光子處理器的所有2n + 1行的設置,這是單向光子處理系統的情況,諸如圖1-3所示的單向光子處理系統。然後,表示輸入向量的光學信號沿與第一方向相反的第二方向傳播通過矩陣VT
,然後通過Σ-1
,然後通過U。使用選擇器開關1-1107,折疊式光子處理系統1-1100可以首先容易地從先實現U矩陣(或其轉置矩陣)改變為先實現VT
矩陣(或其轉置矩陣)。
G. 波長分波多工
發明人進一步認識並理解到,存在可以將不同向量乘以相同矩陣的應用。例如,當訓練或使用機器學習演算法時,可以使用相同的矩陣乘法處理資料集。發明人已經認識並理解到,如果光子處理器之前和之後的組件被波長分波多工化,則可以用單個光子處理器來實現。因此,一些實施例包括多個前端和後端,每個前端和後端與不同波長相關聯,而僅使用單個光子處理器來實現矩陣乘法。
圖1-12A示出了根據一些實施例的WDM光子處理系統1-1200。WDM光子處理系統1-1200包括N個前端1-1203、具有N個空間模態的單個光子處理器1-1201、以及N個後端1-1205。
光子處理器1-1201可以類似於光子處理器1-103,具有N個輸入模態和N個輸出模態。N個前端1-1203中的每一個連接到光子處理器1-1201的相應輸入模態。類似地,N個後端1-1205中的每一個連接到光子處理器1-1201的相應輸出模態。
圖1-12B示出了前端1-1203中的至少一個的細節。與其他實施例的光子處理系統一樣,光子處理系統1-1200包括光學編碼器1-1211。但是在此實施例中,存在M個不同的光學編碼器,其中M是由WDM光子處理系統1-1200多工化的波長的數量。M個光學編碼器1-1211中的每一個接收來自光源(未示出)的光,此光源產生M個光學信號,每個光學信號具有不同的波長。光源可以例如是雷射陣列、梳頻(frequency comb)產生器或產生不同波長的相干光的任何其他光源。M個光學編碼器1-1211中的每一個由控制器(未示出)控制,以實現適當的振幅和相位調變,以將資料編碼到光學信號中。然後,使用M:1 WDM 1-1213將M個經編碼的光學信號組合成單個波導。然後,單個波導連接到光子處理器1-1201的N個波導之一。
圖1-12C示出了後端1-1205中的至少一個的細節。與其他實施例的光子處理系統一樣,光子處理系統1-1200包括偵測器1-1223,偵測器1-1223可以是相敏偵測器或非相敏偵測器。但是在此實施例中,存在M個不同的光學偵測器1-1223,其中M是由WDM光子處理系統1-1200多工化的波長的數量。M個偵測器1-1223中的每一個接收來自1:M WDM 1-1221的光,其將單個輸出波導從光子處理器1-1201分成M個不同的波導,每個波導攜帶相應波長的光學信號。M個偵測器1-1223中的每一個可以由控制器(未示出)控制以記錄測量結果。例如,M個偵測器1223中的每一個可以是零差偵測器或非相位敏感光偵測器。
在一些實施例中,光子處理器1-1201中的VBS可以被選擇為在感興趣的M個波長內是非色散的。因此,所有輸入向量乘以相同的矩陣。例如,可以使用MMI代替定向耦合器。在其他實施例中,可以選擇VBS在感興趣的M個波長內為色散的。在與訓練神經網路相關的一些應用中,這相當於在計算權重的梯度時添加雜訊。增加的雜訊可以帶來更快的收斂和減少過度擬合(overfitting)的好處。
雖然圖1-12A示出了背對背光子處理系統,但類似的WDM技術可以用於使用針對折疊式光子處理器1-1100所描述的技術以形成WDM折疊式光子處理器。
H. 輸出的類比求和
發明人已經認識到並意識到,在一些應用中,有用的是計算光子處理器1-103的輸出的總和或平均值隨時間的變化。例如,當光子處理系統1-100用於計算單個資料點的更精確的矩陣向量乘法時,可能想要多次通過光子處理器運行單個資料點,以改善計算的統計結果。額外地或替代地,當在反向傳播機器學習演算法中計算梯度時,吾人可能不希望以單個資料點確定梯度,因此可以通過光子處理系統1-100運行多個訓練資料點並且可以使用平均結果來計算梯度。此方法不僅可以在執行反向傳播演算法時減少可能的過度擬合,還可以減少權重矩陣所需的更新次數。
發明人進一步認識並理解到,在將輸出轉換為數位電信號之前,可以在類比域中對輸出信號求和。因此,在一些實施例中,使用低通濾波器以對零差偵測器的輸出求和。藉由在類比域中執行求和,零差電子器件可以使用慢速ADC,而不用使用在數位域中執行求和所需要的昂貴的快速ADC。
圖1-13示出了根據一些實施例的光學接收器1-1300的一部分以及低通濾波器1-1305如何與零差偵測器1-1301一起使用。零差偵測器1-1301執行輸入光學脈衝的場和相位的測量。如果k是隨時間變化的不同輸入脈衝的標籤並且總共有K個輸入,則可以使用低通濾波器1-1305在類比域中自動執行對k求和。圖1-9所示的光學接收器1-105與此光學接收器1-1300之間的主要區別在於:低通濾波器是在零差偵測器輸出之後在跨阻抗放大器1-1303之後。如果總共K個信號在單個慢取樣週期內到達零差偵測器,則低通濾波器將根據的符號和值累積/去除電容器C中的電荷。低通濾波器的最終輸出與成比例,可以用較慢的ADC(未示出)讀取一次,取樣頻率為。對於理想系統,低通濾波器應具有3 dB頻寬:。對於使用如圖1-13的實施例中所示的RC電路的低通濾波器,,可以選擇R和C的值來獲得所需的採樣頻率:。
在一些實施例中,可以同時存在快速ADC和慢速ADC。在這種情況下,快速ADC配置為接收每個單獨的類比信號並將其轉換為數位信號(例如,取樣頻率等於或大於類比信號到達ADC的頻率的ADC),且慢速ADC配置為接收多個類比信號,並將多個接收到的類比信號的總和或平均值轉換為單個數位信號(例如,取樣頻率低於類比信號到達ADC的頻率的ADC)。可使用電開關,以將來自零差偵測器和可能的跨阻抗放大器的電信號切換到具有慢ADC的低通濾波器或快速ADC。以這種方式,一些實施例的光子處理系統,可以在使用慢ADC執行類比求和和使用快速ADC測量每個光學信號之間切換。
I. 穩定相位
發明人已經認識並理解到,期望穩定用於執行相敏測量(例如零差偵測)的本地振盪器的相位,以確保結果準確。本文描述的實施例的光子處理器,藉由在N個不同空間模態之間干涉光來執行矩陣運算。在一些實施例中,使用相敏偵測器(例如零差或外差偵測器)測量結果。因此,為了確保精確地執行矩陣運算,在光子處理器的各個部分處施加的相位應該盡可能準確,並且應該精確地知道用於執行相敏偵測的本地振盪器的相位。
發明人已經認識並理解到,並行干擾運算(諸如在光子處理器的單行VBS內執行的那些運算)不僅必須使用控制VBS的MZI內的相對相位(以及MZI輸出的相位與相對相位)的相位調變器來賦予正確的相位,而行中的每個VBS更應在光子處理器的所有空間模態中賦予相同的全局相移。在此應用中,光子處理器中的一列VBS的全局相移被稱為「行 - 全局相位」。行 - 全局相位是由於與與VBS相關聯的編程相位無關的效應而賦予的相位,例如由於傳播通過波導或由於溫度變化的相位而產生的相位。這些相位不需要在VBS上的行內精確同時賦予,但僅需要藉由穿過所關注的行來賦予。確保行-全局相位在行的不同空間模態之間是均勻的是重要的,因為來自一行的輸出光學信號可能在後續行處的一個或多個VBS處受到干擾。如果先前行的行-全局相位不均勻,則後續干擾(以及計算本身的準確性)將是不正確的。
圖1-14示出了光子處理系統1-1400的行全局相位和總全局相位。類似於上述光子處理系統的實施例,光子處理系統1-1400包括U矩陣實現例1-1401、對角矩陣實現例1-1403、V矩陣實現例1-1405、以及複數個探測器1-1407a 至 1-1407d。這些實現例類似於上述第一、第二和第三矩陣實現例。為簡單起見,僅示出了光子處理系統1-1400的四種模態,但應該理解到,可以使用任意更大數量的模態。同樣為簡單起見,僅示出了與U矩陣實現例1-1401相關聯的VBS。對角矩陣實現例1-1403和V矩陣實現例1-1405的分量的佈置,類似於上述第三和第四矩陣實現。
U矩陣實現例1-1401包括複數個VBS 1-1402,但是為了清楚起見僅標記了單個VBS 1-1402。然而,VBS被標記有下標與上標,下標識別特定VBS正在混合哪些光學模態,上標標記相關的行。
如圖1-14所示,每行與行 - 全局相位相關聯,此相位對於行的每個元素理想地是均勻的。例如,U矩陣實現例1-1401的行1與行-全局相位相關聯,U矩陣實現例1-1401的列2與行-全局相位相關聯,U矩陣實現例1-1401的行3與行-全局相位相關聯,並且U矩陣實現例1-1401的行4與行-全局相位相關聯。
在一些實施例中,可以通過在推挽式(push-pull)配置中將每個VBS 1-1402實現為MZI來至少部分地使行全局相位均勻。可選地或另外地,可以將外部移相器添加到每個MZI的輸出,以校正從MZI的內部移相器賦予的任何相位誤差。
發明人進一步認識並理解到,即使條件使得光子處理系統1-1400的每行提供均勻的行-全局相位,也可以在信號從第一行傳播到最後一行時產生相位。存在全局U矩陣相位ΦU
,其與整個U矩陣實現例1-1401相關聯並且等於各個行-全局相位的總和。類似地,對角矩陣實現例1-1403與全局對角矩陣相位ΦΣ
相關聯,並且V矩陣實現例1-1405與全局對角矩陣相位相關聯。隨後,藉由三個單獨的全局矩陣相位的總和,給出整個光子處理系統1-1400的總全局相位ΦG
。可以將所有輸出模態之間的總全局相位設置為均勻,但是用於相敏偵測的本地振盪器不通過光子處理器傳播,並且沒有經歷這個總全局相位。如果不考慮總全局相位ΦG
,則可能使得由零差偵測器1-1407a至1-1407d讀出的值中產生誤差。
發明人進一步認識到,乘法運算中的誤差可由溫度變化引起,這會改變波導的等效折射率neff
。因此,在一些實施例中,要麼將每個行的溫度設定為均勻,要麼將穩定電路放置在每個行上,使得賦予單個行的所有模態的相位被主動地調諧為均勻的。另外,當本地振盪器的光學信號傳播通過系統的不同部分時,系統的不同部分之間的溫差可能導致相敏測量中的誤差。信號和本地振盪器之間的相位差量是,其中Ts
和TLO
分別是光子處理器和本地振盪器波導中信號波導的溫度,是作為溫度的函數的等效折射率,λ是光的平均波長,Ls
和LLO
分別是通過光子處理器和本地振盪器波導中的信號波導的傳播長度。假設溫度差較小,則等效折射率可以改寫為:。因此,信號和LO
之間的相位差可以很好地近似,他隨著傳播長度L的增加而線性增加。因此,對於足夠長的傳播距離,溫度的微小變化可以導致弧度量級的大相移。重要的是,LS
的值不需要與LLO
的值相同,並且兩者之間的最大差異由光源Lcoh
的相干長度確定。對於頻寬為Δν的光源,相干長度可以很好地近似為,其中ceff
是傳輸介質中的光速。只要LS
和LLO
之間的長度差遠小於Lcoh
,信號和本地振盪器之間的干擾就可以用於光子處理系統的正確運算。
基於前述內容,在一些實施例中,發明人已經識別出光子處理器的輸出信號和用於零差偵測的本地振盪器之間的至少兩個可能的相位誤差源。因此,理想的零差偵測器將通過減去兩個光電探測器的輸出來測量信號輸出的幅度和相位,從而導致的相敏強度輸出測量,其中Es
是來自光子處理器輸出的光學信號的電場幅度,ELO
是本地振盪器的電場幅度,θs
是希望被測量的光子處理器所賦予的相移,ΦG
是全局總相位,ΦT
是由本地振盪器和光學信號之間的溫差引起的相移。因此,如果不考慮由於溫度差引起的總全局相位和相移,則零差偵測的結果可能是錯誤的。因此,在一些實施例中,測量總系統相位誤差,並且基於此測量校準系統。在一些實施例中,總系統相位誤差包括來自不一定已知或識別的其他誤差源的貢獻。
根據一些實施例,可以藉由將預先計算的測試信號發送到偵測器,並使用預先計算的測試信號和測量的測試信號之間的差,來校準系統中的總系統相位誤差,以校準零差偵測器。
在一些實施例中,相對於考慮全局相位ΦG
和由溫度差ΦT
引起的相移,如相關於傳播通過光子處理器的光學信號,他們可以被描述為不產生任何相移的信號,但LO
產生所有系統相位誤差-ΔΦ。圖1-15示出了在這種情況下對零差測量結果的影響。信號[x,p]T
的原始(正確)正交值,以由ΔΦ參數化的旋轉矩陣旋轉,產生了不正確的[x',p']T
正交值。
基於由於總系統誤差引起的正交旋轉,在一些實施例中,ΔΦ的值如下獲得。首先,使用例如控制器1-107選擇向量。向量是可以由光子處理系統的光學編碼器製備的類型。其次,,其中M是由光子處理器實現的矩陣,在理想情況下,假設沒有計算出ΔΦ發生的未處理相位(使用例如控制器1-107或某些其他計算設備來計算)。結果,的每個元素對應於,其中k標記光子處理器的每個輸出模態。
接下來,藉由實際系統的光學編碼器製備隨機向量,通過光子處理器傳播,並且在兩個正交中測量輸出向量的每個元素以獲得。本地振盪器和輸出模態k的信號之間的相位差,由給出。(通常來說,對於k≠l,相位差,因為對於模態k的LO到偵測器路徑長度可以與模式l的路徑長度不同)。
最後,控制用於選擇零差偵測器的測量正交的本地振盪器移相器以賦予。結果,軸(x, p)將與軸(x', p')對齊,如圖1-15所示。可以在此階段檢查校準以確保準確,藉由再次傳播向量以看看所獲得的測量結果是否等於在測量兩個正交時的預測。
通常,如果場振幅盡可能大,則可以更精確地確定的值。例如,如果場被認為是相干信號,例如來自雷射源,那麼光學信號可以在理論上被建模為相干狀態。圖1-16示出直觀的圖片,其中信號是振幅,並且雜訊由高斯相干態的標準偏差給出。模態k中的相干態是零化算子的本徵態,即。具有單一頻率ω的模態k的電場由描述,其也是相干狀態的本徵態:。具有相同頻率ω的本地振盪器的零差偵測器,當時執行正交測量,當時,執行。理想的零差偵測器,將發現這些測量具有且的固有量子雜訊。這種雜訊與真空的量子不確定性有關,並且可以通過擠壓正交來減少。可以確定角度的精度,與這些測量的信噪比(SNR)直接相關。對於總共光子(亦即)的相干態信號,和的SNR上限為:且。(當或π時SNRx
的界限飽和,當或時SNRp
的界限飽和)。因此,為了更準確地增加SNR並確定的值,一些實施例可以傳播隨機向量的幾個不同選擇。在一些實施例中,選擇以最大化振幅,一次對於一個k值。
在光子處理系統的運算期間可能存在相位漂移,例如由於溫度隨時間的波動。因此,在一些實施例中,可以在系統的運算期間重複執行上述校準過程。例如,在一些實施例中,校準過程以比相位漂移的自然時間尺度短的時間尺度有規律地執行。
發明人進一步認識並理解到,可以執行帶符號矩陣運算,而根本不需要相敏測量。因此,在應用中,每個輸出模態下的每個零差偵測器可以由直接光電偵測器代替,該直接光電偵測器測量該輸出模態下的光強度。由於在這樣的系統中沒有本地振盪器,系統相位誤差ΔΦ不存在且毫無意義。因此,根據一些實施例,可以避免諸如零差偵測的相敏測量,使得系統相位誤差是微不足道的。例如,當計算有號矩陣和向量的矩陣運算時,使用無號矩陣的複數矩陣和向量以及超複數(四元數、八進制和其他同構)矩陣和向量不需要相敏測量。
為了說明如何不需要相敏測量,考慮在有號矩陣M和有號向量之間執行矩陣乘法的情況。為了計算有號輸出的值,可以通過例如控制器1-107執行以下過程。首先,矩陣M被分成M+
和M-
,其中是包含M的所有正(負)條目的矩陣。在這種情況下,。其次,向量以類似的方式分割,使得向量,其中是包含的所有正(負)條目的向量。作為分割的結果,。此最終方程式的每個項,對應於可以由光子處理系統單獨執行的單獨運算(與)。每個運算的輸出是單個(正)符號的向量,因此可以使用直接偵測方案來測量,而不需要零差偵測。光電探測器方案將測量強度,但是可以確定強度的平方根,從而產生電場振幅。在一些實施例中,每個運算分開執行,並且結果儲存在記憶體(例如控制器1-107的記憶體1-109)中,直到執行了所有單獨的運算並且結果可以被數位組合以獲得最終乘法結果為止。
在一些實施例中,複數向量可以乘以複數矩陣,而不需要通過將乘法分割成單獨的運算來進行相敏偵測,所述運算類似於上面對有號矩陣和向量所做的運算。在複數的情況下,乘法分為全正矩陣和全正向量的16個單獨乘法。然後可以數位地組合16個單獨乘法的結果以確定輸出向量結果。
在一些實施例中,四元數值向量可以乘以四元數值矩陣,而不需要通過將乘法分割成單獨的運算來進行相敏偵測,所述運算類似於上面對有號矩陣和向量所做的運算。在四元數值的情況下,乘法分為全正矩陣和全正向量的64個單獨乘法。然後可以數位地組合64個單獨乘法的結果以確定輸出向量結果。
在一些實施例中,八元數值向量可以乘以八元數值矩陣,而不需要通過將乘法分割成單獨的運算來進行相敏偵測,所述運算類似於上面對有號矩陣和向量所做的運算。在八元數值的情況下,乘法分為全正矩陣和全正向量的256個單獨乘法。然後可以數位地組合256個單獨乘法的結果以確定輸出向量結果。
發明人進一步認識並理解到,可以藉由將溫度感測器放置在光子處理器的每個MZI旁邊來校正溫度相關的相位ΦT
。然後,溫度測量的結果可以用作控制每個MZI的外部相位的回饋電路系統的輸入。MZI的外部相位設置為取消每個MZI產生的與溫度相關的相位。可以在本地振盪器傳播路徑上使用類似的溫度回饋迴路。在這種情況下,溫度測量結果用於通知零差偵測器正交選擇移相器的設置,以消除由於偵測到的溫度效應而由本地振盪器產生的相位。
在一些實施例中,溫度感測器可以是傳統上用於CMOS的那些感測器,例如P-N接合區或雙極性接合區電晶體,或者他們可以是光子溫度感測器,例如使用其諧振隨溫度變化的諧振器。在一些實施例中也可以使用外部溫度感測器,例如熱電偶或熱敏電阻。
在一些實施例中,可以藉由例如在每行輕敲一些光,並使用相同的全局本地振盪器執行零差偵測,來直接測量產生的相位。該相位測量可以直接通知校正任何相位誤差所需的外部相位的數量。在直接測量的相位誤差的情況下,校正誤差不需要校正是行全局的。
J. 大型資料的中介計算
發明人已經認識並理解到,由光子處理器1-103執行的矩陣向量乘積和/或根據本揭示內容中描述的其他實施例的任何其他光子處理器,可以推廣到張量(多維陣列)運算中。例如,的核心運算(其中M為矩陣且為向量),可以推廣到矩陣矩陣乘積:MX,其中M與X都是矩陣。在此特定示例中,將n×m矩陣X視為m個行向量的集合,每個行向量由n個元素組成,即。光子處理器可以一次一行向量地完成矩陣矩陣乘積MX,總共m個矩陣向量乘積。計算可以分佈在多個光子處理器之間,因為計算是線性運算,其是高度可並行化的,例如,任何一個矩陣向量乘積輸出不依賴於其他矩陣向量乘積的結果。或者,計算可以由單個光子處理器隨時間串列地執行,例如藉由一次執行每個矩陣向量乘積,並且在執行所有單獨的矩陣向量乘法之後以數位方式組合結果,以確定矩陣矩陣乘積的結果。
上述概念可以概括為計算兩個多維張量之間的乘積。一般算法如下,並且可以至少部分地由諸如處理器1-111的處理器執行:(1)取第一張量的矩陣片;(2)取第二張量的向量切片;(3)使用光子處理器在步驟1中的矩陣切片和步驟2中的向量切片之間執行矩陣向量乘積,得到輸出向量;(4)對得到矩陣切片(來自步驟1)的張量索引和得到向量切片(來自步驟2)的張量索引進行迭代。應當注意,當獲取矩陣切片和向量切片時(步驟1和2),可以將多個索引組合成一個。例如,可以通過將所有行堆疊成單個行向量來對矩陣進行向量化,並且通常可以通過將所有矩陣堆疊成單個矩陣來對矩陣進行歸零(matricized)。由於所有運算都是完全線性的,因此他們也可以高度並行化,其中複數個光子處理器中的每一個不需要知道其他光子處理器是否已完成其工作。
發明人進一步認識並理解到,要乘的矩陣/向量的大小可以大於光子處理器所支持的模態的數量。例如,卷積神經網路架構中的卷積運算可以僅使用幾個參數來定義濾波器,但是可以包括濾波器和資料的不同塊之間的多個矩陣 - 矩陣乘法。組合不同的矩陣 - 矩陣乘法,產生大於原始濾波器矩陣或資料矩陣的大小的兩個輸入矩陣。
發明人設計了一種當要相乘的矩陣大於光子處理器所用的模式的大小/數量來執行計算時使用光子處理器執行矩陣運算的方法。在一些實施例中,方法涉及使用記憶體在計算期間儲存中間資訊。藉由處理中間資訊來計算最終計算結果。例如,如圖1-17中所示,考慮I×J矩陣A和J×K矩陣B之間的乘法1-1700,以使用n×n光子處理系統給出具有I×K個元素的新矩陣C = AB,其中。在圖1-17中,陰影元素簡單地說明了矩陣C的元素1-1701是使用矩陣A的列1-1703和矩陣B的行1-1705的元素來計算的。 圖1-17和1-18說明的方法如下:
建構矩陣A和B內的n×n個子矩陣塊。用括號上標和標記塊,其中、、且。當I,J或K的值不能被n整除時,矩陣可以用零填充,使得新矩陣具有可被n整除的維度,因此ceil函數在i,j和k的索引中。在圖1-18中所示的示例乘法1-1800中,矩陣A被分成六個n×n個子矩陣塊1-1803,並且矩陣B被分成三個n×n個子矩陣塊1-1805,從而得到由兩個n×n個子矩陣塊1-1801組成的結果矩陣C。
(3)將每個矩陣向量乘法的中間結果儲存在記憶體中;
(4)對j的值迭代,重複步驟(a)-(c);和
如上所述並如圖1-17和圖1-18所示,方法可以包括使用括號索引符號表示矩陣乘法,並使用括號上標索引而不是下標索引來執行矩陣 - 矩陣乘法的運算,下標索引用於描述本揭示內容中的矩陣元素。這些括號上標索引對應於子矩陣的n×n塊。在一些實施例中,方法可以藉由將多維陣列分解成n×n個子矩陣塊切片而推廣到張量 - 張量乘法,例如藉由將此方法與上述張量 - 張量乘法組合。
在一些實施例中,使用具有較少數量模態的光子處理器處理子矩陣塊的優點在於,他提供了與被乘的矩陣的形狀有關的多功能性。例如,在I≫J的情況下,執行奇異值分解將產生大小為I2
的第一酉矩陣、大小為J2
的第二酉矩陣和具有J個參數的對角矩陣。儲存或處理I2
矩陣元素(其遠大於原始矩陣的元素的數量)的硬體要求,對於光子處理器的一些實施例中包括的光學模態的數量而言可能太大。藉由處理子矩陣而不是一次處理整個矩陣,可以將任何大小的矩陣相乘,而不會受到光子處理器的模態數量的限制。
K. 計算精度
發明人已經認識並理解到,光子處理器1-103和/或根據本揭示內容中描述的其他實施例的任何其他光子處理器是類比電腦的實例,並且由於本資訊時代中的大多數資料以數位表示儲存,量化由光子處理器執行的計算的數位精度是重要的。在一些實施例中,根據一些實施例的光子處理器執行矩陣向量乘積:,其中是輸入向量,M是n×n矩陣,是輸出向量。在索引表示法中,此乘法被寫為,他是的n個元素(對j迭代)和的n個元素(對j疊代)之間的乘法,然後將結果加總。由於光子處理器是實體的類比系統,在一些實施例中,元素和用固定點數表示(fixed point number)來表示。在此表示中,如果是位元數並且是位元數,則總共使用個位元以完全表示所得出的向量元素。一般而言,用於表示矩陣向量乘積的結果的位元數,大於表示運算輸入所需的位元數。如果使用的類比數位轉換器(ADC)無法以全精度讀出輸出向量,則輸出向量元素可以捨入到ADC的精度。
發明人已經認識並理解到,構建在與透過光子處理系統發送光學信號形式的輸入向量的速率相對應的頻寬下具有高位元精度的ADC,可為難以實現的。因此,在一些實施例中,ADC的位元精度可以限制矩陣元素和向量元素被表示的位元精度(如果期望完全精確的計算)。因此,發明人設計了一種藉由計算部分乘積與總和,來以全精度(可為相當高的)獲得輸出向量的方法。為了清楚起見,將假設表示或所需的位元數是相同的,即。然而,此假設通常可以避免,並且不限制本揭示內容的實施例的範圍。
根據一些實施例,方法的第一步驟,包括將矩陣元素的位元串表示和向量元素分割成d個分割,而每個分割包含k=m/d個位元。(如果k不是整數,則可以附加零,直到m可被d整除為止。)結果,矩陣元素,其中是的第a個最高有效位元k位元串的k位元值。就位元串而言,寫入。類似地,也可以獲得,其中向量元素就其位元串而言。乘法可以根據這些除法分解為:,其中集合是a和b的所有值的集合,其中a + b = p。
發明人進一步認識並理解到,可以推廣前述方法的實施例以在對張量進行運算。如前所述,光子處理系統可以藉由使用兩個張量的矩陣切片和向量切片,來執行張量 - 張量乘法。上述方法可以應用於矩陣切片和向量切片,以全精度地獲得輸出張量的輸出向量切片。
上述方法的一些實施例使用矩陣的基本表示的線性度。在上面的描述中,矩陣用其歐幾里德矩陣空間表示,並且矩陣向量乘法在該歐幾里德空間中是線性的。在一些實施例中,矩陣根據VBS的相位來表示,因此可以對表示相位的位元串執行分割,而不是直接對矩陣元素執行分隔。在一些實施例中,當矩陣元素的相位之間的映射是線性映射時,輸入參數(在這種情況下為輸入向量元素和VBS的相位)和輸出向量之間的關係是線性的。當此關係是線性的時,上述方法仍然適用。然而,根據一些實施例,通常可以考慮從矩陣的基本表示到矩陣元素的非線性映射。例如,當相位用於表示廣義Givens旋轉角度時,相位從其最高有效k位元串到最低有效k位元串的位元串分割,對應於從最大旋轉角度向下到較小旋轉角度的分割。
不需要同時對矩陣元素和輸入向量元素執行除法。在一些實施例中,光子處理器可以傳播用於相同矩陣的許多輸入向量。僅對輸入向量執行分割並使VBS控制保持在設定精度(例如全精度)可能是有效的,因為用於向量製備的數位類比轉換器(DAC)可以在高頻寬下運算,而對於多個向量,VBS的DAC可以是準靜態的。通常,包含在較高頻寬下具有高位元精度的DAC,比在較低頻寬下設計DAC更困難。因此,在一些實施例中,輸出向量元素可以比ADC允許的更精確,但是ADC將自動執行對輸出向量值的一些捨入,直到ADC允許的位元精度。
L. 製造方法
可以使用傳統的半導體製造技術來製造光子處理系統的實施例。例如,可以使用傳統的沉積、掩模、蝕刻和摻雜技術在基板中形成波導和移相器。
圖1-19示出了根據一些實施例的製造光子處理系統的示例方法1-1900。在步驟1-1901,方法1-1900包括使用例如傳統技術以形成光學編碼器。例如,可以在半導體基板中形成複數個波導和調變器。光學編碼器可以包括一個或多個相位和/或振幅調變器,如本申請中其他部分所述。
在步驟1-1903,方法1-1900包括形成光子處理器並將光子處理器光學連接到光學編碼器。在一些實施例中,光子處理器形成在與光學編碼器相同的基板中,並且使用形成在基板中的波導製成光學連結。在其他實施例中,光子處理器形成在與光學編碼器的基板分開的基板中,並且使用光纖製成光學連結。
在步驟1-1905,方法1-1900包括形成光接收器,並將光接收器光學連接到光子處理器。在一些實施例中,光子處理器形成在與光子處理器相同的基板中,並且使用形成在基板中的波導製成光學連結。在其他實施例中,光子處理器形成在與光子處理器的基板分開的基板中,並且使用光纖製成光學連結。
圖1-20示出了形成光子處理器的示例方法1-2000,如圖1-19的步驟1-1903所示。在步驟1-2001,方法1-2000包括形成第一光學矩陣實現例,例如,在半導體基板中。第一光學矩陣實現例可以包括互連VBS陣列,如以上各種實施例中所述。
在步驟1-2003,方法1-2000包括形成第二光學矩陣實現例,並將第二光學矩陣實現例連接到第一光學矩陣實現例。第二光學矩陣實現例可以包括一個或多個光學組件,其能夠控制從第一光學矩陣實現例接收的每個光學信號的強度和相位,如上面的各種實施例中所述。第一和第二光學矩陣實現例之間的連結,可以包括在基板中形成的波導。
在步驟1-2005,方法1-2000包括形成第三光學矩陣實現例,並將第三光學矩陣實現例連接到第二光學矩陣實現例。第三光學矩陣實現例可以包括互連VBS陣列,如以上各種實施例中所述。第二和第三光學矩陣實現例之間的連結,可以包括在基板中形成的波導。
在任何上述步驟中,光子處理器的組件可以形成在半導體基板的同一層中或半導體基板的不同層中。
M. 使用方法
圖1-21示出了根據一些實施例的執行光學處理的方法1-2100。在步驟1-2101,方法1-2100包括將位元串編碼成光學信號。在一些實施例中,這可以使用控制器和光學編碼器來執行,如結合本申請的各種實施例所描述的。例如,可以將複數編碼成光學信號的強度和相位。
在步驟1-2103,方法1-2100包括控制光子處理器以實現第一矩陣。如上所述,這可以通過使控制器在矩陣上執行SVD,並將矩陣分解為使用光子處理器的單獨部分實現的三個單獨的矩陣分量來實現。光子處理器可以包括複數個互連的VBS,其控制光子處理器的各種模態如何混合在一起,以在光學信號傳播通過光子處理器時對光學信號進行相干干涉。
在步驟1-2105,方法1-2100包括通過光學處理器傳播光學信號,使得光學信號以實現期望矩陣的方式相互干涉彼此,如上所述。
在步驟1-2107,方法1-2100包括使用光學接收器偵測來自光子處理器的輸出光學信號。如上所述,偵測可以使用相敏或非相敏偵測器。在一些實施例中,偵測結果用於確定要通過系統編碼和傳播的新輸入位元串。以這種方式,可以串聯執行多個計算,其中至少一個計算基於先前計算結果的結果。
II. 訓練演算法
發明人已經認識到並理解到,對於許多基於矩陣的可微分程序(例如神經網路或潛變量圖形模型)技術,計算複雜性的大部分在於矩陣 - 矩陣乘積,其是在遍歷模型的層時計算的。矩陣 - 矩陣乘積的複雜度是O(IJK),其中兩個矩陣具有I-by-J和J-by-K的維度。此外,這些矩陣 - 矩陣乘積在模型的訓練階段和評估階段中執行。
深度神經網路(即具有多於一個隱藏層的神經網路)是可以採用本文描述的一些技術的一類基於矩陣的可微分程序的示例。然而,應當理解,本文描述的用於執行並行處理的技術可以與其他類型的基於矩陣的可微分程序一起使用,包括但不限於貝葉斯網路、網格解碼器(Trellis decoder)、主題模型和隱馬爾可夫模型(HMM)。
深度學習的成功在很大程度上是由於反向傳播技術的發展,其允許訓練神經網路的權重矩陣。在傳統的反向傳播技術中,來自損失函數的誤差使用微積分的連鎖律(chain rule)向後傳播通過各個權重矩陣分量。反向傳播技術計算權重矩陣中元素的梯度,然後使用優化演算法確定權重矩陣的更新,諸如隨機梯度下降(SGD)、AdaGrad、RMSProp、Adam、或任何其他基於梯度的優化演算法。此程序的連續應用,被用於確定最小化損失函數的最終權重矩陣。
發明人已經認識並理解到,本文描述的類型的光學處理器使得能夠通過將權重矩陣重新形成替代參數空間來執行梯度計算,在此稱為「相空間」或「角度表示」。具體而言,在一些實施例中,權重矩陣被重新參數化為傳輸矩陣的組合,諸如Givens旋轉矩陣。在這種重新參數化中,訓練神經網路包括調整傳輸矩陣的角度參數。在這種重新參數化中,單個旋轉角度的梯度與其他旋轉分離,允許並行計算梯度。就所需計算步驟的數量而言,該並行化導致相對於傳統串行梯度確定技術的計算加速。
以上提供了可用於實現本文所述的反向傳播技術的示例光子處理系統。重新參數化的權重矩陣的相空間參數,可以被編碼到光子處理系統的移相器或可變分束器中以實現權重矩陣。將權重矩陣編碼到移相器或可變分束器中,可以用於神經網路的訓練和評估階段。雖然結合下面描述的特定系統描述了反向傳播過程,但是應該理解,實施例不限於本揭示內容中描述的光子處理系統的特定細節。
如上所述,在一些實施例中,光子處理系統100可用於實現可使用反向傳播技術訓練的神經網路或其他基於矩陣的可微分程序的各方面。
圖2-1示出了用於更新可微分程序(例如神經網路或潛變量圖形模型)的歐幾里得向量空間中的值矩陣(例如神經網路的層的權重矩陣)的示例反向傳播技術2-100。
在動作2-101,歐幾里德向量空間中的值矩陣(例如神經網路的層的權重矩陣),可以通過例如配置光子處理系統100的組件來表示為角度表示以表示值矩陣。在以角度表示表示矩陣之後,程序2-100進行到動作2-102,其中處理訓練資料(例如一組輸入訓練向量和相關聯的標記輸出),以通過評估模型的性能衡量來計算誤差向量。程序2-100然後進行到動作2-103,其中並行確定反向傳播所需的角度表示的參數的至少一些梯度。例如,如下面更詳細討論的,本文描述的技術使得能夠同時確定整行參數的梯度,與相對於每個個別角度旋轉評估梯度相比,這顯著加快了執行反向傳播所需的時間量。程序2-100然後進行到動作2-104,其中通過使用所確定的梯度更新角度表示,來更新歐幾里得向量空間中的值矩陣(例如神經網路的層的權重矩陣值)。下面提供對圖2-1的程序2-100中所示的每個動作的進一步描述。
圖2-2示出了圖2-1中所示的動作2-101的流程圖,可以根據一些實施例執行圖2-1的處理。在動作2-201,控制器(例如控制器107)可以接收神經網路層的權重矩陣。在動作2-202,權重矩陣可以被分解成第一酉矩陣Vi
、第二酉矩陣U0
、和有號奇異值對角矩陣Σ,使得權重矩陣W被定義為:
其中U是m×m酉矩陣,V是n×n酉矩陣,Σ是帶有有號奇異值的n×m對角矩陣,上標「T」表示矩陣的轉置。在一些實施例中,權重矩陣W首先被劃分為方格,每個方格被分解成這種矩陣的三重乘積。權重矩陣W可以是在神經網路領域中已知的常規權重矩陣。
在一些實施例中,分解為相空間的權重矩陣是預先指定的權重矩陣,諸如由隨機初始化過程或通過採用部分訓練的權重矩陣提供的權重矩陣。如果沒有用於初始化反向傳播過程的部分指定的權重矩陣,則可以跳過動作2-202中的分解,而是可以通過例如從特定分佈中隨機採樣相空間參數來初始化分解角度表示的參數(例如,酉或正交分解的奇異值與參數)。在其他實施例中,可以使用預定的初始奇異值和角度參數組。
在動作2-203,兩個酉矩陣U和V可以分別表示為第一和第二組酉傳輸矩陣的組合。例如,當矩陣U和V是正交矩陣時,他們可以在動作2-203中變換成一系列實數值Givens旋轉矩陣或Householder反射器,其示例在上面的第V節中描述。
在動作2-204,可以基於分解的權重矩陣來配置基於光子的處理器,以實現酉傳輸矩陣。例如,如上所述,可以基於第一組酉傳輸矩陣來配置基於光子的處理器的第一組組件,可以基於有號奇異值的對角矩陣來配置基於光子的處理器的第二組組件,並可以基於第二組酉傳輸矩陣來配置基於光子的處理器的第三組組件。儘管這裡描述的過程是關於使用基於光子的處理器來實現反向傳播技術,但是應當理解,可以使用提供並行處理能力的其他計算架構來實現反向傳播技術,並且實施例不限於此態樣。
返回圖2-1中的程序2-100,動作2-102涉及處理訓練資料,以在權重矩陣已被表示為角度表示之後計算誤差向量,例如使用如上所述的基於光子的處理器。圖2-3示出了根據一些實施例的用於執行動作2-102的實現細節的流程圖。在使用本文描述的技術處理訓練資料之前,訓練資料可以分成批次。訓練資料可以採取任何形式。在一些實施例中,可以由與對於一些傳統的小批量隨機梯度下降(SGD)技術所做的相同的方式將資料分成批次。使用該過程計算的梯度可以用於任何優化演算法,包括但不限於SGD、AdaGrad、Adam、RMSProp或任何其他基於梯度的優化演算法。
在圖2-3所示的程序中,特定批次的訓練資料中的每個向量可以通過光子處理器,並且可以為該向量計算損失函數的值。在動作2-301,接收來自特定批次訓練資料的輸入訓練向量。在動作2-302,輸入訓練向量被轉換成光子信號,例如通過使用具有對應於輸入訓練向量值的振幅和相位的光脈衝對向量進行編碼,如上所述。在動作2-303,將對應於輸入訓練向量的光學信號作為輸入提供給光子處理器(例如光子處理器103),其已被配置為實現(例如使用可配置移相器和分束器陣列 )如上所述的權重矩陣,以產生脈衝的輸出向量。從光子處理器輸出的脈衝的光強度可以使用例如零差偵測來偵測,如上面結合圖9和圖10所述,以產生解碼輸出向量。在動作2-304,為輸入訓練向量計算損失函數的值(也稱為成本函數或誤差度量)。然後重複動作2-301至2-304的程序,直到已經處理了特定批次中的所有輸入訓練向量並且已經確定了損失函數的對應值。在動作2-305,通過聚合來自每個輸入訓練向量的這些損失來計算總損失,例如,該聚合可以採取平均的形式。
返回圖2-1中的程序2-100,動作2-103涉及用於角度表示的參數的並行梯度計算(例如使用光子處理器的組件作為Givens旋轉實現的權重值)。可以基於計算的誤差向量、輸入資料向量(例如來自一批訓練資料)、和使用光子處理器實現的權重矩陣,來計算梯度。圖2-4示出了根據一些實施例的用於執行動作2-103的程序的流程圖。在動作2-401,對於第k組Givens旋轉,分解中的(例如分解矩陣的行 - 在此稱為「導數行k」),計算包含相對於第k組中的每個角度的導數的塊對角導數矩陣。在動作2-402,計算在動作2-102中確定的誤差向量與導數行k和輸出之間的所有酉傳輸矩陣的乘積(在此稱為「部分向後通過」)。在動作2-403,計算輸入資料向量與從輸入開始直到並包括導數行k的所有酉傳輸矩陣的乘積(在此稱為「部分前向通過」)。在動作2-404,計算從動作2-402和2-403輸出的連續元素對之間的內積,以確定導數行k的梯度。連續元素對之間的內積可以計算為 xi
δi
+xj
δj
,其中上標(k)代表第k行光子元素,i、j代表通過具有參數的酉傳輸矩陣耦合的第i和第j光子模態,x是部分前向通過的輸出,δ是部分向後通過的輸出。在一些實施例中,在輸出的連續配對之前應用偏移(例如,輸出對可以是(1,2)、(3,4)等,而不是(0,1)、(2,3))。然後,可以適當地使用所確定的梯度,用於正被用於訓練的特定選擇的優化算法(例如SGD)。
以下提供根據一些實施例的用於在具有圖1-4圖示的從左到右拓撲的光子處理器上實現反向傳播技術的示例偽代碼:
l 初始化兩個中間傳播結果列表,x'、δ'。
l 對於MZI的每一行,盯著最後一行並轉到第一行:
o 旋轉行中的角度以對應於導數矩陣
o 通過光子處理器傳播輸入資料向量
o 將結果儲存在x'中
o 使當前行透明
l 逐行、逐步建立轉置矩陣。對於每個新行:
o 通過光子處理器傳播誤差向量
o 將結果儲存在δ'
l 對於每個x'[i]、δ'[i]
o 計算連續對之間的內積,結果是MZI第i行中角度的梯度。
根據一些實施例,不是如在一些傳統的反向傳播技術中那樣通過梯度下降來調整權重矩陣的權重,而是調整角度表示的參數(例如,矩陣Σ的奇異值和分解的正交矩陣U和V的Givens旋轉角度)。為了進一步說明根據一些實施例如何在重新參數化空間中的反向傳播,下面是使用常規技術的神經網路的單層內的反向傳播與根據本揭示內容的一些實施例的方法的比較。
損失函數E測量模型在特定任務上的性能。在一些傳統的隨機梯度下降算法中,迭代地調整權重矩陣,使得時間t + 1處的權重矩陣被定義為時間t處的權重矩陣的函數,並且損失函數的導數相對於權重矩陣的權重為如下:
其中η是學習速率,(a,b)分別表示權重矩陣W的第a列和第b行條目。當使用分解的權重矩陣重構該迭代程序時,權重是矩陣Σ的奇異值和正交矩陣U和V的旋轉角度的函數。因此,反向傳播算法的迭代調整變為:
以及
為了對奇異值和旋轉角度進行迭代調整,必須獲得損失函數的導數。在描述如何在諸如光子處理系統100的系統中實現這一點之前,首先提供基於迭代地調整權重矩陣的權重的反向傳播的描述。在這種情況下,系統為單層神經網路測量的輸出結果表示為輸出向量,其中W是權重矩陣,x是輸入到層中的資料向量,b是偏差向量,f是非線性函數。應用微積分的連鎖律,來計算相對於權重矩陣內的任何參數的損失函數的梯度(為了便於表示,使用定義:
因此,相位空間中的反向傳播,涉及與傳統反向傳播中相同的分量(誤差向量和輸入資料),並且增加了一個項,該項是權重矩陣相對於酉傳遞矩陣的旋轉角度的導數。
可以看出,不在第i列和第j行的Givens旋轉矩陣的任何條目的導數為零。因此,內部的角度的所有導數可以被分組為單個矩陣。在一些實施例中,如上所述,在一些實施例中,可以使用兩步程序來完成計算關於一行傳輸矩陣內的所有角度的導數。首先,誤差向量通過分解矩陣從右(輸出)傳播到當前被微分的旋轉組(部分後向傳遞)。其次,輸入向量從左(輸入)傳播到當前旋轉集(部分前向傳遞),然後應用導數矩陣。
在一些實施例中,使用類似的程序實現奇異值的推導。相對於奇異值的導數,導致元素為1並且所有其他為0。因此,可以一起計算奇異值的所有導數。在一些實施例中,這可以通過從左側傳播誤差向量(部分向前傳遞)並從右側傳播輸入向量(部分向後傳遞),然後從前向傳遞和後向傳遞的輸出計算Hadamard乘積來完成。
而不是將行中每個MZI的角度旋轉π/2,然後計算從如上所述的動作2-402和2-403輸出的連續元素對之間的內積(例如x1
δ1
+x2
δ2
),以確定對於分解的酉矩陣的行的梯度,在一些實施例中,角度不旋轉π/2,而是計算關係x1
δ2
-x2
δ1
以獲得相同的梯度。在一些實施例中,矩陣W(n×m)的大小與光子處理器的尺寸匹配,矩陣U的大小為n×n,矩陣V的大小為m×m,動作2-401至2-404允許控制器獲得大小為n×n的酉/正交矩陣的梯度。因此,在諸如上述光子處理系統100的硬體上,其中每個矩陣乘法可以在O(1)運算中計算,當光子處理器具有足夠的尺寸以表示完整的矩陣時,可以在O(n + m)運算中完成整體反向傳播過程。當光子處理器的尺寸不足以表示全矩陣時,矩陣可以被劃分為方格,如上所述。考慮一個大小為N的光子處理器。如果任務是將大小為I x J的矩陣乘以大小為J的向量,則單個矩陣向量乘積將具有複雜度(IJ
/N 2
)(假設I和J都是可以被N整除),因為矩陣的每個維度必須被分割為大小為N的矩陣、加載到處理器中、並用於計算部分結果。對於一批K向量(例如大小為JxK的第二矩陣),矩陣向量乘積的複雜度為(IJK
/N 2
)。
如上所述的具有n個光學模態的光子處理器的實施例,自然地計算尺寸為[n×n]的矩陣與n元素向量之間的矩陣向量乘積。這等效地表示為尺寸[n×n]和[n×1]的矩陣之間的矩陣 - 矩陣乘積。此外,具有K個不同輸入向量和單個重複輸入矩陣的K個矩陣向量乘積運算序列,可以表示為大小為[n×n]和[n×K]的矩陣之間的矩陣 - 矩陣乘積的計算。但是本文描述的應用和算法通常涉及任意大小的矩陣之間的一般矩陣 - 矩陣乘法(GEMM)的計算;亦即,計算
其中aij
是[I×J]矩陣A的第i列和第j行中的元素,bjk
是[J×K]矩陣B的第j列和第k行,cik
是[I×K]矩陣C = AB的第i列和第k行中的元素。由於此計算的遞歸性質,這可以等效地表示為:
其中A首先填充到矩陣然後分割成子矩陣網格(每個大小為[n×n]),Aij
是在該網格的第i列和第j行中的[n×n]子矩陣,B首先填充到矩陣,然後分割成子網格(每個大小為[n×K]),且Bj
是該網格的第j列中的[n×K]子矩陣,並且C首先被填充到矩陣,然後被劃分為子網格網格(每個子網格大小為[n×K]),且Ci
是該網格的第i列中的[n×K]子矩陣。
使用該過程,光子處理器可以藉由將不同矩陣加載到光子陣列中,並且對於每個加載的矩陣傳播k個不同的向量通過光子陣列,來計算任何GEMM。這產生輸出向量(每個由n個元素組成),其子集可以加在一起以產生所需的[I×K]輸出矩陣,如前述方程式所定義。
在圖2-4中描述的動作2-103的實現例中,假設用於實現矩陣的光子處理器的從左到右的拓撲結構,其中向量被輸入到光學組件陣列的左側,並且輸出向量被提供在光學陣列的右側。該拓撲要求在傳播誤差向量通過光子處理器時,計算角度表示矩陣的轉置。在一些實施例中,光子處理器使用折疊拓撲來實現,折疊拓撲在光學組件的陣列(例如左側)的一側上佈置輸入和輸出。這種架構允許使用開關來決定光應該傳播的方向 - 從輸入到輸出或輸出到輸入。通過選擇可在運行中配置的方向,可以通過首先切換方向以使用輸出作為輸入,然後通過陣列傳播誤差向量來實現誤差向量的傳播,這消除了在確定行k梯度時轉置列與抵銷相位(例如藉由將行k中的每個光子元件的角度旋轉π/2)的需要,如上所述。
返回圖2-1中的程序2-100,動作2-104涉及藉由基於所確定的梯度,更新角度表示的參數,來更新權重矩陣。剛才描述的圖2-4所示的程序,用於基於單個輸入資料示例,計算分解的酉矩陣中的單個梯度集合(例如行k)的角度參數的梯度。為了更新權重矩陣,需要針對批次中的每個輸入資料向量,計算每個集合(例如行)的梯度。圖2-5示出了根據一些實施例的用於計算更新權重矩陣所需的所有梯度的程序的流程圖。在動作2-501,確定多組酉傳遞矩陣中的一組的梯度(例如Givens旋轉)(例如使用圖2-4中所示的程序)。在動作2-502,然後確定是否存在需要為當前輸入資料向量計算梯度的額外酉傳遞矩陣集(例如行)。如果確定存在要計算的額外梯度,則程序返回到動作2-501,其中選擇新的集合(例如行)並且為新選擇的集合計算梯度。如下所述,在一些計算架構中,可以同時讀出陣列的所有行,使得不需要動作2-502的確定。程序繼續,直到在動作2-502確定已經為分解的酉矩陣中的所有酉傳遞矩陣集合(例如行)確定了梯度。程序隨後進行到動作2-503,其中確定是否有更多輸入資料向量要在正在處理的一批訓練資料中處理。如果確定存在額外輸入資料向量,則程序返回到動作2-501,其中選擇來自批次的新輸入資料向量並且基於新選擇的輸入資料向量計算梯度。程序重複,直到在動作2-503確定已經處理了該批訓練資料中的所有輸入資料向量。在動作2-504,對在動作2-501至2-503中確定的梯度進行平均,並且基於使用平均梯度的更新規則,更新角度表示的參數(例如,權重矩陣的分解的Givens旋轉矩陣的角度)。作為非限制性示例,更新規則可以包括藉由學習速率縮放平均梯度,或者包括參數梯度歷史的「動量」或其他校正。
如上面簡要討論的,儘管上述示例應用於單層神經網路中的實數權重矩陣,但是結果可以推廣到具有多個層和複數權重矩陣的網路。在一些實施例中,神經網路由多個層組成(例如,在深度神經網路中≥50個層)。為了計算層L的矩陣的梯度,該層的輸入向量將是前一層L-1的輸出,並且該層的誤差向量將是從後面的層L+1反向傳播的誤差。如前所述,可以使用多變量微積分的連鎖律,來計算反向傳播誤差向量的值。此外,在一些實施例中,可以藉由向Givens旋轉矩陣添加額外的複數相位項,來使用複數U和V矩陣(例如酉矩陣)。
雖然上面的描述通常獨立於硬體架構,但是某些硬體架構提供比其他架構更顯著的計算加速。特定而言,與傳統方法相比,在圖形處理單元、收縮矩陣乘法器、光子處理器(例如光子處理系統100)、或能夠並行計算梯度的其他硬體架構上實現本文所述的反向傳播技術,對於最大增益是優選的。
如上所述,光子處理系統100被配置為實現任何酉變換。Givens旋轉序列是這種酉變換的一個例子,因此光子處理系統100可以被編程為在O(1)時間內計算上述分解中的變換。如上所述,可以藉由控制可變光束分離器(VBS)的規則陣列來實現矩陣。酉矩陣U和可以被分解成VBS的平鋪陣列,每個VBS執行2乘2正交矩陣運算(例如Givens旋轉)。如上所述,藉由控制光脈衝的強度和相位,可以在光子處理系統100中實現對角矩陣Σ以及對角相位屏幕和(以對角矩陣的形式)。
對角矩陣Σ中的每個條目,對應於每個光子模態的放大或衰減。幅度≥1的條目對應於放大,幅度≤1的條目對應於衰減,且組合VBS和增益介質將允許衰減或放大。對於n×n方矩陣M,應用對角矩陣Σ所需的光學模態的數量是n。然而,如果矩陣M不是正方形,則所需的光學模態的數量等於較小的尺寸。
如上所述,在一些實施例中,光子處理器的大小與矩陣M和輸入向量的乘積相同。然而,實際上,矩陣M的大小和光子處理器的大小通常不同。考慮一個大小為N的光子處理器。如果任務是將大小為I x J的矩陣乘以大小為J的向量,則單個矩陣向量乘積將具有複雜度(IJ
/N2
)(假設I和J都是可以被N整除),因為矩陣的每個維度必須被分割為大小為N的矩陣、加載到處理器中、並用於計算部分結果。對於一批K向量(例如大小為JxK的第二矩陣),矩陣向量乘積的複雜度為(IJK
/N 2
)。
如果矩陣是非正方形的,那麼處理小N×N矩陣分區的能力可能是有利的,特別是如果I >> J或J >> I。假設非矩形矩陣A,則矩陣的直接SVD產生一個IxI酉矩陣、一個JxJ酉矩陣和一個IxJ對角矩陣。如果I >> J或J >> I,則表示該分解矩陣所需的參數數量遠大於原始矩陣A。
然而,如果矩陣A被劃分為具有較小維度的多個N×N平方矩陣,則這些N×N矩陣上的SVD產生兩個N×N個酉矩陣和一個N×N對角矩陣。在這種情況下,表示分解矩陣所需的參數數量仍然等於N2
(原始矩陣A的大小),並且總非正方矩陣可以用≈IJ總參數分解。當IJ可被N2
整除時,近似變為相等。
對於具有2N+1行的光子處理器,可以計算對每行反向傳播誤差向量的部分結果。因此,對於一批K向量,使用尺寸N的光子處理器的反向傳播的複雜度是O(IJK / N)。相比之下,在非並行處理器(例如CPU)上使用矩陣乘法算法計算反向傳播誤差將是O(IJK)。
到目前為止的描述,集中於在具有輸入向量資料和反向傳播誤差向量的神經網路層內使用矩陣。發明人已經認識並理解到,深度神經網路計算中的資料不一定是向量,而他們通常是多維張量。類似地,描述神經元之間的連接的權重值通常也是多維張量。在一些實施例中,如果將權重張量切成矩陣切片並且每個矩陣切片彼此獨立,則可以直接應用上述方法。因此,可以執行奇異值分解和類似Givens的旋轉分解,以獲得關於特定矩陣切片的相位的有效表示。然後,可以通過輸入張量資料和反向傳播的誤差資料的適當佈置,來應用與計算相位梯度相同的方法。應該使用可能對該特定矩陣切片有貢獻的輸入和誤差資料的部分,來計算特定矩陣切片的梯度。
為了具體,考慮一般的n維權重張量。從中選擇將構成矩陣切片的兩個索引(假設選擇由索引ab
和ac
標記),並通過計算執行分解以獲得相位。重要的是,b和c可以是1到n之間的任何值。現在考慮一般的k維輸入張量。對於有效的張量運算,必須是在該輸入張量上的權重張量的運算的輸出產生(n-k)維輸出張量的情況。因此可以得出結論,該層的權重張量的反向傳播誤差張量是(n-k) 維張量:。因此,要計算的梯度是
其中,為了簡單起見(但不是必要條件),權重張量的索引已被排序,使得前k個索引在x上運行,而最後(n-k)個索引在誤差e上運行。
在其他實施例中,可以更方便地執行奇異值分解的高階泛化,諸如Tucker分解,其中任意n維張量可以如此分解:其中每個是一個正交矩陣,可以分解為其Givens旋轉相位,且為一個n維核心張量。在某些情況下,可以使用稱為CANDECOMP/PARAFAC(CP)分解的Tucker分解的特殊情況將核心張量選擇為超對角線。通過乘以一些酉矩陣的逆(轉置或共軛轉置),可以使Tucker分解類似於二維SVD形式。例如,分解可以改寫為,其中前m個酉矩陣被推到核心張量的左邊。核心張量兩側的酉矩陣的集合,可以分解為他們的旋轉角度,並且每個旋轉角度的梯度通過微積分的連鎖律和梯度與輸入張量和誤差張量的收縮來獲得。
發明人已經認識並理解到,相位的梯度(例如對於分解的矩陣U和V)和有號奇異值的梯度(例如對於矩陣Σ)可以具有不同的上限。考慮計算相對於神經網路參數的純量損失函數L的梯度的任務。在歐幾里德空間中,梯度的值由給出,其中W是矩陣。在相位空間中,對於特定的純量相位θk
,連鎖律提供:
在一些實施例中,在更新角度表示的參數期間,分別縮放相位的梯度和奇異值,以例如考慮上限的差異。通過分別縮放梯度,可以重新調整相位的梯度或奇異值的梯度以具有相同的上限。在一些實施例中,相位的梯度由矩陣的Frobenius範數縮放。根據一些更新規則,縮放相位的梯度和奇異值,獨立地等同於對於相位的梯度和奇異值的梯度具有不同的學習速率。因此,在一些實施例中,用於更新U和V矩陣的分量集的第一學習速率,不同於用於更新Σ矩陣的分量集的第二學習速率。
發明人已經認識並理解到,一旦將權重矩陣分解成相位空間,就不需要在每次迭代中更新相位和奇異值以獲得良好的解決方案。因此,如果僅在整個訓練時間的一部分中更新奇異值(但不是相位),則在那些時期期間僅需要更新O(n)參數而不是O(n2
),從而導致整體運行時間的改善。在一些迭代期間僅更新奇異值或相位,可以被稱為「參數箝位」。在一些實施例中,可以根據以下箝位技術中的一個或多個來執行參數箝位:
固定箝位:訓練所有參數進行一定次數的迭代,然後僅更新奇異值
循環箝位:訓練多個時期M的所有參數,然後凍結多個時期N的階段(亦即僅更新奇異值)。恢復訓練另外M時期的所有參數,然後再次凍結N個時期的階段。重複,直到達到所需的時期總數。
預熱箝位:訓練某些時期K的所有參數,然後開始循環箝位剩餘的時期。
閾值箝位:繼續更新相位或奇異值,直到他們的更新小於閾值ε
發明人已經認識並理解到,光子處理器的架構可能影響計算的複雜性。例如,在圖1所示的架構中,偵測器僅位於光子處理器陣列的一端,導致逐行方法(例如使用部分前向和後向通過)來計算梯度,如上所述。在替代架構中,偵測器可以佈置在光子陣列中的每個光子元件處(例如在每個MZI處)。對於這樣的架構,逐行方法可以用單個正向傳遞和單個後向傳遞替換,其中每個行的輸出被同時讀出,因此提供額外的計算加速。還考慮了中間解決方案,其中在整個陣列中間歇地放置偵測器行。任何添加的偵測器行相應地減少了梯度計算所需的部分前向和後向通過的數量。
上述技術示出了用於執行權重矩陣參數的更新,同時將所有計算保持在相位空間中的技術(例如使用矩陣的角度表示)。在一些實施例中,至少一些計算可以在歐幾里得向量空間中執行,而其他計算在相位空間中執行。例如,如上所述,可以在相位空間中計算執行更新所需的量,但是參數的實際更新可以在歐幾里得向量空間中發生。然後可以將在歐幾里得向量空間中計算的更新矩陣,重新分解入權重空間以用於下一次迭代。在歐幾里德向量空間中,對於給定層,更新規則可以是:
該計算中的δ可以通過相位空間中的整個光子處理器的反向通過來計算。然後,可以分別計算x和δ之間的上述外積(例如,在晶片外)。一旦應用了更新,就可以重新分解更新的矩陣,並且可以使用分解的值來設置如上所述的光子處理器的相位。
III. 卷積層
卷積(convolution)和互相關(cross-correlation)是常見的信號處理運算,具有許多應用,諸如音頻/視頻編碼、機率理論、圖像處理和機器學習。術語卷積和互相關,一般而言指的是接受兩個信號作為輸入,並產生表示輸入之間存在的相似性的第三信號作為輸出的數學運算。發明人已經認識並理解到,計算卷積和互相關可為計算資源密集型的。特定而言,發明人已經開發了用於提高卷積和互相關的計算速度和效率的技術。這些技術的實施例,包括藉由將卷積運算變換成矩陣向量乘積和/或多維陣列的乘積,來計算卷積和互相關。這些技術的實施例,還包括根據離散變換(discrete transform)計算卷積。
發明人已進一步認識並理解到,可以根據預期應用,來以各種方式執行卷積和互相關的計算。輸入和輸出信號可以是離散的或連續的。可以在諸如實數、複數平面或有限整數環之類的各種數值域上,定義組成信號的資料值。信號可以具有任何數量的維度。信號也可以具有多個通道,這是卷積神經網路(CNN)中常用的技術。可以實施本文描述的實施例,以適應任何組合的這些變化。
此外,這些技術的實施例,可以在被配置為執行矩陣運算的任何合適的計算系統中實施。可受益於本文描述的技術的此類計算系統的示例,包括中央處理單元(CPU)、圖形處理單元(GPU)、現場可編程閘陣列(FPGA)、特定應用積體電路(ASIC)和光子處理器。雖然可以結合光子處理器描述本文描述的實施例,但是應當理解,這些技術可以適用於其他計算系統,例如但不限於上述的系統。
以下是與計算卷積和互相關的技術相關的各種概念的更詳細描述和實施例。應了解,本文中所描述的各種態樣可以由多種方式中的任一者來實施。這裡提供的具體實現例的示例僅用於說明目的。另外,以下實施例中描述的各個態樣,可以單獨使用或以任何組合使用,並且不限於本文明確描述的組合。
發明人進一步認識並理解到,使用光學信號替代電信號,克服了電性計算的許多上述問題。光學信號以光速在光傳播的介質中傳播;因此光子信號的潛時遠小於電性傳播延遲的限制。此外,光學信號傳播距離增加不會提升所消耗的功率,這打開了使用電信號難以達成的新拓撲結構和處理器佈局。因此,諸如光子處理器的基於光的處理器,可以具有比一些傳統的基於電的處理器更好的速度和效率性能。
為了實現基於光子的處理器,發明人已經認識並理解到,可以藉由將相干光學信號(例如雷射脈衝)傳播通過第一互連可變分束器(VBS)陣列、第二陣列的互連可變分束器、以及兩個陣列之間的多個可控電光元件(其將第一陣列的單個輸出連接到第二陣列的單個輸入),來實現將輸入向量乘以矩陣。
如本文所述的具有n個光學模態的光子處理器的一些實施例,自然地計算尺寸為[n×n]的矩陣與n元素向量之間的矩陣向量乘積。這可等效地表示為尺寸[n×n]和[n×1]的矩陣之間的矩陣 - 矩陣乘積。具有K個不同輸入向量和單個重複輸入矩陣的K個矩陣向量乘積運算序列,可以表示為大小為[n×n]和[n×K]的矩陣之間的矩陣 - 矩陣乘積的計算。但是本文描述的應用和算法通常涉及任意大小的矩陣之間的一般矩陣 - 矩陣乘法(GEMM)的計算;亦即,計算:
其中aij
是[I×J]矩陣A的第i列和第j行中的元素,bjk
是[J×K]矩陣B的第j列和第k行,cik
是[I×K]矩陣C = AB的第i列和第k行中的元素。由於此計算的遞歸性質,這可以等效地表示為:
其中A首先填充到矩陣然後分割成子矩陣網格(每個大小為[n×n]),Aij
是在該網格的第i列和第j行中的[n×n]子矩陣,B首先填充到矩陣,然後分割成子網格(每個大小為[n×K]),且Bj
是該網格的第j列中的[n×K]子矩陣,並且C首先被填充到矩陣,然後被劃分為子網格網格(每個子網格大小為[n×K]),且Ci
是該網格的第i列中的[n×K]子矩陣。
根據一些實施例,使用該過程,光子處理器可以藉由將不同矩陣加載到光子陣列中,並且對於每個加載的矩陣傳播k個不同的向量通過光子陣列,來計算任何GEMM。這產生輸出向量(每個由n個元素組成),其子集可以加在一起以產生所需的[I×K]輸出矩陣,如前述方程式所定義。
發明人已經認識並理解到,光子處理器可以加速計算卷積和互相關的過程,但是用於計算本文描述的卷積和互相關的實施例可以在任何合適的計算系統上實現。這裡描述的實施例是根據二維卷積來討論的,但是可以推廣到任何數量的維度。對於輸入(這裡稱為「圖像」,儘管應該理解到輸入可以表示任何合適的資料)、G、和濾波器F,二維卷積的數學公式是:
根據一些實施例,可以使用附加的邊界條件變體。這些邊界條件包括對稱(也稱為鏡像或反射)邊界條件,其中圖像在邊界上反射。在一些實施例中,填充邊界條件可以不同地稱為線性或填充。圓形邊界條件也稱為包裹(wrapped)。
另外,可以採用不同的輸出模態來確定哪些元素與邊界條件相互作用。這些輸出模態包括有效、相同(或半填充)、和完全輸出模態。有效輸出模態要求輸出僅包含不依賴於邊界條件的元素。相同的輸出模態要求輸出與輸入的大小相同。完全輸出模態要求輸出由所有不完全取決於邊界條件的元素組成。
不同的輸出模態控制定義輸出的點的數量。因此,可以修改本文描述的每個實施例以在任何給定的輸出模態下運算。儘管這裡描述的實施例集中於相同模態卷積情況,但是應該理解到,這些實施例可以擴展為計算互相關和/或交替輸出模式,代替或補充本文描述的實施例。
通常,用於將卷積表示為矩陣運算的技術,可以遵循圖3-1的程序。在步驟3-102中,圖像和/或濾波器矩陣的預處理,可以在矩陣運算之前發生,以便確保矩陣例如是正確的維度、服從邊界條件和/或輸出模態。在步驟3-104中,可以應用核心矩陣或矩陣向量運算,從而創建卷積的輸出。在步驟3-106中,可以發生卷積輸出的後處理,以便例如重新整形輸出,這將在本文中更詳細地討論。
一些實施例可以使用光子處理器來將卷積計算為矩陣向量乘積。發明人已經認識並理解到,可以使用可變分束器(VBS)陣列(諸如可以包括在如本文先前所述的光子處理器的一些實施例中的那些)來表示任何酉矩陣。作為示例,使用那些技術來表示擴展圖像,則可以使用奇異值分解將矩陣分解為
Gmat
=VT
∑U
在光子處理器的一些實施例中,然後可以用先前描述的演算法分解兩個酉矩陣U和V。由此計算產生的相位被與奇異值編程到光子陣列中。在一些實施例中,處理器分解濾波器而不是圖像,使得濾波器可以保持加載整批圖像。
圖3-2根據一些實施例圖示用於計算光子處理器中的卷積的程序的示例。在步驟3-202中,程序從輸入圖像矩陣G建構矩陣。矩陣可以根據所選擇的邊界條件以任何合適的方式建構,包括但不限於將建構為雙塊循環矩陣或雙塊Toeplitz矩陣。
在步驟3-204中,然後可以將分解的矩陣加載到光子陣列中。對於輸入批次中的每個濾波器F,重複迴圈,其中濾波器F在步驟3-206中被平坦化為行向量,在步驟3-208中通過光子陣列以執行矩陣乘法運算,然後在步驟3-210中重新塑造成具有適當維度的輸出。在步驟3-212中,確定是否還有任何其他濾波器F。如果要使另外的濾波器F通過卷積層,則程序返回到步驟3-206。否則,程序結束。由於卷積的可交換性質,可以在將濾波器F擴展為並且將圖像G平坦化為行向量,並且在步驟3-208中通過光子陣列的情況下,執行程序3-200。
光子處理器可用於實現任何合適的基於矩陣乘法的演算法。基於矩陣乘法的演算法對輸入信號進行重新排序和/或擴展,使得計算可以表示為具有一些預處理和/或後處理的一般矩陣 - 矩陣乘法(GEMM)。可以在光子處理器上實現的一些基於矩陣乘法的演算法,包括im2col、kn2row和記憶體有效卷積(MEC)。
根據一些實施例,im2col演算法可以在光子處理器上實現。在im2col演算法中,在預處理期間,圖像G可以從矩陣擴展到矩陣。濾波器F可以從矩陣平坦化為列向量。然後可以通過圖像和濾波器的矩陣向量乘積生成輸出,因為此預處理步驟生成擴展資料矩陣,其中每行包含可以縮放和累積的所有元素的副本,對於輸出中的每個位置。因此,im2col演算法可能需要資料副本和臨時儲存。
根據一些實施例,kn2row演算法可以在光子處理器上實現。kn2row演算法計算未修改圖像和濾波器信號的外積,生成大小為的臨時矩陣。然後,kn2row演算法將來自外積的每一列的特定元素加在一起,以產生輸出向量。因此,kn2row演算法也可能需要資料副本和臨時儲存。
根據一些實施例,MEC演算法可以在光子處理器上實現。MEC算法可以將輸入圖像擴展僅為或的因子,而不是如im2col算法中的因子。如果選擇較小的濾波器維度進行擴展,則演算法僅需要臨時儲存和資料副本。與計算單個矩陣向量積的im2col或kn2row不同,MEC算法計算一系列較小的矩陣向量乘積並串接結果。
在上面討論的實施例中,由於卷積的可交換性質,濾波器矩陣可以在預處理期間而不是圖像中擴展。可以通過哪種運算更快和/或需要更少的計算能量,來確定選擇是否將圖像或濾波器方格化並重新整形為矩陣。
VII. 二維矩陣乘法的多維卷積
發明人已經認識並理解到,上面討論的用於計算卷積的基於矩陣乘法的演算法,可能不適合於某些計算架構或應用。發明人進一步認識並理解到,可以將im2col或kn2row的計算效率與MEC演算法的記憶體有效特徵相結合的方法,將有益於卷積和互相關的計算。特定而言,發明人已經認識到可以通過在處理前和處理後步驟之間分割輸入和輸出矩陣的重新排序和重新整形來實現這些益處,並且這種方法可以推廣到N維卷積,其中N≥2。
根據一些實施例,經由二維矩陣 - 矩陣乘法演算法的多維卷積(稱為「cng2」算法)包括三個步驟。在高級別,對於二維圓形卷積的非限制性示例,預處理步驟藉由複製和旋轉輸入矩陣的列來建立矩陣。其中在一些實現中,「旋轉」指的是向量元素的循環置換,例如旋轉。在GEMM步驟中,計算濾波器矩陣與來自預處理步驟的矩陣的乘積。在後處理中,旋轉並添加由GEMM創建的矩陣的列,以建構輸出。
根據一些實施例,可以修改cng2算法以實現其他邊界條件。作為示例,對於在預處理和後處理期間的填充卷積的情況,向量列被移位而不是旋轉。也就是說,在旋轉步驟期間可能會纏繞列向量的元素被設置為零。可以在cng2演算法中實現的其他邊界條件,包括但不限於對稱或鏡像邊界條件。
另外,可以注意到根據一些實施例,cng2演算法的預處理步驟,不限於僅應用於左側輸入(此處為圖像),而是可以應用於右側輸入(此處為濾波器)。對於全模態或有效模態卷積,運算是可交換的,並且預處理階段可以應用於任一輸入。對於同模態卷積,當或時,運算是非交換的,但是預處理階段仍然可以應用於右側,儘管濾波器必須首先進行零填充和/或在每個維度中裁剪以匹配輸出大小。
在一些實現中,cng2演算法可以包括附加步驟,如圖3-3A中所描述的。在如前所述的預處理階段之前,一個或多個輸入濾波器矩陣可能需要被重新整形為具有適當尺寸的濾波器矩陣F,如步驟3-302所示。可以通過以任何合適的方式連接一個或多個輸入濾波器矩陣或矩陣,來完成這種重新整形。在步驟3-304中,執行構建循環矩陣H的預處理步驟,此將參考圖3-3B更詳細地描述。在步驟3-306中,執行GEMM步驟並且創建中間矩陣X = F×H。接下來,可以執行後處理步驟。在步驟3-308中,旋轉和/或移動矩陣X的向量列以形成矩陣X'。在步驟3-310中,對矩陣X'的列執行向量列相加,以形成矩陣Z。根據特定處理系統的記體佈局,矩陣Z可以在動作3-312中被重新整形為至少一個輸出矩陣。
根據一些實施例,構建矩陣H的方法,可以取決於期望的邊界條件,如圖3-3B中的步驟3-304的擴展所示。在步驟3-314中,可以確定邊界條件是否是圓形的。如果確定邊界條件是圓形的,則處理系統可以進行到步驟3-316,其中通過複製和旋轉至少一個輸入矩陣的列來創建矩陣H。相反,如果在步驟3-314中確定邊界條件是填充而不是循環,則處理系統可以進行到步驟3-318。在步驟3-318中,通過複製和移位至少一個輸入矩陣的列來創建矩陣H,如前所述。應當理解,在一些實施例中,可以在步驟3-318中採用除填充邊界條件之外的其他邊界條件。
或者,根據一些實施例,當計算互相關時,可能不需要如處理3-300那樣將問題明確地轉換為卷積。相反的,可以省略元素反轉步驟3-302,並且可以相應地修改cng2演算法的預處理和後處理步驟。也就是說,元素反轉步驟可以與cng2演算法的預處理和後處理步驟組合。如何完成取決於預處理擴展是應用於左側輸入還是右側輸入。如果左側輸入被擴展,則可以在相反方向上執行前處理和後處理步驟中的移位或旋轉。如果右側輸入被擴展,則在預處理階段期間生成的每個循環矩陣可以以相反的順序被轉置和串接,並且在後處理階段中GEMM輸出矩陣的第i列可以被移位或旋轉(i-n+1)·n個元素,而不是i·n個元素。對於複數值資料,互相關仍然需要一個輸入的複共軛。
參照圖3-4A至3-4F,根據一些實施例,描繪了用於多通道輸入和輸出的程序3-300的示例。對於[2×2]濾波器f(包括4個輸出通道和[3×3]個圖像)、G(包括3個輸入通道),步驟3-402在圖3-4A中可視化。然而,可以實現任何大小的濾波器矩陣,圖像矩陣和/或多個輸入和/或輸出通道。在步驟3-402的示例中,執行將濾波器f重新整形為[6×8]濾波器矩陣F。在此示例中,通過串接濾波器f來完成濾波器f的整形,而不另外改變矩陣元素的排序,但是可以採用諸如旋轉、移位或以其他方式改變濾波器f列的其他方法。濾波器f的整形確保了濾波器矩陣F對於稍後的GEMM運算具有適當的維度。然而,在其中記憶體被適當地佈置的一些實施方式中,在步驟3-404之前可能不需要步驟3-402,如下所述。
根據一些實施例,在步驟3-402之後,可以在步驟3-404中執行圖像G的預處理,如圖3-4B中所示。在此示例中,形成圖像G以執行相同模態卷積,但是可以使用任何輸出模態。此示例中的循環矩陣H為基於圓形邊界條件形成,但是可以使用任何邊界條件,例如填充邊界條件。在步驟3-404之後,可以執行步驟3-406的GEMM運算F×H = X,如圖3-4C中所示。在此示例中,中間矩陣X具有[9×8]的尺寸。
在GEMM運算之後,可以發生後處理步驟,如圖3-4D到3-4E所示。在圖3-4D中,描繪了步驟3-408,其中根據此示例的圓形邊界條件旋轉中間矩陣X的列,以形成矩陣X'。其他邊界條件,例如填充邊界條件,作為非限制性示例,可以在預處理和後處理中實現,只要預處理步驟和後處理步驟的邊界條件彼此相同即可。
參考圖3-4E,其中描繪了步驟3-410,後處理的下一步驟添加矩陣X'的列以形成輸出矩陣Z。換言之,在此示例中,、等等。在一些實現中,取決於如何佈置處理系統的記憶體,可能必須在步驟3-410之後的步驟3-412中執行輸出矩陣Z的重新整形。在圖3-4F的示例可視化中,輸出矩陣Z被重新整形為尺寸為[3×3]的四個輸出矩陣A。
除了可以推廣到多個輸入通道之外,根據一些實施例,cng2演算法可以推廣到更高維信號(即大於兩個)。對於尺寸為的濾波器張量與尺寸為的圖像之間的n維卷積,可以採用具有與二維信號相似的步驟的二維矩陣乘法,來計算所需的輸出。在預處理期間,輸入張量可以擴展一個因子,其中a可以被認為是在預處理階段期間處理的維度的數量,並可選擇範圍1≤a≤n-1中的任何值。在GEMM步驟中,可執行來自預處理步驟的被分割為矩陣和擴展矩陣的濾波器張量的乘積。在後處理步驟期間,可以旋轉和累積在GEMM期間產生的矩陣的子向量。
由預處理階段產生的擴展矩陣可以由水平串接的子矩陣組成,其中每個子矩陣是a級的嵌套Toeplitz矩陣,並且最裡面的Toeplitz矩陣被定義如他們是二維cng2實現。後處理階段可以執行(n-a)輪次的旋轉和加法,其中第i輪將由前一輪(或者最初通過GEMM運算)產生的矩陣分割為大小為的子矩陣。對於每個子矩陣,然後執行以下運算。首先,第j行可以旋轉或移位元素。然後,可以將所有列添加在一起。
雖然以上描述按順序處理維度(預處理階段沿著首a個維度擴展資料,並且後處理階段沿著最後n-a個維度減少資料),但是根據一些實施例,這並不需要是如此的。預處理階段可以藉由以與針對二維情況描述的相同方式,重新排序輸入和輸出資料,來沿任何a個維度擴展資料。
cng2演算法提供了用於計算卷積的靈活框架,具有本文描述的若干備選實施例。在一些實施方案中,輸出中的給定點的輸入信號的重疊區域,可移位恆定偏移。無論輸出模態如何,都可以應用這種偏移,但是通常與相同模態輸出配對。對於在相同模態和上面給出的定義下運算的卷積(互相關),邊界條件可以應用於沿著輸入圖像G的頂部(底部)邊緣的個元素和沿著左(右)邊緣的個元素。藉由在濾波器和輸出位置之間用恆定偏移重新定義運算,可以改變這種行為。當計算卷積(互相關)時,可以藉由在預處理階段中將偏移加到移位或旋轉量(或從移位或旋轉量減去),並且在後處理階段中藉由將()加到移位或旋轉量(或從移位或旋轉量減去),來將此修改應用於cng2。
另外,根據一些實施例,已經提出的用於減少kn2row後處理步驟的時間和儲存要求的方法,可以被類似地應用於cng2演算法。對於kn2row演算法,GEMM運算可以被分成一系列個較小的GEMM運算,其中那些較小的GEMM運算的結果被連續地累積在一起。這使得後處理添加能夠以優化的方式和相對於最終輸出的儲存而就地執行。在kn2row的情況下,這僅在邊界條件可以被忽略或者引入額外的(並且通常是低效的)所謂的打孔程序時才有效。但是,在cng2演算法的情況下,可以直接應用此過程而不犧牲精度或額外處理,有效地消除了後處理步驟的計算成本,並將cng2演算法所需的臨時儲存減少到。
在一些實施例中,可以按照程序3-300中描述的相反順序處理空間維度。cng2演算法可以通過在程序3-300開始時應用於兩個輸入信號的轉置運算以及對最終輸出的轉置運算來增強。這仍然產生期望的結果,但是當過濾器的形狀嚴格為矩形時(即),會改變行為。在這種情況下,輸入圖像擴展了因子Kh而不是Kw,且後處理步驟包括加法而不是。將此變體與上述低記憶體整合後處理變體組合的實施例,可以進一步將cng2演算法所需的臨時儲存減少到。
作為替代實施例,可以重新排序傳遞給GEMM運算的矩陣中的列和/或行。如果GEMM運算被定義為C = AB,則可以重新排序輸入矩陣A或B的行和/或列,只要將適當的置換應用於另一輸入矩陣(在重新排序A的行或B的列的情況下)或輸出矩陣(在重新排序A的行或B的列的情況下)。特定而言,在多個輸出通道的情況下重新排序A的列,可以以非常適合於向量處理器或單指令多資料(SIMD)架構的方式,重新組織後處理階段中可用的資料級並行性。
此定義將輸出信號的大小減小了因子,並且相當於增加了濾波器在每個輸出點的圖像上滑動的步長。這可以藉由計算無跨度卷積然後在每個維度中對結果進行向下採樣適當的量來實現,但是這需要比所需的多了的計算步驟。藉由修改預處理階段3-304以僅生成每個單獨循環矩陣中的每個第Sx
行,並修改後處理階段以使每個列移位或旋轉而不是,至少可以將此計算代價在cng2中減小到。在一些實現中,可以通過對每個階段的附加修改來完全消除計算代價。首先,可以修改預處理步驟3-304以產生個擴展矩陣而不是單個矩陣,其中如果,則將第i個循環矩陣分配給第j個擴展矩陣。然後,核心處理階段必須執行個 GEMM運算(每個擴展輸入矩陣一個GEMM運算),每個運算矩陣僅使用濾波器矩陣的列。然後,後處理步驟3-308、3-310可以交織所得到的矩陣的列,直接添加每組列(即不移動或旋轉列),並由的移位或旋轉量透過標準後處理邏輯運行列。
對於每個輸出點,膨脹增加了跨越圖像的較大片段的濾波器的感知場,並且可以被視為在濾波器的元件之間插入空間。可以修改cng2算法以藉由分別通過和增加前處理階段和後處理階段中的旋轉或移位量,來實現膨脹卷積。膨脹卷積可以進一步受限為用因果輸出模態計算。
發明人進一步認識並理解到,可以通過使用基於變換的演算法來計算卷積和互相關。基於變換的演算法藉由首先在替代數值域(例如頻域)中計算輸入信號的等效表示,執行替代線性運算(例如逐元素乘法),然後計算結果的逆轉換以返回信號的原始數值域(例如時域),來改變計算問題的性質。這種變換的例子,包括離散傅立葉變換(DFT)、離散正弦變換、離散餘弦變換、離散Hartley變換、未抽取離散小波變換、Walsh-Hadamard變換、Hankel變換和有限脈衝響應(FIR)濾波器,諸如Winograd的最小濾波演算法。這裡將描述基於DFT的基於變換演算法的示例,但是可以在基於變換演算法中和在光子處理器上實現任何合適的變換。
其中ω≡e-2πiN。可以藉由類似的矩陣向量乘積來計算逆變換,其中的元素是複共軛。DFT是可分離變換,因此可以將其視為沿正交軸計算兩個一維變換。因此,[M×N](即矩形)輸入x的二維DFT可以通過以下矩陣三元乘積計算:
其中W是與行相關聯的[M×M]變換矩陣,Y是與列相關聯的[N×N]變換矩陣,上標T表示矩陣轉置。在大小為[N×N]的方形輸入x的情況下,行W的變換矩陣與列Y的變換矩陣相同。
在一維DFT的情況下,矩陣W是酉矩陣,因此可以根據先前描述的實施例直接編程到光子陣列中。對於其他離散變換,矩陣W可以不是單一的,因此在根據先前描述的方法編程到光子陣列中之前需要分解。根據一些實施例,用於對向量執行一維變換的程序3-500在圖3-5中示出。在步驟3-502中,矩陣W被編程到光子陣列中,並且在步驟3-504中,向量x被傳播通過陣列。
在一些實現中,可以如圖3-6的程序3-600中所描述的那樣計算二維變換。對於尺寸為N×N的二維輸入x,可以修改程序3-500以產生如上定義的二維變換。在步驟3-602中,創建對應於尺寸N一維輸入的變換矩陣。接下來,在步驟3-604中,藉由沿對角線方格化W,來創建大小為N2
乘N2
的塊對角矩陣B。然後通過在步驟3-606中逐列展平輸入x,來創建大小為N2
的行向量。在步驟3-608中,藉由將向量x傳播通過光子陣列,可以執行乘法。在步驟3-610中,矩陣然後可以被重新整形為N×N矩陣,其可以在步驟3-612中進一步逐行平坦化為尺寸N2
行向量。在步驟3-614中,可以通過將Xpartial傳播通過光子陣列來執行乘法。在步驟3-616中,可以將得到的向量X重新整形為N×N矩陣以進行輸出。
在一些實施例中,然後可以通過首先將矩陣W編程到光子陣列中,來計算[N×N]輸入x的二維變換。其次,通過將x的行傳播通過光子陣列來計算。第三,轉置部分結果。第四,再次傳播的行通過陣列以計算。最後轉置結果以產生。
一些系統,諸如本文描述的基於光子的系統的一個實施例,限於實現實酉矩陣(即正交矩陣)。在這樣的實現中,仍然可以計算變換,但是需要額外的步驟。系統必須分別跟踪變換矩陣以及輸入向量或圖像的實部和虛部。上面定義的用於計算乘積的實施例,可以適用於正交矩陣,除了對於如上所述的每次通過光子陣列,演算法必須執行四次通過。將變量的實部表示為並將虛部表示為I,乘積的實部是,類似地,乘積的虛部是。根據一些實施例,在僅表示實矩陣的光子處理器的光電核心中,可以執行圖3-7的程序3-700。根據輸入的維度,可以在程序3-700中使用過程3-500或3-600。在步驟3-702中,將加載到光子陣列中。在步驟3-704中,對於和,取決於輸入的維度,可以執行程序3-500或3-600。這產生和。在步驟3-706中,將加載到光子陣列中。在步驟3-708中,對於和,可以再次取決於輸入的維度來執行程序3-500或3-600。這產生和。在步驟3-710中,減去和以產生。並且,在步驟3-712中,添加和以產生。
利用上述程序3-500、3-600和3-700,可以將輸入矩陣轉換為其變換。一旦卷積濾波器F和圖像G被轉換為他們的變換對應物,根據一些實施例,可以應用卷積定理。卷積定理表明兩個信號的卷積對應於兩個信號變換的元素乘積的變換。在數學上,這表示為:
其中⊙表示逐元素乘法,而表示逆變換。在一些實施例中,圖像和濾波器的維度可以不同;在這種情況下,應當理解到,可以使用適當的維度變換矩陣來計算每一個正向變換和逆變換。因此,表示具有濾波器和圖像的一般變換和一般維度的一維卷積的矩陣乘法方程式是:
參照圖3-8,使用基於變換演算法在光子處理器的光電核心中執行卷積的一些實施例可包括以下步驟。在步驟3-802中,可以使用程序3-500、3-600和/或3-700中的任何一個來執行圖像G的變換。
在一些實施例中,然後可以在步驟3-804中用零填充濾波器F以匹配圖像G的大小,之後可以使用在行為3-806中的程序3-500、3-600和/或3-700中的任何一個對濾波器F執行變換。在步驟3-808中,然後可以將變換後的濾波器F加載到光子陣列的逐元素乘法器中,並且在步驟3-810中,可以將圖像G傳播通過光子陣列。在步驟3-812中,可以使用程序3-500、3-600和/或3-700中的任何一個,對先前計算的結果執行逆變換。然後,步驟3-812的結果可以在步驟3-814中被重新形成為G的大小,並被裁剪以產生最終的卷積圖像G*F。
在一些實施例中,卷積G*F可以以分而治之(divide-and-conquer)的方式計算,其中一個輸入被劃分為一組區塊,並且每個區塊與第二輸入分開地卷積。然後可以將每個單獨卷積的結果重新組合成期望的輸出,但是用於實現這種分而治之的方法的算法(例如,重疊 - 添加,重疊 - 保存)是非平凡的。當一個輸入比另一個輸入小得多並且基於變換演算法用於卷積運算時,這種方法比在一個運算中計算整個卷積更有效,如上所述,濾波器被填充以匹配圖像大小。可以理解到,通過在光子陣列上執行方格的變換,可以在光子處理器上實現這種用於基於變換的卷積的分而治之演算法。
在一些實施例中,濾波器F和圖像G可以具有多個通道。如上所述,這意味著圖像的每個通道與濾波器張量的相應通道卷積,並且結果被逐元素添加。當使用基於變換的方法計算多通道卷積時,可以在變換域或輸出域中執行跨通道的求和。實際上,通常選擇在變換域中執行求和,因為這減少了必須應用輸出變換的資料量。在這種情況下,接續逐通道求和的逐元素乘法可以表示為矩陣 - 矩陣乘法(GEMM)的序列。在數學上,這可以表示如下:
設G是包括N×N個圖像的C資料通道的輸入信號。設F是包括N×N個濾波器的M∙C個資料通道的輸入信號。設C和M分別為輸入和輸出資料通道的數量。令是濾波器張量的第m個輸出通道和第c個輸入通道的變換資料(即)。設R是變換後的三維[C×N×N]輸入張量,Rc
是變換後的輸入張量的第c個通道(即)。然後,產生多個輸出通道的F和G的卷積是:
本申請的各態樣提供了可以在諸如CPU、GPU、ASIC、FPGA或任何其他合適的處理器的處理設備上執行的方法,程序和演算法。例如,處理設備可以執行上述程序,以生成用於本文所述的光子處理器的光電核心的可變分束器和調變器的設置。處理設備還可以執行上述過程以生成要輸入到本文描述的光子處理器的輸入資料。
計算設備的一個示例實現例,可以包括至少一個處理器和非暫態性電腦可讀取儲存媒體。計算設備可以是例如桌上型或膝上型個人電腦、個人數位助理(PDA)、智慧型行動電話、平板電腦、伺服器、或任何其他合適的計算設備。電腦可讀取媒體可以適於儲存要處理的資料和/或要由處理器執行的指令。處理器能夠處理資料和執行指令。資料和指令可以儲存在電腦可讀取儲存媒體上,並且可以例如實現計算設備的組件之間的通信。儲存在電腦可讀取儲存媒體上的資料和指令,可以包括實現根據本文描述的原理操作的技術的電腦可執行指令。
計算設備可以另外具有一個或多個組件和周邊設備,包括輸入和輸出設備。除其他之外,這些設備可用於呈現使用者介面。可用於提供使用者介面的輸出設備的示例,包括用於輸出和揚聲器或其他聲音生成設備的視覺呈現的印表機或顯示螢幕,用於輸出的可聽呈現。可以用於使用者介面的輸入設備的示例,包括鍵盤和指標設備,諸如滑鼠、觸控板和數位化平板。作為另一示例,計算設備可以通過語音識別或其他可聽格式接收輸入資訊。作為另一示例,計算設備可以從相機、激光雷達(lidar)或產生視覺資料的其他設備接收輸入。
計算設備的實施例還可以包括光子處理器,例如本文所述的光子處理器。計算設備的處理器可以經由一個或多個接口向光子處理器發送和接收資訊。發送和接收的資訊可以包括光子處理器的可變分束器和調製器的設置和/或來自光子處理器的偵測器的測量結果。
IV. 光子編碼器
發明人已經認識並理解到,相位強度關係(由此光學信號的相位和強度調變彼此相互依賴)對於精確編碼光場中的向量以進行光處理提出了挑戰。
一些光學調變器在光域中編碼數值向量,其中數字被編碼到光學信號的相位或強度上。在理想的世界中,光強度調變器能夠在保持光學信號的相位不變的同時調變光學信號的強度,並且光相位調變器能夠在保持光學信號的強度不變的同時調變光學信號的相位。然而,在現實世界中,光學信號的相位和強度是相互依賴的。因此,強度調變產生相應的相位調變,並且相位調變產生相應的強度調變。
考慮例如整合光子平台,其中強度和相位藉由Kramers-Kronig方程式(連接複數分析函數的實部和虛部的雙向數學關係)彼此相關。在這些情況下,光場可以由複函數表示,其中函數的實部和虛部(以及因此,強度和相位)彼此相關。另外,強度和相位調變器的實際實現例通常遭受動態損失,由此他們所賦予的調變量(相位或強度)取決於他們的當前設置。當沒有發生相位調變時,這些調變器經歷一定的功率損耗,並且當發生相位調變時經歷不同的功率損耗。例如,在無相位調變時經歷的功率損耗可以是L1,在π/ 2相位調變處經歷的功率損耗可以是L2,並且在π相位調變處經歷的功率損耗可以是L3,且L1、L2和L3彼此不同。這種行為是不希望的,因為除了相位調變之外,信號還經歷強度調變。
圖4-1中描繪了光學調變器(1-10)的示例,其中ψin
表示輸入光場,ψout
表示由調變器4-10輸出的光場,α表示振幅調變因子,θ表示相位調變因子。理想情況下,調變器4-10能夠將光場ψin
的項目設置為任何相位,並結合任何衰減為ψout
=αeiθ
,其中α≤1且θ∈[0,2π]。因為調變器通常具有相關的Kramers-Kronig關係,和/或受到動態損失,所以簡單地設置α和θ的值不容易實現。常規地,具有兩個可獨立控制的調變信號的兩個或更多個調變器,用於以表示有號實數的方式編碼光場的振幅和相位。然而,具有多個可控制的調變信號需要複數的多變量編碼方案,通常涉及用於同時控制光學信號的相位和強度的反饋迴路。
存在能夠在不影響相位的情況下調變強度的光學調變器,包括基於電光材料的調變器。遺憾的是,電光學調變器在大規模商業環境中工作具有挑戰性,因為他們涉及使用不實用的材料來製造。
傳統的電腦本身不執行複數的算術運算。相反的,他們使用有號的算術,其中數字可以是正數或負數,並且可以通過執行多個計算並組合結果來建立複數的算術。發明人已經認識並理解到,即使在存在動態損耗和/或非理想相位或強度調變器的情況下,也可以利用該事實來顯著簡化有號實數線性變換的實現。
一些實施例涉及使用非理想光學調變器(其中強度調變引起相位調變且相位調變引起強度調變的調變器)來編碼有號實數的向量的技術。與其他實施方式相反,一些這樣的實施例涉及使用單個調變信號來控制光學信號的相位以及強度。發明人已經意識到,當使用單個調變信號將有號實數編碼到光場上時,光學信號在相空間中的精確位置(例如,實部和虛部,或振幅和相位)對於解碼的目的是不重要的。根據一些實施例,對於精確解碼而言重要的是光學信號在實軸(或預先選擇作為測量軸的其他任意軸)上的投影。為了在預選軸上執行投影,在一些實施例中,使用相干偵測方案。
為了在預選軸上執行投影,在一些實施例中,使用相干偵測方案。
更一般而言,本文描述的類型的編碼技術可以用於根據實數變換處理光學信號的任何上下文中(相對於複數變換)。傳統的電腦不直接執行複數算術。相反的,傳統電腦使用有號實數算術,其中數字可以是正數或負數。在一些實施例中,通過執行涉及實數運算的若干計算,可以在光域中建立複數運算。考慮例如光線性系統,其被配置為根據以下表達式來變換光學信號:
應當注意,基於該等式,輸入場x的實部和虛部僅貢獻於所得場y的線性獨立分量。發明人已經認識並理解到,可以通過在複平面中的任意軸上投影y,來使用相干接收器來解碼y。
在一些實施例中,本文描述的類型的編碼技術可以用作光子處理系統的一部分。例如,在一些實施例中,圖1-1的光學編碼器1-101和/或圖1-11的光學編碼器1-1103和/或圖1-12B的光學編碼器1-1211,可以實現本文描述的類型的編碼技術。
圖4-2A是根據一些實施例的實現光編碼技術的光子系統的方塊圖。光子系統4-100包括光源4-102、編碼器4-104、光學調變器4-106和光學變換單元4-108、相干接收器4-110、本地振盪器4-112和解碼器4-114。在一些實施例中,光子系統4-100可以包括圖4-2A中未示出的附加或替代組件。在一些實施例中,圖4-2A的一些或所有組件可以設置在同一半導體基板(例如,矽基板)上。
光源4-102可以以多種方式實現,包括例如使用光相干源。在一個示例中,光源4-102包括配置成發射波長λ0
的光的雷射。發射波長可以是電磁波譜的可見光、紅外(包括近紅外、中紅外和遠紅外)或紫外部分。在一些實施例中,λ0
可以在O波段、C波段或L波段中。使用光學調變器4-106調變光源4-102發射的光。光學調變器4-106是非理想的調變器,使得相位調變引起強度調變,並且強度調變引起相位調變。在一些實施例中,相位調變可以與根據Kramers-Kronig方程式的強度調變有關。可替代地或另外地,調變器4-106可能遭受動態損耗,其中相移導致衰減。
在一些實施例中,調變器4-106由單個電調變信號4-105驅動。因此,單個調變信號調變光場的相位和振幅。這與在光通信中常規使用的調變器形成對比,以在光場的複數振幅中編碼符號,其中每個符號代表多於一個位元。事實上,在這種類型的調變器中,多個調變信號調變光場。考慮例如配置為提供正交相移鍵控(QPSK)調變方案的光學調變器。在這些類型的調變器中,一個調變信號調變光場的實部,一個調變場調變光場的虛部。因此,在QPSK調變器中,使用兩個調變信號共同調變光場的相位和振幅。
可用於調變器4-106的調變器的示例,包括Mach Zehnder調變器、電光學調變器、環或盤調變器或其他類型的諧振調變器、電吸收調變器、Frank-Keldysh調變器、聲光學調變器、Stark效應調變器、磁光學調變器、熱光學調變器、液晶調變器、量子限制光學調變器和光子晶體調變器,以及其他可能類型的調變器。
編碼器4-104基於要編碼的實數生成調變信號4-105。例如,在一些實施例中,編碼器4-104可以包括將實數映射到調變信號的振幅的表。
光學變換單元4-108可以被配置為變換所接收光場的強度和/或相位。例如,光學變換單元4-108可以包括光纖、光波導、光衰減器、光放大器(例如摻鉺光纖放大器)、分束器、光束組合器、調變器(例如電光學調變器、Franz-Keldysh調變器、諧振調變器或Mach Zehnder調變器等)、移相器(例如熱移相器或基於電漿色散效應的移相器)、光諧振器、雷射、或其任何合適的組合。在光通信的背景中,光學變換單元4-108可以包括光纖通信信道。光通信信道可以包括例如光纖,以及可選地包括光中繼器(例如摻鉺光纖放大器)。在光處理的上下文中,光學變換單元4-108可以包括光子處理單元,其示例在下面進一步詳細討論。在一些實施例中,光學變換單元4-108實現實數變換,使得變換的虛部基本上等於零。
由光學變換單元4-108輸出的光場直接或間接地(例如在通過一個或多個其他光子部件之後)提供給相干接收器4-110。相干接收器4-110可以包括零差光學接收器或外差光學接收器。用於打擊接收信號的參考信號可以由本地振盪器4-112提供,如圖4-2A所示,或可以在通過光學變換單元4-108之後與調變光場一起提供。解碼器4-114可以被佈置為從相干接收器4-112輸出的信號中提取實數(或實數向量)。
在其中圖1-1的光子處理系統1-100實施本文描述的類型的編碼技術的至少一些實施例中,光學調變器4-106可以是光學編碼器1-101的一部分,光學變換單元4-108可以是光子處理器1-103的一部分,並且相干接收器4-110可以是光接收器1-105的一部分。
圖4-2B是示出根據一些實施例的用於在光域中處理有號實數的方法的流程圖。可以使用圖4-2A的系統,或使用任何其他合適的系統,來執行方法4-150。方法4-150從動作4-152開始,其中提供表示實數的值。在一些實施例中,可以對實數給予符號(即可以是正數或負數)。實數可以表示某個環境變量或參數,諸如物理條件(例如溫度、壓力等)、與對象相關聯的信息(例如位置、運動、速度、旋轉速率、加速度等)、與多媒體文件相關的信息(例如音頻文件的聲強度、像素顏色和/或圖像或視頻文件的強度)、與某種化學/有機元素或化合物相關的信息(例如濃度)、與金融資產相關的信息(例如某個證券的價格)、或任何其他合適類型的信息,包括從上述示例中獲得的信息。由有號實數代表的信息,可能由於各種原因而有用,包括例如訓練機器學習演算法,執行預測、資料分析、故障排除、或簡單地收集資料以供將來使用。
在動作4-154,可以將表示實數的值編碼到光場上。在一些實施例中,將值編碼到光場上,涉及基於該值調變光場的相位和強度。因此,光場的相位和振幅反映了編碼值。在一些實施例中,可以使用編碼器4-104和調變器4-106來執行動作4-154(參見圖4-2A)。在一些這樣的實施例中,基於該值調變相位和振幅涉及用單個電調變信號驅動單個調變器。因此,單個調變信號調變光場的相位和振幅。再次參考圖4-2A,作為示例而非限制,編碼器4-104可以使用單個調變信號4-105來驅動光學調變器4-106。
應當注意,單個調變信號用於驅動調變器的事實,並不排除使用其他控制信號來控制調變器工作的環境。例如,一個或多個控制信號可用於控制調變器的溫度或調變器的某一部分的溫度。可以使用一個或多個控制信號來為調變器的操作供電。可以使用一個或多個控制信號在一定的操作狀態下偏壓調變器,例如將調變器偏壓在其線性區域中,或者設置調變器的波長以匹配光源的波長(例如圖4-2A的λ0
)。
圖4-3A中示出了特定類型的調變器,根據一些實施例。調變器4-206是環形諧振調變器。應當注意,本文僅通過示例的方式描述了環形調變器,因為可以替代地使用任何其他合適類型的調變器,包括上面列出的那些。調變器4-206包括波導4-208、環4-210和移相器4-212。環4-210表現出共振波長,其值除其他參數外還取決於環的周長。當光場ψin
射入波導4-208時,光場可以或可以不耦合到環4-210,這取決於相對於環4-210的諧振波長的ψin
的波長。例如,如果ψin
的波長與諧振波長匹配,則ψin
的至少一部分能量通過漸逝耦合傳遞到環4-210。傳遞到環的功率將在環內無限振盪,直到他完全散射或以其他方式消散。相反的,如果ψin
的波長與諧振波長不匹配,則ψin可以直接通過波導4-208而沒有任何顯著的衰減。
因此,光場可以根據ψin
相對於諧振波長的波長而變化。更具體地,光場的相位和強度可以根據ψin
相對於諧振波長的波長而變化。圖4-3B是示出強度(頂部圖表)和相位(底部圖表)如何根據ψin
相對於共振波長的波長而變化的曲線圖。頂部圖表說明了強度光譜響應α作為ψin
可能具有的所有可能波長(λ)的函數。底部圖表表示相位光譜響應θ作為相同波長的函數。在共振頻率下,強度響應呈現下降,相位響應呈現拐點。基本上低於諧振頻率的波長,經受低強度衰減(α~1)和低相位變化(θ~0)。基本上大於諧振頻率的波長,經受低強度衰減(α~1)和符號變化(θ~-π)。在諧振波長處,ψin
的強度衰減對應於下降的值,並且經受到等於拐點值的相移(即-π/2)。在圖4-3B的示例中,ψin
的波長(λ0
)相對於諧振頻率略微偏移。在這種情況下,ψin
的強度衰減αV0(其中0>αV0
>1)並且相位偏移θV0(其中-π>θV0
>-π/2)。
再次參考圖4-3A,可以使用電壓V來執行ψin
的振幅和相位的調變,在這種情況下,電壓V體現圖4-2A的調變信號4-105。當電壓V施加到移相器4-212時,移相器的折射率改變,結果也改變了環的周長的有效長度。這反過來導致環的共振頻率的變化。有效周長(以及相應的諧振頻率)變化的程度,取決於V的振幅。
在圖4-3B的示例中,電壓V被設置為零。在圖4-3C的示例中,電壓設定為V1
。如圖4-3C所示,將V1
施加到移相器4-212導致調變器沿波長軸的強度和相位光譜響應的偏移。在這種情況下,響應呈現紅移(即向更大波長的偏移)。結果是ψin
的強度現在被αV1
衰減(αV1
不同於αV0
)並且相位偏移θV1
(θV1
不同於θV0
)。
因此,變化的電壓V導致ψin
的強度和相位的變化。換句話說,V可以被視為調變信號。在一些實施例中,電壓V可以是唯一驅動調變器4-210的調變信號。在一些實施例中,電壓V可以採用以下表達式:V=VDC
+V(t),其中VDC是常數,並且V(t)隨時間變化,這取決於要編碼的實數。VDC可以預偏置環,使得諧振頻率接近ψin
的波長(λ0
)。
圖4-3D是根據一些實施例的編碼器表(例如查找表),其提供如何使用調變器4-206將實數編碼成光場的相位和強度的示例。在這種情況下,作為示例,將假設在光域中編碼具有等於1的增量的-10和10之間的實數(參見標記為「要編碼的實數」的行)。當然,可以使用本文描述的技術對任何合適的實數集進行編碼。標記為「V(施加電壓)」的行,表示施加到移相器4-212的電壓。標記為「α(振幅調變)」的行,表示在ψin
的波長(λ0
)處的強度光譜響應的值(參見圖4-3B和4-3C,頂部圖表)。標記為「θ(相位調變)」的行,表示在ψin
的波長(λ0
)處的相位光譜響應的值(參見圖4-3B和4-3C,底部圖表)。在這種情況下,實數「-10」被映射到特定電壓V1
,這導致振幅調變α1
和相位調變θ1
;實數「-9」映射到特定電壓V2
,這導致振幅調變α2
和相位調變θ2
;諸如此類。實數「10」被映射到特定電壓VN
,這導致振幅調變αN
和相位調變θN
。因此,不同的實數用不同的強度/相位對編碼。
圖4-3E提供了根據一些實施例的圖4-3D的編碼表的複數平面中的視覺表示。沿著線4-300的不同點,表示根據圖4-3B和圖4-3C隨著電壓變化的光譜響應的不同強度/相位對。例如,符號Sin
表示以強度調變α和相位調變θ為特徵的特定符號。Sin
表示圖4-3D的表中的某一列。表的每一列都映射到線4-300上的不同點。
再次參考圖4-2B,在動作4-156,對由調變器輸出的調變光學信號應用變換。變換可以涉及強度變換和/或相變,這取決於人們希望處理編碼的實數的方式。在一些實施例中,光學變換單元4-108可以用於由調變器4-106輸出的信號的變換。光學變換單元4-108可以被配置為將由強度α和相位θ表徵的符號Sin
變換為符號Sout
,其特徵在於強度αβ和相位θ+Δθ。換句話說,光學變換單元4-108引入強度調變β和相移Δθ。β和Δθ的值取決於所使用的特定光學變換單元。
作為示例考慮圖4-3E的輸入符號Sin
,圖4-4A至4-4C提供了光學變換單元如何執行變換的示例。圖4-4A的變換使得β>1且Δθ=0。也就是說,光學變換單元引入衰減但不改變輸入光場的相位。例如,這可能是不具有光中繼器的光纖的情況,而光纖的長度被選擇為保持輸入相位。結果是,線4-300被轉換為線4-401,其中線4-401是線4-300的壓縮版本。輸出樣本Sout
具有與Sin
相同的相位,但強度等於αβ(即被β衰減)。
圖4-4B的變換引入衰減以及相移。例如,這可能是不具光中繼器的光纖,而光纖具有任意長度。結果是,線4-300被轉換為線4-402,其中線4-402是線4-300的壓縮和旋轉版本。輸出樣本Sout
具有相位θ+Δθ和強度αβ。
圖4-4C的變化涉及多模態變換。當輸入光場與一個或多個其他光場組合時,這可能發生。通過多模態變換,線4-403可以以任何合適的方式重新成形。多模態變換的示例包括光處理單元,其中一些將在下面進一步詳細描述。
再次參考圖4-2B,在動作4-158,相干接收器可以將變換的調變光場與參考光學信號混合,以獲得電輸出信號。在一些實施例中,可以使用圖4-2A的相干接收器4-110來執行混合。參考光學信號可以是由本地振盪器(例如圖4-2A的本地振盪器4-112)生成的信號,或者可以是通過光學變換單元與調變光場一起發送的信號。混合的效果如圖4-5所示(作為示例而非限制)。線4-403(相同於圖4-4C所示的線)表示來自某個多模態變換的所有可能的強度/相位對。例如,圖4-5可以描繪通過圖1-1的光子處理器1-103傳播光學信號的效果。
假設Sout
是在某個時間從轉換中出來的符號。如上所述,符號Sout
的特徵在於強度αβ和相位θ+Δθ。當變換場與參考信號混合時,沿著線4-403的點投影在參考軸4-500上。因此,例如,符號Sout
被投影到軸4-500上的點A上。點A表示由混合產生的電輸出信號,其特徵在於振幅等於0和A()之間的距離。應注意,軸4-500相對於實軸的角度(即角度φ),取決於參考信號相對於變換的調變光場的相位。在該示例中,0>φ>π/4。
再次參考圖4-2B,在動作4-160,解碼器可以基於在動作4-158獲得的電輸出信號,獲得表示解碼的實數的值。在一些實施例中,當解碼通過光變換獲得的符號時,符號在複數平面中的精確位置可能是不重要的。根據一些實施例,對於精確解碼而言重要的是光學信號在已知參考軸上的投影。換句話說,沿著線4-403的符號可以被映射到沿著參考軸的點,很像符號Sout
被映射到點A。因此,一些實施例實現了光解碼方案,其中沿著參考軸的點對應於複數平面中的特定符號。
可以使用校準過程來確定沿著參考軸的點被映射到複數平面中的符號的方式。在校準過程期間,已知強度和相位的一組輸入符號(代表一組實數的符號)通過某個光學變換單元,並且使用具有已知的參考信號來相干地偵測所得到的符號。產生的電輸出信號的振幅(即沿參考軸的投影的振幅)被記錄並儲存在表格(例如查找表)中。隨後可以在操作期間使用該表,來基於沿參考軸的投影的振幅來解碼實數。
圖4-6中根據一些實施例示出了這種表的示例。該表包括用於參考信號的相位的行(「參考相位φ」)、用於沿參考軸的投影的行(「投影」,即電輸出信號的振幅)、以及用於該解碼的實數的行(「解碼的實數」)。該表可以在校準過程期間填充,包括1)通過已知的光學變換單元傳遞已知強度和相位的符號,2)將參考信號的相位設置為已知值,3)將變換後的符號與參考信號混合藉此將變換的符號投影到已知的參考軸上,4)確定沿參考軸的投影的振幅,以及5)記錄預期的輸出實數。在操作期間,使用者可以基於參考相位的值和測量的投影,使用該表推斷解碼的實數。
在圖4-6的示例中,僅作為示例考慮了兩個參考相位(0和π/6),而不作為限制。在φ=0時,投影-1、-0.8和1分別映射到實數-9.6、0.2和8.7。在φ=π/6處,投影-0.4、0.6和0.9分別映射到實數3.1、-5和10。因此,例如,如果使用者在使用π/6的參考相位時獲得-0.4的投影,則使用者可以推斷出解碼的實數是3.1。
圖4-7示出了根據一些實施例的光子系統4-700的具體示例,其中光學變換單元包括光纖4-708。該示例說明如何在光通信的背景中使用本文描述的類型的編碼技術。在該實現中,光纖4-708將發送器4-701與接收器4-702分開。
發送器4-701包括光源4-102、編碼器4-104和光學調變器4-106(在上面結合圖4-2A描述),接收器4-702包括相干接收器4-110和解碼器4-114(也在上面結合圖4-2A描述)。如上所述,在一些實施例中,可以使用單個調變信號4-105來驅動光學調變器4-106。在一些這樣的實施例中,光學調變器4-106可以實現開關鍵控(OOK)調變方案。
應當注意,在該實現中,用於相干偵測的參考信號直接從發送器4-701提供,而不是在接收器4-702本地生成(儘管其他實現例可能涉及接收器4-702處的本地振盪器)。為了說明這個概念,考慮例如圖4-8的曲線圖。圖4-8示出了發送器4-701的輸出處的光場的功率譜密度的示例。如圖所示,功率譜密度包括信號4-800以及載波4-801。信號4-800表示使用調變器4-106編碼的信息。載波4-801表示光源4-102波長處(λ0
)的色調。在通過光纖4-708傳輸該光場時,相干接收器4-110可以使用載波4-801本身作為參考信號來執行混合。
一些實施例涉及用於製造本文所述類型的光子系統的方法。圖4-9根據一些實施例描繪了一種這樣的方法。方法4-900開始於動作4-902,其中製造調變器。可以將調變器製造成用單個電調變信號驅動。調變器的一個例子是調變器4-106(圖4-2A)。在動作4-904,製造相干接收器。在一些實施例中,相干接收器製造在製造調變器的相同半導體基板上。在動作4-906,製造光學變換單元。光學變換單元可以製造在製造相干接收器的同一基板上和/或製造在其上製造調變器的同一半導體基板上。可以將光學變換單元製造成耦合在調變器和相干接收器之間。光學變換單元的示例是光學變換單元4-108(圖4-2A)。
V. 差動接收器
發明人已經認識並理解到,一些傳統的光學接收器特別容易受到電壓源產生的雜訊、光電偵測器不可避免地產生的暗電流和其他形式的雜訊的影響。雜訊的存在降低了信噪比,因此降低了這些光電偵測器準確感測輸入光學信號的能力。這會對部署這些光電偵測器的系統的性能產生負面影響。例如,這會對系統的誤碼率(bit error rate)和功率預算產生負面影響。
發明人已經開發出具有降低的雜訊敏感性的光學接收器。本申請的一些實施例涉及光學接收器,其中光電轉換和放大都以差動方式執行。在本文描述的光學接收器中,發生兩個單獨的信號減除。首先,將光電流彼此相減以產生一對差動電流。然後,進一步減去所得到的差動電流,以產生放大的差動輸出。發明人已經認識並理解,具有涉及多級信號減法的光學接收器導致多級雜訊消除,因此大大降低了來自系統的雜訊。與傳統的光學接收器相比,這可以具有幾個優點,包括更寬的動態範圍、更大的信噪比,更大的輸出擺幅和更高的電源雜訊抗擾度。
本文描述的類型的光學接收器可以用於各種設置,包括例如電信和資料通信(包括本地區域網路、都市區域網路、廣域網路、資料中心網路、衛星網路等)、類比應用、諸如光纖無線電、全光開關、光學雷達、相控陣列、相干成像、機器學習和其他類型的人工智能應用、以及其他應用。在一些實施例中,本文描述的類型的光學接收器可以用作光子處理系統的一部分。例如,在一些實施例中,本文描述的類型的光學接收器,可用於實現圖1-1的光學接收器1-105(例如,圖1-9的一個或多個零差接收器1-901)。
圖5-1示出了根據本案的一些非限制性實施例的光學接收器5-100的非限制性示例。如圖所示,光學接收器5-100包括光電偵測器5-102、5-104、5-106和5-108,但是其他實現例包括多於四個光電偵測器。光電偵測器5-102可以連接到光電偵測器5-104,光電偵測器5-106可以連接到光電偵測器5-108。在一些實施例中,光電偵測器5-102的陽極連接到光電偵測器5-104的陰極(在節點5-103處),並且光電偵測器5-106的陰極連接到光電偵測器5-108的陽極(在節點5-105處)。在圖5-1的示例中,光電偵測器5-102和5-108的陰極連接到電壓源VDD,光電偵測器5-104和5-106的陽極連接到參考電位(例如接地)。在一些實施例中,相反的佈置也是可能的。參考電位可以是等於零的電位或具有任何合適的值,例如-VDD。VDD可以具有任何合適的值。
光電偵測器5-102至5-108可以以多種方式中的任何一種實現,包括例如pn接面光電二極體、pin接面光電二極體、雪崩光電二極體、光電電晶體、光敏電阻等。光電偵測器可包括能夠吸收所關注波長的光的材料。例如,在O波段、C波段或L波段中的波長處,作為非限制性示例,光電偵測器可以具有至少部分地由鍺製成的吸收區域。對於可見光,作為另一個非限制性示例,光電偵測器可以具有至少部分地由矽製成的吸收區域。
光電偵測器5-102至5-108可以是整體形成的整合部件,作為同一基板的一部分。在一些實施例中,基板可以是矽基板,例如塊體矽基板或絕緣體上矽。也可以使用其他類型的基板,包括例如磷化銦或任何合適的半導體材料。為了減少由於製造公差導致的光電偵測器的特性的可變性,在一些實施例中,光電偵測器可以彼此靠近地定位。例如,光電偵測器可以在1mm 2或更小、0.1mm 2或0.01mm 2或更小的區域內定位在基板上。
如圖5-1中進一步所示,光電偵測器5-102到5-108連接到差動運算放大器5-110。例如,光電偵測器5-102和5-104可以連接到DOA 5-110的非反相輸入(「+」),光電偵測器5-106和5-108可以連接到DOA 5-110的反相輸入(「-」)。DOA 5-110有一對輸出。一個輸出是反相,一個輸出是非反相的。
在一些實施例中,如將結合圖5-2詳細描述的那樣,光電偵測器5-102和5-106可以佈置成接收相同的光學信號「t」,並且光電偵測器5-104和5-108可以佈置成接收相同的光學信號「b」。在一些實施例中,光電偵測器5-102至5-108可以設計成彼此基本相等。例如,光電偵測器5-102至5-108可以使用相同的處理步驟並使用相同的光罩圖案形成。在這些實施例中,光電偵測器5-102至5-108可以表現出基本相同的特性,諸如基本上相同的響應度(光電流和接收光功率之間的比率)和/或基本相同的暗電流(當沒有收到光功率時產生的電流)。在這些實施例中,響應於信號t的接收而由光電偵測器5-102和5-106產生的光電流可以基本上彼此相等。這種光電流在圖5-1中標識為「it
」。應注意,由於光電偵測器5-102和5-106的取向,由光電偵測器5-102和5-106產生的光電流沿相反方向取向。也就是說,光電偵測器5-102的光電流指向節點5-103,光電偵測器5-106的光電流遠離節點5-105。此外,光電偵測器5-104和5-108響應於信號b的接收而產生的光電流可以基本上彼此相等。這種光電流被識別為「ib
」。由於光電偵測器5-104和5-108相對於彼此的取向,光電偵測器5-104和5-108產生的光電流沿相反方向取向。也就是說,光電偵測器5-108的光電流指向節點5-105,光電偵測器5-104的光電流遠離節點5-103。
鑑於光電偵測器的取向,具有振幅it
-ib
的電流從節點5-103出現,並且具有振幅ib
-it
的電流從節點5-105出現。因此,電流具有基本相同的振幅,但具有相反的符號。
光電偵測器5-102至5-108可能產生暗電流。暗電流通常是由於洩漏引起的,並且由光電偵測器產生,無論光電偵測器是否暴露在光線下。因為即使在沒有輸入光學信號的情況下也會產生暗電流,暗電流有效地導致光學接收器中的雜訊。發明人已經意識到,由於上述的電流減法,這些暗電流的負面影響可以顯著衰減。因此,在圖5-1的示例中,光電偵測器5-102的暗電流和光電二極體5-104的暗電流基本上相互抵銷(或者至少相互大幅減小),光電偵測器5-106和5-108的暗電流也是如此。因此,由於暗電流的存在而產生的雜訊大大減弱。
圖5-2示出了根據一些非限制性實施例的光子電路5-200,其被佈置用於向光電偵測器5-102至5-108提供兩個光學信號。光子電路5-200可以包括用於將光學信號路由到光電偵測器的光波導。光波導可以由對於感興趣的波長的光透明或至少部分透明的材料製成。例如,光波導由矽、氧化矽、氮化矽、磷化銦、砷化鎵或任何其他合適的材料製成。在圖5-2的示例中,光子電路5-200包括輸入光波導5-202和204,以及耦合器5-212、5-214和5-216。如進一步所示,光子電路5-200的輸出光波導耦合到光電偵測器5-102到5-108。
在圖5-2的示例中,耦合器5-212、5-214和5-216包括定向耦合器,其中漸逝耦合使得能夠在相鄰波導之間傳輸光功率。然而,可以使用其他類型的耦合器,例如Y接面、X接面、光學交叉、反向耦合器等。在其他實施例中,光子電路5-200可以用多模干涉儀(MMI)實現。在一些實施例中,耦合器5-212、5-214和5-216可以是3dB耦合器(具有50%-50%的耦合比),但是其他比率也是可能的,例如51%-49%、55%-45%或60%-40%。應當理解,由於製造公差,實際耦合比可能略微偏離預期的耦合比。
可以在輸入光波導5-202處提供信號s1
,並且可以在輸入光波導204處提供信號s2
。可以使用例如光纖將信號s1
和s2
提供給各個輸入光波導。在一些實施例中,s1
表示參考本地振盪器信號,例如由參考雷射產生的信號,並且s2
表示要偵測的信號。這樣,光學接收器可以被視為零差光學接收器。在一些這樣的實施例中,s1
可以是連續波(CW)光學信號,而s2
可以是調變的。在其他實施例中,兩個信號都被調變或兩個信號都是CW光學信號,因為應用不限於任何特定類型的信號。
在圖5-2的示例中,信號s1
具有振幅ALO
和相位θ,並且信號s2
具有振幅AS
和相位φ。耦合器5-212組合信號s1
和s2
,使得信號t和b出現在耦合器5-212的相應輸出端。在耦合器5-212是3dB耦合器的實施例中,t和b可以由以下表達式給出:
並且冪次T和B(分別為t和b)可以通過以下表達式給出:
因此,在耦合器5-214和5-216是3dB耦合器的實施例中,光電偵測器5-102和5-106每個可以接收由T/2給出的功率,並且光電偵測器5-104和5-108可以各自接收B/2給出的功率。
DOA 5-110用於放大在「+」和「-」輸入端接收的差動信號,並產生放大的差動輸出,如圖5-1所示電壓Vout,n
和Vout,p
。在一些實施例中,DOA 5-110與阻抗z組合可以被視為差動跨阻抗放大器,因為他基於差動電流對(ib
-it
, it
-ib
)產生差動電壓對(Vout,n
, Vout,p
)。在一些實施例中,Vout,n
、Vout,p
中的每一個可以與當前電流it
-ib
和當前電流ib
-it
之間的差成比例,從而產生以下表達式:
該差動電壓對可以作為輸入提供給任何合適的電子電路,包括但不限於類比數位轉換器(圖5-1中未示出)。應注意,光學接收器5-100提供兩級雜訊抑制。由於減去了光電流而發生第一級雜訊抑制,由於在差動放大級中發生減法而發生第二級雜訊抑制。這導致雜訊抑制的顯著增加。
在圖5-1的示例中,阻抗z被示出為彼此相等,然而在其他實施例中可以使用不同的阻抗。這些阻抗可以包括被動電子部件,諸如電阻器、電容器和電感器、和/或主動電子部件,諸如二極體和電晶體。可以選擇構成這些阻抗的分量以提供期望的增益和頻寬,以及其他可能的特性。
如上所述,光學接收器5-100可以整體地整合在基板上。一種這樣的基板在圖5-3A中示出,根據一些非限制性實施方案。在該示例中,光電偵測器5-102至5-108、光子電路5-200和DOA 5-110被單片整合為基板5-301的一部分。在其他實施例中,光電偵測器5-102至5-108和光子電路5-200可以被整合在基板5-301上,並且DOA 5-110可以被整合在單獨的基板5-302上。在圖5-3B的示例中,基板5-301和5-302彼此覆晶接合。在圖5-3C的示例中,基板5-301和5-302彼此引線接合。在又一個示例(未示出)中,光電偵測器5-102至5-108和光子電路5-200可以在分開的基板上製造。
本申請的一些實施例涉及用於製造光學接收器的方法。圖5-4中根據一些非限制性實施例描繪一種這樣的方法。方法5-400開始於動作5-402,其中在第一基板上製造複數個光電偵測器。
一旦製造,光電偵測器可以連接在一起,例如在圖5-1所示的佈置中。在一些實施例中,光電偵測器可以在1mm2
或更小、0.1mm2
或0.01mm2
或更小的區域內定位在基板上。在動作5-404,在第一基板上製造光子電路。光子電路可以佈置成向光電偵測器提供一對光學信號,例如以圖5-2所示的方式。在動作5-406,可以在第二基板上製造差動運算放大器。差動運算放大器的示例是圖5-1的DOA 5-110。在動作5-408,第一基板可以接合到第二基板,例如通過覆晶接合(如圖5-3A所示)、引線接合(如圖5-3B所示)、或者使用任何其他合適的接合技術。一旦基板被接合,第一基板的光電偵測器可以電連接到第二基板的差動運算放大器,例如以圖5-1所示的方式。
圖5-4A至5-4F根據一些實施例示意性地描述製造程序的實例。圖5-4A描繪了基板5-301,基板5-301具有下包層5-412(例如,諸如掩埋氧化物層或其他類型的介電材料的氧化物層)和半導體層5-413(例如,矽層或氮化矽層,或其他類型的材料層)。在圖5-4B,例如使用光刻曝光來圖案化半導體層5-413,以形成區域5-414。在一些實施例中,區域5-414可以佈置成形成光波導。在一些實施例中,所得到的圖案類似於光子電路5-200(圖5-2),其中波導5-202和204以及耦合器5-212、5-214和5-216嵌入一個或多個區域5-414中。在圖5-4C中,形成光電偵測器5-102、5-104、5-106和5-108(以及可選地,其他光電偵測器)。在該示例中,光學吸收材料5-416被沉積為與區域5-414相鄰。可以圖案化光學吸收材料5-416以形成光電偵測器。用於光學吸收材料的材料可取決於待偵測的波長。例如,鍺可用於L波段、C波段或O波段的波長。矽可用於可見波長。當然,其他材料也是可能的。光學吸收材料5-416可以定位成以任何合適的方式光學耦合到區域5-414,包括但不限於對接耦合、錐形耦合和漸逝耦合。
在圖5-4D,形成DOA 5-110。在一些實施例中,DOA 5-110包括通過離子植入形成的若干電晶體。圖5-4D描繪了植入區域5-418,植入區域5-418可以形成DOA 5-110的一個或多個電晶體的一部分。雖然圖5-4D中僅示出了一個離子植入,在一些實施例中,DOA 5-110的形成可涉及一次以上的離子植入。另外,DOA 5-110可以電連接到光電偵測器,例如通過形成在基板5-301上的一個或多個導電跡線。
圖5-4D的佈置使得光子電路5-200、光電偵測器5-102到5-108和DOA 5-110形成在共同基板上(如圖5-3A所示)。DOA 5-110形成在單獨的基板上的佈置(如圖5-3B或圖5-3C所示)也是可能的。在一個這樣的例子中,DOA 5-110形成在單獨的基板5-302上,如圖5-4E所示,其中植入區域5-428通過一個或多個離子植入形成。
隨後,基板5-301接合到基板5-302,且光電偵測器5-102至5-108連接到DOA 5-110。在圖5-4F所示,形成導電墊5-431並使其與光學吸收材料5-416電連通,並形成導電墊5-432並與植入區5-428電連通。導電墊通過引線接合(如圖5-4F所示)或通過覆晶接合來電連接。
一些實施例涉及用於接收輸入光學信號的方法。一些這樣的實施例可以涉及零差偵測,但是應用不限於此態樣。其他實施例可以涉及外差偵測。其他實施例可涉及直接偵測。在一些實施例中,光學信號的接收可以涉及光學接收器5-100(圖5-1),但是可以使用其他類型的接收器。
圖5-5中示出根據一些實施例的用於接收輸入光學信號的方法的示例。方法5-500開始於動作5-502,其中輸入信號與參考信號組合以獲得第一和第二光學信號。輸入信號可以用資料編碼,例如以振幅調變、脈衝寬度調變、相位或頻率調變、以及其他類型調變的形式。在涉及零差偵測的一些實施例中,參考信號可以是由本地振盪器(例如雷射)生成的信號。在其他實施例中,參考信號也可以用資料編碼。在一些實施例中,使用光子電路5-200(圖5-2)組合輸入信號和參考信號,但是可以使用其他類型的光學組合器,包括但不限於MMI、Y接面、X接面、光學交叉、和反向耦合器。在使用光子電路5-200的實施例中,t和b可以表示從輸入信號與參考信號的組合獲得的信號。
在動作5-504,用第一光電偵測器和第二光電偵測器探測第一光學信號,用第三光電偵測器和第四光電偵測器探測第二光學信號,以產生一對差動電流。在一些實施例中,可以使用光學接收器5-100(圖5-1)來執行動作5-504。在一些這樣的實施例中,用光電偵測器5-102和5-106偵測第一光學信號,用光電偵測器5-104和5-108偵測第二光學信號。所產生的一對差動電流共同由電流ib
-it
和it
-ib
表示。作為差動,在一些實施例中,該對的電流可以具有基本相等的振幅,但具有基本相反的相位(例如,具有π相位差)。
在動作5-506,差動運算放大器(例如圖5-1的DOA 5-110)使用在動作5-504處產生的一對差動電流產生一對放大的差動電壓。在使用DOA 5-110的實施例中,所產生的差動電壓對由電壓Vout,n
和Vout,p
表示。作為差動,在一些實施例中,該對的電壓可以具有基本相等的振幅,但具有基本相反的相位(例如,具有π相位差)。
方法5-500可以具有優於用於接收光學信號的傳統方法的一個或多個優點,包括例如更寬的動態範圍、更大的信噪比、更大的輸出擺幅和增加的電源雜訊抗擾度。
VI. 相位調變器
發明人已經認識並理解到,某些光學相位調變器遭受高動態損耗和低調變速度,這顯著地限制了可以部署這些相位調變器的應用範圍。更特定而言,一些相位調變器涉及調變速度和動態損耗之間的顯著權衡,使得調變速度的增加導致動態損耗的增加。如這裡所使用的,短語「動態損耗」是指光學信號經歷的光功率損耗,光功率損耗取決於光學信號相位被調變的程度。理想的相位調變器使得功率損耗與相位調變無關。然而,當沒有調變發生時,真實世界的相位調變器經歷一定的功率損耗,並且當發生調變時經歷不同的功率損耗。例如,在無相位調變時經歷的功率損耗可以是L1
,在π/ 2相位調變處經歷的功率損耗可以是L2
,並且在π相位調變處經歷的功率損耗可以是L3
,且L1
、L2
和L3
彼此不同。這種行為是不希望的,因為除了相位調變之外,信號還經歷振幅調變。
此外,一些這樣的相位調變器需要數百微米的長度來提供足夠大的相移。不幸的是,由於這麼長,這種相位調變器不適合用於需要在單個晶片上整合數個移相器的應用。單獨的相位調變器可佔據晶片上可用的大部分空間,從而限制了可以共同整合在同一晶片上的裝置的數量。
認識到某些相位調變器的上述限制,發明人開發了小尺寸光學相位調變器,其能夠提供高調變速度(例如超過6-100MHz或1GHz),同時限制動態損耗。在一些實施例中,相位調變器可佔據小至300μm2
的面積。因此,作為示例,具有1cm2
面積的掩模版可以容納多達15,000個相位調變器,同時為其他設備節省額外的50mm2
。
一些實施例涉及奈米光機電系統(NOEMS)相位調變器,其具有多個彼此相鄰定位並在其間形成複數個槽的懸置光波導。槽的尺寸足夠小以形成槽波導,藉此模態能量的大部分(例如主要部分)被限制在槽本身中。這些模態在本文中稱為時槽模態。在槽中具有模態能量的大部分,能夠通過引起槽尺寸的變化來調變模態的有效折射率,並因此調變體現模態的光學信號的相位。在一些實施例中,可以通過施加引起槽尺寸變化的機械力來實現相位調變。
發明人已經認識到並意識到,通過將機械驅動器與發生光學調變的區域分離,可以增加本文所述的NOEMS相位調變器可實現的調變速度,而不會顯著增加動態損耗。在機械驅動器與光學調變區域分離的相位調變器中,電驅動信號施加在機械驅動器上,而不是施加在光學調變區域本身上。這種佈置消除了使光學調變區域導電的需要,從而能夠減少該區域的摻雜。低摻雜導致自由載子的減少,否則可能導致光學吸收,從而降低動態損耗。
此外,將機械驅動器與光學調變區域分開,使得每單位長度的調變程度更大,並且因此調變區域更短。相應的,較短的調變區域能夠實現更高的調變速度。
發明人進一步認識並理解,在調變區域中包括多個槽,可以使相位調變器的長度進一步減小(從而減小其尺寸)。事實上,具有多於一個槽,使得能夠顯著減小光通過其耦合到調變區域的轉變區域的長度。結果產生更小型的形狀因子。因此,本文所述類型的NOEMS相位調變器,可具有較短的調變區域和/或較短的轉變區域。在一些實施例中,本文所述類型的相位調變器可具有低至20μm或30μm的長度。
如下面將進一步詳細描述的,一些實施例涉及相位調變器,其中在晶片中形成溝槽,並且佈置成使得調變波導懸置在空氣中並在空間中自由移動。
發明人已經認識到與使用溝槽相關的潛在缺點,這些缺點是由包層/空氣介面的形成引起的。當傳播中的光學信號進入(或離開)溝槽時,他遇到包層/空氣介面(或空氣/包層介面)。不幸的是,介面的存在會引起光反射,這會相應增加插入損耗。發明人已經意識到,可以通過減少光學模態在其通過介面的區域中的物理擴展,來減輕這種介面的負面影響。這可以通過各種方式實現。例如,在一些實施例中,可以通過將模態緊密地限制在肋形波導內,來減小光學模態的擴展。可以調整肋形波導的尺寸,使得僅模態能量的一小部分(例如小於20%、小於10%或小於5%)在波導的邊緣之外。
本文所述類型的NOEMS相位調變器可用於各種應用,包括例如電信和資料通信(包括本地區域網路、都市區域網路、廣域網路、資料中心網路、衛星網路等)、類比應用、諸如光纖無線電、全光開關、光學雷達、相控陣列、相干成像、機器學習和其他類型的人工智能應用、以及其他應用。另外,NOEMS調變器可以用作振幅調變器的一部分,例如在與Mach Zehnder調變器組合時。例如,可以提供Mach Zehnder調變器,其中NOEMS相位調變器位於Mach Zehnder調變器的一個或多個臂中。可以使用NOEMS相位調變器賦能若干調變方案,包括例如幅移鍵控(ASK)、正交振幅調變(QAM)、相移鍵控(BPSK)、正交相移鍵控(QPSK)和更高階QPSK、偏移正交相位移位鍵控(OQPSK)、雙極化正交相移鍵控(DPQPSK)、振幅相移鍵控(APSK)等。另外,NOEMS相位調變器可以用作相位校正器,其中光學信號的相位趨於不可預測地漂移。在一些實施例中,本文描述的類型的NOEMS相位調變器可以用作光子處理系統的一部分。例如,在一些實施例中,本文描述的類型的NOEMS相位調變器可用於實現圖1-1的相位調變器1-207,和/或實現圖1-4的可變分束器1-401的一部分,和/或實現圖1-5的移相器1-505、1-507和1-509,和/或實現圖1-6的相位調變器1-601,和/或實現圖1-6的振幅調變器1-603的一部分,和/或實現圖1-2的振幅調變器1-205的一部分。
圖6-1A是根據一些非限制性實施例的示意性地示出奈米光機電系統(NOEMS)相位調變器的俯視圖。NOEMS相位調變器6-100包括輸入波導6-102、輸出波導6-104、輸入轉變區域6-140、輸出轉變區域6-150、懸置多槽光學結構6-120、機械結構6-130和6-132、機械驅動器6-160和6-162。可以使用矽光子技術製造NOEMS相位調變器6-100。例如,NOEMS相位調變器6-100可以製造在矽基板上,例如塊體矽基板或絕緣體上矽(SOI)基板。在一些實施例中,NOEMS相位調變器6-100還可以包括配置成控制機械驅動器6-160和6-162的操作的電子電路系統。電子電路系統可以製造與在承載圖6-1A部件相同的基板上,或在單獨的基板上。當設置在單獨的基板上時,基板可以以任何合適的方式彼此接合,包括3D接合、覆晶接合、引線接合等。
NOEMS相位調變器6-100的至少一部分形成在溝槽6-106中。如下面將進一步詳細描述的,可以通過蝕刻包層的一部分來形成這裡描述的類型的溝槽。在圖6-1A的示例中,溝槽6-106具有矩形形狀,但是可以使用任何其他合適形狀的溝槽。在該示例中,溝槽6-106具有四個側壁。側壁6-112和6-114沿z軸彼此間隔開(在此稱為傳播軸),而另外兩個側壁(圖6-1A中未標記)沿著x軸上彼此間隔開。
在一些實施例中,側壁6-112和6-114之間沿z軸的分離可小於或等於50μm、小於或等於30μm、或小於或等於20μm。因此,該NOEMS相位調變器的調變區域明顯短於其他類型的相位調變器,其需要數百微米來調變光學信號的相位。通過以下一個或多個因素實現相對短的長度。首先,具有多個槽改善了與光學調變區域的耦合,這相應使得能夠減小轉變區域的長度。改進的耦合可能是多槽結構中增強的模態對稱性的結果。其次,將機械驅動器與光學調變區域分開,使得每單位長度的調變程度更大,並且因此調變區域更短。
在操作期間,可以將光學信號提供給輸入波導6-102。在一個示例中,光學信號可以是連續波(CW)信號。相位調變可以在懸置的多槽光學結構6-120中進行。相位調變光學信號可以從輸出波導6-104離開NOEMS相位調變器6-100。轉變區域6-140可以確保輸入波導6-102和懸置多槽光學結構6-120之間的無損耗或幾乎無損耗的光學耦合。類似地,轉變區域6-150可以確保懸置多槽光學結構6-120和輸出波導6-104之間的無損耗或幾乎無損耗的光學耦合。在一些實施例中,過渡區域6-140和6-150可以包括錐形波導,如下面進一步詳細描述的。如上所述,相對於其他實施方式,轉變區域的長度可以更短。
輸入光學信號可以具有任何合適的波長,包括但不限於O波段、E波段、S波段、C波段或L波段中的波長。或者,波長可以位於850nm波段或可見波段。應當理解,NOEMS相位調變器6-100可以由任何合適的材料製成,只要材料在感興趣的波長下是透明的或至少部分透明的,並且核心區域的折射率大於周圍包層的折射率。在一些實施例中,NOEMS相位調變器6-100可以由矽製成。例如,輸入波導6-102、輸出波導6-104、輸入過渡區域6-140、輸出過渡區域6-150、懸置多槽光學結構6-120、以及機械結構6-130和6-132可由矽製成。鑑於矽的光學帶隙相對較低(約1.12eV),矽可能特別適合與近紅外波長結合使用。在另一個例子中,NOEMS相位調變器6-100可以由氮化矽或金剛石製成。給定氮化矽和金剛石的相對高的光學帶隙(分別約為5eV和約5.47eV),這些材料可能特別適合與可見波長結合使用。然而,其他材料也是可能的,包括磷化銦、砷化鎵和/或任何合適的III-V或II-VI合金。
在一些實施例中,輸入波導6-102和輸出波導6-104的尺寸,可以設定為在操作波長下支持單模(儘管也可以使用多模波導)。例如,如果NOEMS相位調變器被設計為在1550nm下操作(當然,並非所有實施例都受限於此態樣),輸入和輸出波導6-102和6-104可以支持1550nm的單模。以這種方式,可以增強波導內的模態限制,從而減少由於散射和反射引起的光學損失。波導6-102和6-104可以是肋形波導(例如具有矩形橫截面),或可以具有任何其他合適的形狀。
如上所述,NOEMS相位調變器6-100的一部分可以形成在溝槽6-106內,使得調變區域中的波導被空氣包圍並且可以在空間中自由移動。包括溝槽的缺點,是沿著傳播路徑形成包層/空氣介面和空氣/包層介面。因此,輸入光學信號在到達發生調變的區域之前通過包層/空氣介面(對應於側壁6-112),並在調變區域之後通過空氣/包層介面(對應於側壁6-114)。這些介面可能引入反射損耗。在一些實施例中,可以通過將轉變區域6-140定位在溝槽6-106內部而不是外部來減少反射損耗(如圖6-1A所示)。以這種方式,與轉變區域相關聯的模態擴展,發生在光學信號已經通過包層/空氣介面的地方。換句話說,模態在通過包層/空氣介面時被嚴格限制,但是在溝槽中使用轉變區域擴展,以便耦合到懸置多槽結構6-120。類似地,轉變區域6-150可以形成在溝槽6-106內部,從而在模態到達側壁6-114之前在空間上重新限制模態。
圖6-1B更詳細地示出了根據一些非限制性實施例的懸置多槽光學結構6-120。在圖6-1B的示例中,多槽光學結構6-120包括三個波導(6-121、6-122和6-123)。槽6-124將波導6-121與波導6-122分開,槽6-125將波導6-122與波導6-123分開。槽(d1
和d2
)的寬度可以小於用於形成槽模態的臨界寬度(在操作波長處),由此模態能量的大部分(例如大於40%、大於50%、大於60%、或大於75%)在槽內。例如,d1和d2中的每一個可以等於或小於200nm、等於或小於6-150nm、或等於或小於6-100nm。可以通過光刻解析度設置最小寬度。
圖6-1C是示出根據一些非限制性實施例的由波導6-121、6-122和6-123支持的光學模態的示例的曲線圖。更特定而言,本圖示出了模態的振幅(例如電場Ex
、Ey
或Ez
,或磁場Hx
、Hy
或Hz
)。如圖所示,總能量的大部分被限制在槽內,其中模態呈現振幅峰值。在一些實施例中,在一個槽中存在比在任何一個單獨波導中更多的光能。在一些實施例中,在一個槽中存在比一起考慮的所有波導中更多的光能。在外部波導的外壁之外,模態能量衰減(例如指數地)。
寬度d1
和d2
可以彼此相等或不同。槽和波導的寬度沿z軸可以是恆定的(如圖6-1B中所示)或可以變化。在一些實施例中,波導6-121、6-122和6-123的寬度可以小於輸入波導6-102的寬度。在一些實施例中,當操作波長在C波段時,波導6-121、6-122和6-123的寬度可以在200nm和400nm之間、250nm和350nm之間、或者在任何其他合適的範圍內,不論是否在這些範圍之內或之外。
雖然圖6-1B的示例示出了懸置的具有三個波導和兩個槽的多槽光學結構6-120,可以使用任何其他合適數量的波導和槽。在其他示例中,懸置的多槽光學結構6-120可以包括五個波導和四個槽、七個波導和六個槽、九個波導和八個槽等。在一些實施例中,該結構包括奇數個波導(並因此包括偶數個槽),使得僅激發對稱模態,而反對稱模態保持未激發。發明人已經意識到,增強模態的對稱性,增強了與開槽結構的耦合,因此能夠顯著減小轉變區域的長度。然而,具有偶數個波導的實現例也是可能的。
如下面將進一步詳細描述的,通過使外部波導(圖6-1B中的6-121和6-123)沿x軸相對於中心波導(圖6-1B中的6-122)移動,而發生相位調變。當波導6-121相對於波導6-122在x軸上移動時,槽6-124的寬度變化,並且由此結構支撐的模態的形狀相應地變化。結果是結構支持的模態的有效折射率發生變化,因此發生相位調變。可以使用機械結構6-130和6-132引發外部波導的運動。
圖6-1D根據一些非限制性實施例示出了機械結構6-130的示例。機械結構6-132(參見圖6-1A)可具有類似的佈置。在圖6-1D所示的示例中,機械結構6-130包括梁6-133、6-134、6-135和6-136。梁6-133將機械驅動器6-160連接到梁6-134。梁6-135和6-136將梁6-134連接到外部波導。為了限制光學損耗,梁6-135和6-136可以分別在轉變區域6-140和6-150中連接到外部波導,而不是在調變區域中(如圖6-1E所示,這將在下面討論)。然而,也可以將梁6-135和6-136連接到外部波導到調變區域。可以替代地或除了圖6-1D中所示的那些之外使用具有不同形狀、尺寸和方向的梁。
機械結構6-130可以將機械驅動器6-160處產生的機械力傳遞到波導6-121,從而使波導6-121相對於波導6-122移動。機械驅動器6-160和6-162可以以任何合適的方式實現。在一個示例中,機械驅動器可以包括壓電裝置。在一個示例中,機械驅動器可以包括導電指狀物。當在相鄰指狀物之間施加電壓時,指狀物可能經歷加速,從而向機械結構施加機械力。在一些實施例中,機械驅動器可以用其上編碼有圖案的電信號驅動。以這種方式,調變導致圖案被賦予到輸入光學信號的相位上。
應當理解,因為懸置多槽光學結構6-120的波導是使用外部機械驅動器驅動的,而不是像某些傳統相位調變器那樣直接提供電信號,所以可以放鬆波導的導電性,從而減少了自由載子吸收損失,從而減少了動態損耗。這與一些傳統的相位調變器不同,其中波導本身被摻雜以用作加熱器或載子累積區域。在一些實施例中,波導6-121、6-122和6-123可以由未摻雜或低摻雜的半導體材料(例如摻雜濃度小於1014
cm-3
的未摻雜矽或矽)製成。在一些實施例中,形成波導的材料的電阻率可以大於1300Ωcm。
圖6-1E示出了根據一些非限制性實施例的轉變區域6-140的示例。在此實施方式中,波導6-122與輸入波導6-102鄰接(例如,為其延續)。如圖所示,波導6-122在轉變區域中逐漸變細,使得其寬度隨著接近懸置多槽光學結構6-120而減小。相反的,波導6-121和6-123在轉變區域中逐漸變粗,使得他們的寬度隨著他們離開懸置多槽光學結構6-120而增加。錐形波導可以允許輸入波導6-102的模態與懸置多槽光學結構6-120的模態之間的絕熱耦合,從而限制耦合損耗。類似的佈置可以用於過渡區域6-150。由於多槽結構支持的模態的增強的對稱性,轉變區域6-140和6-150明顯短於其他實施方式。在一些實施例中,轉變區域可以短至10μm或更小、或5μm或更小,但是其他值也是可能的。
圖6-2是根據一些非限制性實施例的在穿過波導6-122的yz平面中截取的NOEMS相位調變器6-100的截面圖(參見圖6-1B中的平面6-190)。輸入波導6-102和輸出波導6-104被包層材料(例如氧化矽)製成的包層包圍,材料的折射率低於核心材料的折射率。下包層6-202位於波導和下覆基板6-201之間。在波導上形成上包層6-206。
為了使懸置多槽光學結構6-120的波導能夠自由運動,穿過上包層6-206的一部分形成溝槽6-106。在一些實施例中,下包層6-202的一部分在懸置多槽光學結構6-120下方被移除,從而形成底切6-204。因此,波導6-121、6-122和6-123懸置在空氣中,並且響應於機械力而自由移動。包層/空氣介面存在於溝槽側壁6-112處,並且空氣/包層介面存在於溝槽側壁6-114處。側壁可以是基本垂直的,例如在溝槽通過反應離子蝕刻(RIE)形成時,或者可替代地是成角度的。底切6-204可以具有彎曲的側壁,如圖6-2所示,如果使用各向同性蝕刻,或者可替代地基本上是垂直的。在一些實施例中,溝槽6-106和底切6-204可以形成為相同蝕刻的一部分,而在其他實施例中,他們可以使用單獨的蝕刻形成。
圖6-3是根據一些非限制性實施例的在穿過波導6-121、6-122與6-123的xy平面中截取的NOEMS相位調變器6-100的截面圖(參見圖6-1B中的平面6-191)。圖6-3示出了波導6-121、6-122和6-123以及梁6-134是共面的(至少在該示例中),並且懸置在基板6-201上方的空氣中。如該圖中進一步所示,波導6-121、6-122和6-123在該橫截面處不接觸下包層6-202。當機械驅動器6-160和6-162被致動時,梁6-134和波導6-121和6-123沿x軸振盪,從而改變槽6-124和6-125的寬度。圖6-4A和6-4C根據一些非限制性實施例示出波導6-121和6-123的振盪運動的一個例子。圖6-4A示出了不施加機械力的情況。結果,槽的寬度不受干擾。在圖6-4B所示,施加一對力使得兩個波導6-121和6-123都朝向波導6-122移動,如箭頭所示。結果,槽的寬度減小。在圖6-4C所示,施加一對力使得兩個波導6-121和6-123都遠離波導6-122移動,如箭頭所示。結果,槽的寬度增加。在一些實施例中,力可以週期性方式施加,和/或遵循驅動電信號的圖案。在一些實施例中,可以差動地將力施加到波導6-121和6-123,使得相同的強度施加到兩個波導但具有相反的符號。
圖6-5是根據一些非限制性實施方案示出在懸置多槽光學結構6-120中傳播的模態的有效折射率(Neff)如何隨寬度d1
(波導6-121和6-122之間的槽的寬度)而變化的曲線圖。可以將類似的響應繪製為d2
的函數。有效折射率變化是由於以下事實引起的:當波導之間的間隔在施加的機械力的作用下變化時,模態的形狀相對於圖6-1C中所示的形狀偏離。隨著寬度隨時間變化,模態有效折射率也隨之變化,因此模式的相位也隨之變化。
圖6-6是示出根據一些非限制性實施例的用於製造NOEMS相位調變器的方法的示例的流程圖。應當理解,下面描述的方法的步驟可以以任何合適的順序執行,因為製造過程不限於圖6-6中所示的特定順序。
製造方法6-600開始於步驟6-602,其中獲得晶片。在一些實施例中,晶片可以是絕緣體上矽晶片或塊體矽晶片。晶片可以具有基板和以下任何層:下包層、半導體層和上包層。在一些實施例中,下包層可包括氧化矽。在一些實施例中,半導體層可以包括矽、氮化矽和/或摻雜的氧化矽。上包層可包括形成下包層的相同材料,或不同的材料。 圖6-3示出了具有下包層(包層6-202)、半導體層(波導層6-121、6-122和6-123)和上包層(包層6-206)的基板(基板6-201)的實例。應當理解,當晶片到達製造設施(在此處製造NOEMS相位調變器)時,上面標識的任何層可能已經存在於晶片上,或者可以作為製造過程的一部分在設施處形成。
在步驟6-604,將半導體層圖案化為具有第一和第二槽(或任何其他數量大於2的槽)的多槽光學結構。在圖6-3的示例中,可以在步驟6-604形成波導6-121、6-122和6-123。圖案化半導體層可以包括沉積光致抗蝕劑層、光刻曝光和蝕刻穿過半導體層。在一些實施例中,機械結構6-130和6-132中的任何一個、機械驅動器6-160和6-162、波導6-102和6-104以及轉變區域6-140和6-142(參見圖6-1A),被製造作為相同光刻曝光的一部分,但並非所有實施例都受限於此態樣,而是可以使用一個或多個單獨的光刻曝光。在一些實施例中,在步驟6-604,可以摻雜機械驅動器6-160,例如使用離子植入。在一些實施例中,多槽光學結構可以保持未摻雜。
在步驟6-606,可以穿過上包層形成溝槽。圖6-3中示出了溝槽(溝槽6-106)的示例。例如,可以使用諸如反應離子蝕刻的乾蝕刻來形成溝槽。然而,可以替代地或另外地使用濕蝕刻。溝槽的形成可以包括在步驟6-604形成的多槽光學結構上方的區域中去除上覆層的一部分。結果,多槽光學結構可以部分或全部暴露於空氣。
在步驟6-608,可以在下包層中形成底切。底切(底切6-204)的一個例子如圖6-3所示。底切可以例如使用濕蝕刻形成,但是可以替代地或另外地使用乾蝕刻。底切的形成可涉及在多槽光學結構下方的區域中去除下包層的一部分。結果,多槽光學結構的至少一部分可以懸置在空氣上。
在已說明了本申請案的數個態樣與說明性具體實施例之後,應理解到,在本發明所屬技術領域中具有通常知識者將輕易思及各種變異、修改與改良。此種變異、修改與改良意為在本申請案所述計數的精神與範圍之內。因此,應該理解,前述具體實施例僅作為示例呈現,並且在所附申請專利範圍及其均等範圍內,本發明的具體實施例可以由不同於具體描述的方式來實施。此外,如果本文所述的這些特徵、系統、物品、材料、及(或)方法不相互矛盾,則這些兩個或更多個特徵、系統、物品、材料、及(或)方法的任何組合都包括在本揭示內容的範圍內。
而且,如所描述的,一些態樣可以體現為一種或多種方法。作為方法部分所執行的步驟,可由任何適合的方式排序。因此,可建置其中以不同於所描述的順序執行步驟的具體實施例,其可包括同時執行某些動作,即使在說明性具體實施例中被描述為循序動作。
如本文定義和使用的所有定義,應理解為控制字典定義,通過引用併入的文獻中的定義,及(或)定義的術語的普通含義。
除非明確相反指出,否則本說明書和申請專利範圍中使用的不定冠詞「一(a)」和「一(an)」應理解為表示「至少一個」。
本說明書和申請專利範圍中使用的用語「及(或)」,應理解為表示如此結合的元件中的「一個或兩個」,即在某些情況下為結合存在而在其他情況下為分離存在的元件。
如本說明書和申請專利範圍中所使用的,關於一個或多個要素的列表的用詞「至少一個」,應理解為表示選自要素列表中的任何一個或多個要素中的至少一個要素,但不一定包括元素列表中具體列出的每個元素中的至少一個元素,並且不排除元素列表中元素的任何組合。此定義還允許除了在用詞「至少一個」所指的元素列表內具體標識的元素之外,可選地存在元素,無論是與具體標識的那些元素相關還是不相關。
1-100:光子處理系統
1-101:光學編碼器
1-103:光子處理器
1-105:光學接收器
1-107:控制器
1-109:記憶體
1-111:處理器
1-201a:光源
1-201b:光源
1-202:波導
1-203:冪次樹
1-205:振幅調變器
1-207:相位調變器
1-209:數位類比轉換器(DAC)
1-211:DAC
1-301:第一矩陣實現例
1-303:第二矩陣實現例
1-305:第三矩陣實現例
1-401:可變分束器(VBS)
1-501:第一瞬逝耦合器
1-503:第二瞬逝耦合器
1-505:移相器
1-507:移相器
1-509:移相器
1-510:Mach-Zehnder干涉儀(MZI)
1-601:移相器
1-603:相位屏幕和振幅調變器
1-605:移相器
1-701:瞬逝耦合器
1-703:瞬逝耦合器
1-705:可控內部移相器
1-707:第二輸出端口
1-709:第一輸出端口
1-801a-g:分束器
1-901:零差偵測器
1-903:跨阻抗放大器
1-905:類比數位轉換器(ADC)
201:光源
1-1001:本地振盪器
1-1003:正交控制器
1-1005:分束器
1-1007:偵測器
1-1009:偵測器
1-1011:減法電路
1-1100:折疊式光子處理系統
1-1101:冪次樹
1-1103a-d:光學編碼器
1-1105a-d:零差偵測器
1-1107a-d:選擇器開關
1-1109a-j:U矩陣分量
1-1110:折疊式光子處理系統
1-1111a-d:對角矩陣分量
1-1113a-j:V矩陣分量
1-1120:折疊
1-1200:WDM光子處理系統
1-1201:光源
1-1203:前端
1-1205:後端
1-1211:光學編碼器
1-1213:M:1 WDM
1-1221:M:1 WDM
1-1223:偵測器
1-1300:光學接收器
1-1301:零差偵測器
1-1303:跨阻抗放大器
1-1305:低通濾波器
1-1400:光子處理系統
1-1401:U矩陣實現例
1-1402:VBS
1-1403:對角矩陣實現例
1-1405:V矩陣實現例
1-1407a-d:探測器
1-1700:乘法
1-1701:元素
1-1703:列
1-1705:行
1-1800:乘法
1-1801:子矩陣塊
1-1803:子矩陣塊
1-1805:子矩陣塊
1-1900:方法
1-1901:步驟
1-1903:步驟
1-1905:步驟
1-2000:方法
1-2001:步驟
1-2003:步驟
1-2005:步驟
1-2100:方法
1-2101:步驟
1-2103:步驟
1-2105:步驟
1-2107:步驟
2-100:程序
2-101:動作
2-102:動作
2-103:動作
2-104:動作
2-201:動作
2-202:動作
2-203:動作
2-204:動作
2-301:動作
2-302:動作
2-303:動作
2-304:動作
2-305:動作
2-401:動作
2-402:動作
2-403:動作
2-404:動作
2-501:動作
2-502:動作
2-503:動作
2-504:動作
3-100:方法
3-102:步驟
3-104:步驟
3-106:步驟
3-200:方法
3-202:步驟
3-204:步驟
3-206:步驟
3-208:步驟
3-210:步驟
3-212:步驟
3-300:方法
3-302:步驟
3-304:步驟
3-306:步驟
3-308:步驟
3-310:步驟
3-312:步驟
3-314:步驟
3-316:步驟
3-318:步驟
3-402:步驟
3-404:步驟
3-406:步驟
3-408:步驟
3-410:步驟
3-412:步驟
3-500:方法
3-502:步驟
3-504:步驟
3-600:方法
3-602:步驟
3-604:步驟
3-606:步驟
3-608:步驟
3-610:步驟
3-612:步驟
3-614:步驟
3-616:步驟
3-700:方法
3-702:步驟
3-704:步驟
3-706:步驟
3-708:步驟
3-710:步驟
3-712:步驟
3-800:方法
3-802:步驟
3-804:步驟
3-806:步驟
3-808:步驟
3-810:步驟
3-812:步驟
3-814:步驟
4-10:調變器
4-100:光子系統
4-102:光源
4-104:編碼器
4-105:電調變信號
4-106:光學調變器
4-108:光學變換單元
4-110:相干接收器
4-112:本地振盪器
4-114:解碼器
4-150:方法
4-152:動作
4-154:動作
4-156:動作
4-158:動作
4-160:動作
4-104:編碼器
4-206:調變器
4-208:波導
4-210:調變器
4-212:移相器
4-300:線
4-401:線
4-402:線
4-403:線
4-500:參考軸
4-700:光子系統
4-701:發送器
4-702:接收器
4-708:光纖
4-800:信號
4-801:載波
4-900:方法
4-902:動作
4-904:動作
4-906:動作
5-100:光學接收器
5-102:光電偵測器
5-103:節點
5-104:光電偵測器
5-105:節點
5-106:光電偵測器
5-108:光電偵測器
5-110:差動運算放大器
5-200:光子電路
5-202:輸入光波導
5-204:輸入光波導
5-212:耦合器
5-214:耦合器
5-216:耦合器
5-301:基板
5-302:基板
5-400:方法
5-402:動作
5-404:動作
5-406:動作
5-408:動作
5-412:下包層
5-413:半導體層
5-414:區域
5-416:光學吸收材料
5-418:植入區域
5-428:植入區域
5-431:導電墊
5-432:導電墊
5-500:方法
5-502:動作
5-504:動作
5-506:動作
6-100:奈米光機電系統(NOEMS)相位調變器
6-102:輸入波導
6-104:輸出波導
6-106:溝槽
6-112:側壁
6-114:側壁
6-120:懸置多槽光學結構
6-121:波導
6-122:波導
6-123:波導
6-124:槽
6-125:槽
6-130:機械結構
6-132:機械結構
6-133:梁
6-134:梁
6-135:梁
6-136:梁
6-140:輸入轉變區域
6-150:輸出轉變區域
6-160:機械驅動器
6-162:機械驅動器
6-190:平面
6-191:平面
6-202:下包層
6-204:底切
6-206:上包層
6-600:方法
6-602:步驟
6-604:步驟
6-606:步驟
6-608:步驟
將參考以下附圖描述本申請的各個態樣和具體實施例。應該理解的是,附圖不一定按比例繪製。出現在多個圖中的項目在他們出現的所有圖中用相同的附圖標記表示。
圖1-1是根據一些非限制性實施例的光子處理系統的示意圖。
圖1-2是根據一些非限制性實施例的光學編碼器的示意圖。
圖1-3是根據一些非限制性實施例的光子處理器的示意圖。
圖1-4是根據一些非限制性實施例的互連可變分束器陣列的示意圖。
圖1-5是根據一些非限制性實施例的可變分束器的示意圖。
圖1-6是根據一些非限制性實施例的對角衰減和相移實現例的示意圖。
圖1-7是根據一些非限制性實施例的衰減器的示意圖。
圖1-8是根據一些非限制性實施例的冪次樹(power tree)的示意圖。
圖1-9是根據一些非限制性實施例的光學接收器的示意圖。
圖1-10是根據一些非限制性實施例的零差偵測器的示意圖。
圖1-11是根據一些非限制性實施例的折疊光子處理系統的示意圖。
圖1-12A是根據一些非限制性實施例的分波多工(WDM)光子處理系統的示意圖。
圖1-12B是根據一些非限制性實施例的圖1-12A的分波多工(WDM)光子處理系統的前端的示意圖。
圖1-12C是根據一些非限制性實施例的圖1-12A的分波多工(WDM)光子處理系統的後端的示意圖。
圖1-13是根據一些非限制性實施例的用於執行光學信號的類比求和的電路的示意圖。
圖1-14是根據一些非限制性實施例的示出了具有行全局相位的光子處理系統的示意圖。
圖1-15是根據一些非限制性實施例顯示未校正的全局相移對零差偵測的影響的圖。
圖1-16是示出根據一些非限制性實施例的光的相干態的正交不確定性的曲線圖。
圖1-17是根據一些非限制性實施例的矩陣乘法的圖示。
圖1-18是根據一些非限制性實施例藉由將矩陣細分為子矩陣來執行矩陣乘法的圖示。
圖1-19是根據一些非限制性實施例的製造光子處理系統的方法的流程圖。
圖1-20是根據一些非限制性實施例的製造光子處理器的方法的流程圖。
圖1-21是根據一些非限制性實施例的執行光學計算的方法的流程圖。
圖2-1是根據一些非限制性實施例的用於訓練潛變量模型的程序的流程圖。
圖2-2是根據一些非限制性實施例的用於配置光子處理系統以實現傳輸矩陣的程序的流程圖。
圖2-3是根據一些非限制性實施例的使用光子處理系統計算誤差向量的程序的流程圖。
圖2-4是根據一些非限制性實施例的用於確定傳輸矩陣的更新參數的程序的流程圖。
圖2-5是根據一些非限制性實施例的用於更新傳輸矩陣的參數的程序的流程圖。
圖3-1是根據一些非限制性實施例的用於計算通過卷積層的前向通過的方法的流程圖。
圖3-2是根據一些非限制性實施例的用於計算通過卷積層的前向通過的方法的流程圖。
圖3-3A是根據一些非限制性實施例的適合於計算二維卷積的方法的流程圖。
圖3-3B是根據一些非限制性實施例的適合於構建循環矩陣的方法的流程圖。
圖3-4A示出了根據一些非限制性實施例的從包括複數個輸出通道的輸入濾波器矩陣構建濾波器矩陣的預處理步驟。
圖3-4B示出了根據一些非限制性實施例的從包括複數個輸入通道的輸入矩陣構建循環矩陣。
圖3-4C示出了根據一些非限制性實施例的二維矩陣乘法運算。
圖3-4D示出了根據一些非限制性實施例的旋轉向量列的後處理步驟。
圖3-4E示出了根據一些非限制性實施例的向量列添加的後處理步驟。
圖3-4F示出了根據一些非限制性實施例的將輸出矩陣重新整形為多個輸出通道。
圖3-5是根據一些非限制性實施例的用於執行一維傅立葉變換的方法的流程圖。
圖3-6是根據一些非限制性實施例的用於執行二維傅立葉變換的方法的流程圖。
圖3-7是根據一些非限制性實施例的用於執行二維傅立葉變換的方法的流程圖。
圖3-8是根據一些非限制性實施例的用於使用傅立葉變換執行卷積的方法的流程圖。
圖4-1是說明根據一些非限制性實施例的光學調變器的方塊圖。
圖4-2A是示出根據一些非限制性實施例的光子系統的示例的方塊圖。
圖4-2B是示出根據一些非限制性實施例的用於在光域中處理有號實數的方法的示例的流程圖。
圖4-3A是說明根據一些非限制性實施例可與圖4-2A的光子系統結合使用的調變器的實例的示意圖。
圖4-3B是說明根據一些非限制性實施例,當沒有施加電壓時,圖4-3A的調變器的強度和相位光譜響應的曲線圖。
圖4-3C是說明根據一些非限制性實施例,當以特定電壓驅動時,圖4-3A的調變器的強度和相位光譜響應的曲線圖。
圖4-3D是根據一些非限制性實施例的與圖4-3A的調變器相關聯的編碼表的示例。
圖4-3E是根據一些非限制性實施例的複數平面中圖4-3A的調變器的光譜響應的視覺表示。
圖4-4A至圖4-4C是根據一些非限制性實施例的在複數平面中在光學變換單元的輸出處的不同光譜響應的視覺表示。
圖4-5是根據一些非限制性實施例的在複數平面中可以如何執行光學信號的偵測的視覺表示。
圖4-6是根據一些非限制性實施例的解碼表的示例。
圖4-7是根據一些非限制性實施例的光通信系統的方塊圖。
圖4-8是根據一些非限制性實施例示出由圖4-7的調變器輸出的功率光譜密度的示例的曲線圖。
圖4-9是示出根據一些非限制性實施例的用於製造光子系統的方法的示例的流程圖。
圖5-1是示出根據一些非限制性實施例的微分光學接收器的示例的電路圖。
圖5-2是說明根據一些非限制性實施例的可與圖5-1的微分光學接收器耦合的光子電路的示意圖。
圖5-3A是說明根據一些非限制性實施例的包括光子電路、光電偵測器和微分運算放大器的基板的示意圖。
圖5-3B是示出根據一些非限制性實施例的包括光子電路和光電偵測器的第一基板和包括微分運算放大器的第二基板的示意圖,其中第一和第二基板彼此覆晶接合。
圖5-3C是示出根據一些非限制性實施例的包括光子電路和光電偵測器的第一基板和包括微分運算放大器的第二基板的示意圖,其中第一和第二基板彼此引線接合。
圖5-4是示出根據一些非限制性實施例的用於製造光學接收器的方法的示例的流程圖。
圖5-4A至5-4F示出了根據一些非限制性實施例的光學接收器的製造順序的示例。
圖5-5是示出根據一些非限制性實施例的用於接收光學信號的方法的示例的流程圖。
圖6-1A是根據一些非限制性實施例的示意性地示出奈米光機電系統(NOEMS)相位調變器的俯視圖。
圖6-1B是根據一些非限制性實施例示意性地示出圖6-1A的NOEMS相位調變器的懸置多槽光學結構的頂視圖。
圖6-1C是示出根據一些非限制性實施例的在圖6-1B的懸置多槽光學結構中出現的光學模態的示例的曲線圖。
圖6-1D是根據一些非限制性實施例示意性地示出圖6-1A的NOEMS相位調變器的機械結構的頂視圖。
圖6-1E是根據一些非限制性實施例示意性地示出圖6-1A的NOEMS相位調變器的轉變區域的頂視圖。
圖6-2是根據一些非限制性實施例示出的在yz平面中截取的圖6-1A的NOEMS相位調變器的橫截面圖,並且示出了懸置波導。
圖6-3是根據一些非限制性實施例示出的在xy平面中截取的圖6-1A的NOEMS相位調變器的橫截面圖,並且示出了懸置多槽光學結構的一部分。
圖6-4A至6-4C是說明根據一些非限制性實施例如何可以機械驅動懸置多槽光學結構以改變波導之間的槽的寬度的橫截面圖。
圖6-5是示出根據一些非限制性實施例的懸置多槽光學結構的等效折射率如何根據槽的寬度而變化的曲線圖。
圖6-6是示出根據一些非限制性實施例的用於製造NOEMS相位調變器的方法的示例的流程圖。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記)
無
1-100:光子處理系統
1-101:光學編碼器
1-103:光子處理器
1-105:光學接收器
1-107:控制
1-109:記憶體
1-111:處理器
Claims (30)
- 一種光子處理器,包含: 一第一互連可變分束器(VBS)陣列,該第一互連VBS陣列包含一第一複數個光學輸入與一第一複數個光學輸出; 一第二互連可變分束器(VBS)陣列,該第二互連VBS陣列包含第二複數個光學輸入與第二複數個光學輸出;以及 複數個可控制式光學元件,該複數個可控制式光學元件的每一個將該第一陣列的該第一複數個光學輸出中的單一個輸出,耦合至該第二陣列的該第二複數個光學輸入的各別單一個輸入。
- 如請求項1所述之光子處理器,其中該第一陣列與該第二陣列的該等VBS中的每一個VBS,包含一Mach-Zehnder干涉計,包含: 一第一分束器; 一第二分束器;以及 至少一個相位調變器,該至少一個相位調變器經配置以調變一光學模態的一光相位,該光學模態耦合該第一分束器與該第二分束器。
- 如請求項1所述之光子處理器,其中該等可控制式光學元件的每一個包含一可變衰減器與與至少一個相位調變器。
- 如請求項3所述之光子處理器,其中該等可控制式光學元件的該等可變衰減器的每一個,包含一Mach-Zehnder干涉計。
- 如請求項1所述之光子處理器,該光子處理器進一步包含至少一個折疊於該第一互連VBS陣列與該第二互連VBS陣列之間,其中該第一複數個光學輸出的每一個的一光學模態的一傳播方向,相反於該第二複數個輸入的一相應光學輸入的一光學模態的一傳播方向。
- 如請求項4所述之光子處理器,該光子處理器進一步包含複數個VBS行,其中該複數行的至少一子集包含該第一互連VBS陣列的該等VBS的至少一個以及該第二互連VBS陣列的該等VBS的至少一個,使得該第一互連VBS陣列的至少一部分交插於該第二互連VBS陣列的至少一部分。
- 一種光子處理系統,包含: 一光學編碼器,該光學編碼器經配置以將一輸入向量編碼入一第一複數個光學信號; 一光子處理器,該光子處理器經配置以: 接收該第一複數個光學信號,該第一複數個信號的每一個由該光子處理器的複數個輸入空間模態的一相應輸入空間模態接收; 對該第一複數個光學信號執行複數個運算,該複數個運算實施該輸入向量與一矩陣的一矩陣乘法;以及 輸出代表一輸出向量的一第二複數個光學信號,該第二複數個信號的每一個由該光子處理器的複數個輸出空間模態的一相應輸出空間模態發送;以及 一光學接收器,該光學接收器經配置以偵測該第二複數個光學信號,並輸出該光向量的一電子數位表示。
- 如請求項7所述之光子處理裝置,其中該光學接收器經配置以使用相敏偵測器偵測該第二複數個光學信號。
- 如請求項8所述之光子處理裝置,該光子處理裝置進一步包含一光源,該光源經配置以: 提供第一光至該光學編碼器,以用於編碼該第一複數個光學信號;以及 提供第二光至該光學接收器,以由該相敏偵測器作為一本地震盪器,其中: 該本地震盪器與該第一複數個光學信號的每一個相位相干;以及 從該光源至該光學接收器的該第一複數個光學信號的一第一路徑長度,基本上相同於從該光源至該光學接收器的該本地震盪器的一第二路徑長度。
- 如請求項7所述之光子處理裝置,其中該光學編碼器經配置以: 將該輸入向量的一向量分量的一絕對值,編碼入該第一複數個光學信號的一相應光學信號的一振幅;以及 將該輸入向量的該向量分量的一相位,編碼入該第一複數個光學信號的該相應光學信號的一相位。
- 如請求項7所述之光子處理裝置,其中該矩陣為一任意酉矩陣。
- 如請求項7所述之光子處理裝置,該光子處理裝置進一步包含: 複數個前端,其中該複數個前端的每一個相關聯於該光子處理器的該複數個輸入空間模態的一個輸入空間模態,其中該複數個前端的每一個包含: 複數個光學編碼器,該等光學編碼器的每一個經配置以將一輸入向量的一相應分量編碼入一光學信號,其中每一光學編碼器經配置以輸出具有一波長的一光學信號,該波長不同於由其他光學編碼器輸出的波長;以及 一輸入分波多工器(WDM),該輸入WDM經配置以接收來自該複數個光學編碼器的每一個、在一單獨空間模態中的該等光學信號的每一個,並在一單一空間模態中輸出該等光學信號的每一個,該單一空間模態連接至該光子處理器的該複數個輸入空間模態的一相應輸入空間模態;以及 複數個後端,其中該複數個後端的每一個相關聯於該光子處理器的複數個輸出空間模態的一個輸出空間模態,其中該複數個後端的每一個包含: 一輸出分波多工器(WDM),該輸出WDM經配置以接收來自該光子處理器的該複數個輸出空間模態中相應的一個的具有不同波長的光學信號,並在該WDM的複數個輸出空間模態的一相應空間模態中輸出具有不同波長的該等光學信號的每一個; 複數個光學接收器,該等光學接收器的每一個經配置以藉由偵測與該WDM的一相應輸出空間模態相關聯的一相應光學信號,來確定一輸出向量的一相應分量。
- 如請求項7所述之光子處理裝置,其中該光子處理器包含: 一第一互連可變分束器(VBS)陣列,該第一互連VBS陣列包含一第一複數個光學輸入與一第一複數個光學輸出,該第一複數個光學輸入對應於該第一複數個輸入空間模態; 一第二互連可變分束器(VBS)陣列,該第二互連VBS陣列包含第二複數個光學輸入與第二複數個光學輸出,該第二複數個光學輸出對應於該複數個輸出空間模態;以及 複數個可控制式光學元件,該複數個可控制式光學元件的每一個將該第一陣列的該第一複數個光學輸出中的單一個輸出,耦合至該第二陣列的該第二複數個光學輸入的各別單一個輸入。
- 如請求項13所述之光子處理裝置,該光子處理裝置進一步包含一控制器,該控制器經配置以: 執行該矩陣的一奇異值分解(SVD)以確定一第一、第二和第三SVD矩陣; 控制該第一複數個互連VBS以實施該第一SVD矩陣; 控制該第二複數個互連VBS以實施該第二SVD矩陣 控制該複數個可控制式光學元件以實施該第三SVD矩陣,其中該第三SVD矩陣為一對角矩陣。
- 如請求項14所述之光子處理裝置,其中該控制器進一步包含至少一個數位類比轉換器(DAC),以調整該第一複數個互連VBS與該第二複數個互連VBS的一個或更多個參數。
- 如請求項15所述之光子處理裝置,其中: 該第一複數個互連BVS的該等VBS的每一個,以及該第二複數個互連BVS的該等VBS的每一個,相關聯於一相應位址;以及 該至少一個DAC包含一單一DAC,該單一DAC使用該等位址控制該第一及/或第二複數個互連VBS的該等複數個VBS。
- 如請求項7所述之光子處理裝置,其中該矩陣是一第一矩陣,且該光子處理裝置進一步包括一控制器,該控制器經配置為控制該光子處理裝置,以藉由以下方式執行該第一矩陣與一第二矩陣的乘法: (a) 從該第二矩陣的每一行確定複數個輸入向量; (b) 從複數個輸入向量中選擇一輸入向量; (c)使用該光學編碼器將該所選擇的輸入向量編碼為該第一複數個光學信號; (d) 對與該第一輸入向量相關的該第一複數個光學信號執行該等複數個運算; (e) 偵測與該所選輸入向量相關的該第二複數個光學信號; (f) 基於該偵測到的第二複數個光學信號儲存數位偵測結果; (g) 對該複數個輸入向量的其他輸入向量重複動作(b) - (f); (h)數位組合該等數位偵測結果以確定由該第二矩陣乘以該第一矩陣得到的一結果矩陣。
- 如請求項7所述之光子處理裝置,其中該光學接收器包括一低通濾波器,該低通濾波器被配置為執行與該光子處理器的該複數個輸出空間模態的每一輸出空間模態相關聯的多個後續信號的一類比加總。
- 一種光學執行矩陣向量乘法的方法,該方法包括以下步驟: 接收一輸入向量的一數位表示; 使用一光學編碼器將該輸入向量編碼成一第一複數個光學信號; 使用一處理器執行一矩陣的一奇異值分解(SVD),以確定一第一、第二和第三SVD矩陣; 控制包括複數個可變分束器(VBS)的光子處理器,以光學地實施該第一、第二和第三SVD矩陣; 將該第一複數個光學信號傳播通過該光子處理器; 偵測從該光子處理器接收的一第二複數個光學信號;和 基於該偵測到的第二複數個光學信號確定一輸出向量,其中該輸出向量表示該矩陣向量乘法的一結果。
- 如請求項19所述之方法,其中該偵測該第二複數個光學信號,係使用相敏偵測器來執行。
- 如請求項20所述之方法,該方法進一步包含以下步驟: 從一光源提供第一光至該光學編碼器,以用於編碼該第一複數個光學信號; 從該光源提供第二光到該等相敏偵測器,其中該第二光被該等相敏偵測器用作一本地振盪器。
- 如請求項21所述之方法,其中: 該本地震盪器與該第一複數個光學信號的每一個相位相干;以及 從該光源至該等相敏偵測器的該第一複數個光學信號的一第一路徑長度,基本上相同於從該光源至該等相敏偵測器的該本地震盪器的一第二路徑長度。
- 如請求項19所述之方法,其中編碼該輸入向量包含: 將該輸入向量的一向量分量的一絕對值,編碼入該第一複數個光學信號的一相應光學信號的一振幅;以及 將該輸入向量的該向量分量的一相位,編碼入該第一複數個光學信號的該相應光學信號的一相位。
- 如請求項19所述之方法,其中該矩陣為一任意酉矩陣。
- 如請求項19所述之方法,還包括使用分波多工同時執行多個矩陣 - 向量乘法。
- 如請求項25所述之方法,其中: 該輸入向量是複數個輸入向量中的一個: 該方法進一步包括將該複數個輸入向量中的每一個,編碼成具有一特定波長的一第一複數個光學信號中的相應一個,其中與該第一複數個光學信號中的每一個相關聯的每個波長不同於該第一複數個光學信號中的其他個的其他波長。
- 如請求項19所述之方法,其中該光子處理器進一步包含: 一第一互連可變分束器(VBS)陣列,該第一互連VBS陣列包含一第一複數個光學輸入與一第一複數個光學輸出,該第一複數個光學輸入對應於該第一複數個輸入空間模態; 一第二互連可變分束器(VBS)陣列,該第二互連VBS陣列包含第二複數個光學輸入與第二複數個光學輸出,該第二複數個光學輸出對應於該複數個輸出空間模態;以及 複數個可控制式光學元件,該複數個可控制式光學元件的每一個將該第一陣列的該第一複數個光學輸出中的單一個輸出,耦合至該第二陣列的該第二複數個光學輸入的各別單一個輸入。
- 如請求項27所述之方法,其中: 該第一複數個互連VBS實施該第一SVD矩陣; 該第二複數個互連VBS實施該第二SVD矩陣 該複數個可控制式光學元件實施該第三SVD矩陣,其中該第三SVD矩陣為一對角矩陣。
- 如請求項27所述之方法,其中: 該第一複數個互連VBS的該等VBS的每一個,以及該第二複數個互連VBS的該等VBS的每一個,相關聯於一相應位址;以及 由使用該等位址控制複數個VBS的至少一個數位類比轉換器(DAC)控制該第一和/或第二複數個VBS的該等VBS。
- 如請求項7所述的方法,其中該矩陣向量乘法是被執行以執行矩陣 - 矩陣乘法的複數個矩陣向量乘法之一,其中該矩陣是一第一矩陣,並且該矩陣 - 矩陣乘法包括一第二矩陣乘以該第一矩陣,該方法還包括以下步驟: (a)從該第二矩陣的每一行確定複數個輸入向量; (b)從複數個輸入向量中選擇一輸入向量; (c)使用該光學編碼器將該所選擇的輸入向量編碼為該第一複數個光學信號; (d)對與該第一輸入向量相關的該第一複數個光學信號執行該等複數個運算; (e)偵測與該所選輸入向量相關的該第二複數個光學信號; (f)基於該偵測到的第二複數個光學信號儲存數位偵測結果; (g)對該複數個輸入向量的其他輸入向量重複動作(b) - (f); (h)數位組合該等數位偵測結果以確定由該第二矩陣乘以該第一矩陣得到的一結果矩陣。
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862671793P | 2018-05-15 | 2018-05-15 | |
US62/671,793 | 2018-05-15 | ||
US201862680557P | 2018-06-04 | 2018-06-04 | |
US62/680,557 | 2018-06-04 | ||
US201862689022P | 2018-06-22 | 2018-06-22 | |
US62/689,022 | 2018-06-22 | ||
US201862755402P | 2018-11-02 | 2018-11-02 | |
US62/755,402 | 2018-11-02 | ||
US201962792720P | 2019-01-15 | 2019-01-15 | |
US62/792,720 | 2019-01-15 | ||
US201962793327P | 2019-01-16 | 2019-01-16 | |
US62/793,327 | 2019-01-16 | ||
US201962834743P | 2019-04-16 | 2019-04-16 | |
US62/834,743 | 2019-04-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202020598A true TW202020598A (zh) | 2020-06-01 |
TWI818020B TWI818020B (zh) | 2023-10-11 |
Family
ID=68534517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108116591A TWI818020B (zh) | 2018-05-15 | 2019-05-14 | 光子處理系統及方法 |
Country Status (9)
Country | Link |
---|---|
US (4) | US10763974B2 (zh) |
EP (1) | EP3803265A4 (zh) |
JP (2) | JP7362727B2 (zh) |
KR (1) | KR20210020912A (zh) |
CN (2) | CN114912604A (zh) |
CA (1) | CA3100326A1 (zh) |
SG (1) | SG11202011352SA (zh) |
TW (1) | TWI818020B (zh) |
WO (1) | WO2019222185A1 (zh) |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9606803B2 (en) | 2013-07-15 | 2017-03-28 | Texas Instruments Incorporated | Highly integrated scalable, flexible DSP megamodule architecture |
CN110574051A (zh) * | 2017-05-31 | 2019-12-13 | 英特尔公司 | 计算高效的基于四元数的机器学习系统 |
US11113168B2 (en) * | 2018-03-09 | 2021-09-07 | Toyota Motor Engineering & Manufacturing North America, Inc. | Distributed architecture for fault monitoring |
CA3100326A1 (en) | 2018-05-15 | 2019-11-21 | Lightmatter, Inc. | Photonic processing systems and methods |
WO2019236250A1 (en) | 2018-06-04 | 2019-12-12 | Lightmatter, Inc. | Real-number photonic encoding |
US11507818B2 (en) | 2018-06-05 | 2022-11-22 | Lightelligence PTE. Ltd. | Optoelectronic computing systems |
TWI735886B (zh) | 2018-06-05 | 2021-08-11 | 美商光子智能股份有限公司 | 計算系統 |
CN112997459B (zh) * | 2018-11-05 | 2023-06-16 | 上海诺基亚贝尔股份有限公司 | Mimo-ofdm的papr降低 |
WO2020096913A1 (en) | 2018-11-08 | 2020-05-14 | Luminous Computing, Inc. | System and method for photonic computing |
US11734556B2 (en) * | 2019-01-14 | 2023-08-22 | Lightelligence PTE. Ltd. | Optoelectronic computing systems |
US11209856B2 (en) | 2019-02-25 | 2021-12-28 | Lightmatter, Inc. | Path-number-balanced universal photonic network |
JP7555944B2 (ja) | 2019-02-26 | 2024-09-25 | ライトマター インコーポレイテッド | ハイブリッドアナログ・デジタル行列プロセッサ |
EP3864535A4 (en) * | 2019-05-03 | 2022-08-03 | University of Central Florida Research Foundation, Inc. | PHOTONIC TENSOR ACCELERATORS FOR ARTIFICIAL NEURAL NETWORKS |
WO2020232546A1 (en) * | 2019-05-22 | 2020-11-26 | Xanadu Quantum Technologies Inc. | Apparatus and methods for gaussian boson sampling |
US11409991B2 (en) * | 2019-05-24 | 2022-08-09 | Google Llc | Regularizing the training of convolutional neural networks |
WO2020247243A1 (en) * | 2019-06-04 | 2020-12-10 | Delahoussaye Kevin | Neuroscience based learning-computing |
US11016315B2 (en) | 2019-07-11 | 2021-05-25 | Luminous Computing, Inc. | Photonic bandgap phase modulator, optical filter bank, photonic computing system, and methods of use |
EP4004673A4 (en) | 2019-07-29 | 2023-06-21 | Lightmatter, Inc. | ANALOG COMPUTING SYSTEMS AND METHODS USING A LINEAR PHOTONIC PROCESSOR |
US11407672B2 (en) * | 2019-10-03 | 2022-08-09 | Northrop Grumman Systems Corporation | Method for high fill-factor optical arrays manufacturing |
CN115023909A (zh) | 2019-11-22 | 2022-09-06 | 光物质公司 | 线性光子处理器和相关方法 |
US11454862B2 (en) * | 2019-12-18 | 2022-09-27 | Xanadu Quantum Technologies Inc. | Apparatus and methods for spatio-temporal implementation of arbitrary unitary transformations on optical modes |
CN111198593B (zh) * | 2019-12-31 | 2023-08-25 | 联合微电子中心有限责任公司 | 一种超线程光子计算结构 |
US12045080B1 (en) * | 2020-02-07 | 2024-07-23 | Luminous Computing, Inc. | Optical computing system and method of use |
CN111176053B (zh) * | 2020-02-19 | 2021-07-27 | 上海交通大学 | 基于铌酸锂-硅晶圆的单片集成光模数转换系统及制备方法 |
US11874582B2 (en) | 2020-02-19 | 2024-01-16 | Shanghai Jiao Tong University | Monolithically integrated optical analog-to-digital conversion system based on lithium niobate-silicon wafer and method for manufacturing the same |
CN113325808A (zh) * | 2020-02-28 | 2021-08-31 | 上海诺基亚贝尔股份有限公司 | 控制方法、设备、装置、系统以及计算机可读介质 |
US11211941B2 (en) * | 2020-03-14 | 2021-12-28 | Luminous Computing, Inc. | Digital-to-analog converter system and method of operation |
KR20230008142A (ko) * | 2020-04-27 | 2023-01-13 | 라이트매터, 인크. | 포토닉스 프로세서 아키텍쳐 |
WO2021068494A1 (zh) * | 2020-05-03 | 2021-04-15 | 浙江大学 | 基于平面互质阵列虚拟域张量空间谱搜索的高分辨精确二维波达方向估计方法 |
US11500410B1 (en) * | 2020-05-06 | 2022-11-15 | Luminous Computing, Inc. | System and method for parallel photonic computation |
US11490177B1 (en) * | 2020-06-05 | 2022-11-01 | Luminous Computing, Inc. | Optical link system and method for computation |
CN112232503B (zh) * | 2020-06-09 | 2021-11-19 | 联合微电子中心有限责任公司 | 计算装置、计算方法以及计算系统 |
US11428785B2 (en) * | 2020-06-12 | 2022-08-30 | Ours Technology, Llc | Lidar pixel with active polarization control |
CN111723337B (zh) * | 2020-06-16 | 2023-02-07 | 上海交通大学 | 用于神经网络训练的光子张量核集成电路架构及其神经网络训练方法 |
US11200929B1 (en) | 2020-06-18 | 2021-12-14 | Hewlett Packard Enterprise Development Lp | Time division multiplexing (TDM) based optical ternary content addressable memory (TCAM) |
US11057143B1 (en) | 2020-06-18 | 2021-07-06 | Hewlett Packard Enterprise Development Lp | Wavelength division multiplexing (WDM)-based and multipath interferometry based optical ternary content addressable memory (TCAM) |
KR20230034326A (ko) | 2020-06-29 | 2023-03-09 | 라이트매터, 인크. | 고속 예측 프로세서 |
DE112021003808T5 (de) * | 2020-07-15 | 2023-06-15 | Voyant Photonics, Inc. | Optisch phasengesteuerter Array-Antrieb |
EP4186005A4 (en) | 2020-07-24 | 2024-08-21 | Lightmatter Inc | SYSTEMS AND METHODS FOR USING PHOTONIC DEGREES OF FREEDOM IN A PHOTONIC PROCESSOR |
US11469764B2 (en) | 2020-08-28 | 2022-10-11 | Hewlett Packard Enterprise Development Lp | Optical comb source for content-addressable memory encoders |
CN112232487B (zh) * | 2020-10-19 | 2023-09-22 | 中国科学院半导体研究所 | 光学神经网络芯片及其计算方法 |
WO2022104223A1 (en) * | 2020-11-16 | 2022-05-19 | Lightmatter, Inc. | Parallelization and pipelining strategies for an efficient analog neural network accelerator |
US11509397B2 (en) * | 2020-12-17 | 2022-11-22 | Celestial Ai Inc. | Balanced photonic architectures for matrix computations |
CN117255967A (zh) * | 2020-12-17 | 2023-12-19 | 天体人工智能公司 | 用于矩阵计算的平衡光子架构 |
US11573416B2 (en) | 2020-12-22 | 2023-02-07 | Daegu Gyeongbuk Institute Of Science And Technology | Recirculating programmable photonic circuits and operating method thereof |
KR102655199B1 (ko) * | 2020-12-22 | 2024-04-08 | 재단법인대구경북과학기술원 | 재순환식 가변 광자 회로 및 그 동작 방법 |
CN112904270B (zh) * | 2021-01-15 | 2022-06-21 | 电子科技大学 | 一种阵列模型误差下基于拟合模型的波达方向估计方法 |
CN112881972B (zh) * | 2021-01-15 | 2022-06-21 | 电子科技大学 | 一种阵列模型误差下基于神经网络的波达方向估计方法 |
US20220269972A1 (en) * | 2021-02-19 | 2022-08-25 | Saumil Bandyopadhyay | Error Correction for Programmable Photonics |
WO2022192312A1 (en) * | 2021-03-12 | 2022-09-15 | Siemens Corporation | Method of producing and a photonic metasurface for performing computationally intensive mathematical computations |
CN112988113B (zh) * | 2021-04-29 | 2021-09-14 | 中国科学院西安光学精密机械研究所 | 一种光子矩阵向量乘法器 |
CN115407463B (zh) * | 2021-05-26 | 2024-08-06 | 索尔思光电股份有限公司 | 光学装置及其组装方法 |
AT525103B1 (de) * | 2021-05-28 | 2024-03-15 | Ait Austrian Inst Tech Gmbh | Optische Anordnung zur Emulation eines neuronalen Netzes |
WO2022256905A1 (en) * | 2021-06-11 | 2022-12-15 | Huawei Technologies Canada Co., Ltd. | System and method for optically performing computations using a photonic modulator |
CN113452449B (zh) * | 2021-07-08 | 2022-05-17 | 上海交通大学 | 对时域信号进行酉矩阵计算的光学装置 |
CN113761468B (zh) * | 2021-07-16 | 2024-10-01 | 深圳大学 | 一种基于数学分解理论的光学矩阵运算模块实现方法 |
CN113595647B (zh) * | 2021-07-21 | 2022-08-05 | 联合微电子中心有限责任公司 | 光子波束成形单元、发射系统和接收系统 |
CN114095317B (zh) * | 2021-08-25 | 2024-02-13 | 郑州大学 | 一种适用于高阶apsk调制的载波参数估计解耦合方法和系统 |
WO2023191849A2 (en) * | 2021-09-24 | 2023-10-05 | Arizona Board Of Regents On Behalf Of The University Of Arizona | Managing an optical probe beam for displacement sensing |
WO2023050305A1 (en) * | 2021-09-30 | 2023-04-06 | Shanghai Xizhi Technology Co., Ltd. | Integrated slot waveguide optical phase modulator |
CN113644984B (zh) * | 2021-10-14 | 2022-03-11 | 清华大学 | 光电数字逻辑运算的光学逻辑元件及其逻辑运算方法 |
US11907715B2 (en) * | 2021-12-20 | 2024-02-20 | International Business Machines Corporation | Hardware acceleration with preconditioners |
WO2023122369A1 (en) * | 2021-12-20 | 2023-06-29 | Massachusetts Institute Of Technology | Photonic and electronic hamiltonian machines |
GB2616425A (en) * | 2022-03-07 | 2023-09-13 | Optalysys Ltd | Optical chiplet |
GB2616428A (en) * | 2022-03-07 | 2023-09-13 | Optalysys Ltd | Optical encoders |
GB2616426B (en) * | 2022-03-07 | 2024-08-21 | Optalysys Ltd | Optical encoders |
CN116795171A (zh) * | 2022-03-15 | 2023-09-22 | 上海曦智科技有限公司 | 数据处理方法及系统 |
CN114706161B (zh) * | 2022-03-28 | 2023-07-18 | 上海科技大学 | 一种基于频率编码的片上集成光学矩阵矢量处理器 |
CN114815436B (zh) * | 2022-04-21 | 2023-05-19 | 电子科技大学 | 基于邻域采样主成分分析的光学相控阵阵元互耦补偿方法 |
CN114819089B (zh) * | 2022-04-28 | 2024-09-06 | 华中科技大学 | 一种基于模式复用的光子卷积加速器 |
CN114861734B (zh) * | 2022-05-26 | 2024-04-16 | 东南大学 | 一种基于光散射的矩阵运算立体结构单元 |
CN114840255B (zh) * | 2022-07-04 | 2022-09-27 | 飞腾信息技术有限公司 | 处理数据的方法、装置及设备可读存储介质 |
CN114861927B (zh) * | 2022-07-04 | 2022-11-15 | 深圳市永达电子信息股份有限公司 | 基于冯氏计算机布尔数字逻辑的数字量子态的操作方法 |
WO2024030556A1 (en) | 2022-08-04 | 2024-02-08 | Lightmatter, Inc. | Optical computing system with disaggregated memory |
WO2024102416A1 (en) * | 2022-11-10 | 2024-05-16 | Rain Neuromorphics Inc. | Error tolerant ai accelerators |
CN117896011B (zh) * | 2023-04-27 | 2024-09-24 | 光本位科技(苏州)有限公司 | 通过光子计算单元在光域中进行运算的方法 |
CN117055273B (zh) * | 2023-08-14 | 2024-06-18 | 希烽光电科技(南京)有限公司 | 基于卷积神经网络的光学相控阵初始相位校准系统和方法 |
CN117675029B (zh) * | 2024-01-31 | 2024-04-19 | 北京中科国光量子科技有限公司 | 一种用于光通信和量子密钥分发的不间断偏振补偿方法 |
CN117787369B (zh) * | 2024-02-27 | 2024-05-10 | 苏州元脑智能科技有限公司 | 光计算系统、复值检测方法及数据处理方法 |
Family Cites Families (171)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3872293A (en) * | 1972-01-07 | 1975-03-18 | Us Navy | Multi-dimensional fourier transform optical processor |
US4567569A (en) | 1982-12-15 | 1986-01-28 | Battelle Development Corporation | Optical systolic array processing |
US4739520A (en) * | 1983-09-14 | 1988-04-19 | The Ohio State University | Optical switching system |
GB2154772B (en) * | 1984-02-25 | 1987-04-15 | Standard Telephones Cables Ltd | Optical computation |
US4592004A (en) | 1984-05-21 | 1986-05-27 | The United States Of America As Represented By The Secretary Of The Navy | Electrooptical matrix multiplication using the twos complement arithmetic for improved accuracy |
US4607344A (en) * | 1984-09-27 | 1986-08-19 | The United States Of America As Represented By The Secretary Of The Navy | Triple matrix product optical processors using combined time-and-space integration |
US4686646A (en) * | 1985-05-01 | 1987-08-11 | Westinghouse Electric Corp. | Binary space-integrating acousto-optic processor for vector-matrix multiplication |
US4809204A (en) * | 1986-04-04 | 1989-02-28 | Gte Laboratories Incorporated | Optical digital matrix multiplication apparatus |
CA1290019C (en) | 1986-06-20 | 1991-10-01 | Hideo Kuwahara | Dual balanced optical signal receiver |
US4868803A (en) | 1987-04-20 | 1989-09-19 | Fuji Photo Film Co., Ltd. | Magneto-optic pickup head including tracking and focusing error correction |
US4849940A (en) * | 1987-12-10 | 1989-07-18 | The Washington Technology Center | Optical neural net memory |
US4877297A (en) * | 1988-04-29 | 1989-10-31 | Rockwell International Corporation | Reconfigurable 0ptical interconnect using dynamic hologram |
GB2220780B (en) | 1988-07-05 | 1992-12-23 | Mitsubishi Electric Corp | Neurocomputer |
US5004309A (en) | 1988-08-18 | 1991-04-02 | Teledyne Brown Engineering | Neural processor with holographic optical paths and nonlinear operating means |
US4948212A (en) * | 1988-08-22 | 1990-08-14 | California Institute Of Technology | Optical processing in III-V and II-VI compound semiconductors |
US5254957A (en) | 1989-01-04 | 1993-10-19 | Information Storage, Inc. | Apparatus and method for amplifying optically sensed signals |
US5117099A (en) | 1989-09-01 | 1992-05-26 | Schmidt Terrence C | Ambient light rejecting quad photodiode sensor |
US5077619A (en) | 1989-10-25 | 1991-12-31 | Tacan Corporation | High linearity optical transmitter |
AU6734390A (en) * | 1989-11-20 | 1991-06-13 | British Telecommunications Public Limited Company | Neural networks |
JPH03164816A (ja) | 1989-11-22 | 1991-07-16 | Mitsubishi Electric Corp | 情報処理装置 |
US5220644A (en) * | 1989-11-22 | 1993-06-15 | Hitachi, Ltd. | Optical neural network system |
JPH03204624A (ja) * | 1990-01-08 | 1991-09-06 | Sumitomo Cement Co Ltd | 光ニューラル演算装置 |
US5185715A (en) * | 1990-03-30 | 1993-02-09 | Hughes Aircraft Company | Data processing systems and methods for linear programming |
US5416616A (en) * | 1990-04-06 | 1995-05-16 | University Of Southern California | Incoherent/coherent readout of double angularly multiplexed volume holographic optical elements |
JP2762808B2 (ja) | 1991-01-09 | 1998-06-04 | 松下電器産業株式会社 | 空間光変調素子および投写型ディスプレイ装置 |
GB2267165A (en) * | 1992-05-11 | 1993-11-24 | Sharp Kk | Optical information processor |
GB2269296A (en) * | 1992-08-01 | 1994-02-02 | Northern Telecom Ltd | Telecommunications switch architecture |
US5288990A (en) | 1992-12-28 | 1994-02-22 | At&T Bell Laboratories | Differential self-electrooptic effect device |
US5495356A (en) * | 1993-04-30 | 1996-02-27 | Nec Research Institute, Inc. | Multidimensional switching networks |
US5333117A (en) * | 1993-10-04 | 1994-07-26 | Nec Research Institute, Inc. | Parallel MSD arithmetic using an opto-electronic shared content-addressable memory processor |
US5410145A (en) | 1994-02-25 | 1995-04-25 | Coroy; Trenton G. | Light detector using reverse biased photodiodes with dark current compensation |
WO1995024006A1 (de) * | 1994-03-02 | 1995-09-08 | Matthias Budil | Optischer vektormultiplizierer für neuronale netze |
US5640261A (en) * | 1994-08-18 | 1997-06-17 | Fuji Photo Film Co., Ltd. | Optical operation apparatus for finding an inner product of vectors using light |
US5699449A (en) | 1994-11-14 | 1997-12-16 | The University Of Connecticut | Method and apparatus for implementation of neural networks for face recognition |
US5621227A (en) | 1995-07-18 | 1997-04-15 | Discovery Semiconductors, Inc. | Method and apparatus for monolithic optoelectronic integrated circuit using selective epitaxy |
US5597068A (en) | 1995-08-25 | 1997-01-28 | Alpha Enterprises, Inc. | Compact disc security container |
JP3204624B2 (ja) | 1996-02-23 | 2001-09-04 | シチズン時計株式会社 | 半導体装置 |
JP2970844B2 (ja) | 1997-06-04 | 1999-11-02 | 日本電気株式会社 | 光受信器及びそれを用いた光ネットワークシステム |
US6005998A (en) | 1998-02-20 | 1999-12-21 | Lucent Technologies Inc. | Strictly non-blocking scalable matrix optical switch |
US6303923B1 (en) | 1998-12-18 | 2001-10-16 | California Institute Of Technology | Fabricating a hybrid imaging device having non-destructive sense nodes |
US6060710A (en) | 1998-12-21 | 2000-05-09 | The United States Of America As Represented By The Secretary Of The Army | Infrared Mueller matrix detection and ranging system |
US7515753B2 (en) | 1999-05-19 | 2009-04-07 | Lenslet Labs Ltd. | Phase extraction in optical processing |
WO2000072108A1 (en) * | 1999-05-19 | 2000-11-30 | Jtc 2000 Development (Delaware), Inc. | Optical separation processing |
US6178020B1 (en) * | 1999-09-30 | 2001-01-23 | Ut-Battelle, Llc | Modules and methods for all photonic computing |
WO2001091342A2 (en) * | 2000-05-24 | 2001-11-29 | Purdue Research Foundation | Method and system for polarization control and polarization mode dispersion compensation for wideband optical signals |
AU2001282416A1 (en) * | 2000-07-27 | 2002-02-13 | Civcom Devices & Systems Ltd. | Data processing using polarization-based optical switching and broadcasting |
US6594050B2 (en) * | 2001-01-03 | 2003-07-15 | Physical Optics Corporation | Optical communication switch node |
US6728434B2 (en) * | 2001-06-04 | 2004-04-27 | Axun Technologies, Inc. | MEMS dynamic optical spectral filter |
AU2002310348A1 (en) | 2001-06-11 | 2002-12-23 | Johns Hopkins University | Low-power, differential optical receiver in silicon on insulator |
DE10136515C2 (de) | 2001-07-26 | 2003-10-23 | Wacker Construction Equipment | Bohr- und/oder Schlaghammer mit Handgriff |
AUPR726901A0 (en) | 2001-08-24 | 2001-09-20 | Uniquest Limited | Quantum optical cnot gate |
IL145245A0 (en) * | 2001-09-03 | 2002-06-30 | Jtc 2000 Dev Delaware Inc | System and method including vector-matrix multiplication |
KR20050042243A (ko) | 2001-11-06 | 2005-05-06 | 더 존스 홉킨스 유니버시티 | 단일 양자들의 양자 상태들을 이용하는 논리 연산들을수행하기 위한 기술들 |
US7136587B1 (en) * | 2001-11-15 | 2006-11-14 | Meshnetworks, Inc. | System and method for providing simulated hardware-in-the-loop testing of wireless communications networks |
FR2832579A1 (fr) | 2001-11-19 | 2003-05-23 | St Microelectronics Sa | Dispositif de calibrage pour un etage d'entree video |
US6690853B1 (en) * | 2002-03-11 | 2004-02-10 | Pts Corporation | Tunable DWDM demultiplexer |
US7317574B2 (en) | 2002-05-20 | 2008-01-08 | Magiq Technologies, Inc. | Long-distance quantum communication |
DE50201169D1 (de) | 2002-06-24 | 2004-11-04 | Alcatel Sa | Vorrichtung für ein passives optisches Netzwerk |
WO2005029404A2 (en) | 2002-12-09 | 2005-03-31 | The Johns Hopkins University | Method and apparatus for single-photon source and quantum memory |
AU2003280152A1 (en) | 2002-12-12 | 2004-06-30 | Koninklijke Philips Electronics N.V. | Bit detector having partitioned photo detector |
US7279731B1 (en) | 2006-05-15 | 2007-10-09 | Udt Sensors, Inc. | Edge illuminated photodiodes |
US7366416B2 (en) | 2003-08-11 | 2008-04-29 | General Instrument Corporation | Hub for a passive optical network hub |
US7271461B2 (en) * | 2004-02-27 | 2007-09-18 | Banpil Photonics | Stackable optoelectronics chip-to-chip interconnects and method of manufacturing |
US7133173B2 (en) | 2004-07-26 | 2006-11-07 | Hewlett-Packard Development Company, L.P. | Nonlinear electromagnetic quantum information processing |
JP4927548B2 (ja) | 2004-08-04 | 2012-05-09 | 古河電気工業株式会社 | 光回路装置 |
US7660533B1 (en) | 2004-08-04 | 2010-02-09 | The United States Of America As Represented By The Secretary Of The Army | Quantum Fourier transform based information transmission system and method |
CN1243262C (zh) * | 2004-09-09 | 2006-02-22 | 上海交通大学 | 可调谐波长选择/锁定光密集波分复用合波/分波器 |
US7230227B2 (en) | 2004-10-08 | 2007-06-12 | The Boeing Company | Lenslet/detector array assembly for high data rate optical communications |
WO2007086888A2 (en) | 2005-03-04 | 2007-08-02 | Cornell Research Foundation, Inc. | Electro-optic modulation |
US8560282B2 (en) | 2005-07-11 | 2013-10-15 | D-Wave Systems Inc. | Quantum processor-based systems, methods and apparatus for solving problems as logic circuits |
US7843572B2 (en) | 2005-09-29 | 2010-11-30 | The General Hospital Corporation | Method and apparatus for optical imaging via spectral encoding |
JP5053282B2 (ja) | 2005-10-13 | 2012-10-17 | ナショナル・アイシーティ・オーストラリア・リミテッド | サンプリングされた光信号の監視のための方法および装置 |
US8023828B2 (en) | 2005-10-17 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Quantum information conversion between matter and light representations |
US7774675B1 (en) * | 2005-12-05 | 2010-08-10 | Marvell International Ltd. | LDPC codes and expansion method |
JP4883273B2 (ja) * | 2006-01-11 | 2012-02-22 | 日本電気株式会社 | 乱数品質管理装置および管理方法 |
KR101309677B1 (ko) | 2006-01-27 | 2013-09-17 | 디-웨이브 시스템즈, 인코포레이티드 | 단열 양자 연산 방법 |
US20080002993A1 (en) | 2006-06-30 | 2008-01-03 | Kirkpatrick Peter E | Optical receiver with dual photodetector for common mode noise suppression |
KR100890389B1 (ko) | 2006-12-05 | 2009-03-26 | 한국전자통신연구원 | 편광 무의존 단방향 양자 암호 수신 및 송수신 장치 |
JP5313912B2 (ja) | 2006-12-05 | 2013-10-09 | ディー−ウェイブ システムズ,インコーポレイテッド | 量子プロセッサ要素の局所的プログラミングのためのシステム、方法、および装置 |
US8548334B2 (en) | 2006-12-06 | 2013-10-01 | Mohammad Mazed | Dynamic intelligent bidirectional optical access communication system with object/intelligent appliance-to-object/intelligent appliance interaction |
US7985965B2 (en) | 2007-03-29 | 2011-07-26 | Raytheon Company | Quantum computing device and method including qubit arrays of entangled states using negative refractive index lenses |
US7843209B2 (en) | 2007-04-25 | 2010-11-30 | D-Wave Systems Inc. | Architecture for local programming of quantum processor elements using latching qubits |
US7539375B2 (en) | 2007-05-04 | 2009-05-26 | Massachusetts Institute Of Technology | Optical coupled resonator structures based on loop-coupled cavities and loop coupling phase |
EP2176727A1 (en) * | 2007-07-09 | 2010-04-21 | BAE Systems PLC | Improvements relating to optical vector matrix multipliers |
US8027587B1 (en) * | 2007-08-21 | 2011-09-27 | Sandia Corporation | Integrated optic vector-matrix multiplier |
EP2209038B1 (en) * | 2007-10-10 | 2014-06-25 | NEC Corporation | Optical modulator and optical communication system |
JP5339088B2 (ja) | 2007-11-30 | 2013-11-13 | 日本電気株式会社 | 光受信回路および信号処理方法 |
US8190553B2 (en) | 2007-12-20 | 2012-05-29 | Routt Thomas J | Methods and systems for quantum search, computation and memory |
JP2009194138A (ja) | 2008-02-14 | 2009-08-27 | Nec Corp | 半導体レーザ駆動装置、方法、光モジュールおよび光送信装置 |
JP5091717B2 (ja) | 2008-02-21 | 2012-12-05 | 株式会社東芝 | 量子計算方法および量子計算機 |
JP4972602B2 (ja) | 2008-04-10 | 2012-07-11 | 株式会社日立製作所 | 光信号検出回路及びそれを用いた情報再生装置 |
CN101630178B (zh) | 2008-07-16 | 2011-11-16 | 中国科学院半导体研究所 | 一种硅基集成化的光学向量-矩阵乘法器 |
US8224139B2 (en) * | 2008-08-21 | 2012-07-17 | Infinera Corporation | Tunable optical filter |
JP5272686B2 (ja) | 2008-11-28 | 2013-08-28 | 富士通株式会社 | 光受信器、光受信回路および光受信方法 |
FR2940432B1 (fr) | 2008-12-23 | 2011-01-21 | H2I Technologies | Dispositif pour quantifier et localiser un signal lumineux module a une frequence predeterminee |
JP4786727B2 (ja) | 2009-03-27 | 2011-10-05 | 株式会社東芝 | 量子計算方法、量子計算機およびプログラム |
US8620855B2 (en) | 2009-04-17 | 2013-12-31 | Microsoft Corporation | Use of topological charge measurements to change between different qubit encodings |
US8705900B2 (en) | 2010-03-19 | 2014-04-22 | Nippon Telegraph And Telephone Corporation | Optical modulator |
US8026837B1 (en) * | 2010-04-22 | 2011-09-27 | The Aerospace Corporation | Systems and methods for converting wideband signals in the optical domain |
JP5799531B2 (ja) | 2010-04-30 | 2015-10-28 | ソニー株式会社 | A/d変換器、a/d変換方法、固体撮像素子およびカメラシステム |
US8247780B2 (en) | 2010-11-10 | 2012-08-21 | Siemens Aktiengesellschaft | High density, proportional-mode, APD arrays for individual scintillator readout in PET applications |
US9002160B2 (en) | 2011-07-28 | 2015-04-07 | Jds Uniphase Corporation | Optical switch having a multirow waveguide array |
US8837544B2 (en) | 2011-10-28 | 2014-09-16 | Hewlett-Packard Development Company, L.P. | Quantum optical device |
US8693895B2 (en) | 2011-11-11 | 2014-04-08 | Wuhan Research Institute Of Posts And Telecommunications | Signal transmission and reception device and method |
US9494740B2 (en) | 2012-01-31 | 2016-11-15 | Hewlett Packard Enterprise Development Lp | Optical architecture with riser cards a matrix and optic cables to carry outbound signals of the matrix to the riser cards |
US9014568B2 (en) | 2012-02-16 | 2015-04-21 | Nec Laboratories America, Inc. | Next generation optical access network with centralized digital OLT |
US9712235B2 (en) * | 2012-02-28 | 2017-07-18 | Spatial Digital Systems, Inc. | Resource allocation in PON networks via wave-front multiplexing and de-multiplexing |
US9485048B2 (en) * | 2012-06-08 | 2016-11-01 | The Royal Institution For The Advancement Of Learning/Mcgill University | Methods and devices for space-time multi-plane optical networks |
US8625936B1 (en) | 2012-06-29 | 2014-01-07 | Alcatel Lucent | Advanced modulation formats using optical modulators |
US10033477B2 (en) * | 2012-07-27 | 2018-07-24 | Hewlett Packard Enterprise Development Lp | Spatial multiplexing for optical transmission |
CN102866876B (zh) * | 2012-08-22 | 2015-03-04 | 清华大学 | 一种单片集成的光学矩阵-向量乘法器 |
US10534189B2 (en) | 2012-11-27 | 2020-01-14 | The Board Of Trustees Of The Leland Stanford Junior University | Universal linear components |
US20140199065A1 (en) * | 2013-01-15 | 2014-07-17 | Hewlett-Packard Development Company, L.P. | Multimode multiplexing |
FR3002654A1 (fr) | 2013-02-26 | 2014-08-29 | St Microelectronics Sa | Modulateur optique avec correction de polarisation automatique |
JP6011719B2 (ja) | 2013-04-24 | 2016-10-19 | 日本電気株式会社 | 偏波分離器、及び光デバイス |
US9633715B2 (en) | 2013-05-31 | 2017-04-25 | Hitachi, Ltd. | Semiconductor device capable of attaining ground state in an ising model |
WO2015006494A1 (en) | 2013-07-09 | 2015-01-15 | Board Of Trustees Of The Leland Stanford Junior University | Computation using a network of optical parametric oscillators |
GB201402736D0 (en) * | 2013-07-26 | 2014-04-02 | Isis Innovation | Method of training a neural network |
CN103473213A (zh) * | 2013-09-12 | 2013-12-25 | 中国科学院半导体研究所 | 用于光学向量-矩阵乘法器并行信息加载和提取的系统 |
CN105531946B (zh) | 2013-12-23 | 2018-01-19 | 华为技术有限公司 | 一种光差分信号的发送和接收方法、装置和系统 |
WO2015124954A2 (en) * | 2014-02-24 | 2015-08-27 | Rockley Photonics Limited | Detector remodulator and optoelectronic switch |
JP2015169847A (ja) | 2014-03-07 | 2015-09-28 | 国立大学法人徳島大学 | 位相感応型光増幅器及び励起光位相同期回路 |
US9354039B2 (en) * | 2014-06-06 | 2016-05-31 | Massachusetts Institute Of Technology | Methods, systems, and apparatus for programmable quantum photonic processing |
US9239264B1 (en) * | 2014-09-18 | 2016-01-19 | Joseph R. Demers | Transceiver method and apparatus having phase modulation and common mode phase drift rejection |
EP3202056B1 (en) * | 2014-10-02 | 2019-06-19 | B.G. Negev Technologies & Applications Ltd., at Ben-Gurion University | All-optical silicon-photonic constellation conversion of amplitude-phase modulation formats |
US9544062B2 (en) | 2014-12-22 | 2017-01-10 | Opel Solar, Inc. | Coherent optical receiver |
US10009135B2 (en) * | 2015-02-06 | 2018-06-26 | The Trustees Of Princeton University | System and method for photonic processing |
US9753224B2 (en) * | 2015-03-25 | 2017-09-05 | The Board Of Trustees Of The Leland Stanford Junior University | Field-programmable optical component |
WO2016191679A1 (en) * | 2015-05-28 | 2016-12-01 | Massachusetts Institute Of Technology | Apparatus and methods for quantum key distribution |
US9941957B2 (en) * | 2016-01-07 | 2018-04-10 | Luxtera, Inc. | Method and system for connectionless integrated optical receiver and transmitter test |
CN105681787B (zh) * | 2016-01-22 | 2019-01-18 | 北京大学 | 对时空信号进行编码的方法和装置 |
GB2551685B (en) * | 2016-02-16 | 2019-12-11 | Toshiba Kk | An optical device, a transmitter for a quantum communication system and a quantum communication system |
US10126572B2 (en) | 2016-03-31 | 2018-11-13 | Huawei Technologies Co., Ltd. | Automatic endless polarization controller for a silicon-on-insulator platform |
EP4057185A1 (en) * | 2016-06-02 | 2022-09-14 | Massachusetts Institute of Technology | Apparatus and methods for optical neural network |
US10148360B2 (en) * | 2016-06-17 | 2018-12-04 | Nxgen Partners Ip, Llc | System and method for communication using prolate spheroidal wave functions |
US10326526B2 (en) * | 2016-09-08 | 2019-06-18 | Nxgen Partners Ip, Llc | Method for muxing orthogonal modes using modal correlation matrices |
US10367590B2 (en) | 2016-09-22 | 2019-07-30 | Hewlett Packard Enterprise Development Lp | Concurrently performing attribute-dependent operations on optical signals |
WO2018071866A1 (en) * | 2016-10-13 | 2018-04-19 | Fathom Computing | Wavelength multiplexed matrix-matrix multiplier |
WO2018098230A1 (en) | 2016-11-22 | 2018-05-31 | Massachusetts Institute Of Technology | Systems and methods for training neural networks |
US10095262B2 (en) * | 2016-12-12 | 2018-10-09 | The Aerospace Corporation | Systems and methods for performing linear algebra operations using multi-mode optics |
US10382139B2 (en) * | 2016-12-21 | 2019-08-13 | Ceragon Networks Ltd. | Polarization pre-coding for a single carrier communication system |
JP6970513B2 (ja) | 2017-02-17 | 2021-11-24 | キヤノン株式会社 | 光電変換装置 |
US11290150B2 (en) * | 2017-05-03 | 2022-03-29 | Assia Spe, Llc | Systems and methods for implementing high-speed waveguide transmission over wires |
US10634851B2 (en) | 2017-05-17 | 2020-04-28 | Massachusetts Institute Of Technology | Apparatus, systems, and methods for nonblocking optical switching |
WO2019014345A1 (en) * | 2017-07-11 | 2019-01-17 | Massachusetts Institute Of Technology | OPTICAL ISING MACHINES AND OPTICAL CONVOLUTIVE NEURAL NETWORKS |
US10197971B1 (en) * | 2017-08-02 | 2019-02-05 | International Business Machines Corporation | Integrated optical circuit for holographic information processing |
US10757450B2 (en) | 2017-10-05 | 2020-08-25 | Cable Television Laboratories, Inc | System and methods for data compression and nonuniform quantizers |
EP3725068B1 (en) | 2017-12-11 | 2021-07-14 | Prophesee | Event-based image sensor and operating method thereof |
US10236952B1 (en) * | 2018-01-17 | 2019-03-19 | B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Energy-efficient power and offset allocation of spatial multiplexing in multimode fiber |
US11373089B2 (en) * | 2018-02-06 | 2022-06-28 | Massachusetts Institute Of Technology | Serialized electro-optic neural network using optical weights encoding |
US11922136B2 (en) * | 2018-02-23 | 2024-03-05 | The George Washington University | Residue arithmetic nanophotonic system |
US10345519B1 (en) * | 2018-04-11 | 2019-07-09 | Microsoft Technology Licensing, Llc | Integrated optical beam steering system |
US11494461B2 (en) * | 2018-04-17 | 2022-11-08 | The Trustees Of The University Of Pennsylvania | Metastructures for solving equations with waves |
US10670860B2 (en) * | 2018-04-30 | 2020-06-02 | The Trustees Of Princeton University | Photonic filter bank system and method of use |
WO2019217835A1 (en) | 2018-05-10 | 2019-11-14 | The Board Of Trustees Of The Leland Stanford Junior University | Training of photonic neural networks through in situ backpropagation |
CA3100326A1 (en) * | 2018-05-15 | 2019-11-21 | Lightmatter, Inc. | Photonic processing systems and methods |
TW202005312A (zh) * | 2018-05-15 | 2020-01-16 | 美商萊特美特股份有限公司 | 用於訓練基於矩陣的可微分程式的系統及方法 |
WO2019236251A1 (en) * | 2018-06-04 | 2019-12-12 | Lightmatter, Inc. | Convolutional layers for neural networks using programmable nanophotonics |
WO2019236250A1 (en) * | 2018-06-04 | 2019-12-12 | Lightmatter, Inc. | Real-number photonic encoding |
US11507818B2 (en) * | 2018-06-05 | 2022-11-22 | Lightelligence PTE. Ltd. | Optoelectronic computing systems |
US10461967B1 (en) | 2018-06-22 | 2019-10-29 | Elenion Technologies, Llc | Optical domain equalization for coherent optical receivers |
US11628902B2 (en) | 2018-08-01 | 2023-04-18 | Huffy Corporation | Tool-less steering wheel assembly |
WO2020096913A1 (en) * | 2018-11-08 | 2020-05-14 | Luminous Computing, Inc. | System and method for photonic computing |
WO2020102204A1 (en) * | 2018-11-12 | 2020-05-22 | Massachusetts Institute Of Technology | Large-scale artificial neural-network accelerators based on coherent detection and optical data fan-out |
US11073658B2 (en) * | 2018-12-28 | 2021-07-27 | Universitat Politècnica De València | Photonic chip, field programmable photonic array and programmable circuit |
US11196395B2 (en) | 2019-01-16 | 2021-12-07 | Lightmatter, Inc. | Optical differential low-noise receivers and related methods |
US11551056B2 (en) * | 2019-01-29 | 2023-01-10 | Hewlett Packard Enterprise Development Lp | Staged neural networks for solving NP hard/complete problems |
JP7555944B2 (ja) * | 2019-02-26 | 2024-09-25 | ライトマター インコーポレイテッド | ハイブリッドアナログ・デジタル行列プロセッサ |
EP4004673A4 (en) | 2019-07-29 | 2023-06-21 | Lightmatter, Inc. | ANALOG COMPUTING SYSTEMS AND METHODS USING A LINEAR PHOTONIC PROCESSOR |
US20220261645A1 (en) * | 2021-02-16 | 2022-08-18 | Lightmatter, Inc. | The accuracy of low-bitwidth neural networks by regularizing the higher-order moments of weights and hidden states |
IL291772A (en) * | 2021-03-31 | 2022-10-01 | Cognifiber Ltd | Ultra wideband optical data processor |
-
2019
- 2019-05-14 CA CA3100326A patent/CA3100326A1/en active Pending
- 2019-05-14 JP JP2021514294A patent/JP7362727B2/ja active Active
- 2019-05-14 CN CN202210604723.7A patent/CN114912604A/zh active Pending
- 2019-05-14 SG SG11202011352SA patent/SG11202011352SA/en unknown
- 2019-05-14 WO PCT/US2019/032181 patent/WO2019222185A1/en unknown
- 2019-05-14 EP EP19803490.2A patent/EP3803265A4/en active Pending
- 2019-05-14 CN CN201980046744.8A patent/CN112384748B/zh active Active
- 2019-05-14 TW TW108116591A patent/TWI818020B/zh active
- 2019-05-14 KR KR1020207036125A patent/KR20210020912A/ko not_active Application Discontinuation
- 2019-05-14 US US16/412,098 patent/US10763974B2/en active Active
-
2020
- 2020-08-06 US US16/986,655 patent/US11218227B2/en active Active
-
2021
- 2021-12-01 US US17/539,377 patent/US11626931B2/en active Active
-
2023
- 2023-01-27 US US18/102,395 patent/US12113581B2/en active Active
- 2023-10-04 JP JP2023172693A patent/JP2024001148A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3803265A4 (en) | 2022-01-26 |
US20200396007A1 (en) | 2020-12-17 |
US20220094443A1 (en) | 2022-03-24 |
CN112384748A (zh) | 2021-02-19 |
CN114912604A (zh) | 2022-08-16 |
TWI818020B (zh) | 2023-10-11 |
US11218227B2 (en) | 2022-01-04 |
US12113581B2 (en) | 2024-10-08 |
EP3803265A1 (en) | 2021-04-14 |
WO2019222185A1 (en) | 2019-11-21 |
JP2021523508A (ja) | 2021-09-02 |
JP7362727B2 (ja) | 2023-10-17 |
SG11202011352SA (en) | 2020-12-30 |
US10763974B2 (en) | 2020-09-01 |
KR20210020912A (ko) | 2021-02-24 |
US11626931B2 (en) | 2023-04-11 |
JP2024001148A (ja) | 2024-01-09 |
CN112384748B (zh) | 2022-06-17 |
CA3100326A1 (en) | 2019-11-21 |
TW202403491A (zh) | 2024-01-16 |
US20190356394A1 (en) | 2019-11-21 |
US20230412279A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI818020B (zh) | 光子處理系統及方法 | |
TW202013265A (zh) | 使用可編程奈米光子器件計算旋積的方法 | |
US11475367B2 (en) | Systems and methods for training matrix-based differentiable programs | |
TWI831932B (zh) | 混合類比-數位處理器及該處理器中執行的方法 | |
US10608663B2 (en) | Real-number photonic encoding | |
US11936434B2 (en) | Systems and methods for analog computing using a linear photonic processor | |
CN113496281A (zh) | 光电计算系统 | |
TW202029067A (zh) | 計算系統、計算裝置及計算系統的操作方法 | |
TWI852756B (zh) | 光子處理系統及方法 | |
Li et al. | New advancements, challenges and opportunities of nanophotonics for neuromorphic computing: A state-of-the-art review | |
Li et al. | Photonics for Neuromorphic Computing: Fundamentals, Devices, and Opportunities | |
Yi et al. | Accelerating Convolutional Processing by Harnessing Channel Shifts in Arrayed Waveguide Gratings | |
Peng et al. | Photonic KAN: a Kolmogorov-Arnold network inspired efficient photonic neuromorphic architecture |