KR102589616B1 - 광전자 컴퓨팅 시스템 - Google Patents

광전자 컴퓨팅 시스템 Download PDF

Info

Publication number
KR102589616B1
KR102589616B1 KR1020217000190A KR20217000190A KR102589616B1 KR 102589616 B1 KR102589616 B1 KR 102589616B1 KR 1020217000190 A KR1020217000190 A KR 1020217000190A KR 20217000190 A KR20217000190 A KR 20217000190A KR 102589616 B1 KR102589616 B1 KR 102589616B1
Authority
KR
South Korea
Prior art keywords
optical
unit
input
output
vector
Prior art date
Application number
KR1020217000190A
Other languages
English (en)
Other versions
KR20210052430A (ko
Inventor
이첸 셴
리 징
루멘 단고프스키
펭 시에
후아이유 멩
매튜 코우리
쳉-쿠안 루
로날드 개그넌
모리스 스타인맨
지안후아 우
아라쉬 호세인자데
Original Assignee
라이트엘리전스 피티이. 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라이트엘리전스 피티이. 리미티드 filed Critical 라이트엘리전스 피티이. 리미티드
Publication of KR20210052430A publication Critical patent/KR20210052430A/ko
Application granted granted Critical
Publication of KR102589616B1 publication Critical patent/KR102589616B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL 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/00Devices 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
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL 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/00Devices 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/01Devices 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/21Devices 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/225Devices 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 in an optical waveguide structure
    • GPHYSICS
    • G02OPTICS
    • G02FOPTICAL 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
    • G02F3/00Optical logic elements; Optical bistable devices
    • G02F3/02Optical bistable devices
    • G02F3/024Optical bistable devices based on non-linear elements, e.g. non-linear Fabry-Perot cavity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E1/00Devices for processing exclusively digital data
    • G06E1/02Devices for processing exclusively digital data operating upon the order or content of the data handled
    • G06E1/04Devices for processing exclusively digital data operating upon the order or content of the data handled for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06E1/045Matrix or vector computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E3/00Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
    • G06E3/001Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements
    • G06E3/005Analogue devices in which mathematical operations are carried out with the aid of optical or electro-optical elements using electro-optical or opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E3/00Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
    • G06E3/006Interconnection networks, e.g. for shuffling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06EOPTICAL COMPUTING DEVICES; COMPUTING DEVICES USING OTHER RADIATIONS WITH SIMILAR PROPERTIES
    • G06E3/00Devices not provided for in group G06E1/00, e.g. for processing analogue or hybrid data
    • G06E3/008Matrix or vector computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Nonlinear Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Optics & Photonics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Neurology (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
  • Optical Communication System (AREA)

Abstract

시스템 및 방법은 입력 정보를 전자 형식으로 제공하는 단계; 전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계; 광학 행렬 승산에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계; 광학 출력 벡터를 전자 형식으로 전환하는 단계; 및 비선형 변환을 전자적으로 전환된 광학 출력 벡터에 전자적으로 적용하여 전자 형식으로 출력 정보를 제공하는 단계를 포함한다. 일부 예에서, 다수의 입력 값의 세트는 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩된다. 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트는 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할한다. 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈은 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산한다. 2개 이상의 승산 모듈 결과에 대해 합산 모듈은 2개 이상의 승산 모듈 결과의 합을 나타내는 전기 신호를 생성한다.

Description

광전자 컴퓨팅 시스템
관련 출원에 대한 상호 참조
본 출원은 2018년 6월 5일에 출원된 미국 가출원 62/680,944, 2018년 10월 12일에 출원된 미국 가출원 62/744,706, 2019년 1월 14일에 출원된 미국 가출원 62/792,144 및 2019년 3월 19일에 출원된 미국 가출원 62/820,562에 대한 우선권을 주장한다. 상기 출원의 전체 개시내용은 본 명세서에 참조로 포함된다.
기술 분야
본 개시내용은 광전자 컴퓨팅 시스템에 관한 것이다.
뉴로모픽 컴퓨팅은 전자 도메인에서 뇌의 연산을 근사화하는 접근법이다. 뉴로모픽 컴퓨팅에 대한 눈에 띄는 접근법은 인공 신경망(ANN)으로, 이는 뇌가 기능하는 방식과 유사한 방식으로 정보를 처리하기 위해 특정 방식으로 상호연결된 인공 뉴런의 모음이다. ANN은 인공 지능, 음성 인식, 텍스트 인식, 자연어 처리 및 다양한 형태의 패턴 인식을 포함한 광범위한 응용에서 사용된다.
ANN은 입력 층, 하나 이상의 은닉 층 및 출력 층을 갖는다. 각 층에는 노드 또는 인공 뉴런이 있으며 노드는 층들 사이에 상호연결된다. 은닉 층의 각 노드는 이전 층의 노드로부터 수신된 신호의 가중 합산을 수행하고 가중 합산의 비선형 변환("활성화")을 수행하여 출력을 생성한다. 가중 합산은 행렬 승산 단계를 수행하여 계산할 수 있다. 이와 같이, ANN 계산은 일반적으로 전자 집적 회로를 사용하여 수행되는 다수의 행렬 승산 단계를 수반한다.
전기 신호(예를 들어, 전압 또는 전류) 상에 아날로그 또는 디지털 형식으로 인코딩된 전자 데이터에 대해 수행되는 계산은 일반적으로 집적 회로(예를 들어, 프로세서, 주문형 집적 회로(ASIC) 또는 시스템 온 칩(SoC)), 전자 회로 기판 또는 기타 전자 회로에 구현된 아날로그 또는 디지털 전자장치 같은 전자 컴퓨팅 하드웨어를 사용하여 구현된다. 광학 신호는 데이터를 장거리 및 단거리(예를 들어, 데이터 센터 내에서)에 걸쳐 전달하는 데 사용되어 왔다. 이러한 광학 신호에 대해 수행되는 연산은 예컨대, 네트워크에서 광학 신호를 스위칭하거나 필터링하는 데 사용되는 디바이스 내에서 광학 데이터 전달에 관련하여 종종 발생한다. 컴퓨팅 플랫폼에서의 광학 신호의 사용은 더욱 제한적이다. 전광 컴퓨팅(all-optical computing)을 위한 다양한 컴포넌트와 시스템이 제안되었다. 이러한 시스템은 입력 및 출력 각각에서 전기 신호로부터 및 전기 신호로부터의 변환을 포함할 수 있지만 계산에서 수행되는 중요한 연산에 대해서는 2가지 유형의 신호(전기 및 광학)를 모두 사용하지 않을 수 있다.
일반적으로, 제1 양태에서 시스템은 데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛; 복수의 변조기 제어 신호를 생성하고 복수의 가중치 제어 신호를 생성하도록 구성된 디지털-아날로그 변환기(DAC) 유닛; 광학 프로세서- 광학 프로세서는 복수의 광 출력을 생성하도록 구성된 레이저 유닛; 레이저 유닛 및 DAC 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기; 복수의 광학 변조기 및 DAC 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및 광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함함 -; 광 검출 유닛에 결합되고 복수의 출력 전압을 복수의 디지털화된 광학 출력으로 전환하도록 구성된 아날로그-디지털 변환(ADC) 유닛; 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는 컴퓨터로부터 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 동작; 및 DAC 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 동작을 포함하는 동작을 수행하도록 구성된다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 동작은 ADC 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함할 수 있다.
시스템은 메모리 유닛에 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계와 메모리 유닛에 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 가질 수 있다. 제1 루프 기간은 1ns 이하일 수 있다.
일부 구현에서, 동작은 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함할 수 있다.
일부 구현에서, 동작은 DAC 유닛을 통해, 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함할 수 있다.
일부 구현에서, 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함할 수 있고, 동작은 제1 복수의 디지털화된 광학 출력의 획득에 기초하여, DAC 유닛을 통해, 제2 복수의 신경망 가중치에 기초하여 제2 복수의 가중치 제어 신호를 생성하는 동작을 더 포함할 수 있다. 제1 및 제2 복수의 신경망 가중치는 인공 신경망의 상이한 층에 대응할 수 있다.
일부 구현에서, 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함할 수 있고, 동작은 DAC 유닛을 통해, 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작; ADC 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제2 복수의 디지털화된 광학 출력을 획득하는 동작- 제2 복수의 디지털화된 광학 출력은 제2 디지털 출력 벡터를 형성함 -; 제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작; 및 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함할 수 있다. 광학 행렬 승산 유닛의 광학 출력 벡터는 최초에 언급한 복수의 가중치 제어 신호에 기초하여 광학 행렬 승산 유닛에 의해 변환된 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성된다.
일부 구현에서, 시스템은 광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함할 수 있고, 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 ADC 유닛에 출력하도록 구성되며, 동작은 ADC 유닛으로부터, 복수의 변환된 출력 전압에 대응하는 제1 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제1 복수의 변환된 디지털화된 출력 전압은 제1 변환된 디지털 출력 벡터를 형성함 -; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함한다.
일부 구현에서, 제어기의 집적 회로는 8GHz 이상의 속도로 제1 복수의 변조기 제어 신호를 생성하도록 구성될 수 있다.
일부 구현에서, 시스템은 DAC 유닛과 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 아날로그 메모리 유닛은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성됨 -; 및 광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛- 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 출력하도록 구성됨 -을 더 포함할 수 있다. 아날로그 메모리 유닛은 복수의 커패시터를 포함할 수 있다.
일부 구현에서, 아날로그 메모리 유닛은 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 수신 및 저장하고, 저장된 복수의 변환된 출력 전압을 복수의 광학 변조기에 출력하도록 구성될 수 있으며, 동작은 제1 복수의 변조기 제어 신호 및 제1 복수의 가중치 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 아날로그 메모리 유닛에 저장하는 동작; 아날로그 메모리 유닛을 통해 저장된 변환된 출력 전압을 출력하는 동작; ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제2 복수의 변환된 디지털화된 출력 전압은 제2 변환된 디지털 출력 벡터를 형성함 -; 및 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 인공 신경망 계산 요청의 입력 데이터세트는 복수의 디지털 입력 벡터를 포함할 수 있다. 레이저 유닛은 복수의 파장을 생성하도록 구성될 수 있다. 복수의 광학 변조기는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함할 수 있다. 광 검출 유닛은 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전압을 생성하도록 추가로 구성될 수 있다. 동작은 ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -; 복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작을 포함할 수 있다. 복수의 디지털 입력 벡터 각각은 복수의 광학 입력 벡터 중 하나에 대응할 수 있다.
일부 구현에서, 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함할 수 있다. 레이저 유닛은 복수의 파장을 생성하도록 구성될 수 있다. 복수의 광학 변조기는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함할 수 있다. 동작은 ADC 유닛으로부터, 복수의 파장을 포함하는 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 포함할 수 있다.
일부 구현에서 DAC 유닛은 복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함할 수 있다. ADC 유닛의 분해능은 1 비트일 수 있다. 제1 디지털 입력 벡터의 분해능은 N 비트일 수 있다. 동작은 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -; 1 비트 DAC 서브유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작; ADC 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작; N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작; 변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함할 수 있다.
일부 구현에서, 메모리 유닛은 디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리; 및 복수의 신경망 가중치를 저장하도록 구성되고 적어도 하나의 DRAM을 포함하는 신경망 가중치 메모리를 포함할 수 있다.
일부 구현에서 DAC 유닛은 복수의 변조기 제어 신호를 생성하도록 구성된 제1 DAC 서브유닛; 및 복수의 가중치 제어 신호를 생성하도록 구성된 제2 DAC 서브유닛을 포함할 수 있고, 제1 및 제2 DAC 서브유닛은 상이하다.
일부 구현에서 레이저 유닛은 광을 생성하도록 구성된 레이저 소스; 및 레이저 소스에 의해 생성된 광을 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기를 포함할 수 있고, 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는다.
일부 구현에서, 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함할 수 있다.
일부 구현에서, 광 검출 유닛은 복수의 광검출기; 및 광검출기에 의해 생성된 광전류를 복수의 출력 전압으로 전환하도록 구성된 복수의 증폭기를 포함할 수 있다.
일부 구현에서, 집적 회로는 주문형 집적 회로일 수 있다.
일부 구현에서, 광학 행렬 승산 유닛은 광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이; 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및 광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함할 수 있고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신한다.
일부 구현에서, 광학 간섭 유닛은 복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함할 수 있고, 복수의 상호연결된 MZI의 각 MZI는 MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및 MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기를 포함하고, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합된다.
다른 양태에서, 시스템은 데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛; 복수의 변조기 제어 신호를 생성하고 복수의 가중치 제어 신호를 생성하도록 구성된 드라이버 유닛; 광학 프로세서- 광학 프로세서는 복수의 광 출력을 생성하도록 구성된 레이저 유닛; 레이저 유닛 및 드라이버 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기; 복수의 광학 변조기 및 드라이버 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및 광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함함 -; 광 검출 유닛에 결합되고 복수의 출력 전압을 복수의 디지털화된 1 비트 광학 출력으로 전환하도록 구성된 비교기 유닛; 및 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는 컴퓨터로부터 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 N 비트의 분해능을 갖는 제1 디지털 입력 벡터를 포함함 -; 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 동작; 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -; 드라이버 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작; 비교기 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작; N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작; 변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함하는 동작을 수행하도록 구성된다.
또 다른 양태에서, 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 광학 출력 벡터로 변환하도록 구성된 광학 행렬 승산 유닛을 갖는 시스템에서 인공 신경망 계산을 수행하는 방법은 컴퓨터로부터 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 단계- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계; 디지털-아날로그 변환기(DAC) 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 단계; 아날로그-디지털 변환(ADC) 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 단계- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제어기에 의해, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계; 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 단계; 및 제어기에 의해, 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 단계를 포함할 수 있다.
또 다른 양태에서, 방법은 입력 정보를 전자 형식으로 제공하는 단계; 전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계; 광학 행렬 승산에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계; 광학 출력 벡터를 전자 형식으로 전환하는 단계; 및 비선형 변환을 전자적으로 전환된 광학 출력 벡터에 전자적으로 적용하여 전자 형식으로 출력 정보를 제공하는 단계를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 방법은 전자 형식의 제공된 출력 정보에 대응하는 새로운 전자 입력 정보에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있다.
일부 구현에서, 초기 광학 변환을 위한 광학 행렬 승산 및 반복 광학 변환의 광학 행렬 승산은 동일할 수 있고 인공 신경망의 동일한 층에 대응할 수 있다.
일부 구현에서, 초기 광학 변환을 위한 광학 행렬 승산 및 반복 광학 변환의 광학 행렬 승산은 상이할 수 있고 인공 신경망의 상이한 층에 대응할 수 있다.
일부 구현에서, 방법은 전자 입력 정보의 상이한 부분에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있고, 초기 광학 변환을 위한 광학 행렬 승산 및 반복 광학 변환의 광학 행렬 승산은 동일하고 인공 신경망의 제1 층에 대응한다.
일부 구현에서, 방법은 인공 신경망의 제1 층에 의해 전자 입력 정보의 다수의 부분에 대해 생성된 전자 출력 정보에 기초하여 중간 정보를 전자 형식으로 제공하는 단계; 및 전자 중간 정보의 상이한 부분 각각에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있고, 초기 광학 변환을 위한 광학 행렬 승산 및 전자 중간 정보의 상이한 부분에 관련된 반복 광학 변환의 광학 행렬 승산은 동일하고 인공 신경망의 제2 층에 대응한다.
다른 양태에서, 시스템은 수동적 회절 광학 요소를 포함하는 광학 프로세서를 포함하고, 수동적 회절 광학 요소는 광학 입력 벡터 또는 행렬을 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력 벡터 또는 행렬로 변환하도록 구성된다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 행렬 처리는 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산을 포함할 수 있다.
일부 구현에서, 광학 프로세서는 광학 행렬 처리 유닛을 포함할 수 있고, 광학 행렬 처리 유닛은 광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이; 수동적 회절 광학 요소를 포함하는 광학 간섭 유닛- 광학 간섭 유닛은 입력 도파로의 어레이와 광학 통신하며 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 구성됨 -; 및 광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신한다.
일부 구현에서, 광학 간섭 유닛은 홀 또는 스트라이프 중 적어도 하나를 갖는 기판을 포함할 수 있고, 홀은 100 nm 내지 10 μm 범위의 치수를 가지며, 스트라이프의 폭은 100 nm 내지 10 μm 범위에 있다.
일부 구현에서, 광학 간섭 유닛은 2차원 구성으로 배열된 수동적 회절 광학 요소를 갖는 기판을 포함할 수 있고, 기판은 평면 기판 또는 곡면 기판 중 적어도 하나를 포함한다.
일부 구현에서, 기판은 입력 도파로의 어레이로부터 출력 도파로의 어레이로의 광 전파 방향에 평행한 평면 기판을 포함할 수 있다.
일부 구현에서, 광학 프로세서는 광학 행렬 처리 유닛을 포함할 수 있고, 광학 행렬 처리 유닛은 광학 입력 행렬을 수신하기 위한 입력 도파로의 행렬; 수동적 회절 광학 요소를 포함하는 광학 간섭 유닛- 광학 간섭 유닛은 입력 도파로의 행렬과 광학 통신하며 광학 입력 행렬의 광학 신호의 제2 행렬로의 선형 변환을 수행하도록 구성됨 -; 및 광학 신호의 제2 행렬을 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 행렬을 포함하고, 입력 도파로의 행렬 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 행렬 내의 각 출력 도파로와 광학 통신한다.
일부 구현에서, 광학 간섭 유닛은 홀 또는 스트라이프 중 적어도 하나를 갖는 기판을 포함할 수 있고, 홀은 100 nm 내지 10 μm 범위의 치수를 가지며, 스트라이프의 폭은 100 nm 내지 10 μm 범위에 있다.
일부 구현에서, 광학 간섭 유닛은 3차원 구성으로 배열된 수동적 회절 광학 요소를 갖는 기판을 포함할 수 있다.
일부 구현에서, 기판은 입방체, 기둥, 프리즘 또는 불규칙한 체적 중 적어도 하나의 형상을 가질 수 있다.
일부 구현에서, 광학 프로세서는 수동적 회절 광학 요소를 갖는 홀로그램을 포함하는 광학 간섭 유닛을 포함할 수 있으며, 광학 프로세서는 광학 입력 행렬을 나타내는 변조된 광을 수신하고 광이 홀로그램을 통과할 때 광이 홀로그램으로부터 광학 출력 행렬로서 나올 때까지 연속적으로 광을 변환하도록 구성된다.
일부 구현에서, 광학 간섭 유닛은 수동적 회절 광학 요소를 갖는 기판을 포함할 수 있고, 기판은 실리콘, 실리콘 산화물, 실리콘 질화물, 석영, 리튬 니오베이트, 상 변화 물질 또는 폴리머 중 적어도 하나를 포함한다.
일부 구현에서, 광학 간섭 유닛은 수동적 회절 광학 요소를 갖는 기판을 포함할 수 있고, 기판은 유리 기판 또는 아크릴 기판 중 적어도 하나를 포함한다.
일부 구현에서, 수동적 회절 광학 요소는 부분적으로 도펀트에 의해 형성될 수 있다.
일부 구현에서, 행렬 처리는 신경망에 의해 광학 입력 벡터에 의해 표현되는 입력 데이터의 처리를 나타낼 수 있다.
일부 구현에서, 광학 프로세서는 복수의 광 출력을 생성하도록 구성된 레이저 유닛, 레이저 유닛에 결합되고 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기, 복수의 광학 변조기에 결합된 광학 행렬 처리 유닛- 광학 행렬 처리 유닛은 수동적 회절 광학 요소에 의해 정의된 복수의 가중치에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함함 -; 및 광학 행렬 처리 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전기 신호를 생성하도록 구성된 광 검출 유닛을 포함할 수 있다.
일부 구현에서, 수동적 회절 광학 요소는 3차원 구성으로 배열될 수 있고, 복수의 광학 변조기는 광학 변조기의 2차원 어레이를 포함하고, 광 검출 유닛은 광검출기의 2차원 어레이를 포함한다.
일부 구현에서, 광학 행렬 처리 유닛은 입력 도파로의 어레이, 광학 간섭 유닛 및 출력 도파로의 어레이를 지지하고 보호하기 위한 하우징 모듈을 포함할 수 있고, 광학 프로세서는 광학 행렬 처리 유닛을 수용하도록 구성된 수용 모듈을 포함하고, 수용 모듈은 광학 행렬 처리 유닛이 복수의 광학 변조기로부터 광학 입력 벡터를 수신할 수 있도록 하는 제1 인터페이스 및 광학 행렬 처리 유닛이 광학 출력 벡터를 광 검출 유닛으로 송신할 수 있도록 하는 제2 인터페이스를 포함한다.
일부 구현에서, 복수의 출력 전기 신호는 복수의 전압 신호 또는 복수의 전류 신호 중 적어도 하나를 포함할 수 있다.
일부 구현에서 시스템은 메모리 유닛; 복수의 변조기 제어 신호를 생성하도록 구성된 디지털-아날로그 변환기(DAC) 유닛; 광 검출 유닛에 결합되고 복수의 출력 전기 신호를 복수의 디지털화된 출력으로 전환하도록 구성된 아날로그-디지털 변환(ADC) 유닛; 및 집적 회로를 포함하는 제어기를 포함할 수 있고, 집적 회로는 컴퓨터로부터, 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 입력 데이터세트를 메모리 유닛에 저장하는 동작; 및 DAC 유닛을 통해, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호를 생성하는 동작을 수행하도록 구성된다.
또 다른 양태에서, 방법은 수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛을 3D 프린팅하는 단계를 포함하고, 수동적 회절 광학 요소는 광학 입력 벡터 또는 행렬을 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력 벡터 또는 행렬로 변환하도록 구성된다.
또 다른 양태에서, 방법은 하나 이상의 레이저 빔을 사용하여, 수동적 회절 광학 요소를 포함하는 홀로그램을 생성하는 단계- 수동적 회절 광학 요소는 광학 입력 벡터 또는 행렬을 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력 벡터 또는 행렬로 변환하도록 구성됨 -를 포함한다.
다른 양태에서, 시스템은 1차원 방식으로 배열된 수동적 회절 광학 요소를 포함하는 광학 프로세서- 수동적 회절 광학 요소는 광학 입력을 광학 입력과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력으로 변환하도록 구성됨 -를 포함한다.
시스템의 구현은 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 행렬 처리는 광학 입력과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산을 포함할 수 있다.
일부 구현에서, 광학 프로세서는 광학 행렬 처리 유닛을 포함할 수 있고, 광학 행렬 처리 유닛은 광학 입력을 수신하기 위한 입력 도파로, 수동적 회절 광학 요소를 포함하는 광학 간섭 유닛- 광학 간섭 유닛은 입력 도파로와 광학 통신하고, 광학 입력의 선형 변환을 수행하도록 구성됨 -; 및 광학 출력을 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로를 포함한다.
일부 구현에서, 광학 간섭 유닛은 홀 또는 격자 중 적어도 하나를 갖는 기판을 포함할 수 있고, 홀 또는 격자 요소는 100 nm 내지 10 μm 범위의 치수를 가질 수 있다.
다른 양태에서, 시스템은 메모리 유닛; 복수의 변조기 제어 신호를 생성하도록 구성된 디지털-아날로그 변환기(DAC) 유닛; 및 광학 프로세서를 포함하고, 광학 프로세서는 복수의 광 출력을 생성하도록 구성된 레이저 유닛; 레이저 유닛 및 DAC 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기; 복수의 광학 변조기에 결합된 광학 행렬 처리 유닛으로서, 수동적 회절 광학 요소에 의해 정의된 복수의 가중치에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛; 및 광학 행렬 처리 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전기 신호를 생성하도록 구성된 광 검출 유닛을 포함한다. 시스템은 광 검출 유닛에 결합되고 복수의 출력 전기 신호를 복수의 디지털화된 광학 출력으로 전환하도록 구성된 아날로그-디지털 변환(ADC) 유닛; 및 집적 회로를 포함하는 제어기를 더 포함하고, 집적 회로는 컴퓨터로부터 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 입력 데이터세트를 메모리 유닛에 저장하는 동작; 및 DAC 유닛을 통해, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호를 생성하는 동작을 수행하도록 구성된다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 행렬 처리 유닛은 광학 입력 벡터를 디지털 입력 벡터와 수동적 회절 광학 요소에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산의 곱을 나타내는 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함할 수 있다.
일부 구현에서, 동작은 ADC 유닛으로부터, 광학 행렬 처리 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함한다.
일부 구현에서, 시스템은 메모리 유닛에 입력 데이터세트를 저장하는 단계와 메모리 유닛에 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 가질 수 있으며, 제1 루프 기간은 1ns 이하일 수 있다.
일부 구현에서, 동작은 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함할 수 있다.
일부 구현에서, 동작은 DAC 유닛을 통해, 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함할 수 있다.
일부 구현에서, 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함할 수 있고, 동작은 DAC 유닛을 통해, 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작, ADC 유닛으로부터 광학 행렬 처리 유닛의 광학 출력 벡터에 대응하는 제2 복수의 디지털화된 광학 출력을 획득하는 동작- 제2 복수의 디지털화된 광학 출력은 제2 디지털 출력 벡터를 형성함 -; 제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작; 및 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하고, 광학 행렬 처리 유닛의 광학 출력 벡터는 수동적 회절 광학 요소에 의해 정의된 복수의 가중치에 기초하여 광학 행렬 처리 유닛에 의해 변환된 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성된다.
일부 구현에서, 시스템은 광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함할 수 있고, 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전기 신호를 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전기 신호를 ADC 유닛에 출력하도록 구성되고, 동작은 ADC 유닛으로부터, 복수의 변환된 출력 전기 신호에 대응하는 제1 복수의 변환된 디지털화된 출력 전기 신호를 획득하는 동작- 제1 복수의 변환된 디지털화된 출력 전기 신호는 제1 변환된 디지털 출력 벡터를 형성함 -; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 제어기의 집적 회로는 8GHz 이상의 속도로 제1 복수의 변조기 제어 신호를 생성하도록 구성될 수 있다.
일부 구현에서, 시스템은 DAC 유닛과 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 아날로그 메모리 유닛은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성됨 -; 및 광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함할 수 있고, 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전기 신호를 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전기 신호를 출력하도록 구성된다.
일부 구현에서, 아날로그 메모리 유닛은 복수의 커패시터를 포함할 수 있다.
일부 구현에서, 아날로그 메모리 유닛은 아날로그 비선형성 유닛의 복수의 변환된 출력 전기 신호를 수신 및 저장하고, 저장된 복수의 변환된 출력 전기 신호를 복수의 광학 변조기에 출력하도록 구성될 수 있으며, 동작은 제1 복수의 변조기 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전기 신호를 아날로그 메모리 유닛에 저장하는 동작; 아날로그 메모리 유닛을 통해 저장된 변환된 출력 전기 신호를 출력하는 동작; ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전기 신호를 획득하는 동작- 제2 복수의 변환된 디지털화된 출력 전기 신호는 제2 변환된 디지털 출력 벡터를 형성함 -; 및 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 인공 신경망 계산 요청의 입력 데이터세트는 복수의 디지털 입력 벡터를 포함할 수 있고, 레이저 유닛은 복수의 파장을 생성하도록 구성될 수 있고, 복수의 광학 변조기는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함할 수 있다. 광 검출 유닛은 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전기 신호를 생성하도록 추가로 구성될 수 있고, 동작은 ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -; 복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작을 포함할 수 있고, 복수의 디지털 입력 벡터 각각은 복수의 광학 입력 벡터 중 하나에 대응할 수 있다.
일부 구현에서, 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함할 수 있고, 레이저 유닛은 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함할 수 있다. 동작은 ADC 유닛으로부터, 복수의 파장을 포함하는 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 포함할 수 있다.
일부 구현에서 DAC 유닛은 복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 유닛을 포함할 수 있고, ADC 유닛의 분해능은 1 비트일 수 있으며, 제1 디지털 입력 벡터의 분해능은 N 비트일 수 있다. 동작은 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -; 1 비트 DAC 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작; ADC 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작; N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작; 변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함할 수 있다.
일부 구현에서, 메모리 유닛은 디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리를 포함할 수 있다.
일부 구현에서 레이저 유닛은 광을 생성하도록 구성된 레이저 소스; 및 레이저 소스에 의해 생성된 광을 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기를 포함할 수 있고, 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는다.
일부 구현에서, 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함할 수 있다.
일부 구현에서, 광 검출 유닛은 복수의 광검출기; 및 광검출기에 의해 생성된 광전류를 복수의 출력 전기 신호로 전환하도록 구성된 복수의 증폭기를 포함할 수 있다.
일부 구현에서, 집적 회로는 주문형 집적 회로를 포함할 수 있다.
일부 구현에서, 광학 행렬 처리 유닛은 광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이; 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛- 광학 간섭 유닛은 수동적 회절 광학 요소를 포함함 -; 및 광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함할 수 있고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신한다.
다른 양태에서, 시스템은 메모리 유닛; 복수의 변조기 제어 신호를 생성하도록 구성된 드라이버 유닛; 및 광학 프로세서를 포함하고, 광학 프로세서는 복수의 광 출력을 생성하도록 구성된 레이저 유닛; 레이저 유닛 및 드라이버 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기; 복수의 광학 변조기 및 드라이버 유닛에 결합된 광학 행렬 처리 유닛으로서, 수동적 회절 광학 요소에 의해 정의된 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛; 및 광학 행렬 처리 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전기 신호를 생성하도록 구성된 광 검출 유닛을 포함한다. 시스템은 또한 광 검출 유닛에 결합되고 복수의 출력 전기 신호를 복수의 디지털화된 1 비트 광학 출력으로 전환하도록 구성된 비교기 유닛; 및 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는 컴퓨터로부터 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 N 비트의 분해능을 갖는 제1 디지털 입력 벡터를 포함함 -; 입력 데이터세트를 메모리 유닛에 저장하는 동작; 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -; 드라이버 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작; 비교기 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작; N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작; 변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함하는 동작을 수행하도록 구성된다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 행렬 처리 유닛은 광학 입력 벡터로 표현되는 입력 벡터와 회절 광학 요소에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산의 곱을 나타내는 광학 출력 벡터로 광학 입력 벡터를 변환하도록 구성된 광학 행렬 승산 유닛을 포함할 수 있다.
또 다른 양태에서, 광학 행렬 처리 유닛을 갖는 시스템에서 인공 신경망 계산을 수행하는 방법으로서, 이 방법은 컴퓨터로부터, 제1 디지털 입력 벡터를 포함하는 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 단계; 입력 데이터세트를 메모리 유닛에 저장하는 단계; 디지털-아날로그 변환기(DAC) 유닛을 통해, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호를 생성하는 단계; 회절 광학 요소의 배열을 포함하는 광학 행렬 처리 유닛을 사용하여 광학 입력 벡터를 광학 출력 벡터로 변환하는 단계- 광학 출력 벡터는 광학 입력 벡터와 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타냄 -; 아날로그-디지털 변환(ADC) 유닛으로부터, 광학 행렬 처리 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 단계- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제어기에 의해, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계; 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 단계; 및 제어기에 의해, 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 단계를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 입력 벡터를 광학 출력 벡터로 변환하는 단계는 광학 입력 벡터를 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터와 디지털 입력 벡터 사이의 행렬 승산의 곱을 나타내는 광학 출력 벡터로 변환하는 단계를 포함할 수 있다.
또 다른 양태에서, 방법은 입력 정보를 전자 형식으로 제공하는 단계; 전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계; 수동적 회절 광학 요소를 포함하는 광학 프로세서에 의한 광학 행렬 처리에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계; 광학 출력 벡터를 전자 형식으로 전환하는 단계; 및 비선형 변환을 전자적으로 전환된 광학 출력 벡터에 전자적으로 적용하여 전자 형식으로 출력 정보를 제공하는 단계를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계는 광학 입력 벡터로 표현되는 디지털 입력 벡터와 수동적 회절 광학 요소에 의해 정의되는 미리 결정된 벡터 사이의 광학 행렬 승산에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계를 포함할 수 있다.
일부 구현에서, 방법은 전자 형식의 제공된 출력 정보에 대응하는 새로운 전자 입력 정보에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있다.
일부 구현에서, 초기 광학 변환을 위한 광학 행렬 처리 및 반복 광학 변환의 광학 행렬 처리는 동일할 수 있고 인공 신경망의 동일한 층에 대응한다.
일부 구현에서, 방법은 전자 입력 정보의 상이한 부분에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있고, 초기 광학 변환을 위한 광학 행렬 처리 및 반복 광학 변환의 광학 행렬 처리는 동일할 수 있고 인공 신경망의 층에 대응한다.
또 다른 양태에서, 시스템은 길이 N의 입력 벡터를 처리하도록 구성된 광학 행렬 처리 유닛을 포함하고, 광학 행렬 처리 유닛은 N+2 층의 방향성 커플러 및 N 층의 위상 천이기를 포함하고, N은 양의 정수이다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 행렬 처리 유닛은 N+2 층 이하의 방향성 커플러를 포함할 수 있다.
일부 구현에서, 광학 행렬 처리 유닛은 광학 행렬 승산 유닛을 포함할 수 있다.
일부 구현에서, 광학 행렬 처리 유닛은 기판, 및 기판 상에 배치된 상호연결된 간섭계를 포함할 수 있고, 각각의 간섭계는 기판 상에 배치된 광학 도파로를 포함하고, 방향성 커플러 및 위상 천이기는 상호연결된 간섭계의 일부이다.
일부 구현에서, 광학 행렬 처리 유닛은 방향성 커플러의 마지막 층 이후의 감쇠기 층을 포함할 수 있다.
일부 구현에서, 감쇠기 층은 N 감쇠기를 포함할 수 있다.
일부 구현에서, 시스템은 감쇠기로부터의 출력을 검출하기 위해 하나 이상의 호모다인 검출기를 포함할 수 있다.
일부 구현에서, N = 3이고 광학 행렬 처리 유닛은 입력 벡터를 수신하도록 구성된 입력 단자; 입력 단자에 결합된 방향성 커플러의 제1 층; 방향성 커플러의 제1 층에 결합된 위상 천이기의 제1 층; 위상 천이기의 제1 층에 결합된 방향성 커플러의 제2 층; 방향성 커플러의 제2 층에 결합된 위상 천이기의 제2 층; 위상 천이기의 제2 층에 결합된 방향성 커플러의 제3 층; 방향성 커플러의 제3 층에 결합된 위상 천이기의 제3 층; 위상 천이기의 제3 층에 결합된 방향성 커플러의 제4 층; 및 방향성 커플러의 제4 층에 결합된 방향성 커플러의 제5 층을 포함할 수 있다.
일부 구현에서, N = 4이고 광학 행렬 처리 유닛은 입력 벡터를 수신하도록 구성된 입력 단자; 방향성 커플러의 제1 층, 제2 층, 제3 층, 및 제4 층- 이 층들 각각에 위상 천이기 층이 뒤따르며, 방향성 커플러의 제1 층이 입력 단자에 결합됨 -; 위상 천이기의 제4 층에 결합된 방향성 커플러의 제2 내지 마지막 층; 및 방향성 커플러의 제2 내지 마지막 층에 결합된 방향성 커플러의 최종 층을 포함할 수 있다.
일부 구현에서, N = 8이고 광학 행렬 처리 유닛은 입력 벡터를 수신하도록 구성된 입력 단자; 각각 위상 천이기의 층이 뒤따르는 방향성 커플러의 8개의 층- 방향성 커플러의 제1 층은 입력 단자에 결합됨 -; 위상 천이기의 제8 층에 결합된 방향성 커플러의 제2 내지 마지막 층; 및 방향성 커플러의 제2 내지 마지막 층에 결합된 방향성 커플러의 최종 층을 포함할 수 있다.
일부 구현에서, 광학 행렬 승산기 유닛은 입력 벡터를 수신하도록 구성된 입력 단자; 각각 위상 천이기의 층이 뒤따르는 방향성 커플러의 N개의 층- 방향성 커플러의 제1 층은 입력 단자에 결합됨 -; 위상 천이기의 제N 층에 결합된 방향성 커플러의 제2 내지 마지막 층; 및 방향성 커플러의 제2 내지 마지막 층에 결합된 방향성 커플러의 최종 층을 포함할 수 있다.
일부 구현에서 N은 짝수이다.
일부 구현에서, 방향성 커플러의 제i 층 각각은 N/2 방향성 커플러를 포함하며, 여기서 i는 홀수이고, 방향성 커플러의 제j 층 각각은 N/2-1 방향성 커플러를 포함하며, 여기서 j는 짝수이다.
일부 구현에서, i가 홀수인 방향성 커플러의 제i 층 각각에 대해, 제k 방향성 커플러는 이전 층의 제(2k-1) 및 제2k 출력에 결합될 수 있고, k는 1 내지 N/2의 정수이다.
일부 구현에서, j가 짝수인 방향성 커플러의 제j 층 각각에 대해, 제m 방향성 커플러는 이전 층의 제(2m) 및 제(2m+1) 출력에 결합될 수 있고, m은 1 내지 N/2-1의 정수이다.
일부 구현에서, 위상 천이기의 제i 층 각각은 i가 홀수인 N개의 위상 천이기를 포함할 수 있고, 위상 천이기의 제j 층 각각은 j가 짝수인 N-2 위상 천이기를 포함할 수 있다.
일부 구현에서 N은 홀수일 수 있다.
일부 구현에서, 방향성 커플러의 각 층은 (N-1)/2 방향성 커플러를 포함할 수 있다.
일부 구현에서, 위상 천이기의 각 층은 N-1 위상 천이기를 포함할 수 있다.
다른 양태에서, 시스템은 제1 데이터세트를 생성하도록 구성된 생성기- 생성기는 광학 행렬 처리 유닛을 포함함 -; 및 제1 데이터세트로부터의 데이터와 제3 데이터세트로부터의 데이터를 포함하는 제2 데이터세트를 수신하도록 구성된 판별기- 제1 데이터세트의 데이터는 제3 데이터세트의 데이터와 유사한 특성을 갖고, 제2 데이터세트의 데이터를 제1 데이터세트로부터의 데이터 또는 제3 데이터세트로부터의 데이터로서 분류함 -를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 행렬 처리 유닛은 (i) 위에서 언급된 광학 행렬 승산 유닛, (ii) 위에서 언급된 수동적 회절 광학 요소, 또는 (iii) 위에서 언급된 광학 행렬 처리 유닛 중 적어도 하나를 포함할 수 있다.
일부 구현에서, 제3 데이터세트는 실제 데이터를 포함할 수 있고, 생성기는 실제 데이터와 유사한 합성 데이터를 생성하도록 구성되며, 판별기는 데이터를 실제 데이터 또는 합성 데이터로 분류하도록 구성된다.
일부 구현에서, 생성기는 자율 주행 차량, 의료 진단 시스템, 사기 검출 시스템, 날씨 예측 시스템, 재무 예측 시스템, 안면 인식 시스템, 음성 인식 시스템 또는 제품 결함 검출 시스템 중 적어도 하나를 훈련하기 위한 데이터세트를 생성하도록 구성될 수 있다.
일부 구현에서, 생성기는 실제 대상 또는 실제 장면 중 적어도 하나의 이미지와 유사한 이미지를 생성하도록 구성될 수 있으며, 판별기는 수신된 이미지를 (i) 실제 대상 또는 실제 장면의 이미지 또는 (ii) 생성기에 의해 생성된 합성된 이미지로 분류하도록 구성된다.
일부 구현에서, 실제 대상은 사람, 동물, 세포, 조직 또는 제품 중 적어도 하나를 포함할 수 있고, 실제 장면은 차량이 마주치는 장면을 포함한다.
일부 구현에서, 판별기는 수신된 이미지가 (i) 실제 사람, 실제 동물, 실제 세포, 실제 조직, 실제 제품 또는 차량이 마주치는 실제 장면의 이미지인지 또는 (ii) 생성기에 의해 생성된 합성된 이미지인지를 분류하도록 구성될 수 있다.
일부 구현에서, 차량은 오토바이, 자동차, 트럭, 기차, 헬리콥터, 비행기, 잠수함, 선박 또는 드론 중 적어도 하나를 포함할 수 있다.
일부 구현에서, 생성기는 인간의 질병, 동물의 질병 또는 식물의 질병 중 적어도 하나와 관련된 조직 또는 세포의 이미지를 생성하도록 구성될 수 있다.
일부 구현에서, 생성기는 인간의 질병과 관련된 조직 또는 세포의 이미지를 생성하도록 구성될 수 있으며, 질병은 암, 파킨슨 병, 겸상 적혈구 빈혈, 심장 질환, 심혈관 질환, 당뇨병, 흉부 질환, 또는 피부 질환 중 적어도 하나를 포함한다.
일부 구현에서, 생성기는 암과 관련된 조직 또는 세포의 이미지를 생성하도록 구성될 수 있으며, 암은 피부암, 유방암, 폐암, 간암, 전립선암 또는 뇌암 중 적어도 하나를 포함할 수 있다.
일부 구현에서, 시스템은 생성기에 입력으로서 제공되는 랜덤 노이즈를 생성하도록 구성된 랜덤 노이즈 생성기를 더 포함할 수 있고, 생성기는 랜덤 노이즈에 기초하여 제1 데이터세트를 생성하도록 구성된다.
다른 양태에서, 시스템은 랜덤 노이즈를 생성하도록 구성된 랜덤 노이즈 생성기; 및 랜덤 노이즈에 기초하여 데이터를 생성하도록 구성된 생성기- 생성기는 광학 행렬 처리 유닛을 포함함 -를 포함한다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 행렬 처리 유닛은 (i) 위에서 언급된 광학 행렬 승산 유닛, (ii) 위에서 언급된 수동적 회절 광학 요소, 또는 (iii) 위에서 언급된 광학 행렬 처리 유닛 중 적어도 하나를 포함할 수 있다.
다른 양태에서, 시스템은 2개의 입력 신호에 대해 로직 기능을 수행하도록 구성된 광자 회로를 포함하고, 광자 회로는 2개의 입력 단자와 2개의 출력 단자를 갖는 제1 방향성 커플러- 2개의 입력 단자는 2개의 입력 신호를 수신하도록 구성됨 -, 제1 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성된 위상 천이기의 제1 쌍, 2개의 입력 단자와 2개의 출력 단자를 갖는 제2 방향성 커플러- 2개의 입력 단자는 위상 천이기의 제1 쌍으로부터 신호를 수신하도록 구성됨 -, 및 제2 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성된 위상 천이기의 제2 쌍을 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광자 회로가 다음 회전을 구현하게 하도록 위상 천이기가 구성될 수 있다:
일부 구현에서, 입력 신호 x1 및 x2가 제1 방향성 커플러의 2개의 입력 단자에 제공될 때, 위상 천이기는 광자 회로가 다음 연산을 구현하게 하도록 구성될 수 있다:
일부 구현에서, 광자 회로는 광자 회로가 다음 연산을 구현하게 하도록 하기 위해 제2 쌍의 위상 천이기로부터 신호의 절대값을 생성하도록 구성된 제1 광검출기를 포함할 수 있다:
일부 구현에서, 광자 회로는 제1 광검출기의 출력 신호를 임계값과 비교하여 광자 회로가 다음 출력을 생성하게 하도록 이진 값을 생성하도록 구성된 비교기를 포함할 수 있다.
일부 구현에서, 광자 회로는 광검출기의 출력 신호가 제1 방향성 커플러의 입력 단자로 피드백되고 제1 방향성 커플러, 위상 천이기의 제1 쌍, 제2 방향성 커플러 및 위상 천이기의 제2 쌍을 통과하고 광검출기에 의해 검출되어 광자 회로가 다음 연산을 구현하게 하도록 구성된 피드백 메커니즘을 포함할 수 있으며:
이 연산은 출력 AND(x1, x2) 및 OR(x1, x2)을 생성한다.
일부 구현에서, 광자 회로는 2개의 입력 단자와 2개의 출력 단자를 갖는 제3 방향성 커플러- 2개의 입력 단자는 제2 쌍의 위상 천이기로부터 신호를 수신하도록 구성됨 -, 제3 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성된 제3 쌍의 위상 천이기, 2개의 입력 단자와 2개의 출력 단자를 가진 제4 방향성 커플러- 2개의 입력 단자는 제3 쌍의 위상 천이기로부터 신호를 수신하도록 구성됨 -, 제4 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성된 제4 쌍의 위상 천이기, 및 제4 쌍의 위상 천이기로부터의 신호의 절대값을 생성하여 광자 회로가 다음 연산을 구현하도록 구성된 제2 광검출기를 포함할 수 있으며:
이 연산은 출력 AND(x1, x2) 및 OR(x1, x2)을 생성한다.
일부 구현에서, 시스템은 광자 회로를 사용하여 바이토닉 정렬기(Bitonic sorter)의 정렬 기능이 수행되도록 구성된 바이토닉 정렬기를 포함할 수 있다.
일부 구현에서, 시스템은 광자 회로를 사용하여 해싱 기능(hashing function)을 수행하도록 구성된 디바이스를 포함할 수 있다.
일부 구현에서, 해싱 기능은 보안 해시 알고리즘 2(SHA-2)를 포함할 수 있다.
일반적으로, 계산을 수행하는 시스템은 연산의 기본 물리학이 (예를 들어, 에너지 소비 및/또는 속도의 측면에서) 가장 적절한 신호(예를 들어, 전기 신호 또는 광학 신호)에 대해 각각 수행되는 상이한 유형의 연산을 사용하여 계산 결과를 생성한다. 예를 들어, 세 가지 이러한 연산은 다음과 같다: 복사, 합산, 승산. 복사는 광학 파워 분할을 사용하여 수행될 수 있고, 합산은 전기 전류 기반 합산을 사용하여 수행될 수 있으며, 승산은 아래에서 자세히 설명하는 것처럼 광학 진폭 변조를 사용하여 수행될 수 있다. 이러한 세 가지 유형의 연산을 사용하여 수행할 수 있는 계산의 예는 벡터에 행렬을 승산하는 것이다(예를 들어, 인공 신경망 계산에 사용되는 바와 같음). 다음을 포함하지만 이에 한정되지 않는 다양한 계산이 수행될 수 있는 일련의 일반 선형 연산을 나타내는 이러한 연산을 사용하여 다양한 다른 계산을 수행할 수 있다: 벡터-벡터 내적, 벡터-벡터 요소별 승산, 벡터-스칼라 요소별 승산 또는 행렬-행렬 요소별 승산. 본 명세서에 설명된 예 중 일부는 벡터-행렬 승산을 위한 기술 및 구성을 예시하지만, 대응하는 기술 및 구성이 이러한 유형의 계산 중 임의의 것을 위해 사용될 수 있다.
양태는 다음과 같은 이점 중 하나 이상을 가질 수 있다.
본 명세서에 설명된 바와 같이 전기 신호 및 광학 신호를 모두 사용하는 광전자 컴퓨팅 시스템은 증가된 유연성 및/또는 효율성을 촉진할 수 있다. 과거에, 광학(또는 광자) 집적 디바이스를 전기(또는 전자) 집적 디바이스와 공통 플랫폼(예를 들어, 공통 반도체 다이 또는 C4(controlled collapsed chip connection) 또는 "플립-칩" 배열로 조합된 다수의 반도체 다이)에서 조합하는 것과 연관된 잠재적인 문제가 있었을 수 있다. 이러한 잠재적인 문제에는 예를 들어 입력/출력(I/O) 패키징 또는 온도 제어가 포함될 수 있다. 본 명세서에 설명된 것과 같은 시스템의 경우, 상대적으로 많은 수의 광학 입력 포트와 상대적으로 많은 수의 전기 출력 포트(예를 들어, 4개 이상의 광학 입력/출력 포트, 200개 이상의 전기 입력/출력 포트)와 함께 사용하면 잠재적인 문제가 증가할 수 있다. 이러한 잠재적인 문제는 적절한 시스템 설계를 사용하여 완화할 수 있다. 예를 들어, 시스템은 온도 제어(예를 들어, 열전 냉각)를 사용하여 상이한 물질 유형(예를 들어, 실리콘과 같은 반도체 물질, 이산화 실리콘 또는 "실리카"와 같은 유리 물질, 세라믹 물질 등) 사이의 열팽창을 제어하는 고밀도 패키징 배열 및/또는 방열판 역할을 하고 다소의 밀봉을 제공하는 포위 하우징을 사용할 수 있다. 이러한 온도 안정성 기술을 사용하여, 서로 다른 열팽창 계수(CTE)와 그에 따른, 시스템 포트와 패키징된 고밀도 광섬유 어레이의 포트 사이의 오정렬이 제한될 수 있다.
복사 연산의 경우 광학 파워 분할이 수동적이므로 연산을 수행하는 데 파워를 소비할 필요가 없다. 또한, 전기 분할기의 주파수 대역폭에는 RC 시간 상수와 관련된 한계가 있다. 이에 비해, 광학 분할기의 주파수 대역폭은 사실상 무제한이다. 도파로 광학 분할기 또는 자유 공간 빔 분할기를 포함하여 다양한 유형의 광학 파워 분할기가 사용될 수 있다.
승산 연산의 경우, 하나의 값은 광학 신호로 인코딩될 수 있고 다른 값은 진폭 스케일링 계수로 인코딩될 수 있다(예를 들어, 0 내지 1 범위의 값에 의한 승산). 스케일링 계수가 설정된 후 광학 도메인의 승산은 전기 신호 튜닝에 대한 요건을 감소시키거나 없애고, 따라서 전기 노이즈, 전력 소비 및 대역폭 제한으로 인한 제약이 감소된다. 검출 방식의 적절한 선택에 의해, 아래에 더 상세히 설명된 바와 같이 부호화된 결과(signed result)가 얻어질 수 있다(예를 들어, -1 내지 +1 사이의 값에 의한 승산).
합산 연산의 경우, 서로 다른 기술을 사용하여 전도체의 전류 유동 크기가 서로 다른 기여도의 합을 기반으로 결정되는 결과를 달성할 수 있다. 유입 전류 신호에 관련하여, 유입 전류 신호를 운반하는 2개 이상의 전도체가 접합점에서 조합될 때, 유출 전류 신호를 운반하는 단일 전도체는 이러한 입력 전류 신호의 합계를 나타낸다. 유입 광학 신호에 관련하여, 서로 다른 파장의 2개 이상의 광학 파가 검출기에 충돌할 때, 검출기에 의해 생성되는 광전류에서 운반되는 전류 신호는 유입 광학 신호의 파워의 합계를 나타낸다. 양자 모두가 합을 나타내는 출력으로 전기 신호(예를 들어, 전기 전류)를 생성하지만 하나는 전류를 입력으로 사용하고(전류 입력 기반 합산, "전기 합산"이라고도 지칭됨), 다른 하나는 광학 파를 입력으로 사용한다(광학 입력 기반 합산, "광전자 도메인"에서 수행되는 "광전자 합산"이라고도 지칭됨). 그러나, 일부 실시예에서, 광학 입력 기반 합산 대신에 전류 입력 기반 합산이 사용되며, 이는 시스템에서 단일 광학 파장을 사용할 수 있게 하여 다수의 파장을 제공 및 유지할 필요가 있는 시스템의 잠재적 복잡한 요소를 피한다.
이러한 모듈에 의해 구현된 이러한 기본 연산의 조합은 임의의 행렬 요소 크기로 벡터-행렬 승산과 같은 선형 연산을 수행하는 디바이스를 제공하도록 배열될 수 있다. 광학 신호 및 광학 간섭을 사용하여 광학 신호를 조합하기 위한 간섭계를 사용하는 행렬 승산의 다른 구현(본 명세서에 설명된 복사 모듈 또는 가산 모듈을 사용하지 않음)은 특정 제한(예를 들어, 유니테리 행렬 또는 대각 행렬)이 있는 벡터-행렬 승산을 제공하는 것으로 제한된다. 추가적으로, 일부 다른 구현은 비교적 많은 수의 광학 요소(예를 들어, 광학 변조기)를 통해 전파될 때 다수의 광학 신호의 대규모 위상 정렬에 의존할 수 있다. 대안적으로, 본 명세서에 설명된 구현은 더 적은 수의 광학 요소를 통한 전파 후(예를 들어, 단지 단일 광학 진폭 변조기를 통한 전파 후) 광학 신호를 전기 신호로 전환함으로써 이러한 위상 정렬 제약을 완화할 수 있으며, 이는 파괴/비파괴 간섭에 의존하지 않는 광학 변조기를 위한 간섭성이 감소된 광학 신호 또는 심지어 비간섭성 광학 신호의 사용을 가능하게 한다.
아래에 더 상세히 설명된 광학 및 전기 신호의 시간 도메인 인코딩의 경우, 아날로그 전자 회로는 특정 파워 레벨에서의 연산에 최적화될 수 있으며, 이는 회로가 고속으로 연산하는 경우 도움이 될 수 있다. 이러한 시간 도메인 인코딩은 예를 들어, 각 심볼의 비교적 많은 수의 명확하게 구별 가능한 강도 레벨을 정확하게 제어하는 것과 관련될 수 있는 임의의 문제를 감소시키는 데 유용할 수 있다. 대신, 비교적 일정한 진폭을 사용할 수 있으며("온" 레벨에 대해 그러함, "오프" 레벨의 진폭은 0 또는 거의 0임), 단일 심볼 지속기간 내의 다수의 시간 슬롯에 걸쳐 시간 도메인에서 듀티 사이클의 정확한 제어가 적용된다.
모듈은 공통 기판(예를 들어, 실리콘 칩)에 광학장치 및 전자장치를 통합시켜 대규모로 편리하게 제조할 수 있다. 전기 신호 대신 광학 신호로 기판에서 신호를 라우팅하고 기판의 일부에서 광검출기를 그룹화하면 긴 전자 배선 및 그 관련 문제(예를 들어, 기생 정전용량, 인덕턴스 및 크로스토크)를 피하는 데 도움이 될 수 있다.
부분 행렬 승산을 사용하는 시스템의 실시예의 경우, 출력 벡터의 각 요소는 상이한 디바이스(예를 들어, 상이한 코어, 상이한 프로세서, 상이한 컴퓨터, 상이한 서버)를 사용하여 동시에 계산될 수 있으며, 메모리 월 같은 특정 잠재적 제한을 완화시키는 것을 돕고, 매우 큰 행렬에 대해 전체 시스템의 스케일링을 돕는다. 일부 실시예에서, 각각의 부분 행렬은 상이한 디바이스를 사용하여 대응하는 서브-벡터에 의해 승산될 수 있다. 그 후, 상이한 디바이스에서 피가수를 수집하거나 누산하여 총 합계를 계산할 수 있다. 광학 신호 형태의 중간 결과는 디바이스가 비교적 먼 거리로 떨어져 있어도 디바이스간에 편리하게 전달될 수 있다.
다른 양태는 방법, 장치, 시스템, 프로그램 제품 및 다른 방식으로 표현된 위에서 언급된 특징 및 다른 특징의 다른 조합을 포함한다.
본 명세서에 설명된 주제의 특정 실시예는 다음 이점 중 하나 이상을 실현하도록 구현될 수 있다. ANN 계산 처리량, 레이턴시 또는 양자 모두가 개선될 수 있다. ANN 계산의 전력 효율성이 개선될 수 있다.
또 다른 양태에서, 장치는 복수의 광학 도파로- 다수의 입력 값의 세트가 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩됨 -; 복수의 복사 모듈- 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트는 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성됨 -; 복수의 승산 모듈- 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈은 광학 진폭 모듈을 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하도록 구성되고, 승산 모듈 중 적어도 하나는 입력 포트와 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련 광학 신호의 진폭 사이의 차이가 부호화된 행렬 요소 값으로 입력 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공됨 -; 및 하나 이상의 합산 모듈- 2개 이상의 승산 모듈의 결과에 대해, 합산 모듈 중 대응하는 하나는 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성됨 -을 포함한다.
장치의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 각각의 광학 신호에 인코딩된 다수의 입력 값 세트의 입력 값은 하나 이상의 행렬 요소 값을 포함하는 행렬에 의해 승산되는 입력 벡터의 요소를 나타낼 수 있다.
일부 구현에서, 다수의 출력 값의 세트는 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩될 수 있으며, 다수의 출력 값의 세트의 출력 값은 행렬로 승산한 입력 벡터로부터 생성된 출력 벡터의 요소를 나타낼 수 있다.
일부 구현에서, 광학 도파로에 의해 운반되는 각각의 광학 신호는 모든 광학 신호에 대해 실질적으로 동일한 공통 파장을 갖는 광학 파를 포함할 수 있다.
일부 구현에서, 복사 모듈은 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 제1 출력 포트로 전송하고 입력 포트에서 광학 파의 파워의 잔여 분율을 제2 출력 포트로 전송하는 광학 분할기를 포함하는 적어도 하나의 복사 모듈을 포함할 수 있다.
일부 구현에서, 광학 분할기는 입력 광학 도파로에 의해 유도된 광학 파의 파워의 미리 결정된 분율을 제1 출력 광학 도파로로 전송하고 입력 광학 도파로에 의해 안내된 광학 파 파워의 잔여 분율을 제2 출력 광학 도파로로 전송하는 도파로 광학 분할기를 포함할 수 있다.
일부 구현에서, 입력 광학 도파로의 안내 모드는 제1 및 제2 출력 광학 도파로 각각의 안내 모드에 단열적으로 결합될 수 있다.
일부 구현에서, 광학 분할기는 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 투과시키고 입력 포트에서 광학 파의 파워의 잔여 분율을 반사하는 적어도 하나의 표면을 포함하는 빔 분할기를 포함할 수 있다.
일부 구현에서, 복수의 광학 도파로 중 적어도 하나는 광섬유의 안내 모드를 자유 공간 전파 모드에 결합하는 광학 커플러에 결합되는 광섬유를 포함할 수 있다.
일부 구현에서, 승산 모듈은 적어도 하나의 간섭성-감지 승산 모듈을 포함할 수 있고, 이는 적어도 간섭성-감지 승산 모듈을 통한 전파 거리만큼 긴 결맞음 길이를 가지는 광학 파 사이의 간섭에 기초한 광학 진폭 변조를 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하도록 구성된다.
일부 구현에서, 간섭성-감지 승산 모듈은 MZI(Mach-Zehnder Interferometer)를 포함할 수 있고, 이는 입력 광학 도파로에 의해 안내된 광학 파를 MZI의 제1 광학 도파로 암 및 MZI의 제2 광학 도파로 암으로 분할하며, 제1 광학 도파로 암은 제2 광학 도파로 암의 위상 지연에 대해 상대적인 위상 천이를 부여하는 위상 천이기를 포함하고, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 적어도 하나의 출력 광학 도파로로 조합한다.
일부 구현에서, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 제1 출력 광학 도파로 및 제2 출력 광학 도파로 각각에 조합할 수 있으며, 제1 광검출기는 제1 출력 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성할 수 있고, 제2 광검출기는 제2 출력 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성할 수 있으며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함할 수 있다.
일부 구현에서, 간섭성-감지 승산 모듈은 제1 광학 도파로에 결합된 적어도 하나의 링 공진기 및 제2 광학 도파로에 결합된 적어도 하나의 링 공진기를 포함하여 하나 이상의 링 공진기를 포함할 수 있다.
일부 구현에서, 제1 광검출기는 제1 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성할 수 있고, 제2 광검출기는 제2 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성할 수 있으며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함할 수 있다.
일부 구현에서, 승산 모듈은 광학 파 내의 에너지의 흡수에 기초한 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 적어도 하나의 간섭성-비감지 승산 모듈을 포함할 수 있다.
일부 구현에서, 간섭성-비감지 승산 모듈은 전계 흡수 변조기를 포함할 수 있다.
일부 구현에서, 하나 이상의 합산 모듈은 적어도 하나의 합산 모듈을 포함할 수 있고, 이는 (1) 진폭이 승산 모듈 중 각각의 하나의 각각의 결과를 나타내는 입력 전류의 형태로 전기 신호를 각각 운반하는 2개 이상의 입력 전도체 및 (2) 입력 전류의 합에 비례하는 출력 전류의 형태인 각각의 결과의 합을 나타내는 전기 신호를 운반하는 적어도 하나의 출력 전도체를 포함한다.
일부 구현에서, 2개 이상의 입력 전도체와 출력 전도체는 배선을 포함할 수 있고, 배선은 배선 사이의 하나 이상의 접합점에서 만나고, 출력 전류는 입력 전류의 합과 실질적으로 동일할 수 있다.
일부 구현에서, 입력 전류의 적어도 제1 입력 전류는 승산 모듈의 제1 승산 모듈에 의해 생성된 광학 신호를 수신하는 적어도 하나의 광검출기에 의해 생성된 적어도 하나의 광전류의 형태로 제공될 수 있다.
일부 구현에서, 제1 입력 전류는 제1 승산 모듈에 의해 둘 모두가 생성되는 상이한 각각의 광학 신호를 수신하는 상이한 각각의 광검출기에 의해 생성된 2개의 광전류 사이의 차이의 형태로 제공될 수 있다.
일부 구현에서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 입력 값 중 하나가 인코딩되는 단일 광학 신호로 구성될 수 있다.
일부 구현에서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값을 단일 행렬 요소 값으로 승산할 수 있다.
일부 구현에서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 하나보다 많은, 그리고, 다수의 입력 값이 인코딩되는 광학 신호 전체보다 적은 광학 신호를 포함할 수 있다.
일부 구현에서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값을 상이한 각각의 행렬 요소 값으로 승산할 수 있다.
일부 구현에서, 하나 이상의 광학 신호의 제1 서브세트의 상이한 각각의 사본에 대응하는 상이한 승산 모듈은 상이한 디바이스 사이에서 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나를 송신하도록 광학 통신하는 상이한 디바이스에 포함될 수 있다.
일부 구현에서, 복수의 광학 도파로 중 2개 이상, 복수의 복사 모듈 중 2개 이상, 복수의 승산 모듈 중 2개 이상, 및 하나 이상의 합산 모듈 중 적어도 하나가 공통 디바이스의 기판 상에 배열될 수 있다.
일부 구현에서, 디바이스는 벡터-행렬 승산을 수행할 수 있고, 입력 벡터는 광학 신호의 세트로 제공될 수 있고 출력 벡터는 전기 신호의 세트로 제공될 수 있다.
일부 구현에서, 장치는 승산 모듈 또는 합산 모듈의 출력에 대응하는 입력 전기 신호를 통합하는 누산기를 더 포함할 수 있으며, 입력 전기 신호는 다수의 시간 슬롯 각각에서 온-오프 진폭 변조를 사용하는 시간 도메인 인코딩을 사용하여 인코딩될 수 있으며, 누산기는 다수의 시간 슬롯에 걸친 시간 도메인 인코딩의 상이한 듀티 사이클에 대응하는 2개보다 많은 진폭 레벨로 인코딩된 출력 전기 신호를 생성할 수 있다.
일부 구현에서, 2개 이상의 승산 모듈은 각각 하나 이상의 광학 신호의 상이한 서브세트에 대응한다.
일부 구현에서, 장치는 하나 이상의 광학 신호의 제1 서브세트 내의 광학 신호와 상이한 하나 이상의 광학 신호의 제2 서브세트의 각 사본에 대해, 광학 진폭 변조를 사용하여 제2 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 승산 모듈을 더 포함할 수 있다.
또 다른 양태에서, 방법은 각각의 광학 신호에 다수의 입력 값의 세트를 인코딩하는 단계; 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트를 사용하여 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하는 단계; 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈을 사용하여, 광학 진폭 모듈을 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하는 단계- 승산 모듈 중 적어도 하나는 입력 포트와 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련 광학 신호의 진폭 사이의 차이가 부호화된 행렬 요소 값으로 입력 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공됨 -; 및 2개 이상의 승산 모듈의 결과에 대해, 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈을 사용하는 단계를 포함한다.
또 다른 양태에서, 방법은 각각의 광학 신호에 입력 벡터의 요소를 나타내는 입력 값의 세트를 인코딩하는 단계; 행렬의 요소를 나타내는 계수의 세트를 광학 신호에 결합된 광학 진폭 변조기의 세트의 진폭 변조 레벨로서 인코딩하는 단계- 입력 포트와 2개의 출력 포트를 포함하는 광학 진폭 변조기 중 적어도 하나는 관련 광학 신호의 진폭 사이의 차이가 입력 값에 부호화된 행렬 요소 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터의 한 쌍의 관련 광학 신호를 제공함 -; 및 각각의 전기 신호에 출력 벡터의 요소를 나타내는 출력 값의 세트를 인코딩하는 단계- 전기 신호 중 적어도 하나는 그 진폭이 행렬의 행의 각각의 요소로 승산된 입력 벡터의 각 요소에 각각의 요소의 합에 대응하는 전류의 형태임 -를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 광학 신호 중 적어도 하나는 제1 광학 도파로에 의해 제공될 수 있고, 제1 광학 도파로는 제1 광학 도파로에 의해 안내된 광학 파의 파워의 미리 결정된 분율을 제2 출력 광학 도파로에 전송하고, 제1 광학 도파로에 의해 안내된 광학 파의 파워의 잔여 분율을 제3 광학 도파로에 전송하는 광학 분할기에 결합될 수 있다.
또 다른 양태에서, 장치는 광학 도파로에 의해 운반되는 각각의 광학 신호에 입력 벡터의 요소를 나타내는 입력 값의 세트를 인코딩하는 복수의 광학 도파로; 진폭 변조 레벨로서 행렬의 요소를 나타내는 계수의 세트를 인코딩하는 광학 신호에 결합된 광학 진폭 변조기의 세트- 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기 중 적어도 하나는 관련 광학 신호의 진폭 사이의 차이가 입력 값에 부호화된 행렬 요소 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호를 제공함 -; 및 각각의 전기 신호에 출력 벡터의 요소를 나타내는 출력 값의 세트를 인코딩하는 복수의 합산 모듈- 전기 신호 중 적어도 하나는 그 진폭이 행렬의 행의 각각의 요소로 승산된 입력 벡터의 각 요소에 각각의 요소의 합에 대응하는 전류의 형태임 -를 포함한다.
또 다른 양태에서, 입력 벡터에 주어진 행렬을 승산하는 방법은 광학 신호의 세트의 각각의 광학 신호에 입력 벡터의 요소를 나타내는 입력 값의 세트를 인코딩하는 단계; 하나 이상의 디바이스의 제1 세트를 하나 이상의 도파로의 제1 세트에 결합하여 광학 신호의 세트의 제1 서브세트를 제공하고, 주어진 행렬의 제1 부분 행렬에 광학 신호의 세트의 제1 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계; 하나 이상의 디바이스의 제2 세트를 하나 이상의 도파로의 제2 세트에 결합하여 광학 신호의 세트의 제2 서브세트를 제공하고, 주어진 행렬의 제2 부분 행렬에 광학 신호의 세트의 제2 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계; 하나 이상의 디바이스의 제3 세트를 하나 이상의 도파로의 제3 세트에 결합하여 제1 광학 분할기에 의해 생성된 광학 신호의 세트의 제1 서브세트의 사본을 제공하고 주어진 행렬의 제3 부분 행렬에 광학 신호의 세트의 제1 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계; 및 하나 이상의 디바이스의 제4 세트를 하나 이상의 도파로의 제4 세트에 결합하여 제2 광학 분할기에 의해 생성된 광학 신호의 세트의 제2 서브세트의 사본을 제공하고 주어진 행렬의 제4 부분 행렬에 광학 신호의 세트의 제2 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계를 포함하고, 함께 연접된 제1, 제2, 제3 및 제4 부분 행렬은 주어진 행렬을 형성하고; 주어진 행렬로 승산된 입력 벡터에 대응하는 출력 벡터의 요소를 나타내는 적어도 하나의 출력 값은 하나 이상의 디바이스의 제1 세트 및 하나 이상의 디바이스의 제2 세트와 통신하는 디바이스에 의해 생성된 전기 신호에 인코딩된다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 및 하나 이상의 디바이스의 제4 세트의 세트의 각 쌍은 상호 배타적일 수 있다.
또 다른 양태에서, 장치는 광학 신호의 제1 세트를 수신하고, 광학 신호의 제1 세트에 인코딩된 값을 승산한 제1 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제1 세트; 광학 신호의 제2 세트를 수신하고, 광학 신호의 제2 세트에 인코딩된 값을 승산한 제2 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제2 세트; 광학 신호의 제3 세트를 수신하고, 광학 신호의 제3 세트에 인코딩된 값을 승산한 제3 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제3 세트; 광학 신호의 제4 세트를 수신하고, 광학 신호의 제4 세트에 인코딩된 값을 승산한 제4 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제4 세트; 및 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 또는 하나 이상의 디바이스의 제4 세트 중 2개 이상의 사이의 구성 가능한 연결 경로를 포함하고, 구성 가능한 연결 경로의 제1 구성은 (1) 광학 신호의 제2 세트, 광학 신호의 제3 세트 또는 광학 신호의 제4 세트 중 적어도 하나로서 광학 신호의 제1 세트의 사본을 제공하고, (2) 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성된다.
또 다른 양태에서, 장치는 광학 신호의 제1 세트를 수신하고, 광학 신호의 제1 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제1 세트; 광학 신호의 제2 세트를 수신하고, 광학 신호의 제2 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제2 세트; 광학 신호의 제3 세트를 수신하고, 광학 신호의 제3 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제3 세트; 광학 신호의 제4 세트를 수신하고, 광학 신호의 제4 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제4 세트; 및 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 또는 하나 이상의 디바이스의 제4 세트 중 2개 이상의 사이의 구성 가능한 연결 경로를 포함하고, 구성 가능한 연결 경로의 제1 구성은 (1) 광학 신호의 제3 세트로서 광학 신호의 제1 세트의 사본을 제공하거나, (2) 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성된다.
장치의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 및 하나 이상의 디바이스의 제4 세트의 세트의 각 쌍은 상호 배타적일 수 있다.
일부 구현에서, 구성 가능한 연결 경로의 제1 구성은 (1) 광학 신호의 제3 세트로서 광학 신호의 제1 세트의 사본을 제공하고, (2) 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 적어도 2개의 상이한 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성된다.
일부 구현에서, 구성 가능한 연결 경로의 제1 구성은 광학 신호의 제3 세트로서 광학 신호의 제1 세트의 사본을 제공하도록 구성될 수 있고, 구성 가능한 연결 경로의 제2 구성은 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성된다.
또 다른 양태에서, 장치는 복수의 광학 도파로- 다수의 입력 값의 세트가 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩됨 -; 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성된 하나 이상의 복사 모듈의 대응하는 세트를 포함하는 복수의 복사 모듈; 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 값을 승산하도록 구성된 대응하는 승산 모듈을 포함하는 복수의 승산 모듈; 및 2개 이상의 승산 모듈의 결과에 대해, 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈을 포함하는 하나 이상의 합산 모듈- 상기 결과는 전기 신호로 인코딩되고 전기 신호로 전환되기 전에 단지 단일 광학 진폭 변조기를 통해 전파된 광학 신호의 사본 중 하나에서 유도됨 -을 포함한다.
다른 양태에서, 시스템은 복수의 변조기 제어 신호를 생성하도록 구성된 제1 유닛; 및 프로세서 유닛을 포함하고, 프로세서 유닛은 복수의 광 출력을 제공하도록 구성된 광원; 광원 및 제1 유닛에 결합된 복수의 광학 변조기- 복수의 광학 변조기는 복수의 변조기 제어 신호에 기초하여 광원에 의해 제공된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성되고, 광학 입력 벡터는 복수의 광학 신호를 포함함 -; 및 복수의 광학 변조기 및 제1 유닛에 결합된 행렬 승산 유닛- 행렬 승산 유닛은 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 아날로그 출력 벡터로 변환하도록 구성됨 -을 포함한다. 시스템은 또한 행렬 승산 유닛에 결합되고 아날로그 출력 벡터를 디지털화된 출력 벡터로 전환하도록 구성된 제2 유닛; 및 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는 제1 디지털 입력 벡터를 포함하는 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작; 제1 복수의 신경망 가중치를 수신하는 동작; 및 제1 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 동작을 포함하는 동작을 수행하도록 구성된다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 제1 유닛은 디지털 아날로그 변환기(DAC)를 포함할 수 있다.
일부 구현에서, 제2 유닛은 아날로그-디지털 변환기(ADC)를 포함할 수 있다.
일부 구현에서, 시스템은 데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함할 수 있다.
일부 구현에서, 제어기의 집적 회로는 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 것을 포함하는 동작을 수행하도록 추가로 구성될 수 있다.
일부 구현에서, 제1 유닛은 복수의 가중치 제어 신호를 생성하도록 구성될 수 있다.
일부 구현에서, 제어기는 주문형 집적 회로(ASIC)를 포함할 수 있고, 인공 신경망 계산 요청을 수신하는 것은 범용 데이터 프로세서로부터 인공 신경망 계산 요청을 수신하는 것을 포함할 수 있다.
일부 구현에서, 제1 유닛, 처리 유닛, 제2 유닛 및 제어기는 다중 칩 모듈 또는 집적 회로 중 적어도 하나에 배치될 수 있다. 인공 신경망 계산 요청을 수신하는 것은 제2 데이터 프로세서로부터 인공 신경망 계산 요청을 수신하는 것을 포함할 수 있으며, 제2 데이터 프로세서는 다중 칩 모듈 또는 집적 회로의 외부에 있을 수 있고, 제2 데이터 프로세서는 통신 채널을 통해 다중 칩 모듈 또는 집적 회로에 결합될 수 있고, 프로세서 유닛은 통신 채널의 데이터 레이트보다 적어도 10 배 더 큰 데이터 레이트로 데이터를 처리할 수 있다.
일부 구현에서, 제1 유닛, 프로세서 유닛, 제2 유닛, 및 제어기는 복수의 반복 동안 반복되는 광전자 처리 루프에서 사용될 수 있고, 광전자 처리 루프는 (1) 복수의 변조기 제어 신호 중 적어도 하나에 기초한 적어도 제1 광학 변조 동작, 및 가중치 제어 신호 중 적어도 하나에 기초한 적어도 제2 광학 변조 동작, 및 (2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나를 포함한다.
일부 구현에서, 광전자 처리 루프는 전기 저장 동작을 포함할 수 있고, 전기 저장 동작은 제어기에 결합된 메모리 유닛을 사용하여 수행될 수 있으며, 제어기에 의해 수행되는 동작은 입력 데이터세트 및 제1 복수의 신경망 가중치를 메모리 유닛에 저장하는 단계를 더 포함할 수 있다.
일부 구현에서, 광전자 처리 루프는 전기 합산 동작을 포함할 수 있고, 전기 합산 동작은 행렬 승산 유닛 내의 전기 합산 모듈을 사용하여 수행될 수 있으며, 전기 합산 모듈은 각각의 신경망 가중치를 승산한 광학 입력 벡터의 각 요소의 합을 나타내는 아날로그 출력 벡터의 요소에 대응하는 전기 전류를 생성하도록 구성될 수 있다.
일부 구현에서, 광전자 처리 루프는 복수의 변조기 제어 신호 중 적어도 하나에 기초한 단지 하나의 제1 광학 변조 동작 및 단일 루프 반복에서 수행된 가중치 제어 신호 중 적어도 하나에 기초한 단지 하나의 제2 광학 변조 동작이 존재하는 적어도 하나의 신호 경로를 포함할 수 있다.
일부 구현에서, 제1 광학 변조 동작은 광 출력의 소스 및 행렬 승산 유닛에 결합된 복수의 광학 변조기 중 하나에 의해 수행될 수 있고, 제2 광학 변조 동작은 행렬 승산 유닛에 포함된 광학 변조기에 의해 수행될 수 있다.
일부 구현에서, 광전자 처리 루프는 단일 루프 반복에서 수행되는 단지 하나의 전기 저장소가 존재하는 적어도 하나의 신호 경로를 포함할 수 있다.
일부 구현에서, 소스는 복수의 광 출력을 생성하도록 구성된 레이저 유닛을 포함할 수 있다.
일부 구현에서, 행렬 승산 유닛은 광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이- 광학 입력 벡터는 광학 신호의 제1 어레이를 포함함 -; 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및 광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함할 수 있고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신한다.
일부 구현에서, 광학 간섭 유닛은 복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함할 수 있고, 복수의 상호연결된 MZI의 각 MZI는 MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및 MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기를 포함하고, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합된다.
일부 구현에서, 행렬 승산 유닛은 복수의 복사 모듈- 각각의 복사 모듈은 광학 입력 벡터의 하나 이상의 광학 신호의 서브세트에 대응하고, 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성됨 -; 복수의 승산 모듈- 각각의 승산 모듈은 광학 진폭 변조를 사용하여 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하도록 구성된 하나 이상의 광학 신호의 서브세트에 대응함 -; 하나 이상의 합산 모듈- 각각의 합산 모듈은 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성됨 -을 포함할 수 있다.
일부 구현에서, 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공될 수 있다.
일부 구현에서, 행렬 승산 유닛은 입력 벡터에 하나 이상의 행렬 요소 값을 포함하는 행렬을 승산하도록 구성될 수 있다.
일부 구현에서, 다수의 출력 값의 세트는 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩될 수 있으며, 다수의 출력 값의 세트의 출력 값은 행렬로 승산한 입력 벡터로부터 생성된 출력 벡터의 요소를 나타낼 수 있다.
일부 구현에서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함할 수 있고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함할 수 있으며, 동작은 ADC 유닛으로부터, 행렬 승산 유닛의 아날로그 출력 벡터에 대응하는 제1 복수의 디지털화된 출력을 획득하는 동작- 제1 복수의 디지털화된 출력은 제1 디지털 출력 벡터를 형성함 -; 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 시스템은 메모리 유닛에 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계와 메모리 유닛에 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 가질 수 있고, 제1 루프 기간은 1ns 이하이다.
일부 구현에서, 동작은 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함할 수 있다.
일부 구현에서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함할 수 있고, 동작은 DAC 유닛을 통해, 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함할 수 있다.
일부 구현에서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함할 수 있고, 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함할 수 있으며, 동작은 제1 복수의 디지털화된 출력의 획득에 기초하여, DAC 유닛을 통해, 제2 복수의 신경망 가중치에 기초하여 제2 복수의 가중치 제어 신호를 생성하는 동작을 더 포함할 수 있다.
일부 구현에서, 제1 및 제2 복수의 신경망 가중치는 인공 신경망의 상이한 층에 대응할 수 있다.
일부 구현에서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함할 수 있고, 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함할 수 있다. 동작은 DAC 유닛을 통해, 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작; ADC 유닛으로부터, 행렬 승산 유닛의 출력 벡터에 대응하는 제2 복수의 디지털화된 출력을 획득하는 동작- 제2 복수의 디지털화된 출력은 제2 디지털 출력 벡터를 형성함 -; 제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작; 및 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함할 수 있다. 행렬 승산 유닛의 출력 벡터는 최초에 언급한 복수의 가중치 제어 신호에 기초하여 행렬 승산 유닛에 의해 변환된 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성될 수 있다.
일부 구현에서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함할 수 있고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함할 수 있다. 시스템은 행렬 승산 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함할 수 있고, 아날로그 비선형성 유닛은 행렬 승산 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 ADC 유닛에 출력하도록 구성될 수 있다. 제어기의 집적 회로에 의해 수행되는 동작은 ADC 유닛으로부터, 복수의 변환된 출력 전압에 대응하는 제1 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제1 복수의 변환된 디지털화된 출력 전압은 제1 변환된 디지털 출력 벡터를 형성함 -; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 제어기의 집적 회로는 8GHz 이상의 속도로 제1 복수의 변조기 제어 신호를 생성하도록 구성될 수 있다.
일부 구현에서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함할 수 있고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함할 수 있다. 행렬 승산 유닛은 복수의 광학 변조기 및 DAC 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및 광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함할 수 있다.
일부 구현에서, 시스템은 DAC 유닛과 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 아날로그 메모리 유닛은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성됨 -; 및 광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛- 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 출력하도록 구성됨 -을 더 포함할 수 있다.
일부 구현에서, 아날로그 메모리 유닛은 복수의 커패시터를 포함할 수 있다.
일부 구현에서, 아날로그 메모리 유닛은 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 수신 및 저장하고, 저장된 복수의 변환된 출력 전압을 복수의 광학 변조기에 출력하도록 구성될 수 있다. 동작은 제1 복수의 변조기 제어 신호 및 제1 복수의 가중치 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 아날로그 메모리 유닛에 저장하는 동작; 아날로그 메모리 유닛을 통해 저장된 변환된 출력 전압을 출력하는 동작; ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제2 복수의 변환된 디지털화된 출력 전압은 제2 변환된 디지털 출력 벡터를 형성함 -; 및 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함할 수 있고, 인공 신경망 계산 요청의 입력 데이터세트는 복수의 디지털 입력 벡터를 포함할 수 있다. 소스는 복수의 파장을 생성하도록 구성될 수 있다. 복수의 광학 변조기는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함할 수 있다. 광 검출 유닛은 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전압을 생성하도록 추가로 구성될 수 있다. 동작은 ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -; 복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작을 포함할 수 있다. 복수의 디지털 입력 벡터 각각은 복수의 광학 입력 벡터 중 하나에 대응할 수 있다.
일부 구현에서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함할 수 있고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함할 수 있으며, 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함할 수 있다. 소스는 복수의 파장을 생성하도록 구성될 수 있다. 복수의 광학 변조기는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함할 수 있다. 동작은 ADC 유닛으로부터, 복수의 파장을 포함하는 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -; 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함할 수 있다.
일부 구현에서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함할 수 있고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함할 수 있고, DAC 유닛은 복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함할 수 있다. ADC 유닛의 분해능은 1 비트일 수 있으며, 제1 디지털 입력 벡터의 분해능은 N 비트일 수 있다. 동작은 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -; 1 비트 DAC 서브유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작; ADC 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작; N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작; 변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함할 수 있다.
일부 구현에서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함할 수 있다. 메모리 유닛은 디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리; 및 복수의 신경망 가중치를 저장하도록 구성되고 적어도 하나의 DRAM을 포함하는 신경망 가중치 메모리를 포함할 수 있다.
일부 구현에서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함할 수 있고, DAC 유닛은 복수의 변조기 제어 신호를 생성하도록 구성된 제1 DAC 서브유닛; 및 복수의 가중치 제어 신호를 생성하도록 구성된 제2 DAC 서브유닛을 포함할 수 있고, 제1 및 제2 DAC 서브유닛은 상이하다.
일부 구현에서, 광원은 광을 생성하도록 구성된 레이저 소스; 및 레이저 소스에 의해 생성된 광을 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기를 포함할 수 있고, 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는다.
일부 구현에서, 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함할 수 있다.
일부 구현에서, 광 검출 유닛은 복수의 광검출기; 및 광검출기에 의해 생성된 광전류를 복수의 출력 전압으로 전환하도록 구성된 복수의 증폭기를 포함할 수 있다.
일부 구현에서, 집적 회로는 주문형 집적 회로일 수 있다.
일부 구현에서, 장치는 광학 변조기와 행렬 승산 유닛 사이에 결합된 복수의 광학 도파로를 포함할 수 있으며, 광학 입력 벡터는 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩된 다수의 입력 값의 세트를 포함할 수 있고, 광학 도파로 중 하나에 의해 운반되는 광학 신호 각각은 모든 광학 신호에 대해 실질적으로 동일한 공통 파장을 갖는 광학 파를 포함할 수 있다.
일부 구현에서, 복사 모듈은 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 제1 출력 포트로 전송하고 입력 포트에서 광학 파의 파워의 잔여 분율을 제2 출력 포트로 전송하는 광학 분할기를 포함하는 적어도 하나의 복사 모듈을 포함할 수 있다.
일부 구현에서, 광학 분할기는 입력 광학 도파로에 의해 유도된 광학 파의 파워의 미리 결정된 분율을 제1 출력 광학 도파로로 전송하고 입력 광학 도파로에 의해 안내된 광학 파 파워의 잔여 분율을 제2 출력 광학 도파로로 전송하는 도파로 광학 분할기를 포함할 수 있다.
일부 구현에서, 입력 광학 도파로의 안내 모드는 제1 및 제2 출력 광학 도파로 각각의 안내 모드에 단열적으로 결합될 수 있다.
일부 구현에서, 광학 분할기는 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 투과하고 입력 포트에서 광학 파의 파워의 잔여 분율을 반사하는 적어도 하나의 표면을 포함하는 빔 분할기를 포함할 수 있다.
일부 구현에서, 복수의 광학 도파로 중 적어도 하나는 광섬유의 안내 모드를 자유 공간 전파 모드에 결합하는 광학 커플러에 결합되는 광섬유를 포함할 수 있다.
일부 구현에서, 승산 모듈은 적어도 하나의 간섭성-감지 승산 모듈을 포함할 수 있고, 이는 적어도 간섭성-감지 승산 모듈을 통한 전파 거리만큼 긴 결맞음 길이를 가지는 광학 파 사이의 간섭에 기초한 광학 진폭 변조를 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하도록 구성된다.
일부 구현에서, 간섭성-감지 승산 모듈은 MZI(Mach-Zehnder Interferometer)를 포함할 수 있고, 이는 입력 광학 도파로에 의해 안내된 광학 파를 MZI의 제1 광학 도파로 암 및 MZI의 제2 광학 도파로 암으로 분할하며, 제1 광학 도파로 암은 제2 광학 도파로 암의 위상 지연에 대해 상대적인 위상 천이를 부여하는 위상 천이기를 포함하고, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 적어도 하나의 출력 광학 도파로로 조합할 수 있다.
일부 구현에서, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 제1 출력 광학 도파로 및 제2 출력 광학 도파로 각각에 조합할 수 있으며, 제1 광검출기는 제1 출력 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성할 수 있고, 제2 광검출기는 제2 출력 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성할 수 있으며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함할 수 있다.
일부 구현에서, 간섭성-감지 승산 모듈은 제1 광학 도파로에 결합된 적어도 하나의 링 공진기 및 제2 광학 도파로에 결합된 적어도 하나의 링 공진기를 포함하여 하나 이상의 링 공진기를 포함할 수 있다.
일부 구현에서, 제1 광검출기는 제1 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성할 수 있고, 제2 광검출기는 제2 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성할 수 있으며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함할 수 있다.
일부 구현에서, 승산 모듈은 광학 파 내의 에너지의 흡수에 기초한 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 적어도 하나의 간섭성-비감지 승산 모듈을 포함할 수 있다.
일부 구현에서, 간섭성-비감지 승산 모듈은 전계 흡수 변조기를 포함할 수 있다.
일부 구현에서, 하나 이상의 합산 모듈은 적어도 하나의 합산 모듈을 포함할 수 있고, 이는 (1) 진폭이 승산 모듈 중 각각의 하나의 각각의 결과를 나타내는 입력 전류의 형태로 전기 신호를 각각 운반하는 2개 이상의 입력 전도체 및 (2) 입력 전류의 합에 비례하는 출력 전류의 형태인 각각의 결과의 합을 나타내는 전기 신호를 운반하는 적어도 하나의 출력 전도체를 포함한다.
일부 구현에서, 2개 이상의 입력 전도체와 출력 전도체는 배선을 포함할 수 있고, 배선은 배선 사이의 하나 이상의 접합점에서 만나고, 출력 전류는 입력 전류의 합과 실질적으로 동일할 수 있다.
일부 구현에서, 입력 전류의 적어도 제1 입력 전류는 승산 모듈의 제1 승산 모듈에 의해 생성된 광학 신호를 수신하는 적어도 하나의 광검출기에 의해 생성된 적어도 하나의 광전류의 형태로 제공될 수 있다.
일부 구현에서, 제1 입력 전류는 제1 승산 모듈에 의해 둘 모두가 생성되는 상이한 각각의 광학 신호를 수신하는 상이한 각각의 광검출기에 의해 생성된 2개의 광전류 사이의 차이의 형태로 제공될 수 있다.
일부 구현에서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 입력 값 중 하나가 인코딩되는 단일 광학 신호로 구성될 수 있다.
일부 구현에서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값을 단일 행렬 요소 값으로 승산할 수 있다.
일부 구현에서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 하나보다 많은, 그리고, 다수의 입력 값이 인코딩되는 광학 신호 전체보다 적은 광학 신호를 포함할 수 있다.
일부 구현에서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값을 상이한 각각의 행렬 요소 값으로 승산할 수 있다.
일부 구현에서, 하나 이상의 광학 신호의 제1 서브세트의 상이한 각각의 사본에 대응하는 상이한 승산 모듈은 상이한 디바이스 사이에서 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나를 송신하도록 광학 통신하는 상이한 디바이스에 포함될 수 있다.
일부 구현에서, 복수의 광학 도파로 중 2개 이상, 복수의 복사 모듈 중 2개 이상, 복수의 승산 모듈 중 2개 이상, 및 하나 이상의 합산 모듈 중 적어도 하나가 공통 디바이스의 기판 상에 배열될 수 있다.
일부 구현에서, 디바이스는 벡터-행렬 승산을 수행할 수 있고, 입력 벡터는 광학 신호의 세트로 제공될 수 있고 출력 벡터는 전기 신호의 세트로 제공될 수 있다.
일부 구현에서, 장치는 승산 모듈 또는 합산 모듈의 출력에 대응하는 입력 전기 신호를 통합하는 누산기를 더 포함할 수 있으며, 입력 전기 신호는 다수의 시간 슬롯 각각에서 온-오프 진폭 변조를 사용하는 시간 도메인 인코딩을 사용하여 인코딩될 수 있으며, 누산기는 다수의 시간 슬롯에 걸친 시간 도메인 인코딩의 상이한 듀티 사이클에 대응하는 2개보다 많은 진폭 레벨로 인코딩된 출력 전기 신호를 생성할 수 있다.
일부 구현에서, 2개 이상의 승산 모듈은 각각 하나 이상의 광학 신호의 상이한 서브세트에 대응한다.
일부 구현에서, 장치는 하나 이상의 광학 신호의 제1 서브세트 내의 광학 신호와 상이한 하나 이상의 광학 신호의 제2 서브세트의 각 사본에 대해, 광학 진폭 변조를 사용하여 제2 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 승산 모듈을 더 포함할 수 있다.
또 다른 양태에서 시스템은 데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛; 및 복수의 변조기 제어 신호를 생성하도록 구성된 드라이버 유닛을 포함한다. 시스템은 광전자 프로세서를 포함하고, 이는 복수의 광 출력을 제공하도록 구성된 광원; 광원 및 드라이버 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 광원에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기; 복수의 광학 변조기 및 드라이버 유닛에 결합된 행렬 승산 유닛- 행렬 승산 유닛은 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 아날로그 출력 벡터로 변환하도록 구성됨 -; 및 행렬 승산 유닛에 결합되고 아날로그 출력 벡터를 복수의 디지털화된 1 비트 출력으로 변환하도록 구성된 비교기 유닛을 포함한다. 시스템은 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 N 비트의 분해능을 갖는 제1 디지털 입력 벡터를 포함함 -; 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 동작; 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -; 드라이버 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작; 비교기 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 출력의 시퀀스를 획득하는 동작; N개의 디지털화된 1 비트 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작; 변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및 변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 수행하도록 구성된다.
시스템의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 인공 신경망 계산 요청을 수신하는 동작은 범용 컴퓨터로부터 인공 신경망 계산 요청을 수신하는 동작을 포함할 수 있다.
일부 구현에서, 드라이버 유닛은 복수의 가중치 제어 신호를 생성하도록 구성될 수 있다.
일부 구현에서, 행렬 승산 유닛은 복수의 광학 변조기 및 드라이버 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및 광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함할 수 있다.
일부 구현에서, 행렬 승산 유닛은 광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이; 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및 광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함할 수 있고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신한다.
일부 구현에서, 광학 간섭 유닛은 복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함할 수 있고, 복수의 상호연결된 MZI의 각 MZI는 MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및 MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기를 포함하고, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합될 수 있다.
일부 구현에서, 행렬 승산 유닛은 광학 입력 벡터의 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성된 하나 이상의 복사 모듈의 대응하는 세트를 포함하는 복수의 복사 모듈; 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하도록 구성된 대응하는 승산 모듈을 포함하는 복수의 승산 모듈; 및 하나 이상의 합산 모듈로서, 2개 이상의 승산 모듈의 결과에 대해, 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성되는 합산 모듈을 포함하는 하나 이상의 합산 모듈을 포함할 수 있다.
일부 구현에서, 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함할 수 있고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공될 수 있다.
일부 구현에서, 행렬 승산 유닛은 입력 벡터에 하나 이상의 행렬 요소 값을 포함하는 행렬을 승산하도록 구성될 수 있다.
일부 구현에서, 다수의 출력 값의 세트는 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩될 수 있으며, 다수의 출력 값의 세트의 출력 값은 행렬로 승산한 입력 벡터로부터 생성된 출력 벡터의 요소를 나타낼 수 있다.
또 다른 양태에서, 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 아날로그 출력 벡터로 변환하도록 구성된 행렬 승산 유닛을 갖는 시스템에서 인공 신경망 계산을 수행하는 방법이 제공된다. 방법은 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 단계- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계; 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 단계; 행렬 승산 유닛의 출력 벡터에 대응하는 제1 복수의 디지털화된 출력을 획득하는 단계- 제1 복수의 디지털화된 출력은 제1 디지털 출력 벡터를 형성함 -; 제어기에 의해, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계; 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 단계; 및 제어기에 의해, 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 단계를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 인공 신경망 계산 요청을 수신하는 단계는 통신 채널을 통해 컴퓨터로부터 인공 신경망 계산 요청을 수신하는 단계를 포함할 수 있다.
일부 구현에서, 제1 복수의 변조기 제어 신호를 생성하는 단계는 디지털-아날로그 변환기(DAC) 유닛을 통해 제1 복수의 변조기 제어 신호를 생성하는 단계를 포함할 수 있다.
일부 구현에서, 제1 복수의 디지털화된 출력을 획득하는 단계는 아날로그-디지털 변환(ADC) 유닛으로부터 제1 복수의 디지털화된 출력을 획득하는 단계를 포함할 수 있다.
일부 구현에서, 방법은 광원 및 DAC 유닛에 결합된 복수의 광학 변조기에 제1 복수의 변조기 제어 신호를 적용하는 단계; 및 복수의 광학 변조기를 사용하여, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조하여 광학 입력 벡터를 생성하는 단계를 포함할 수 있다.
일부 구현에서, 행렬 승산 유닛은 복수의 광학 변조기 및 DAC 유닛에 결합될 수 있으며, 방법은 행렬 승산 유닛을 사용하여, 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 아날로그 출력 벡터로 변환하는 단계를 포함할 수 있다.
일부 구현에서, ADC 유닛은 행렬 승산 유닛에 결합될 수 있으며, 방법은 ADC 유닛을 사용하여, 아날로그 출력 벡터를 제1 복수의 디지털화된 출력으로 변환하는 단계를 포함할 수 있다.
일부 구현에서, 행렬 승산 유닛은 복수의 광학 변조기 및 DAC 유닛에 결합된 광학 행렬 승산 유닛을 포함할 수 있다. 광학 입력 벡터를 아날로그 출력 벡터로 변환하는 단계는 광학 행렬 승산 유닛을 사용하여 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 광학 출력 벡터로 변환하는 단계를 포함할 수 있다. 방법은 광학 행렬 승산 유닛에 결합된 광 검출 유닛을 사용하여, 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하는 단계를 포함할 수 있다.
일부 구현에서, 방법은 입력 도파로의 어레이에서 광학 입력 벡터를 수신하는 단계; 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛을 사용하여 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하는 단계; 및 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 사용하여 광학 신호의 제2 어레이를 안내하는 단계를 포함할 수 있고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신한다.
일부 구현에서, 광학 간섭 유닛은 복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함할 수 있으며, 복수의 상호연결된 MZI의 각 MZI는 제1 위상 천이기 및 제2 위상 천이기를 포함할 수 있으며, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합될 수 있다. 방법은 제1 위상 천이기를 이용하여 MZI의 분할 비율을 변경하고, 제2 위상 천이기를 이용하여 MZI의 하나의 출력의 위상을 천이하는 단계를 포함할 수 있다.
일부 구현에서, 방법은 광학 입력 벡터의 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트를 사용하여 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하는 단계; 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈을 사용하여, 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하는 단계; 및 2개 이상의 승산 모듈의 결과에 대해, 합산 모듈을 사용하여 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하는 단계를 포함할 수 있다.
일부 구현에서, 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함할 수 있고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공될 수 있다.
일부 구현에서, 방법은 행렬 승산 유닛을 사용하여, 하나 이상의 행렬 요소 값을 포함하는 행렬로 입력 벡터를 승산하는 단계를 포함할 수 있다.
일부 구현에서, 방법은 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 다수의 출력 값의 세트를 인코딩하는 단계; 및 다수의 출력 값의 세트 내의 출력 값을 사용하여, 행렬이 승산된 입력 벡터로부터 생성되는 출력 벡터의 요소를 표현하는 단계를 포함할 수 있다.
또 다른 양태에서, 방법은 입력 정보를 전자 형식으로 제공하는 단계; 전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계; 행렬 승산에 기초하여 광학 입력 벡터를 아날로그 출력 벡터로 광전자적으로 변환하는 단계; 및 비선형 변환을 아날로그 출력 벡터에 전자적으로 적용하여 전자 형식의 출력 정보를 제공하는 단계를 포함한다.
방법의 실시예는 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 방법은 전자 형식의 제공된 출력 정보에 대응하는 새로운 전자 입력 정보에 대해 전자-광학 전환, 광전자 변환, 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있다.
일부 구현에서, 초기 광전자 변환에 대한 행렬 승산 및 반복된 광전자 변환의 행렬 승산은 동일하고 인공 신경망의 동일한 층에 대응할 수 있다.
일부 구현에서, 초기 광전자 변환에 대한 행렬 승산 및 반복된 광전자 변환의 행렬 승산은 상이하고 인공 신경망의 상이한 층에 대응할 수 있다.
일부 구현에서, 방법은 전자 입력 정보의 상이한 부분에 대해 전자-광학 전환, 광전자 변환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있고, 초기 광전자 변환을 위한 행렬 승산 및 반복된 광전자 변환의 행렬 승산은 동일하고 인공 신경망의 제1 층에 대응한다.
일부 구현에서, 방법은 인공 신경망의 제1 층에 의해 전자 입력 정보의 다수의 부분에 대해 생성된 전자 출력 정보에 기초하여 중간 정보를 전자 형식으로 제공하는 단계; 및 전자 중간 정보의 상이한 부분 각각에 대해 전자-광학 전환, 광전자 변환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함할 수 있고, 초기 광전자 변환을 위한 행렬 승산 및 전자 중간 정보의 상이한 부분에 관련된 반복된 광전자 변환의 행렬 승산은 동일하고 인공 신경망의 제2 층에 대응할 수 있다.
다른 양태에서, 인공 신경망 계산을 수행하기 위한 시스템이 제공된다. 시스템은 복수의 벡터 제어 신호를 생성하고 복수의 가중치 제어 신호를 생성하도록 구성된 제1 유닛; 복수의 벡터 제어 신호에 기초하여 광학 입력 벡터를 제공하도록 구성된 제2 유닛; 및 제2 유닛 및 제1 유닛에 결합된 행렬 승산 유닛- 행렬 승산 유닛은 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 출력 벡터로 변환하도록 구성됨 -을 포함한다. 시스템은 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 및 제1 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 벡터 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 동작을 포함하는 동작을 수행하도록 구성되고, 제1 유닛, 제2 유닛, 행렬 승산 유닛 및 제어기는 복수의 반복 동안 반복되는 광전자 처리 루프에서 사용되며, 광전자 처리 루프는 (1) 적어도 2개의 광학 변조 동작, 및 (2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나를 포함하는, 방법.
다른 양태에서, 인공 신경망 계산을 수행하는 방법이 제공된다. 방법은 입력 정보를 전자 형식으로 제공하는 단계; 전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계; 신경망 가중치의 세트를 사용하여, 행렬 승산에 기초하여 광학 입력 벡터를 출력 벡터로 변환하는 단계를 포함한다. 제공 단계, 전환 단계 및 변환 단계는 상이한 각각의 신경망 가중치의 세트 및 상이한 각각의 입력 정보를 사용하여 복수의 반복 동안 반복되는 광전자 처리 루프에서 수행되며, 광전자 처리 루프는 (1) 적어도 2개의 광학 변조 동작, 및 (2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나를 포함하는, 방법.
본 명세서에 설명된 주제의 하나 이상의 실시예의 세부 사항이 첨부 도면 및 이하의 설명에 제시되어 있다. 본 발명의 다른 특징, 양태 및 이점은 설명, 도면 및 청구범위로부터 명백해질 것이다.
달리 정의되지 않는 한, 본 명세서에서 사용될 때, 모든 기술적 및 과학적 용어는 본 발명이 속하는 기술 분야의 통상의 기술자가 일반적으로 이해하는 것과 동일한 의미를 갖는다. 본 명세서에 참조로 포함된 특허 출원 또는 특허 출원 공보와 충돌하는 경우, 정의를 포함한 본 명세서가 우선할 것이다.
본 개시내용은 첨부 도면과 함께 읽을 때 다음의 상세한 설명으로부터 가장 잘 이해할 수 있다. 일반적인 관행에 따라, 도면의 다양한 특징은 축척에 따르는 것이 아님을 강조한다. 반대로, 다양한 특징의 치수는 명확성을 위해 임의로 확장 또는 축소되어 있다.
도 1a는 인공 신경망(ANN) 계산 시스템의 예의 개략도이다.
도 1b는 광학 행렬 승산 유닛의 예의 개략도이다.
도 1c 및 도 1d는 상호연결된 MZI(Mach-Zehnder interferometer)의 예시적인 구성의 개략도이다.
도 1e는 MZI의 예의 개략도이다.
도 1f는 파장 분할 멀티플렉싱된 ANN 계산 시스템의 예의 개략도이다.
도 2a는 ANN 계산을 수행하는 방법의 예를 보여주는 흐름도이다.
도 2b는 도 2a의 방법의 양태를 예시하는 도면이다.
도 3a 및 도 3b는 ANN 계산 시스템의 예의 개략도이다.
도 4a는 1 비트 내부 분해능을 갖는 ANN 계산 시스템의 예의 개략도이다.
도 4b는 도 4a의 ANN 계산 시스템의 동작의 수학적 표현이다.
도 5는 인공 신경망(ANN) 계산 시스템의 예의 개략도이다.
도 6은 광학 행렬 승산 유닛의 예의 도면이다.
도 7은 인공 신경망(ANN) 계산 시스템의 예의 개략도이다.
도 8은 광학 행렬 승산 유닛의 예의 도면이다.
도 9는 인공 신경망(ANN) 계산 시스템의 예의 개략도이다.
도 10은 광학 행렬 승산 유닛의 예의 도면이다.
도 11은 콤팩트 행렬 승산기 유닛의 예의 도면이다.
도 12a는 광자 행렬 승산기 유닛을 비교하는 도면을 도시한다.
도 12b는 콤팩트 상호연결 간섭계의 도면이다.
도 13은 콤팩트 행렬 승산기 유닛의 도면이다.
도 14는 광학 GAN(generative adversarial network)의 도면이다.
도 15는 마하-젠더 간섭계의 도면이다.
도 16, 도 17a 및 도 17b는 광자 회로의 도면이다.
도 18은 예시적인 광전자 컴퓨팅 시스템의 개략도이다.
도 19a 및 도 19b는 예시적인 시스템 구성의 개략도이다.
도 20a는 대칭성 차동 구성의 예의 개략도이다.
도 20b 및 도 20c는 시스템 모듈의 예의 회로도이다.
도 21a는 대칭성 차동 구성의 예의 개략도이다.
도 21b는 시스템 구성의 예의 개략도이다.
도 22a는 예시적인 광학 진폭 변조기의 개략도이다.
도 22b 내지 도 22d는 대칭성 차동 구성에서 광학 검출을 갖는 광학 진폭 변조기의 예의 개략도이다.
도 23a 내지 도 23c는 예시적인 시스템 구성의 광전자 회로도이다.
도 24a 내지 도 24e는 다수의 광전자 서브시스템을 사용하는 예시적인 컴퓨팅 시스템의 개략도이다.
도 25는 ANN 계산을 수행하는 방법의 예를 보여주는 흐름도이다.
도 26 및 도 27은 ANN 계산 시스템의 예의 개략도이다.
도 28은 수동 2D 광학 행렬 승산 유닛을 사용하는 신경망 계산 시스템의 예의 개략도이다.
도 29는 수동 3D 광학 행렬 승산 유닛을 사용하는 신경망 계산 시스템의 예의 개략도이다.
도 30은 시스템이 수동 2D 광학 행렬 승산 유닛을 사용하는 1 비트 내부 분해능을 갖는 인공 신경망 계산 시스템의 예의 개략도이다.
도 31은 시스템이 수동 3D 광학 행렬 승산 유닛을 사용하는 1 비트 내부 분해능을 갖는 인공 신경망 계산 시스템의 예의 개략도이다.
도 32a는 인공 신경망(ANN) 계산 시스템의 예의 개략도이다.
도 32b는 광전자 행렬 승산 유닛의 예의 개략도이다.
도 33은 광전자 프로세서를 사용하여 ANN 계산을 수행하는 방법의 예를 보여주는 흐름도이다.
도 34는 도 33의 방법의 양태를 예시하는 도면이다.
도 35a는 광전자 프로세서를 사용하는 파장 분할 멀티플렉싱된 ANN 계산 시스템의 예의 개략도이다.
도 35b 및 도 35c는 파장 분할 멀티플렉싱된 광전자 행렬 승산 유닛의 예의 개략도이다.
도 36 및 도 37은 광전자 행렬 승산 유닛을 사용하는 ANN 계산 시스템의 예의 개략도이다.
도 38은 시스템이 광전자 행렬 승산 유닛을 사용하는 1 비트 내부 분해능을 갖는 인공 신경망 계산 시스템의 예의 개략도이다.
도 39a는 마하-젠더 변조기의 예의 도면이다.
도 39b는 도 39a의 마하-젠더 변조기에 대한 강도 대 전압 곡선을 보여주는 그래프이다.
도 40은 호모다인 검출기의 개략도이다.
도 41은 각각이 다수의 파장을 갖는 신호를 운반하는 광섬유를 포함하는 계산 시스템의 개략도이다.
다양한 도면에서 동일한 참조 번호와 명칭은 동일한 요소를 나타낸다.
도 1a는 인공 신경망(ANN) 계산 시스템(100)의 예의 개략도를 도시하고 있다. 시스템(100)은 제어기(110), 메모리 유닛(120), 디지털-아날로그 변환기(DAC) 유닛(130), 광학 프로세서(140) 및 아날로그-디지털 변환기(ADC) 유닛(160)을 포함한다. 제어기(110)는 컴퓨터(102), 메모리 유닛(120), DAC 유닛(130) 및 ADC 유닛(160)에 결합된다. 제어기(110)는 ANN 계산을 수행하기 위해 ANN 계산 시스템(100)의 동작을 제어하도록 구성된 집적 회로를 포함한다.
제어기(110)의 집적 회로는 ANN 계산 프로세스의 단계를 수행하도록 특별히 구성된 주문형 집적 회로일 수 있다. 예를 들어, 집적 회로는 ANN 계산 프로세스를 수행하는 데 특정한 마이크로코드 또는 펌웨어를 구현할 수 있다. 이와 같이, 제어기(110)는 컴퓨터(102)와 같은 종래의 컴퓨터에서 사용되는 범용 프로세서에 비해 감소된 명령어 세트를 가질 수 있다. 일부 구현에서, 제어기(110)의 집적 회로는 ANN 계산 프로세스의 상이한 단계를 수행하도록 구성된 2개 이상의 회로를 포함할 수 있다.
ANN 계산 시스템(100)의 예시적인 동작에서, 컴퓨터(102)는 ANN 계산 시스템(100)에 인공 신경망 계산 요청을 발행할 수 있다. ANN 계산 요청은 ANN을 정의하는 신경망 가중치와 제공된 ANN에 의해 처리될 입력 데이터세트를 포함할 수 있다. 제어기(110)는 ANN 계산 요청을 수신하고, 입력 데이터세트 및 신경망 가중치를 메모리 유닛(120)에 저장한다.
입력 데이터세트는 ANN에서 처리할 다양한 디지털 정보에 대응할 수 있다. 입력 데이터세트의 예는 이미지 파일, 오디오 파일, LiDAR 포인트 클라우드, GPS 좌표 시퀀스를 포함하며, 입력 데이터세트로서 이미지 파일을 수신하는 것에 기초하여 ANN 계산 시스템(100)의 동작을 설명할 것이다. 일반적으로, 입력 데이터세트의 크기는 수백 개의 데이터 지점에서 수백만 개 이상의 데이터 지점에 이르기까지 크게 다를 수 있다. 예를 들어, 1 메가픽셀의 분해능을 가진 디지털 이미지 파일은 약 백만개의 픽셀을 가지며, 백만개의 픽셀 각각은 ANN에서 처리할 데이터 지점이 될 수 있다. 통상적인 입력 데이터세트의 많은 수의 데이터 지점으로 인해, 입력 데이터세트는 일반적으로 광학 프로세서(140)에 의해 개별적으로 처리될 더 작은 크기의 다수의 디지털 입력 벡터로 분할된다. 예를 들어, 그레이스케일 디지털 이미지의 경우, 디지털 입력 벡터의 요소는 이미지의 강도를 나타내는 8 비트 값일 수 있으며, 디지털 입력 벡터는 수십의 요소(예를 들어, 32개 요소, 64개 요소) 내지 수백의 요소(예를 들어, 256개 요소, 512개 요소)의 범위의 길이를 가질 수 있다. 일반적으로, 임의의 크기의 입력 데이터세트는 광학 프로세서(140)에서 처리하기에 적절한 크기의 디지털 입력 벡터로 분할될 수 있다. 입력 데이터세트의 요소 수가 디지털 입력 벡터의 길이로 나눌 수 없는 경우, 제로 패딩을 사용하여 디지털 입력 벡터의 길이로 나눌 수 있도록 데이터세트를 채울 수 있다. 개별 디지털 입력 벡터의 처리된 출력은 ANN을 통해 입력 데이터세트를 처리한 결과인 완전한 출력을 재구성하기 위해 처리될 수 있다. 일부 구현에서, 입력 데이터세트를 다수의 입력 벡터로 분할하는 것 및 후속 벡터 레벨 처리는 블록 행렬 승산 기술을 사용하여 구현될 수 있다.
신경망 가중치는 이러한 연결의 상대적 중요도 또는 가중치를 포함하여 ANN의 인공 뉴런의 연결성을 정의하는 일련의 값이다. ANN은 각각의 노드 세트와 함께 하나 이상의 은닉 층을 포함할 수 있다. 단일 은닉 층이 있는 ANN의 경우, ANN은 두 세트의 신경망 가중치로 정의될 수 있으며, 한 세트는 입력 노드와 은닉 층의 노드 사이의 연결성에 대응하는 세트이고, 제2 세트는 은닉 층과 출력 노드 사이의 연결성에 대응한다. 연결성을 설명하는 신경망 가중치의 세트 각각은 광학 프로세서(140)에 의해 구현될 행렬에 대응한다. 2개 이상의 은닉 층이 있는 ANN의 경우, 추가적인 은닉 층 사이의 연결성을 정의하기 위해 신경망 가중치의 추가적인 세트가 필요하다. 따라서, 일반적으로 ANN 계산 요청에 포함된 신경망 가중치는 ANN의 다양한 층 사이의 연결성을 나타내는 다수의 세트의 신경망 가중치를 포함할 수 있다.
처리할 입력 데이터세트는 일반적으로 개별 처리를 위해 다수의 더 작은 디지털 입력 벡터로 분할되므로, 입력 데이터세트는 일반적으로 디지털 메모리에 저장된다. 그러나, 컴퓨터(102)의 메모리와 프로세서 사이의 메모리 동작의 속도는 ANN 계산 시스템(100)이 ANN 계산을 수행할 수 있는 속도보다 상당히 느리다. 예를 들어, ANN 계산 시스템(100)은 컴퓨터(102)의 통상적인 메모리 판독 사이클 동안 수십 내지 수백 개의 ANN 계산을 수행할 수 있다. 이와 같이, ANN 계산 시스템(100)에 의한 ANN 계산이 다수의 ANN 계산 요청을 처리하는 과정 동안 시스템(100)과 컴퓨터(102) 사이의 데이터 전달을 수반하는 경우, ANN 계산 시스템(100)에 의해 수행될 수 있는 ANN 계산 속도는 그 전체 처리 속도 미만으로 제한될 수 있다. 예를 들어, 컴퓨터(102)가 그 자신의 메모리로부터 입력 데이터세트에 액세스하고, 요청될 때 제어기(110)에 디지털 입력 벡터를 제공한다면, ANN 계산 시스템(100)의 동작은 컴퓨터(102)와 제어기(110) 사이에 필요한 일련의 데이터 전달에 필요한 시간만큼 크게 느려질 것이다. 컴퓨터(102)의 메모리 액세스 레이턴시는 일반적으로 비결정적이며, 이는 디지털 입력 벡터가 ANN 계산 시스템(100)에 제공될 수 있는 속도를 더욱 복잡하게 하고 저하시킨다는 점에 유의해야 한다. 또한, 컴퓨터(102)의 프로세서 사이클은 컴퓨터(102)와 ANN 계산 시스템(100) 사이의 데이터 전달을 관리하는 데 낭비될 수 있다.
대신, 일부 구현에서, ANN 계산 시스템(100)은 전체 입력 데이터세트를 메모리 유닛(120)에 저장하며, 이는 ANN 계산 시스템(100)의 일부이고 ANN 계산 시스템에 의한 사용에 전용된다. 전용 메모리 유닛(120)은 메모리 유닛(120)과 제어기(110) 사이의 트랜잭션이 메모리 유닛(120)과 제어기(110) 사이에서 원활하고 중단없는 데이터 흐름을 가능하게 하도록 특정하게 적응될 수 있게 한다. 이러한 중단없는 데이터 흐름은 컴퓨터(102)와 같은 종래의 컴퓨터의 느린 메모리 동작에 의해 제한되지 않고 광학 프로세서(140)가 그 전체 처리 속도에서 행렬 승산을 수행할 수 있게 함으로써 ANN 계산 시스템(100)의 전체 처리량을 크게 개선시킬 수 있다. 또한, ANN 계산을 수행하는 데 필요한 모든 데이터가 컴퓨터(102)에 의해 단일 트랜잭션으로 ANN 계산 시스템(100)에 제공되기 때문에, ANN 계산 시스템(100)은 컴퓨터(102)에 독립적인 자족적 방식(self-contained manner)으로 ANN 계산을 수행할 수 있다. ANN 계산 시스템(100)의 이러한 자족적 동작은 컴퓨터(102)로부터 계산 부담을 덜어주고 ANN 계산 시스템(100)의 동작에서 외부 의존성을 제거하여 시스템(100)과 컴퓨터(102) 모두의 성능을 개선시킨다.
이제, ANN 계산 시스템(100)의 내부 동작을 설명할 것이다. 광학 프로세서(140)는 레이저 유닛(142), 변조기 어레이(144), 검출 유닛(146) 및 광학 행렬 승산(OMM) 유닛(150)을 포함한다. 광학 프로세서(140)는 길이 N의 디지털 입력 벡터를 길이 N의 광학 입력 벡터로 인코딩하고 광학 입력 벡터를 OMM 유닛(150)을 통해 전파함으로써 동작한다. OMM 유닛(150)은 길이 N의 광학 입력 벡터를 수신하고, 광학 도메인에서 수신된 광학 입력 벡터에 대해 N x N 행렬 승산을 수행한다. OMM 유닛(150)에 의해 수행되는 N x N 행렬 승산은 OMM 유닛(150)의 내부 구성에 의해 결정된다. OMM 유닛(150)의 내부 구성은 DAC 유닛(130)에 의해 생성된 것과 같은 전기 신호에 의해 제어될 수 있다.
OMM 유닛(150)은 다양한 방식으로 구현될 수 있다. 도 1b는 OMM 유닛(150)의 예의 개략도를 도시하고 있다. OMM 유닛(150)은 광학 입력 벡터를 수신하기 위한 입력 도파로(152)의 어레이; 입력 도파로(152)의 어레이와 광학 통신하는 광학 간섭 유닛(154); 및 광학 간섭 유닛(154)과 광학 통신하는 출력 도파로(156)의 어레이를 포함할 수 있다. 광학 간섭 유닛(154)은 광학 신호의 제2 어레이로의 광학 입력 벡터의 선형 변환을 수행한다. 출력 도파로의 어레이(156)는 광학 간섭 유닛(154)에 의해 출력된 광학 신호의 제2 어레이를 안내한다. 입력 도파로(152)의 어레이의 적어도 하나의 입력 도파로는 광학 간섭 유닛(154)을 통해 출력 도파로(156)의 어레이의 각각의 출력 도파로와 광학 통신한다. 예를 들어, 길이가 N인 광학 입력 벡터의 경우, OMM 유닛(150)은 N개의 입력 도파로(152) 및 N개의 출력 도파로(156)를 포함할 수 있다.
광학 간섭 유닛은 복수의 상호연결된 마하-젠더 간섭계(MZI)를 포함할 수 있다. 도 1c 및 도 1d는 상호연결된 MZI의 예시적인 구성(157 및 158)의 개략도를 도시하고 있다. MZI는 입력 도파로(152)의 어레이를 통해 수신된 광학 입력 벡터의 선형 변환을 달성하기 위해 구성(157 또는 158)에서와 같이 다양한 방식으로 상호연결될 수 있다.
도 1e는 MZI(170)의 예의 개략도를 도시하고 있다. MZI는 제1 입력 도파로(171), 제2 입력 도파로(172), 제1 출력 도파로(178) 및 제2 출력 도파로(179)를 포함한다. 또한, 복수의 상호연결된 MZI에서 각각의 MZI(170)는 MZI(170)의 분할 비율을 변경하도록 구성된 제1 위상 천이기(174); 및 제2 출력 도파로(179)를 통해 MZI(170)를 빠져나오는 광과 같은 MZI의 하나의 출력의 위상을 천이하도록 구성된 제2 위상 천이기(176)를 포함한다. MZI(170)의 제1 위상 천이기(174) 및 제2 위상 천이기(176)는 DAC 유닛(130)에서 생성된 복수의 가중치 제어 신호에 결합된다. 제1 및 제2 위상 천이기(174, 176)는 OMM 유닛(150)의 재구성 가능한 요소의 예이다. 재구성 요소의 예는 열-광학 위상 천이기 또는 전기-광학 위상 천이기를 포함한다. 열-광학 위상 천이기는 도파로를 가열하여 도파로 및 클래딩 물질의 굴절률을 변경하도록 동작하며, 이는 위상 변화로 해석된다. 전기-광학 위상 천이기는 전기장(예를 들어, LiNbO3, 역방향 바이어스 PN 접합) 또는 전류(예를 들어, 순방향 바이어스 PIN 접합)를 인가하여 동작하며, 이는 도파로 물질의 굴절률을 변경한다. 가중치 제어 신호를 변화시킴으로써, 상호연결된 MZI(170) 각각의 제1 및 제2 위상 천이기(174, 176)의 위상 지연이 변경될 수 있으며, 이는 OMM 유닛(150)의 광학 간섭 유닛(154)을 재구성하여 전체 광학 간섭 유닛(154)에 걸쳐 설정된 위상 지연에 의해 결정되는 특정 행렬 승산을 구현한다. OMM 유닛(150) 및 광학 간섭 유닛의 또 다른 실시예는 "APPARATUS AND METHODS FOR OPTICAL NEURAL NETWORK"이라는 명칭의 미국 특허 공개 번호 2017/0351293 A1에 개시되어 있으며, 이는 전문이 본 명세서에 참조로 통합된다.
광학 입력 벡터는 레이저 유닛(142) 및 변조기 어레이(144)를 통해 생성된다. 길이 N의 광학 입력 벡터는 길이 N의 디지털 입력 벡터의 각각의 요소 값에 대응하는 강도를 각각 갖는 N개의 독립적인 광학 신호를 포함한다. 예로서, 레이저 유닛(142)은 N개의 광 출력을 생성할 수 있다. N개의 광 출력은 동일한 파장이며 광학적으로 간섭성이다. 광 출력의 광학적 간섭성은 광 출력이 서로 광학적으로 간섭할 수 있게 하며, 이는 (예를 들어, MZI의 동작에서) OMM 유닛(150)에 의해 사용되는 특성이다. 또한, 레이저 유닛(142)의 광 출력은 실질적으로 서로 동일할 수 있다. 예를 들어, N개의 광 출력은 그 강도(예를 들어, 5 %, 3 %, 1 %, 0.5 %, 0.1 % 또는 0.01 % 이내) 및 그 상대 위상(예를 들어, 10도, 5도, 3도, 1도, 0.1도 이내)이 실질적으로 균일할 수 있다. 광 출력의 균일성은 광학 입력 벡터의 디지털 입력 벡터에 대한 충실도를 개선시켜 광학 프로세서(140)의 전체적인 정확도를 개선시킬 수 있다. 일부 구현에서, 레이저 유닛(142)의 광 출력은 출력 당 0.1mW 내지 50mW 범위의 광학 파워, 근적외선 범위(예를 들어, 900 nm 내지 1600 nm)의 파장 및 1 nm 미만의 선폭을 가질 수 있다. 레이저 유닛(142)의 광 출력은 단일 횡모드 광 출력일 수 있다.
일부 구현에서, 레이저 유닛(142)은 단일 레이저 소스 및 광학 파워 분할기를 포함한다. 단일 레이저 소스는 레이저 광을 생성하도록 구성된다. 광학 파워 분할기는 레이저 소스에 의해 생성된 광을 실질적으로 동일한 강도 및 위상의 N개의 광 출력으로 분할하도록 구성된다. 단일 레이저 출력을 다수의 출력으로 분할함으로써 다수의 광 출력의 광학적 간섭성을 달성할 수 있다. 단일 레이저 소스는 예를 들어 반도체 레이저 다이오드, 수직 공동 표면 방출 레이저(VCSEL), 분산 피드백(DFB) 레이저 또는 분산 브래그 반사기(DBR) 레이저일 수 있다. 광학 파워 분할기는 예를 들어 1:N 멀티모드 간섭(MMI) 분할기, 다수의 1:2 MMG 분할기 또는 방향성 커플러를 포함하는 다단계 분할기, 또는 스타 커플러일 수 있다. 일부 다른 구현에서, 마스터-슬레이브 레이저 구성이 사용될 수 있으며, 여기서 슬레이브 레이저는 마스터 레이저와 안정된 위상 관계를 갖도록 마스터 레이저에 의해 주입 잠금(injection locked)된다.
레이저 유닛(142)의 광 출력은 변조기 어레이(144)에 결합된다. 변조기 어레이(144)는 레이저 유닛(142)으로부터 광 입력을 수신하고 전기 신호인 변조기 제어 신호에 기초하여 수신된 광 입력의 강도를 변조하도록 구성된다. 변조기의 예는 MZI(Mach-Zehnder Interferometer) 변조기, 링 공진기 변조기 및 전계 흡수 변조기를 포함한다. 변조기 어레이(144)는 레이저 유닛(142)의 N개의 광 출력 중 하나를 각각 수신하는 N개의 변조기를 갖는다. 변조기는 디지털 입력 벡터의 요소에 대응하는 제어 신호를 수신하고 광의 강도를 변조한다. 제어 신호는 DAC 유닛(130)에 의해 생성될 수 있다.
DAC 유닛(130)은 제어기(110)의 제어 하에 다수의 변조기 제어 신호를 생성하고 다수의 가중치 제어 신호를 생성하도록 구성된다. 예를 들어, DAC 유닛(130)은 제어기(110)로부터 광학 프로세서(140)에서 처리할 디지털 입력 벡터에 대응하는 제1 DAC 제어 신호를 수신한다. DAC 유닛(130)은 제1 DAC 제어 신호에 기초하여 변조기 어레이(144)를 구동하기에 적절한 아날로그 신호인 변조기 제어 신호를 생성한다. 아날로그 신호는 예를 들어 어레이(144)의 변조기의 기술 및 설계에 따라 전압 또는 전류일 수 있다. 전압은 예를 들어 ± 0.1V 내지 ± 10V 범위의 진폭을 가질 수 있고, 전류는 예를 들어 100μA 내지 100mA 범위의 진폭을 가질 수 있다. 일부 구현에서, DAC 유닛(130)은 어레이(144)의 변조기가 적절하게 구동될 수 있도록 아날로그 신호를 버퍼링, 증폭 또는 조절하도록 구성된 변조기 드라이버를 포함할 수 있다. 예를 들어, 일부 유형의 변조기는 차동 제어 신호로 구동될 수 있다. 이러한 용이성에서, 변조기 드라이버는 단일 종단 입력 신호에 기초하여 차동 전기 출력을 생성하는 차동 드라이버일 수 있다. 다른 예로, 일부 유형의 변조기는 광학 프로세서(140)의 원하는 처리 속도보다 낮은 3dB 대역폭을 가질 수 있다. 이러한 경우에, 변조기 드라이버는 변조기의 동작 대역폭을 확장하도록 설계된 프리엠퍼시스 회로 또는 기타 대역폭 개선 회로를 포함할 수 있다.
일부 경우에, 어레이(144)의 변조기는 비선형 전달 함수를 가질 수 있다. 예를 들어, MZI 광학 변조기는 인가된 제어 전압과 그 송신 사이에 비선형 관계(예를 들어, 정현파 의존성)를 가질 수 있다. 이러한 경우에, 제1 DAC 제어 신호는 디지털 입력 벡터와 생성된 광학 입력 벡터 사이의 선형 관계가 유지될 수 있도록 변조기의 비선형 전달 함수에 기초하여 조절 또는 보상될 수 있다. 이러한 선형성을 유지하는 것은 일반적으로 OMM 유닛(150)에 대한 입력이 디지털 입력 벡터의 정확한 표현임을 보장하는 데 중요하다. 일부 구현에서, 제1 DAC 제어 신호의 보상은 디지털 입력 벡터의 값을 DAC 유닛(130)에 의해 출력될 값에 맵핑하는 참조표에 의거하여 제어기(110)에 의해 수행되며, 그래서, 결과적인 변조된 광학 신호가 디지털 입력 벡터의 요소에 선형적으로 비례한다. 참조표는 변조기의 비선형 전달 함수를 특성화하고 비선형 전달 함수의 역함수를 계산하여 생성될 수 있다.
일부 구현에서, 변조기의 비선형성 및 생성된 광학 입력 벡터의 결과적인 비선형성은 ANN 계산 알고리즘에 의해 보상될 수 있다.
변조기 어레이(144)에 의해 생성된 광학 입력 벡터는 OMM 유닛(150)에 입력된다. 광학 입력 벡터는 디지털 입력 벡터의 요소에 대응하는 광학 파워를 각각 갖는 N개의 공간적으로 분리된 광학 신호일 수 있다. 광학 신호의 광학 파워는 일반적으로 예를 들어 1μW 내지 10mW의 범위이다. OMM 유닛(150)은 광학 입력 벡터를 수신하고 그 내부 구성에 기초하여 N x N 행렬 승산을 수행한다. 내부 구성은 DAC 유닛(130)에 의해 생성된 전기 신호에 의해 제어된다. 예를 들어, DAC 유닛(130)은 제어기(110)로부터 OMM 유닛(150)이 구현할 신경망 가중치에 대응하는 제2 DAC 제어 신호를 수신한다. DAC 유닛(130)은 제2 DAC 제어 신호에 기초하여 OMM 유닛(150) 내의 재구성 가능한 요소를 제어하기에 적절한 아날로그 신호인 가중치 제어 신호를 생성한다. 아날로그 신호는 예를 들어 OMM 유닛(150)의 재구성 요소의 유형에 따라 전압 또는 전류일 수 있다. 전압은 예를 들어 0.1V 내지 10V 범위의 진폭을 가질 수 있고, 전류는 예를 들어 100μA 내지 10mA 범위의 진폭을 가질 수 있다.
변조기 어레이(144)는 OMM 유닛(150)이 재구성될 수 있는 재구성 속도와 상이한 변조 속도로 동작할 수 있다. 변조기 어레이(144)에 의해 생성된 광학 입력 벡터는 OMM 유닛(150)의 광학 특성(예를 들어, 유효 인덱스)에 따라 광속의 상당한 분율(예를 들어, 광속의 80 %, 50 % 또는 25 %)에서 OMM 유닛을 통해 전파된다. 통상적인 OMM 유닛(150)의 경우, 광학 입력 벡터의 전파 시간은 1 내지 수십 피코초 범위이며, 이는 처리 속도에서 수십 내지 수백 GHz에 대응한다. 이와 같이, 광학 프로세서(140)가 행렬 승산 동작을 수행할 수 있는 속도는 광학 입력 벡터가 생성될 수 있는 속도에 의해 부분적으로 제한된다. 대역폭이 수십 GHz인 변조기를 쉽게 입수할 수 있으며, 대역폭이 100GHz를 초과하는 변조기가 개발되고 있다. 이와 같이, 변조기 어레이(144)의 변조 속도는 예를 들어 5GHz, 8GHz 또는 수십 GHz 내지 수백GHz까지의 범위일 수 있다. 이러한 변조 속도에서 변조기 어레이(144)의 동작을 유지하기 위해, 제어기(110)의 집적 회로는 예를 들어 5GHz, 8GHz, 10GHz, 20GHz, 25GHz, 50GHz 또는 100GHz 이상의 속도로 DAC 유닛(130)에 대한 제어 신호를 출력하도록 구성될 수 있다.
OMM 유닛(150)의 재구성 속도는 OMM 유닛(150)에 의해 구현되는 재구성 가능 요소의 유형에 따라 변조 속도보다 상당히 느릴 수 있다. 예를 들어, OMM 유닛(150)의 재구성 가능한 요소는 마이크로 가열기를 사용하여 OMM 유닛(150)의 광학 도파로의 온도를 조절하는 열-광학 유형일 수 있으며, 이는 차례로 OMM 유닛(150) 내의 광학 신호의 위상에 영향을 미치고 행렬 승산을 초래한다. 구조의 가열 및 냉각과 관련된 열 시간 상수로 인해 재구성 속도는 예를 들어 수백 kHz 내지 수십 MHz로 제한될 수 있다. 이와 같이, 변조기 어레이(144)를 제어하기 위한 변조기 제어 신호 및 OMM 유닛(150)을 재구성하기 위한 가중치 제어 신호는 속도에서 상당히 다른 요구 사항을 가질 수 있다. 또한, 변조기 어레이(144)의 전기적 특성은 OMM 유닛(150)의 재구성 가능한 요소의 전기적 특성과 상당히 다를 수 있다.
변조기 제어 신호 및 가중치 제어 신호의 상이한 특성을 수용하기 위해, 일부 구현에서, DAC 유닛(130)은 제1 DAC 서브유닛(132) 및 제2 DAC 서브유닛(134)을 포함할 수 있다. 제1 DAC 서브유닛(132)은 변조기 제어 신호를 생성하도록 구체적으로 구성될 수 있고, 제2 DAC 서브유닛(134)은 가중치 제어 신호를 생성하도록 구체적으로 구성될 수 있다. 예를 들어, 변조기 어레이(144)의 변조 속도는 25GHz일 수 있고, 제1 DAC 서브유닛(132)은 25GSPS(giga-samples per second)의 채널당 출력 업데이트 속도 및 8 비트 이상의 분해능을 가질 수 있다. OMM 유닛(150)의 재구성 속도는 1MHz일 수 있고, 제2 DAC 서브유닛(134)은 1MSPS(mega-samples per second)의 출력 업데이트 속도와 10 비트의 분해능을 가질 수 있다. 개별 DAC 서브유닛(132 및 134)을 구현하는 것은 DAC 유닛(130)의 총 전력 소비, 복잡성, 비용 또는 이들의 조합을 감소시킬 수 있는 각각의 신호에 대한 DAC 서브유닛의 독립적인 최적화를 허용한다. DAC 서브유닛(132, 134)은 DAC 유닛(130)의 서브 요소로 설명되지만, 일반적으로 DAC 서브유닛(132, 134)은 공통 칩에 통합되거나 별도의 칩으로 구현될 수 있다.
제1 DAC 서브유닛(132) 및 제2 DAC 서브유닛(134)의 상이한 특성에 기초하여, 일부 구현에서, 메모리 유닛(120)은 제1 메모리 서브유닛 및 제2 메모리 서브유닛을 포함할 수 있다. 제1 메모리 서브유닛은 입력 데이터세트 및 디지털 입력 벡터를 저장하기 위한 전용 메모리일 수 있으며, 변조 속도를 지원하기에 충분한 동작 속도를 가질 수 있다. 제2 메모리 서브유닛은 신경망 가중치를 저장하기 위한 전용 메모리일 수 있으며, OMM 유닛(150)의 재구성 속도를 지원하기에 충분한 동작 속도를 가질 수 있다. 일부 구현에서, 제1 메모리 서브유닛은 SRAM을 사용하여 구현될 수 있고, 제2 메모리 서브유닛은 DRAM을 사용하여 구현될 수 있다. 일부 구현에서, 제1 및 제2 메모리 서브유닛은 DRAM을 사용하여 구현될 수 있다. 일부 구현에서, 제1 메모리 유닛은 제어기(110)의 일부 또는 그 캐시로서 구현될 수 있다. 일부 구현에서, 제1 및 제2 메모리 서브유닛은 상이한 어드레스 공간으로서 단일 물리적 메모리 디바이스에 의해 구현될 수 있다.
OMM 유닛(150)은 광학 입력 벡터와 신경망 가중치의 N x N 행렬 승산 결과에 대응하는 길이 N의 광학 출력 벡터를 출력한다. OMM 유닛(150)은 광학 출력 벡터의 N개의 광학 신호에 대응하는 N개의 출력 전압을 생성하도록 구성된 검출 유닛(146)에 결합된다. 예를 들어, 검출 유닛(146)은 광학 신호를 흡수하고 광전류를 생성하도록 구성된 N개의 광검출기 어레이와 광전류를 출력 전압으로 전환하도록 구성된 N개의 트랜스임피던스 증폭기의 어레이를 포함할 수 있다. 광검출기 및 트랜스임피던스 증폭기의 대역폭은 변조기 어레이(144)의 변조 속도에 기초하여 설정될 수 있다. 광검출기는 검출되는 광학 출력 벡터의 파장에 기초하여 다양한 물질로 형성될 수 있다. 광검출기용 물질로는 게르마늄, 실리콘-게르마늄 합금, 인듐 갈륨 비소(InGaAs) 등이 있다.
검출 유닛(146)은 ADC 유닛(160)에 결합된다. ADC 유닛(160)은 N개의 출력 전압을 N개의 디지털화된 광학 출력으로 전환하도록 구성되며, 이는 출력 전압의 양자화된 디지털 표현이다. 예를 들어, ADC 유닛(160)은 N 채널 ADC일 수 있다. 제어기(110)는 ADC 유닛(160)으로부터 광학 행렬 승산 유닛(150)의 광학 출력 벡터에 대응하는 N개의 디지털화된 광학 출력을 획득할 수 있다. 제어기(110)는 N개의 디지털화된 광학 출력으로부터 길이 N의 입력 디지털 벡터의 N x N 행렬 승산의 결과에 대응하는 길이 N의 디지털 출력 벡터를 형성할 수 있다.
ANN 계산 시스템(100)의 다양한 전기적 컴포넌트는 다양한 방식으로 통합될 수 있다. 예를 들어, 제어기(110)는 반도체 다이 상에 제조되는 주문형 집적 회로일 수 있다. 메모리 유닛(120), DAC 유닛(130), ADC 유닛(160) 또는 이들의 조합과 같은 다른 전기 컴포넌트가 제어기(110)가 제조되는 반도체 다이에 모놀리식으로 통합될 수 있다. 또 다른 예로, 2개 이상의 전기 부품을 SoC(System-on-Chip)로 통합할 수 있다. SoC 구현에서, 제어기(110), 메모리 유닛(120), DAC 유닛(130) 및 ADC 유닛(160)은 각각의 다이상에서 제조될 수 있고, 각각의 다이는 통합 컴포넌트 사이의 전기적 연결을 제공하는 공통 플랫폼(예를 들어, 인터포저) 상에 통합될 수 있다. 이러한 SoC 접근법은 컴포넌트가 인쇄 회로 보드(PCB)에 개별적으로 배열되고 라우팅되는 접근법에 비해 ANN 계산 시스템(100)의 전자 컴포넌트 사이에서 더 빠른 데이터 전달을 가능하게 하여 ANN 계산 시스템(100)의 동작 속도를 개선한다. 또한, SoC 접근법은 서로 다른 전기 컴포넌트에 최적화된 서로 다른 제조 기술을 사용할 수 있게 하며, 이는 서로 다른 컴포넌트의 성능을 개선하고 모놀리식 통합 접근법에 비해 전체 비용을 감소시킬 수 있다. 제어기(110), 메모리 유닛(120), DAC 유닛(130) 및 ADC 유닛(160)의 통합에 대해 설명하였으나, 일반적으로 일부 컴포넌트는 통합될 수 있고 다른 컴포넌트는 성능 또는 비용과 같은 다양한 이유로 이산 컴포넌트로 구현될 수 있다. 예를 들어, 일부 구현에서, 메모리 유닛(120)은 제어기(110) 내의 기능 블록으로서 제어기(110)와 통합될 수 있다.
ANN 계산 시스템(100)의 다양한 광학 컴포넌트는 또한 다양한 방식으로 통합될 수 있다. ANN 계산 시스템(100)의 광학 컴포넌트의 예는 레이저 유닛(142), 변조기 어레이(144), OMM 유닛(150) 및 검출 유닛(146)의 광검출기를 포함한다. 이러한 광학 컴포넌트는 성능을 개선시키고/거나 비용을 감소시키기 위해 다양한 방식으로 통합될 수 있다. 예를 들어, 레이저 유닛(142), 변조기 어레이(144), OMM 유닛(150) 및 광검출기는 광자 집적 회로(PIC)로서 공통 반도체 기판 상에 모놀리식으로 통합될 수 있다. 화합물 반도체 물질 시스템(예를 들어, InP와 같은 III-V 화합물 반도체)을 기반으로 형성된 광자 집적 회로에서, 레이저, 전계 흡수 변조기와 같은 변조기, 도파로 및 광검출기는 단일 다이에 모놀리식으로 통합될 수 있다. 이러한 모놀리식 통합 접근법은 서브 마이크론에서 수 마이크론 범위의 정렬 정확도를 필요로 할 수 있는 다양한 이산 광학 컴포넌트의 입력 및 출력을 정렬하는 복잡성을 감소시킬 수 있다. 다른 예로서, 레이저 유닛(142)의 레이저 소스는 화합물-반도체 다이 상에 제조될 수 있고, 레이저 유닛(142)의 광학 파워 분할기, 변조기 어레이(144), OMM 유닛(150) 및 검출 유닛의 광검출기(146)는 실리콘 다이 상에 제조될 수 있다. 실리콘 포토닉스 기술로 지칭될 수 있는 실리콘 웨이퍼에 제조된 PIC는 일반적으로 III-V 기반 PIC에 비해 더 큰 집적 밀도, 더 높은 리소그래피 분해능 및 더 낮은 비용을 갖는다. 이러한 더 큰 집적 밀도는 OMM 유닛(150)이 일반적으로 파워 분할기 및 위상 천이기와 같은 수십 내지 수백개의 광학 컴포넌트를 포함하기 때문에 OMM 유닛(150)의 제조에 유익할 수 있다. 또한, 실리콘 포토닉스 기술의 더 높은 리소그래피 분해능은 OMM 유닛(150)의 제조 변동을 감소시켜 OMM 유닛(150)의 정확도를 개선시킬 수 있다.
ANN 계산 시스템(100)은 다양한 폼 팩터로 구현될 수 있다. 예를 들어, ANN 계산 시스템(100)은 호스트 컴퓨터에 플러깅되는(plugged) 코프로세서로서 구현될 수 있다. 이러한 시스템(100)은 예를 들어 PCI 익스프레스 카드의 폼 팩터를 가질 수 있고 PCIe 버스를 통해 호스트 컴퓨터와 통신할 수 있다. 호스트 컴퓨터는 다중 코프로세서 유형 ANN 계산 시스템(100)을 호스팅할 수 있고 네트워크를 통해 컴퓨터(102)에 연결될 수 있다. 이러한 유형의 구현은 서버의 랙이 다른 컴퓨터 또는 서버에서 수신된 ANN 계산 요청을 처리하는 데 전용될 수 있는 클라우드 데이터 센터에서의 사용에 적합할 수 있다. 다른 예로서, 코프로세서 유형 ANN 계산 시스템(100)은 ANN 계산 요청을 발행하는 컴퓨터(102)에 직접 플러깅될 수 있다.
일부 구현에서, ANN 계산 시스템(100)은 실시간 ANN 계산 능력을 요구하는 물리적 시스템에 통합될 수 있다. 예를 들어, 자율 주행 차량, 자율 드론, 물체 또는 얼굴 인식 보안 카메라 및 다양한 사물 인터넷(IoT) 디바이스와 같은 실시간 인공 지능 작업에 크게 의존하는 시스템은 ANN 계산 시스템(100)이 이러한 시스템의 다른 서브시스템과 직접 통합되는 것으로부터 이익을 얻을 수 있다. 직접 통합된 ANN 계산 시스템(100)을 갖는 것은 인터넷 연결이 불량하거나 없는 디바이스에서 실시간 인공 지능을 가능하게 할 수 있고, 미션 크리티컬 인공 지능 시스템의 신뢰성 및 가용성을 개선시킬 수 있다.
DAC 유닛(130) 및 ADC 유닛(160)은 제어기(110)에 결합되는 것으로 예시되어 있지만, 일부 구현에서, DAC 유닛(130), ADC 유닛(160) 또는 둘 모두가 대안적으로 또는 추가적으로 메모리 유닛(120)에 결합될 수 있다. 예를 들어, DAC 유닛(130) 또는 ADC 유닛(160)에 의한 직접 메모리 액세스(DMA) 동작은 제어기(110)의 계산 부담을 줄이고 메모리 유닛(120)에 대한 판독 및 기입의 레이턴시를 감소시켜 ANN 계산 유닛(100)의 동작 속도를 추가로 개선시킬 수 있다.
도 2는 ANN 계산을 수행하기 위한 방법(200)의 예의 흐름도를 도시하고 있다. 프로세스(200)의 단계는 제어기(110)에 의해 수행될 수 있다. 일부 구현에서, 방법(200)의 다양한 단계는 병렬, 조합, 루프 또는 임의의 순서로 실행될 수 있다.
210에서, 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망(ANN) 계산 요청이 수신된다. 입력 데이터세트는 제1 디지털 입력 벡터를 포함한다. 제1 디지털 입력 벡터는 입력 데이터세트의 서브세트이다. 예를 들어, 이는 이미지의 하위 영역일 수 있다. ANN 계산 요청은 컴퓨터(102)와 같은 다양한 엔티티에 의해 생성될 수 있다. 컴퓨터는 개인용 컴퓨터, 서버 컴퓨터, 차량 컴퓨터 및 비행 컴퓨터와 같은 하나 이상의 다양한 유형의 컴퓨팅 디바이스를 포함할 수 있다. ANN 계산 요청은 일반적으로 수행될 ANN 계산을 ANN 계산 시스템(100)에 통지하거나 알리는 전기 신호를 지칭한다. 일부 구현에서, ANN 계산 요청은 2개 이상의 신호로 분할될 수 있다. 예를 들어, 제1 신호는 시스템(100)이 입력 데이터세트 및 제1 복수의 신경망 가중치를 수신할 준비가 되었는지 여부를 확인하기 위해 ANN 계산 시스템(100)에 질의할 수 있다. 시스템(100)에 의한 긍정 확인응답에 응답하여, 컴퓨터는 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 제2 신호를 전송할 수 있다.
220에서, 입력 데이터세트 및 제1 복수의 신경망 가중치가 저장된다. 제어기(110)는 입력 데이터세트 및 제1 복수의 신경망 가중치를 메모리 유닛(120)에 저장할 수 있다. 입력 데이터세트 및 제1 복수의 신경망 가중치를 메모리 유닛(120)에 저장하는 것은, 예를 들어 시스템의 전체 성능을 개선할 수 있는 ANN 계산 시스템(100)의 동작의 유연성을 허용할 수 있다. 예를 들어, 입력 데이터세트는 메모리 유닛(120)으로부터 입력 데이터세트의 원하는 부분을 검색함으로써 설정된 크기 및 포맷의 디지털 입력 벡터로 분할될 수 있다. 입력 데이터세트의 상이한 부분들을 다양한 순서로 처리하거나 셔플링하여 다양한 유형의 ANN 계산을 수행할 수 있다. 예를 들어, 셔플링은 입력 및 출력 행렬 크기가 다른 경우 블록 행렬 승산 기술에 의한 행렬 승산을 허용할 수 있다. 다른 예로서, 메모리 유닛(120)에 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 것은 ANN 계산 시스템(100)에 의한 다수의 ANN 계산 요청의 대기열화를 허용할 수 있으며, 이는 시스템(100)이 비활성 기간 없이 그 최대 속도로 동작을 유지하도록 할 수 있게 한다.
일부 구현에서, 입력 데이터세트는 제1 메모리 서브유닛에 저장될 수 있고, 제1 복수의 신경망 가중치는 제2 메모리 서브유닛에 저장될 수 있다.
230에서, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호가 생성되고, 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호가 생성된다. 제어기(110)는 제1 복수의 변조기 제어 신호를 생성하기 위해 제1 DAC 제어 신호를 DAC 유닛(130)으로 전송할 수 있다. DAC 유닛(130)은 제1 DAC 제어 신호에 기초하여 제1 복수의 변조기 제어 신호를 생성하고, 변조기 어레이(144)는 제1 디지털 입력 벡터를 나타내는 광학 입력 벡터를 생성한다.
제1 DAC 제어 신호는 DAC 유닛(130)에 의해 제1 복수의 변조기 제어 신호로 전환될 다수의 디지털 값을 포함할 수 있다. 다수의 디지털 값은 일반적으로 제1 디지털 입력 벡터와 대응하며 다양한 수학적 관계 또는 참조표를 통해 관련될 수 있다. 예를 들어, 다수의 디지털 값은 제1 디지털 입력 벡터의 요소의 값에 선형적으로 비례할 수 있다. 다른 예로서, 다수의 디지털 값은 디지털 입력 벡터와 변조기 어레이(144)에 의해 생성된 광학 입력 벡터 사이의 선형 관계를 유지하도록 구성된 참조표를 통해 제1 디지털 입력 벡터의 요소와 관련될 수 있다.
제어기(110)는 제1 복수의 가중치 제어 신호를 생성하기 위해 제2 DAC 제어 신호를 DAC 유닛(130)으로 전송할 수 있다. DAC 유닛(130)은 제2 DAC 제어 신호에 기초하여 제1 복수의 가중치 제어 신호를 생성하고, OMM 유닛(150)은 제1 복수의 가중치 제어 신호에 따라 재구성되어 제1 복수의 신경망 가중치에 대응하는 행렬을 구현한다.
제2 DAC 제어 신호는 DAC 유닛(130)에 의해 제1 복수의 가중치 제어 신호로 전환될 다수의 디지털 값을 포함할 수 있다. 다수의 디지털 값은 일반적으로 제1 복수의 신경망 가중치에 대응하며 다양한 수학적 관계 또는 참조표를 통해 관련될 수 있다. 예를 들어, 다수의 디지털 값은 제1 복수의 신경망 가중치에 선형적으로 비례할 수 있다. 다른 예로서, 다수의 디지털 값은 제1 복수의 신경망 가중치에 대응하는 행렬 승산을 수행하도록 OMM 유닛(150)을 구성할 수 있는 가중치 제어 신호를 생성하기 위해 제1 복수의 신경망 가중치에 대해 다양한 수학적 연산을 수행함으로써 계산될 수 있다.
일부 구현에서, 행렬 M을 나타내는 제1 복수의 신경망 가중치는 SVD(singular value decomposition) 방법을 통해 M = USV*로 분해될 수 있고, 여기서 U는 M x M 단위 행렬이고 S는 대각선 상에 음이 아닌 실수가 있는 M x N 대각 행렬이며, V*는 N x N 단위 행렬 V의 켤레 복소수이다. 이러한 경우에, 제1 복수의 가중치 제어 신호는 행렬 V에 대응하는 제1 복수의 OMM 유닛 제어 신호 및 행렬 S에 대응하는 제2 복수의 OMM 유닛 제어 신호를 포함할 수 있다. 또한, OMM 유닛(150)은 행렬 V를 구현하도록 구성된 제1 OMM 서브유닛, 행렬 S를 구현하도록 구성된 제2 OMM 서브유닛, 및 행렬 U를 구현하도록 구성된 제3 OMM 서브유닛을 갖도록 구성되어 OMM 유닛(150)이 행렬 M을 전체적으로 구현할 수 있다. SVD 방법은 본 명세서에 전문이 참조로 포함된 "APPARATUS AND METHODS FOR OPTICAL NEURAL NETWORK"이라는 명칭의 미국 특허 공개 번호 2017/0351293 A1에 추가로 설명되어 있다.
240에서, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력이 획득된다. 변조기 어레이(144)에 의해 생성된 광학 입력 벡터는 OMM 유닛(150)에 의해 처리되고 광학 출력 벡터로 변환된다. 광학 출력 벡터는 검출 유닛(146)에 의해 검출되고 ADC 유닛(160)에 의해 디지털화된 값으로 전환될 수 있는 전기 신호로 전환된다. 예를 들어, 제어기(110)는 검출 유닛(146)에 의해 출력된 전압을 디지털화된 광학 출력으로 전환하기 시작하도록 ADC 유닛(160)으로 전환 요청을 전송할 수 있다. 전환이 완료되면 ADC 유닛(160)은 전환 결과를 제어기(110)로 전송할 수 있다. 대안적으로, 제어기(110)는 ADC 유닛(160)으로부터 전환 결과를 검색할 수 있다. 제어기(110)는 디지털화된 광학 출력으로부터 입력 디지털 벡터의 행렬 승산 결과에 대응하는 디지털 출력 벡터를 형성할 수 있다. 예를 들어, 디지털화된 광학 출력은 벡터 형식을 갖도록 편성되거나 연접될 수 있다.
일부 구현에서, ADC 유닛(160)은 제어기(110)에 의해 DAC 유닛(130)으로 발행된 DAC 제어 신호에 기초하여 ADC 전환을 수행하도록 설정 또는 제어될 수 있다. 예를 들어, ADC 전환은 DAC 유닛(130)에 의한 변조 제어 신호 생성 후 미리 설정된 시간에 시작되도록 설정될 수 있다. 이러한 ADC 전환의 제어는 제어기(110)의 동작을 단순화하고 필요한 제어 동작의 수를 감소시킬 수 있다.
250에서, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환이 수행된다. ANN의 노드 또는 인공 뉴런은 먼저 이전 층의 노드로부터 수신된 신호의 가중 합을 수행한 다음 가중 합의 비선형 변환("활성화")을 수행하여 출력을 생성하는 방식으로 동작한다. 다양한 유형의 ANN은 다양한 유형의 차별화 가능한 비선형 변환을 구현할 수 있다. 비선형 변환 함수의 예는 RELU(rectified linear unit) 함수, 시그모이드 함수, 쌍곡선 탄젠트 함수, X^2 함수 및 |X| 함수를 포함한다. 이러한 비선형 변환은 제어기(110)에 의해 제1 디지털 출력에 대해 수행되어 제1 변환된 디지털 출력 벡터를 생성한다. 일부 구현에서, 비선형 변환은 제어기(110) 내의 특수 디지털 집적 회로에 의해 수행될 수 있다. 예를 들어, 제어기(110)는 하나 이상의 유형의 비선형 변환의 계산을 가속화하도록 특별히 적응된 하나 이상의 모듈 또는 회로 블록을 포함할 수 있다.
260에서 제1 변환된 디지털 출력 벡터가 저장된다. 제어기(110)는 제1 변환된 디지털 출력 벡터를 메모리 유닛(120)에 저장할 수 있다. 입력 데이터세트가 다수의 디지털 입력 벡터로 분할된 경우, 제1 변환된 디지털 출력 벡터는 제1 디지털 입력 벡터와 같은 입력 데이터세트의 일부에 대한 ANN 계산 결과에 대응한다. 이와 같이, 제1 변환된 디지털 출력 벡터를 저장하는 것은 ANN 계산 시스템(100)이 입력 데이터세트의 다른 디지털 입력 벡터에 대한 추가 계산을 수행하고 저장하여 나중에 단일 ANN 출력으로 집계될 수 있게 한다.
270에서 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력이 출력된다. 제어기(110)는 제1 복수의 신경망 가중치에 의해 정의된 ANN을 통해 입력 데이터세트를 처리한 결과인 ANN 출력을 생성한다. 입력 데이터세트가 다수의 디지털 입력 벡터로 분할되는 경우, 생성된 ANN 출력은 제1 변환된 디지털 출력을 포함하는 집계 출력이지만 입력 데이터세트의 다른 부분에 대응하는 추가 변환된 디지털 출력을 더 포함할 수 있다. ANN 출력이 생성되고 나면, 생성된 출력은 ANN 계산 요청을 발생시킨 컴퓨터(102)와 같은 컴퓨터로 전송된다.
방법(200)을 구현하는 ANN 계산 시스템(100)에 대해 다양한 성능 메트릭이 정의될 수 있다. 성능 메트릭을 정의하는 것은 광학 프로세서(140)를 구현하는 ANN 계산 시스템(100)의 성능을 대신 전자 행렬 승산 유닛을 구현하는 ANN 계산을 위한 다른 시스템과 비교할 수 있게 한다. 일 양태에서, ANN 계산이 수행될 수 있는 속도는 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를을 저장하는 단계(220)와 제1 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 단계(260) 사이에 경과된 시간으로 정의된 제1 루프 기간에 의해 부분적으로 표시될 수 있다. 따라서, 이 제1 루프 기간은 전기 신호를 광학 신호로 전환하고(예를 들어, 단계 230), 광학 도메인에서 행렬 승산을 수행하고, 결과를 다시 전기 도메인으로 전환(예를 들어, 단계 240)하는 데 걸리는 시간을 포함한다. 단계 220 및 260은 모두 메모리 유닛(120)에 데이터를 저장하는 것을 포함하며, 이는 광학 프로세서(140) 없이 ANN 계산 시스템(100)과 종래의 ANN 계산 시스템 사이에 공유되는 단계이다. 이와 같이, 메모리 대 메모리 트랜잭션 시간을 측정하는 제1 루프 기간은 전자 행렬 승산 유닛 구현하는 시스템과 같이 광학 프로세서(140)가 없는 ANN 계산 시스템과 ANN 계산 시스템(100) 간에 ANN 계산 처리량의 현실적 또는 공정한 비교를 허용할 수 있다.
광학 입력 벡터가 변조기 어레이(144)에 의해 생성될 수 있는 속도(예를 들어, 25GHz) 및 OMM 유닛(150)의 처리 속도(예를 들어, > 100GHz)로 인해 단일 디지털 입력 벡터의 단일 ANN 계산을 수행하기 위한 ANN 계산 시스템(100)의 제1 루프 기간은 변조기 어레이(144)의 속도의 역수, 예를 들어, 40 ps에 접근할 수 있다. DAC 유닛(130)에 의한 신호 생성 및 ADC 유닛(160)에 의한 ADC 전환과 연관된 레이턴시를 고려한 후, 제1 루프 기간은 예를 들어 100 ps 이하, 200 ps 이하, 500 ps 이하, 1 ns 이하, 2 ns 이하, 5 ns 이하, 또는 10 ns 이하일 수 있다.
비교하자면, 전자 행렬 승산 유닛에 의한 M x 1 벡터와 M x M 행렬의 승산의 실행 시간은 일반적으로 M^2-1 프로세서 클럭 사이클에 비례한다. M=32의 경우, 이러한 승산은 약 1024 사이클이 걸리며, 이는 3GHz 클럭 속도에서 실행 시간이 300ns를 초과하게 되는데, 이는 ANN 계산 시스템(100)의 제1 루프 기간보다 수자릿수 더 느리다.
일부 구현에서, 방법(200)은 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 단계를 더 포함한다. 일부 유형의 ANN 계산에서 단일 디지털 입력 벡터는 동일한 ANN을 통해 반복적으로 전파되거나 처리될 수 있다. 다중 패스 처리를 구현하는 ANN을 RNN(recurrent neural network)이라고 할 수 있다. RNN은 신경망을 (k) 번째 통과하는 동안의 네트워크의 출력이 신경망의 입력으로 다시 순환되어(k+1) 번째 통과 동안의 입력으로 사용되는 신경망이다. RNN은 음성 또는 필기 인식과 같은 패턴 인식 작업에서 다양한 응용을 가질 수 있다. 제2 복수의 변조기 제어 신호가 생성되고 나면, 방법(200)은 단계 240에서 단계 260을 통해 진행하여 ANN을 통한 제1 디지털 입력 벡터의 제2 통과를 완료할 수 있다. 일반적으로, 변환된 디지털 출력을 디지털 입력 벡터로 재순환하는 것은 ANN 계산 요청에서 수신한 RNN의 특성에 따라 미리 설정된 횟수의 사이클 동안 반복될 수 있다.
일부 구현에서, 방법(200)은 복수의 제2 신경망 가중치에 기초하여 복수의 제2 가중치 제어 신호를 생성하는 단계를 더 포함한다. 일부 경우에, 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함한다. 일반적으로, ANN에는 입력 및 출력 층 외에도 하나 이상의 은닉 층이 있다. 2개의 은닉 층을 갖는 ANN의 경우, 제2 복수의 신경망 가중치는 예를 들어 ANN의 제1 층과 ANN의 제2 층 사이의 연결성에 대응할 수 있다. ANN의 2개의 은닉 층을 통해 제1 디지털 입력 벡터를 처리하기 위해, 제1 디지털 입력 벡터는 먼저 방법(200)에 따라 단계 260까지 처리될 수 있으며, 이때 ANN의 제1 은닉 층을 통해 제1 디지털 입력 벡터를 처리한 결과가 메모리 유닛(120)에 저장된다. 그 다음, 제어기(110)는 ANN의 제2 은닉 층과 연관된 제2 복수의 신경망 가중치에 대응하는 행렬 승산을 수행하도록 OMM 유닛(150)을 재구성한다. OMM 유닛(150)이 재구성되면, 방법(200)은 제1 은닉 층의 출력에 대응하는 업데이트된 광학 입력 벡터를 생성하는 제1 변환된 디지털 출력 벡터에 기초하여 복수의 변조기 제어 신호를 생성할 수 있다. 그 다음, 업데이트된 광학 입력 벡터는 ANN의 제2 은닉 층에 대응하는 재구성된 OMM 유닛(150)에 의해 처리된다. 일반적으로, 설명된 단계는 디지털 입력 벡터가 ANN의 모든 은닉 층을 통해 처리될 때까지 반복될 수 있다.
앞서 설명한 바와 같이, OMM 유닛(150)의 일부 구현에서, OMM 유닛(150)의 재구성 속도는 변조기 어레이(144)의 변조 속도보다 상당히 느릴 수 있다. 이러한 경우에, ANN 계산 시스템(100)의 처리량은 ANN 계산이 수행될 수 없는 OMM 유닛(150)을 재구성하는 데 소비된 시간의 양에 의해 악영향을 받을 수 있다. OMM 유닛(150)의 비교적 느린 재구성 시간의 영향을 완화하기 위해, 더 많은 수의 디지털 입력 벡터에 걸쳐 재구성 시간을 상각하기 위해 구성 변경 없이 2개 이상의 디지털 입력 벡터가 OMM 유닛(150)을 통해 전파되는 일괄 처리 기술이 활용될 수 있다.
도 2b는 도 2a의 방법(200)의 양태를 예시하는 도면(290)을 도시하고 있다. 2개의 은닉 층을 갖는 ANN의 경우, 제1 은닉 층을 통해 제1 디지털 입력 벡터를 처리하고, 제2 은닉 층에 대해 OMM 유닛(150)을 재구성하고 재구성된 OMM 유닛(150)을 통해 제1 디지털 입력 벡터를 처리하고, 나머지 디지털 입력 벡터에 대해, 동일한 작업을 반복하는 대신, 입력 데이터세트의 모든 디지털 입력 벡터가 도면의 상부 부분(290)에 도시되어 있는 바와 같이 제1 은닉 층에 대해 구성된(구성 # 1) OMM 유닛(150)을 통해 먼저 처리될 수 있다. 모든 디지털 입력 벡터가 구성 # 1을 갖는 OMM 유닛(150)에 의해 처리되면, OMM 유닛(150)은 ANN의 제2 은닉 층에 대응하는 구성 #2로 재구성된다. 이러한 재구성은 입력 벡터가 OMM 유닛(150)에 의해 처리될 수 있는 속도보다 상당히 느릴 수 있다. OMM 유닛(150)이 제2 은닉 층에 대해 재구성되면, 이전 은닉 층으로부터의 출력 벡터는 OMM 유닛(150)에 의해 일괄 처리될 수 있다. 수만 또는 수십만 개의 디지털 입력 벡터를 갖는 대규모 입력 데이터세트의 경우, 재구성 시간의 영향은 거의 동일한 계수만큼 감소될 수 있으며, 이는 재구성에서 ANN 계산 시스템(100)에 의해 소비되는 시간의 부분을 상당히 감소시킬 수 있다.
일괄 처리를 구현하기 위해, 일부 구현에서, 방법(200)은 DAC 유닛을 통해 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 단계; ADC 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제2 복수의 디지털화된 광학 출력을 획득하는 단계- 제2 복수의 디지털화된 광학 출력은 제2 디지털 출력 벡터를 형성함 -; 제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계; 및 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 단계를 더 포함할 수 있다. 제2 복수의 변조기 제어 신호의 생성은 예를 들어 단계 260을 따를 수 있다. 또한, 이 경우 단계 270의 ANN 출력은 이제 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터 모두에 기초한다. 획득, 수행 및 저장 단계는 단계 240 내지 260과 유사하다.
일괄 처리 기술은 ANN 계산 시스템(100)의 처리량을 개선하기 위한 여러 기술 중 하나이다. ANN 계산 시스템(100)의 처리량을 개선하기 위한 또 다른 기술은 파장 분할 멀티플렉싱(WDM)을 활용하여 다수의 디지털 입력 벡터의 병렬 처리를 이용하는 것이다. WDM은 OMM 유닛(150)의 도파로와 같은 공통 전파 채널을 통해 서로 상이한 파장의 다수의 광학 신호를 동시에 전파하는 기술이다. 전기 신호와 달리 상이한 파장의 광학 신호는 동일한 채널에서 상이한 파장의 다른 광학 신호에 영향을 주지 않고 공통 채널을 통해 전파될 수 있다. 또한, 광학 멀티플렉서 및 역멀티플렉서와 같은 잘 알려진 구조를 사용하여 공통 전파 채널에서 광학 신호를 추가(멀티플렉싱) 또는 제거(역멀티플렉싱)할 수 있다.
ANN 계산 시스템(100)과 관련하여, ANN 계산 시스템(100)의 처리량을 개선시키기 위해, 상이한 파장의 다수의 광학 입력 벡터가 독립적으로 생성되고 OMM 유닛(150)을 통해 동시에 전파될 수 있으며, 독립적으로 검출될 수 있다. 도 1f를 참조하면, 파장 분할 멀티플렉싱(WDM) 인공 신경망(ANN) 계산 시스템(104)의 예의 개략도가 도시되어 있다. WDM ANN 계산 시스템(104)은 달리 설명되지 않는 한 ANN 계산 시스템(100)과 유사하다. WDM 기술을 구현하기 위해, ANN 계산 시스템(104)의 일부 구현에서, 레이저 유닛(142)은 λ1, λ2 및 λ3과 같은 다수의 파장을 생성하도록 구성된다. 다수의 파장은 바람직하게는 공통 전파 채널로의 용이한 멀티플렉싱 및 역멀티플렉싱을 허용하기에 충분히 큰 파장 간격만큼 분리될 수 있다. 예를 들어, 0.5 nm, 1.0 nm, 2.0 nm, 3.0 nm 또는 5.0 nm보다 큰 파장 간격은 간단한 멀티플렉싱 및 역멀티플렉싱을 허용할 수 있다. 반면에, 다수의 파장의 최단 파장과 최장 파장 사이의 범위("WDM 대역폭")는 바람직하게는 OMM 유닛(150)의 특성 또는 성능이 다수의 파장에 걸쳐 실질적으로 동일하게 유지되도록 충분히 작을 수 있다. 광학 컴포넌트는 일반적으로 분산성이므로 광학 특성이 파장의 함수로 변경된다. 예를 들어, MZI의 파워 분할 비율은 파장에 따라 변할 수 있다. 그러나, OMM 유닛(150)이 충분히 큰 동작 파장 윈도우를 갖도록 설계하고 파장을 그 동작 파장 윈도우 내에 있도록 제한함으로써, 각 파장에서 OMM 유닛(150)이 출력하는 광학 출력 벡터는 OMM 유닛(150)에 의해 구현된 행렬 승산의 충분히 정확한 결과가 될 수 있다. 동작 파장 윈도우는 예를 들어 1 nm, 2 nm, 3 nm, 4 nm, 5 nm, 10 nm 또는 20 nm일 수 있다.
도 39a는 광학 신호의 진폭을 변조하는 데 사용될 수 있는 마하-젠더 변조기(3900)의 예의 도면을 도시하고 있다. 마하-젠더 변조기(3900)는 2개의 1x2 포트 다중 모드 간섭 커플러(MMI_1x2)(3902a 및 3902b), 2개의 평형 암(3904a 및 3904b) 및 하나의 암의 위상 천이기(3906)(또는 각 암에서 하나의 위상 천이기)를 포함한다. 전압이 신호 라인(3908)을 통해 하나의 암의 위상 천이기에 인가될 때, 진폭 변조로 전환할 2개의 암(3904a 및 3904b) 사이의 위상차가 존재할 것이다. 1x2 포트 다중 모드 간섭 커플러(3902a 및 3902b) 및 위상 천이기(3906)는 광대역 광자 컴포넌트로 구성되고, 2개의 암(3904a 및 3904b)의 광학 경로 길이는 동일하게 구성된다. 이는 마하-젠더 변조기(3900)가 넓은 파장 범위에서 동작할 수 있게 한다.
도 39b는 파장 1530 nm, 1550 nm 및 1570 nm에 대한 도 39a에 도시되어 있는 구성을 사용하는 마하-젠더 변조기(3900)에 대한 강도 대 전압 곡선을 도시하고 있는 그래프(3910)이다. 그래프(3910)는 마하-젠더 변조기(3900)가 1530 nm 내지 1570 nm 범위의 상이한 파장에 대해 유사한 강도 대 전압 특성을 갖는다는 것을 도시하고 있다.
다시 도 1f를 참조하면, WDM ANN 계산 시스템(104)의 변조기 어레이(144)는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크를 포함하고, 각각의 뱅크는 다수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성한다. 예를 들어, 길이가 32이고 파장이 3개(예를 들어, λ1, λ2 및 λ3)인 광학 입력 벡터를 갖는 시스템의 경우, 변조기 어레이(144)는 각각 32개의 변조기의 3개의 뱅크를 가질 수 있다. 또한, 변조기 어레이(144)는 또한 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함한다. 예를 들어, 광학 멀티플렉서는 3개의 상이한 파장에서의 3개의 변조기 뱅크의 출력을 광학 입력 벡터의 각 요소에 대한 도파로와 같은 단일 전파 채널로 조합할 수 있다. 따라서, 위의 예로 돌아가서 조합된 광학 입력 벡터는 32개의 광학 신호를 가지며 각 신호는 3개의 파장을 포함한다.
추가로, WDM ANN 계산 시스템(104)의 검출 유닛(146)은 다수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전압을 생성하도록 더 구성된다. 예를 들어, 검출 유닛(146)은 다중 파장 광학 출력 벡터의 32개 신호 각각에 포함된 3개의 파장을 역멀티플렉싱하고, 3개의 단일 파장 광학 출력 벡터를 3개의 트랜스임피던스 증폭기 뱅크에 결합된 3개의 광검출기 뱅크로 라우팅하도록 구성된 역멀티플렉서를 포함할 수 있다.
추가로, WDM ANN 계산 시스템(104)의 ADC 유닛(160)은 검출 유닛(146)의 복수의 역멀티플렉싱된 출력 전압을 전환하도록 구성된 ADC 뱅크를 포함한다. 각 뱅크는 다수의 파장 중 하나에 대응하며 각각의 디지털화된 역멀티플렉싱된 광학 출력을 생성한다. 예를 들어, ADC 뱅크는 검출 유닛(146)의 트랜스임피던스 증폭기 뱅크에 결합될 수 있다.
제어기(110)는 방법(200)과 유사하지만 다중 파장 동작을 지원하도록 확장된 방법을 구현할 수 있다. 예를 들어, 방법은 ADC 유닛(160)으로부터 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 단계- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -; 복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 단계; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 단계를 포함할 수 있다.
일부 경우에, ANN은 특별히 설계될 수 있고, 디지털 입력 벡터는 다중 파장 광학 출력 벡터가 역멀티플렉싱 없이 검출될 수 있도록 구체적으로 형성될 수 있다. 이러한 경우에, 검출 유닛(146)은 중 파장 광학 출력 벡터의 다수의 파장을 역멀티플렉싱하지 않는 파장-비감지 검출 유닛일 수 있다. 이와 같이 검출 유닛(146)의 광검출기 각각은 광학 신호의 다수의 파장을 단일 광전류로 효과적으로 합하고, 검출 유닛(146)에서 출력되는 전압은 다수의 디지털 입력 벡터의 행렬 승산의 원소별 합에 대응한다.
지금까지, ANN 계산의 일부로 수행된 가중 합의 비선형 변환은 제어기(110)에 의해 디지털 도메인에서 수행되었다. 일부 경우에, 비선형 변환은 계산 집약적이거나 전력 소모가 많을 수 있고, 제어기(110)의 복잡성을 상당히 증가시키거나, 그렇지 않으면 처리량 또는 전력 효율 측면에서 ANN 계산 시스템(100)의 성능을 제한할 수 있다. 이 때문에, ANN 계산 시스템의 일부 구현에서, 비선형 변환은 아날로그 전자장치를 통해 아날로그 도메인에서 수행될 수 있다.
도 3a는 ANN 계산 시스템(300)의 예의 개략도를 도시하고 있다. ANN 계산 시스템(300)은 ANN 계산 시스템(100)과 유사하지만 아날로그 비선형성 유닛(310)이 추가된 점이 다르다. 아날로그 비선형성 유닛(310)은 검출 유닛(146)과 ADC 유닛(160) 사이에 배열된다. 아날로그 비선형성 유닛(310)은 검출 유닛(146)으로부터 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 변환된 출력 전압을 ADC 유닛(160)에 출력하도록 구성된다.
ADC 유닛(160)은 아날로그 비선형성 유닛(310)에 의해 비선형적으로 변환된 전압을 수신함에 따라, 제어기(110)는 ADC 유닛(160)으로부터 변환된 출력 전압에 대응하는 변환된 디지털화된 출력 전압을 획득할 수 있다. ADC 유닛(160)으로부터 획득된 디지털화된 출력 전압은 이미 비선형적으로 변환("활성화")되었기 때문에, 제어기(110)에 의한 비선형 변환 단계가 생략될 수 있고, 제어기(110)에 의한 계산 부담을 감소시킬 수 있다. 그 다음, ADC 유닛(160)으로부터 직접 획득한 제1 변환된 전압은 제1 변환된 디지털 출력 벡터로 메모리 유닛(120)에 저장될 수 있다.
아날로그 비선형성 유닛(310)은 다양한 방식으로 구현될 수 있다. 예를 들어, 피드백 구성의 고-이득 증폭기, 조절 가능한 기준 전압을 갖는 비교기, 다이오드의 비선형 IV 특성, 다이오드의 항복 거동, 가변 커패시터의 비선형 CV 특성 또는 가변 저항의 비선형 IV 특성을 사용하여 아날로그 비선형성 유닛(310)을 구현할 수 있다.
아날로그 비선형성 유닛(310)의 사용은 디지털 도메인에서 수행될 단계를 감소시킴으로써 ANN 계산 시스템(300)의 처리량 또는 전력 효율과 같은 성능을 개선시킬 수 있다. 디지털 도메인에서 비선형 변환 단계를 제외하면 ANN 계산 시스템의 동작에 추가적인 유연성과 개선이 가능할 수 있다. 예를 들어, 순환 신경망에서 OMM 유닛(150)의 출력이 활성화되고 OMM 유닛(150)의 입력으로 다시 재순환된다. 활성화는 ANN 계산 시스템(100)의 제어기(110)에 의해 수행되며, 이는 OMM 유닛(150)을 통과할 때마다 검출 유닛(146)의 출력 전압을 디지털화하는 것을 필요로 한다. 그러나, 활성화는 이제 ADC 유닛(160)에 의한 디지털화 이전에 수행되기 때문에, 순환 신경망 계산을 수행하는 데 필요한 ADC 전환의 수를 감소시키는 것이 가능할 수 있다.
일부 구현에서, 아날로그 비선형성 유닛(310)은 비선형 ADC 유닛으로서 ADC 유닛(160)에 통합될 수 있다. 예를 들어, 비선형 ADC 유닛은 선형 ADC 유닛의 선형 디지털화된 출력을 원하는 비선형 변환된 디지털화된 출력으로 맵핑하는 비선형 참조표를 갖는 선형 ADC 유닛일 수 있다.
도 3b는 ANN 계산 시스템(302)의 예의 개략도를 도시하고 있다. ANN 계산 시스템(302)은 도 3a의 시스템(300)과 유사하지만, 아날로그 메모리 유닛(320)을 더 포함한다는 점에서 다르다. 아날로그 메모리 유닛(320)은 DAC 유닛(130)(예를 들어, 제1 DAC 서브유닛(132)을 통해), 변조기 어레이(144) 및 아날로그 비선형성 유닛(310)에 결합된다. 아날로그 메모리 유닛(320)은 DAC 유닛(130)에 결합된 제1 입력 및 아날로그 비선형성 유닛(310)에 결합된 제2 입력을 갖는 멀티플렉서를 포함한다. 이는 아날로그 메모리 유닛(320)이 DAC 유닛(130) 또는 아날로그 비선형성 유닛(310)으로부터 신호를 수신할 수 있게 한다. 아날로그 메모리 유닛(320)은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성된다.
아날로그 메모리 유닛(320)은 다양한 방식으로 구현될 수 있다. 예를 들어, 커패시터 어레이는 아날로그 전압 저장 요소로서 사용될 수 있다. 아날로그 메모리 유닛(320)의 커패시터는 충전 회로에 의해 입력 전압으로 충전될 수 있다. 입력 전압의 저장은 제어기(110)로부터 수신된 제어 신호에 기초하여 제어될 수 있다. 커패시터는 원치 않는 커패시터 방전을 유발하는 전하 누설을 감소시키기 위해 주변 환경으로부터 전기적으로 격리될 수 있다. 추가적으로 또는 대안적으로, 피드백 증폭기를 사용하여 커패시터에 저장된 전압을 유지할 수 있다. 커패시터의 저장된 전압은 버퍼 증폭기에 의해 판독될 수 있으며, 이는 저장된 전압을 출력하는 동안 커패시터에 의해 저장된 전하를 보존할 수 있도록 한다. 아날로그 메모리 유닛(320)의 이러한 양태는 샘플 및 홀드 회로의 동작과 유사할 수 있다. 버퍼 증폭기는 변조기 어레이(144)를 구동하기 위한 변조기 드라이버의 기능을 구현할 수 있다.
이제, ANN 계산 시스템(302)의 동작이 설명될 것이다. DAC 유닛(130)(예를 들어, 제1 DAC 서브유닛(132))에서 출력된 제1 복수의 변조기 제어 신호는 아날로그 메모리 유닛(320)을 통해 변조기 어레이(144)로 먼저 입력된다. 이 단계에서, 아날로그 메모리 유닛(320)은 제1 복수의 변조기 제어 신호를 단순히 전달하거나 버퍼링할 수 있다. 변조기 어레이(144)는 OMM 유닛(150)을 통해 전파되고 검출 유닛(146)에 의해 검출되는 제1 복수의 변조기 제어 신호에 기초하여 광학 입력 벡터를 생성한다. 검출 유닛(146)의 출력 전압은 아날로그 비선형성 유닛(310)에 의해 비선형적으로 변환된다. 이 시점에서, ADC 유닛(160)에 의해 디지털화되는 대신, 검출 유닛(146)의 출력 전압은 아날로그 메모리 유닛(320)에 저장되고, 그 후, 이는 다음 광학 입력 벡터로 전환되어 OMM 유닛(150)을 통해 전파되도록 변조기 어레이(144)로 출력된다. 이러한 순환 처리는 제어기(110)의 제어 하에, 미리 설정된 시간량 또는 미리 설정된 사이클 수 동안 수행될 수 있다. 주어진 디지털 입력 벡터에 대한 순환 처리가 완료되면, 아날로그 비선형성 유닛(310)의 변환된 출력 전압은 ADC 유닛(160)에 의해 전환된다.
아날로그 메모리 유닛(320)의 사용은 주어진 디지털 입력 벡터의 RNN 계산 당 단일 ADC 전환으로 하향되는 것과 같은 순환 신경망 계산 동안 ADC 전환의 수를 상당히 감소시킬 수 있다. 각 ADC 전환은 소정 시간량을 소요하고, 소정량의 에너지를 소비한다. 이 때문에, ANN 계산 시스템(302)에 의한 RNN 계산의 처리량은 ANN 계산 시스템(100)에 의한 RNN 계산의 처리량보다 높을 수 있다.
순환 신경망 계산의 실행은 예를 들어 아날로그 메모리 유닛(320)을 제어함으로써 제어될 수 있다. 예를 들어, 제어기는 특정 시간에 전압을 저장하고 다른 시간에 저장된 전압을 출력하도록 아날로그 메모리 유닛(320)을 제어할 수 있다. 이와 같이, 아날로그 메모리 유닛(320)으로부터 아날로그 비선형성 유닛(310)을 통해 변조기 어레이(144)로, 그리고, 다시 아날로그 메모리 유닛(320)으로의 신호 순환은 아날로그 메모리 유닛(320)의 저장 및 독출을 제어함으로써 제어기(110)에 의해 제어될 수 있다.
이와 같이, 일부 구현에서, ANN 계산 시스템(302)의 제어기(110)는 다음의 단계를 수행할 수 있다: 제1 복수의 변조기 제어 신호 및 제1 복수의 가중치 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 아날로그 메모리 유닛을 통해 저장하는 단계; 아날로그 메모리 유닛을 통해 저장된 변환된 출력 전압을 출력하는 단계; ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전압을 획득하는 단계- 제2 복수의 변환된 디지털화된 출력 전압은 제2 변환된 디지털 출력 벡터를 형성함 -; 및 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 단계를 더 포함할 수 있다.
ANN 계산 시스템에서 처리할 입력 데이터세트는 일반적으로 분해능이 1 비트보다 큰 데이터를 포함한다. 예를 들어, 그레이스케일 디지털 이미지의 일반적인 픽셀은 8 비트, 즉, 256개의 상이한 레벨의 분해능을 가질 수 있다. 광학 도메인에서 이 데이터를 표현하고 처리하는 한 가지 방법은 OMM 유닛(150)에 입력되는 광학 신호의 256개의 상이한 파워 레벨로서 픽셀의 256개의 상이한 강도 레벨을 인코딩하는 것이다. 광학 신호는 본질적으로 아날로그 신호이고, 따라서, 노이즈 및 검출 오류에 취약하다. 다시 도 1a를 참조하면, ANN 계산 시스템(100) 전체에 걸쳐 디지털 입력 벡터의 8 비트 분해능을 유지하고 ADC 유닛(160)의 출력에서 진정한 8 비트 디지털화된 광학 출력을 생성하기 위해, 신호 체인의 모든 부분은 바람직하게는 8 비트 분해능을 재현 및 유지하도록 설계될 수 있다.
예를 들어, DAC 유닛(130)은 바람직하게는 변조기 어레이(144)가 디지털 입력 벡터의 8 비트를 충실하게 나타내는 광학 입력 벡터를 생성할 수 있도록 적어도 8 비트 분해능의 변조기 제어 신호로의 8비트 디지털 입력 벡터의 전환을 지원하도록 설계될 수 있다. 일반적으로, 변조기 제어 신호는 변조기 어레이(144)의 비선형 응답을 보상하기 위해 디지털 입력 벡터의 8 비트를 초과하는 추가적인 분해능을 가질 필요가 있을 수 있다. 또한, OMM 유닛(150)의 내부 구성은 바람직하게는 광학 출력 벡터의 값이 OMM 유닛(150)의 구성의 임의의 변동에 의해 손상되지 않는 것을 보증하도록 충분히 안정화될 수 있다. 예를 들어, OMM 유닛(150)의 온도는 예를 들어 5도, 2도, 1도 또는 0.1도 내에서 안정화될 필요가 있을 수 있다. 또한, 검출 유닛(146)은 바람직하게는 광학 출력 벡터의 8 비트 분해능을 손상시키지 않을 정도로 노이즈가 충분히 낮을 수 있고, ADC 유닛(160)은 바람직하게는 적어도 8 비트의 분해능으로 아날로그 전압의 디지털화를 지원하도록 설계될 수 있다.
다양한 전자 컴포넌트의 전력 소비 및 설계 복잡성은 일반적으로 비트 분해능, 동작 속도 및 대역폭에 따라 증가한다. 예를 들어, 1차 근사화로서, ADC 유닛(160)의 전력 소비는 샘플링 레이트에 따라 선형적으로 스케일링될 수 있고, 2^N의 비율로 스케일링될 수 있으며, 여기서 N은 전환 결과의 비트 분해능이다. 또한, DAC 유닛(130) 및 ADC 유닛(160)의 설계 고려 사항은 일반적으로 샘플링 레이트와 비트 분해능 사이의 트레이드 오프를 초래한다. 따라서, 일부 경우에, ANN 계산 출력의 분해능을 유지하면서 입력 데이터세트의 해상도보다 낮은 비트 해상도에서 내부적으로 동작하는 ANN 계산 시스템이 바람직할 수 있다.
도 4a를 참조하면, 1 비트 내부 분해능을 갖는 인공 신경망(ANN) 계산 시스템(400)의 예의 개략도가 도시되어 있다. ANN 계산 시스템(400)은 ANN 계산 시스템(100)과 유사하지만 DAC 유닛(130)이 이제 드라이버 유닛(430)으로 대체되고, ADC 유닛(160)이 이제 비교기 유닛(460)으로 대체된다는 점이 다르다.
드라이버 유닛(430)은 1 비트 변조기 제어 신호 및 다중-비트 가중치 제어 신호를 생성하도록 구성된다. 예를 들어, 드라이버 유닛(430)의 드라이버 회로는 제어기(110)로부터 이진 디지털 출력을 직접 수신하고 이진 신호를 변조기 어레이(144)를 구동하기에 적절한 2-레벨 전압 또는 전류 출력으로 컨디셔닝할 수 있다.
비교기 유닛(460)은 검출 유닛(146)의 출력 전압을 디지털화된 1 비트 광학 출력으로 전환하도록 구성된다. 예를 들어, 비교기 유닛(460)의 비교기 회로는 검출 유닛(146)으로부터 전압을 수신하고, 전압을 미리 설정된 임계 전압과 비교하고, 수신된 전압이 미리 설정된 임계 전압보다 작거나 클 때 디지털 0 또는 1을 출력할 수 있다.
도 4b를 참조하면, ANN 계산 시스템(400)의 동작의 수학적 표현이 도시되어 있다. ANN 계산 시스템(400)의 동작을 이제 도 4b를 참조하여 설명할 것이다. ANN 계산 시스템(400)에 의해 수행되는 주어진 ANN 계산에 대해, 대응하는 디지털 입력 벡터 V 및 신경망 가중치 행렬 U가 존재한다. 이 예에서, 입력 벡터 V는 요소(V0 내지 V3)를 갖는 길이가 4인 벡터이고 행렬 U는 가중치(U00 내지 U33)를 갖는 4 x 4 행렬이다. 벡터 V의 각 요소는 4 비트의 분해능을 갖는다. 각 4 비트 벡터 요소는 각각 2^0 내지 2^3 위치에 대응하는 0 번째 비트(bit0) 내지 3 번째 비트(bit3)를 갖는다. 이와 같이, 4 비트 벡터 요소의 10 진수(밑수 10) 값은 2^0*bit0 + 2^1*bit1 + 2^2*bit2 + 2^3*bit3의 합산으로 계산된다. 따라서, 입력 벡터 V는 도시되어 있는 바와 같이 제어기(110)에 의해 유사하게 Vbit0 내지 Vbit3으로 분해될 수 있다.
그 다음, 특정 ANN 계산은 1 비트 벡터의 일련의 행렬 승산을 수행한 다음 개별 행렬 승산 결과를 합산하여 수행될 수 있다. 예를 들어, 분해된 입력 벡터 Vbit0 내지 Vbit3 각각은 드라이버 유닛(430)을 통해 4개의 1 비트 입력 벡터에 대응하는 4개의 1 비트 변조기 제어 신호의 시퀀스를 생성함으로써 행렬 U와 승산될 수 있다. 이는 차례로 4개의 1-비트 광학 입력 벡터의 시퀀스를 생성하고, 이는 행렬 U의 행렬 승산을 구현하기 위해 드라이버 유닛(430)을 통해 구성된 OMM 유닛(150)을 통해 전파된다. 그 다음, 제어기(110)는 비교기 유닛(460)으로부터 4개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 4개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득할 수 있다.
4 비트 벡터가 4개의 1 비트 벡터로 분해되는 경우, 동일한 유효 ANN 계산 처리량을 유지하기 위해, 각 벡터는 단일 4 비트 벡터가 시스템(100)과 같은 다른 ANN 계산 시스템에 의해 처리될 수 있는 속도의 4배로 ANN 계산 시스템(400)에 의해 처리되어야 한다. 이러한 증가된 내부 처리 속도는 4개의 1 비트 벡터를 4 비트 벡터를 처리하기 위해 단일 타임슬롯으로 시분할 멀티플렉싱하는 것으로 보여질 수 있다. 신호 전환 프로세스의 분해능의 감소가 통상적으로 달성될 수 있는 신호 전환의 속도의 증가를 도출하므로, 처리 속도의 필요한 증가는 DAC 유닛(130) 및 ADC 유닛(160)에 비해 드라이버 유닛(430) 및 비교기 유닛(460)의 증가된 동작 속도에 의해 적어도 부분적으로 달성될 수 있다.
신호 전환 속도는 1 비트 동작에서 4배 증가하지만 결과적인 전력 소비는 4 비트 동작에 비해 크게 감소할 수 있다. 앞서 설명한 바와 같이, 신호 전환 프로세스의 전력 소비는 일반적으로 비트 분해능에 따라 지수적으로 스케일링되는 반면 전환 속도에 따라서는 선형적으로 스케일링된다. 이 때문에, 비트 분해능의 4배 감소로부터 전환 당 전력의 16배 감소가 발생할 수 있으며, 이어서 증가된 전환 속도로부터 전력의 4배 증가가 이어진다. 전체적으로, 동일한 유효 ANN 계산 처리량을 유지하면서 예를 들어 ANN 계산 시스템(100)에 비해 ANN 계산 시스템(400)에 의해 동작 전력의 4배 감소가 달성될 수 있다.
그 다음, 제어기(110)는 2^0 내지 2^3의 각각의 가중치를 각각의 디지털화된 1 비트 광학 출력에 승산함으로써 4개의 디지털화된 1 비트 광학 출력으로부터 4 비트 디지털 출력 벡터를 구성할 수 있다. 4 비트 디지털 출력 벡터가 구성되면, ANN 계산은 구성된 4 비트 디지털 출력 벡터에 대해 비선형 변환을 수행하여 변환된 4 비트 디지털 출력 벡터를 생성하고; 변환된 4 비트 디지털 출력 벡터를 메모리 유닛(120)에 저장함으로써 진행될 수 있다.
대안적으로 또는 추가적으로, 일부 구현에서, 4개의 디지털화된 1 비트 광학 출력 각각은 비선형적으로 변환될 수 있다. 예를 들어, 단계-함수 비선형 함수가 비선형 변환에 사용될 수 있다. 그 후, 변환된 4 비트 디지털 출력 벡터는 비선형적으로 변환된 디지털화된 1 비트 광학 출력으로부터 구성될 수 있다.
별도의 ANN 계산 시스템(400)이 예시되고 설명되었지만, 일반적으로 도 1a의 ANN 계산 시스템(100)은 ANN 계산 시스템(400)의 기능과 유사한 기능을 구현하도록 설계될 수 있다. 예를 들어, DAC 유닛(130)은 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함할 수 있고, ADC 유닛(160)은 1 비트의 분해능을 갖도록 설계될 수 있다. 이러한 1 비트 ADC는 비교기와 유사하거나 사실상 동등할 수 있다.
또한, 1 비트 내부 분해능을 갖는 ANN 계산 시스템의 동작이 설명되었지만 일반적으로 ANN 계산 시스템의 내부 분해능은 입력 데이터세트의 N-비트 분해능보다 낮은 중간 레벨로 감소될 수 있다. 예를 들어, 내부 분해능을 2^Y 비트로 감소시킬 수 있으며, 여기서 Y는 0보다 크거나 같은 정수이다.
본 명세서에 설명된 주제 및 기능적 동작의 실시예는 본 명세서에 개시된 구조 및 그 구조적 등가물을 비롯하여 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예는 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 실행되는 컴퓨터-판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈을 사용하여 구현될 수 있다. 컴퓨터-판독 가능 매체는 컴퓨터 시스템 내의 하드 드라이브, 소매 채널을 통해 판매되는 광학 디스크 또는 임베디드 시스템과 같은 제조된 제품일 수 있다. 컴퓨터-판독 가능 매체는 예컨대, 유선 또는 무선 네트워크를 통해 컴퓨터 프로그램 명령어의 하나 이상의 모듈을 전달함으로써, 컴퓨터 프로그램 명령어의 하나 이상의 모듈로 개별적으로 획득되고 나중에 인코딩될 수 있다. 컴퓨터-판독 가능 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기재, 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려짐)은 컴파일형 또는 인터프리트형 언어, 선언형 또는 절차형 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며 독립 실행형 프로그램 또는 모듈, 컴포넌트, 서브 루틴 또는 컴퓨팅 환경 사용에 적절한 다른 단위를 비롯한 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일에 대응하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용의 단일 파일 또는 다수의 편성된 파일(coordinated file)(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 장소에 위치하거나 다수의 장소에 분산되고 통신 네트워크로 상호연결된 다수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)와 같은 특수 목적 로직 회로에 의해 프로세스 및 로직 흐름이 또한 수행될 수 있으며, 이들로서 장치가 구현될 수도 있다.
본 명세서는 많은 구현 세부 사항을 포함하지만, 이들은 본 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 본 발명의 특정 실시예에 특정한 특징의 설명으로 해석되어야 한다. 별개의 실시예에 관련하여 본 명세서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예에 관련하여 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고 심지어 처음에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 일부 경우에는 조합으로부터 삭제될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것이 될 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 이러한 동작이 도시되어 있는 특정 순서 또는 순차적인 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서, 멀티테스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명된 실시예에서 다양한 시스템 컴포넌트의 분리는 모든 실시예에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있다.
따라서, 본 발명의 특정 실시예가 설명되었다. 다른 실시예가 다음 청구항의 범위 내에 존재한다. 또한, 청구항에 기재된 행동은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 예를 들어, 도 1a의 광학 행렬 승산 유닛(150)은 복수의 상호연결된 마하-젠더 간섭계를 포함하는 광학 간섭 유닛(154)을 포함한다. 일부 구현에서, 광학 간섭 유닛은 거의 전력을 소비하지 않는 1차원, 2차원 또는 3차원 수동적 회절 광학 요소를 사용하여 구현될 수 있다. 마하-젠더 간섭계를 포함하는 광학 간섭 유닛과 비교하여 수동적 회절 광학 요소를 사용하는 광학 간섭 유닛은 입력/출력 수가 동일하게 유지되면 크기가 더 작을 수 있으며, 동일한 칩 크기이면 더 많은 수의 입력/출력을 처리할 수 있다. 수동적 회절 광학 요소는 마하-젠더 간섭계에 비해 저렴한 비용으로 만들 수 있다.
도 5를 참조하면, 일부 구현에서, 인공 신경망 계산 시스템(500)은 제어기(110), 메모리 유닛(120), DAC 유닛(506), 광학 프로세서(504) 및 ADC 유닛(160)을 포함한다. 메모리 유닛(120) 및 ADC 유닛(160)은 도 1a의 시스템(100)의 대응하는 컴포넌트와 유사하다. 광학 프로세서(504)는 광학 컴포넌트를 사용하여 행렬 계산을 수행하도록 구성된다. 시스템(500)에서, 광학 행렬 승산 유닛(502)에 대한 가중치는 고정된다. DAC 유닛(506)은 도 1a의 시스템(100)의 제1 DAC 서브유닛(132)과 유사하다.
ANN 계산 시스템(500)의 예시적인 동작에서, 컴퓨터(102)는 ANN 계산 시스템(500)에 인공 신경망 계산 요청을 발행할 수 있다. ANN 계산 요청은 제공된 ANN에 의해 처리될 입력 데이터세트를 포함할 수 있다. 제어기(110)는 ANN 계산 요청을 수신하고, 입력 데이터세트를 메모리 유닛(120)에 저장한다.
일부 구현에서, 광학 행렬 승산 유닛(150)이 마하-젠더 간섭계를 포함하고, 광학 행렬 승산 유닛(150)의 다른 부분이 수동적 회절 요소를 포함하는 혼성 접근법이 사용된다.
이제, ANN 계산 시스템(500)의 내부 동작을 설명할 것이다. 광학 프로세서(504)는 레이저 유닛(142), 변조기 어레이(144), 검출 유닛(146) 및 광학 행렬 승산(OMM) 유닛(502)을 포함한다. 레이저 유닛(142), 변조기 어레이(144) 및 검출 유닛(146)은 도 1a의 시스템(100)의 대응하는 컴포넌트와 유사하다. 이 예에서, OMM 유닛(502)은 2차원 회절 광학 요소를 포함하고 수동적 통합 실리콘 광자 칩으로 구현될 수 있다. 광학 행렬 승산 유닛(502)은 회절 신경망을 구현하도록 구성될 수 있고 거의 제로 전력 소비에서 행렬 승산을 실행할 수 있다.
광학 프로세서(504)는 길이 N의 디지털 입력 벡터를 길이 N의 광학 입력 벡터로 인코딩하고 광학 입력 벡터를 OMM 유닛(502)을 통해 전파함으로써 동작한다. OMM 유닛(502)은 길이 N의 광학 입력 벡터를 수신하고, 광학 도메인에서 수신된 광학 입력 벡터에 대해 N x N 행렬 승산을 수행한다. OMM 유닛(502)에 의해 수행되는 N x N 행렬 승산은 OMM 유닛(502)의 내부 구성에 의해 결정된다. OMM 유닛(502)의 내부 구성은 예를 들어, 회절 광학 요소의 치수, 위치 및 기하형상, 그리고, 존재한다면, 불순물의 도핑을 포함한다.
OMM 유닛(502)은 다양한 방식으로 구현될 수 있다. 도 6은 회절 요소의 2차원 어레이를 사용하는 OMM 유닛(502)의 예의 개략도를 도시하고 있다. OMM 유닛(502)은 광학 입력 벡터를 수신하기 위한 입력 도파로(602)의 어레이, 입력 도파로(602)의 어레이와 광학 통신하는 2차원 광학 간섭 유닛(600), 및 광학 간섭 유닛(600)과 광학 통신하는 출력 도파로(604)의 어레이를 포함할 수 있다. 광학 간섭 유닛(600)은 복수의 회절 광학 요소를 포함하고, 광학 입력 벡터를 광학 신호의 제2 어레이로 변환(예를 들어, 선형 변환)을 수행한다. 출력 도파로의 어레이(604)는 광학 간섭 유닛(600)에 의해 출력된 광학 신호의 제2 어레이를 안내한다. 입력 도파로(602)의 어레이의 적어도 하나의 입력 도파로는 광학 간섭 유닛(600)을 통해 출력 도파로(604)의 어레이의 각각의 출력 도파로와 광학 통신한다. 예를 들어, 길이가 N인 광학 입력 벡터의 경우, OMM 유닛(502)은 N개의 입력 도파로(602) 및 N개의 출력 도파로(604)를 포함할 수 있다.
일부 구현에서, 광학 간섭 유닛(600)은 2차원으로(예를 들어, 2D 어레이로) 배열된 회절 요소를 갖는 기판을 포함한다. 예를 들어, 복수의 원형 홀이 기판에 천공되거나 에칭될 수 있다. 홀은 광이 홀(또는 홀을 형성하는 구조)에 의해 회절되도록 입력 광의 파장의 것과 비슷한 크기 정도의 치수를 갖는다. 예를 들어, 홀의 치수는 100 nm 내지 2μm의 범위에 있을 수 있다. 홀은 크기가 같거나 다를 수 있다. 홀은 또한 삼각형, 정사각형, 직사각형, 육각형 또는 불규칙 형상과 같은 다른 단면 형상을 가질 수 있다. 기판은 예를 들어, 입력 광에 대해 1 % 내지 99 % 범위의 투과율을 갖는 입력 광에 대해 투명하거나 반투명한 물질로 제조될 수 있다. 예를 들어, 기판은 실리콘, 실리콘 산화물, 실리콘 질화물, 석영, 결정(예를 들어, 리튬 니오베이트, LiNbO3), 갈륨 비화물 또는 인듐 인화물, 에르븀 개질 반도체, 또는 폴리머와 같은 III-V 물질로 제조될 수 있다.
일부 구현에서, 홀로그래픽 방법이 기판에 2차원 회절 광학 요소를 형성하는 데 사용될 수 있다. 기판은 유리, 결정 또는 광굴절 물질로 만들어질 수 있다.
OMM 유닛(502)을 설계할 때, 우리는 제3 차원(예를 들어, z 방향)에서 회절 요소의 상대적 위치를 고려하지 않고 2차원(예를 들어, x 및 y 방향)에서 회절 요소의 치수 및 위치를 고려한다. 각각의 회절 요소는 기판에 형성된 특정 깊이를 갖는 홀, 기둥 또는 스트라이프와 같은 3차원 구조일 수 있다.
도 6에서, 회절 광학 요소는 원으로 표시된다. 회절 광학 요소는 또한 삼각형, 정사각형, 직사각형 또는 불규칙 형상과 같은 다른 형상을 가질 수 있다. 회절 광학 요소는 다양한 크기를 가질 수 있다. 회절 광학 요소는 격자 지점에 위치할 필요가 없으며 그 위치는 변경될 수 있다. 도 6의 도면은 단지 예시를 위한 것이다. 실제 회절 광학 요소는 도면에 도시된 것과 다를 수 있다. 회절 광학 요소의 상이한 배열은 상이한 행렬 승산 기능과 같은 상이한 행렬 연산을 구현하기 위해 사용될 수 있다.
회절 광학 요소의 구성은 최적화 프로세스를 사용하여 결정될 수 있다. 예를 들어, 기판은 픽셀 어레이로 분할될 수 있으며, 각 픽셀은 기판 물질로 채워지거나(홀 없음) 공기로 채워질(홀) 수 있다. 픽셀의 구성은 반복적으로 수정될 수 있으며 각 픽셀의 구성에 대해 회절 광학 요소를 통해 광을 통과시키고 출력을 평가하여 시뮬레이션을 수행할 수 있다. 픽셀의 모든 가능한 구성의 시뮬레이션이 수행된 후, 원하는 행렬 처리와 가장 근접하게 유사한 결과를 제공하는 구성이 OMM 유닛(502)에 대한 회절 광학 요소 구성으로 선택된다.
다른 예로서, 회절 요소는 초기에 홀의 어레이로 구성된다. 홀의 위치, 치수 및 형상은 그 초기 구성으로부터 약간 달라질 수 있다. 각 홀의 파라미터는 반복적으로 조절될 수 있으며 시뮬레이션을 수행하여 홀에 대한 최적화된 구성을 찾을 수 있다.
일부 구현에서, 기계 학습 프로세스가 회절 광학 요소를 설계하는 데 사용된다. 출력 광을 생성하기 위해 픽셀이 입력 광에 어떻게 영향을 미치는지에 대한 분석 함수가 결정되고 최적화 프로세스(예를 들어, 경사 하강 방법)가 픽셀의 최적 구성을 결정하는 데 사용된다.
일부 구현에서, OMM 유닛(502)은 사용자 변경 가능 컴포넌트로서 구현될 수 있고, 상이한 광학 간섭 유닛(600)을 갖는 상이한 OMM 유닛(502)이 상이한 응용을 위해 설치될 수 있다. 예를 들어, 시스템(500)은 광학 문자 인식 시스템으로 구성될 수 있고, 광학 간섭 유닛(600)은 광학 문자 인식을 수행하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 제1 OMM 유닛은 제1 세트의 기록 언어 및 폰트에 대한 광학 문자 인식 엔진을 위한 제1 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제1 광학 간섭 유닛을 가질 수 있다. 제2 OMM 유닛은 제2 세트의 기록 언어 및 폰트 등에 대한 광학 문자 인식 엔진을 위한 제2 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제2 광학 간섭 유닛을 가질 수 있다. 사용자가 광학 문자 인식을 기록 언어 및 글꼴의 제1 세트에 적용하기 위해 시스템(500)을 사용하기를 원할 때, 사용자는 제1 OMM 유닛을 시스템에 삽입할 수 있다. 사용자가 광학 문자 인식을 기록 언어 및 글꼴의 제2 세트에 적용하기 위해 시스템(500)을 사용하기를 원할 때, 사용자는 제1 OMM 유닛을 교체하고 제2 OMM 유닛을 시스템에 삽입할 수 있다.
예를 들어, 시스템(500)은 음성 인식 시스템으로 구성될 수 있고, 광학 간섭 유닛(600)은 음성 인식을 수행하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 제1 OMM 유닛은 제1 음성 언어에 대한 음성 인식 엔진을 위한 제1 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제1 광학 간섭 유닛을 가질 수 있다. 제2 OMM 유닛은 제2 음성 언어 등에 대한 음성 인식 엔진을 위한 제2 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제2 광학 간섭 유닛을 가질 수 있다. 사용자가 시스템(500)을 사용하여 제1 음성 언어의 음성을 인식하기를 원할 때, 사용자는 제1 OMM 유닛을 시스템에 삽입할 수 있다. 사용자가 제2 음성 언어의 음성을 인식하기 위해 시스템(500)을 사용하기를 원할 때, 사용자는 제1 OMM 유닛을 교체하고 제2 OMM 유닛을 시스템에 삽입할 수 있다.
예를 들어, 시스템(500)은 자율 주행 차량의 제어 유닛의 일부일 수 있고, 광학 간섭 유닛(600)은 도로 상태의 인식을 수행하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 제1 OMM 유닛(502)은 미국에서 도로 표지판을 포함하는 도로 상태를 인식하기 위한 제1 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제1 광학 간섭 유닛을 가질 수 있다. 제2 OMM 유닛(502)은 캐나다에서 도로 표지판을 포함하는 도로 상태를 인식하기 위한 제2 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제2 광학 간섭 유닛을 가질 수 있다. 제3 OMM 유닛(502)은 멕시코 등의 도로 표지판을 포함하는 도로 상태를 인식하기 위한 제3 신경망을 구현하도록 구성된 수동적 회절 광학 요소를 포함하는 제3 광학 간섭 유닛을 가질 수 있다. 미국에서 자율 주행 차량을 사용하면 제1 OMM 유닛이 시스템에 삽입된다. 자율 주행 차량이 국경을 넘어 캐나다에 입국하면 제1 OMM 유닛이 교체되고 제2 OMM 유닛이 시스템에 삽입된다. 반면 자율 주행 차량이 국경을 넘어 멕시코에 입국하면 제1 OMM 유닛이 교체되고 제3 OMM 유닛이 시스템에 삽입된다.
예를 들어, 시스템(500)은 유전적 시퀀싱에 사용될 수 있다. DNA 서열은 수동적 회절 광학 요소를 포함하는 시스템(500)을 사용하여 구현되는 컨볼루션 신경망을 사용하여 분류될 수 있다. 예를 들어, 시스템(500)은 종양 유형을 구별하고, 종양 등급을 예측하고, 유전자 발현 패턴으로부터 환자 생존을 예측하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(500)은 분석되는 특성을 가장 잘 예측하는 유전자 또는 시그니처의 서브세트를 식별하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(500)은 유전자 서브세트의 프로파일로부터 모든 유전자의 발현 수준을 예측하거나 추론하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(500)은 유전자 서열로부터 전사 인자 결합 부위, 인핸서 영역 및 염색질 접근성을 예측하는 것과 같은 에피게놈 분석을 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(500)은 유전자 서열 내에서 구조를 포착하기 위한 신경망을 구현할 수 있다.
예를 들어, 시스템(500)은 의료 진단 시스템으로 구성될 수 있고, OMM 유닛(502)은 질병에 대한 스크리닝을 수행하기 위해 생리학적 파라미터를 분석하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 시스템(500)은 박테리아 검출 시스템으로 구성될 수 있고, OMM 유닛(502)은 박테리아의 특정 균주를 검출하기 위해 DNA 서열을 분석하기 위한 승산 기능을 구현하도록 구성될 수 있다.
일부 구현에서, OMM 유닛(502)은 회절 광학 요소를 갖는 기판을 보호하는 하우징(예를 들어, 카트리지)을 포함한다. 하우징은 입력 도파로(602)에 결합된 입력 인터페이스와 출력 도파로(604)에 결합된 출력 인터페이스를 지원한다. 입력 인터페이스는 변조기 어레이(144)로부터 출력을 수신하도록 구성되고, 출력 인터페이스는 OMM 유닛(502)의 출력을 검출 유닛(146)으로 전송하도록 구성된다. OMM 유닛(502)은 평균적 소비자가 취급하기에 적절한 모듈로서 설계될 수 있으며, 사용자는 하나의 OMM 유닛(502)에서 다른 OMM 유닛(502)으로 쉽게 전환할 수 있게 한다. 기계 학습 기술은 시간이 지남에 따라 개선된다. 사용자는 이전 OMM 유닛(502)을 교체하고 새로운 업그레이드 버전을 삽입함으로써 시스템(500)을 업그레이드할 수 있다.
광학 콤팩트 디스크가 CD 플레이어가 검색할 수 있는 디지털 정보를 저장할 수 있는 방식과 유사하게, OMM 유닛은 광학 프로세서에서 사용할 수 있는 신경망 구성을 저장할 수 있다. 광학 콤팩트 디스크가 디지털 정보(오디오, 비디오 및 소프트웨어 프로그램 포함)를 소비자에게 배포하기 위한 저비용 매체인 것처럼 OMM 유닛은 사전 생성된 신경망 또는 행렬 처리 기능(예를 들어, 승산, 컨볼루션 또는 임의의 다른 선형 동작)을 소비자에게 배포하기 위한 저비용 매체가 될 수 있다.
일부 구현에서, 시스템(500)은 상이한 회사에 의해 제공되는 OMM 유닛으로 동작 가능하도록 구성된 광학 컴퓨팅 플랫폼이다. 이는 여러 회사가 다양한 응용을 위한 상이한 수동적 광학 신경망을 개발할 수 있게 한다. 수동적 광학 신경망은 시스템(500)이 다양한 지능형 기능을 수행할 수 있도록 광학 컴퓨팅 플랫폼에 설치될 수 있는 표준화된 패키지로 최종 사용자에게 판매된다.
일부 구현에서, 시스템은 다수의 OMM 유닛(502)을 지지하기 위한 홀더 메커니즘을 가질 수 있고, OMM 유닛(502)을 자동으로 교체하기 위한 기계적 취급 메커니즘이 제공될 수 있다. 시스템은 현재 응용에 대해 어떤 OMM 유닛(502)이 필요한지 결정하고, 기계적 취급 메커니즘을 사용하여 홀더 메커니즘으로부터 적절한 OMM 유닛을 자동으로 검색하고 이를 광학 프로세서(504)에 삽입한다.
지정된 크기의 광학 칩의 경우, 마하-젠더 간섭계와 같은 능동 간섭계를 사용하는 것에 비해 더 많은 수동적 회절 요소가 기판에 설치될 수 있다. 예를 들어, 마하-젠더 간섭계를 사용하는 도 1b의 광학 간섭 유닛(154)은 200 x 200 행렬 승산을 처리하도록 구성될 수 있는 반면, 전체 크기가 동일하고 수동적 회절 요소(각각 약 100 nm x 100 nm의 치수를 가짐)를 사용하는 광학 간섭 유닛(600)은 5000 x 5000 행렬 승산을 처리하도록 구성될 수 있다.
수동적 회절 광학 요소는 거의 전력을 소비하지 않으므로 OMM 유닛(502)은 배터리로 동작되는 디바이스와 같은 저전력 디바이스에 사용될 수 있다. OMM 유닛(502)은 에지 컴퓨팅에 적합하다. 예를 들어, OMM 유닛(502)은 OMM 유닛(502)을 사용하는 광학 프로세서를 사용하여 센서로부터의 원시 데이터가 처리되는 스마트 센서에서 사용될 수 있다. 스마트 센서는 처리된 데이터를 중앙 컴퓨터 서버로 전송하도록 구성될 수 있으므로, 중앙 컴퓨터 서버로 전송되는 원시 데이터의 양을 감소시킬 수 있다. 스마트 센서에 지능형 처리 능력을 배치하면 결함과 이상을 조기에 감지하고 보다 효과적으로 처리할 수 있다. OMM 유닛(502)은 대규모 행렬 승산의 처리를 필요로 하는 응용에 적합하다. OMM 유닛(502)은 신경망이 이미 훈련되고 가중치가 이미 결정되어 수정할 필요가 없는 응용에 적합하다.
회절 광학 요소가 형성되는 기판은 편평하거나 만곡될 수 있다. 도 6a의 예에서, 입력 광은 좌측에서 광학 간섭 유닛(600)으로 진입하고 출력 광은 우측에서 광학 간섭 유닛(600)을 빠져나간다(용어 "좌측", "우측", "상단" 및 "하단"은 도면에 도시된 방향을 의미함). 일부 예에서, 수동적 회절 광학 요소는 출력 광의 일부가 상단 또는 하단, 또는 광학 간섭 유닛(600)의 좌측, 우측, 상단 및 하단 측면의 임의의 조합으로부터 광학 간섭 유닛(600)을 빠져나가도록 구성될 수 있다. 광학 간섭 유닛(600)을 위한 기판은 정사각형, 직사각형, 삼각형, 원형, 타원형 등 임의의 다양한 형상을 가질 수 있다. 광학 간섭 유닛(600)은 광 전파 방향을 재지향하기 위해 반사 요소 또는 거울을 포함할 수 있다.
일부 구현에서, 인공 신경망 계산 시스템(500)은 검출 유닛(146)과 ADC 유닛(160) 사이에 아날로그 비선형 유닛(310)을 추가함으로써 수정될 수 있다. 아날로그 비선형성 유닛(310)은 검출 유닛(146)으로부터 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 변환된 출력 전압을 ADC 유닛(160)에 출력하도록 구성된다. 제어기(110)는 ADC 유닛(160)으로부터 변환된 출력 전압에 대응하는 변환된 디지털화된 출력 전압을 획득할 수 있다. ADC 유닛(160)으로부터 획득된 디지털화된 출력 전압은 이미 비선형적으로 변환("활성화")되었기 때문에, 제어기(110)에 의한 비선형 변환 단계가 생략될 수 있고, 제어기(110)에 의한 계산 부담을 감소시킬 수 있다. 그 다음, ADC 유닛(160)으로부터 직접 획득한 제1 변환된 전압은 제1 변환된 디지털 출력 벡터로 메모리 유닛(120)에 저장될 수 있다.
광학 간섭 유닛은 3차원으로 배열된 수동적 회절 광학 요소를 사용하여 구현될 수 있다. 도 7을 참조하면, 일부 구현에서, 인공 신경망 계산 시스템(700)은 3차원 OMM 유닛(708)을 포함하는 광학 프로세서(702)를 갖는다. 시스템(700)은 도 5의 시스템(500)의 대응하는 컴포넌트와 유사한 메모리 유닛(120) 및 ADC 유닛(160)을 포함한다. 광학 프로세서(702)는 3차원으로 배열된 회절 광학 요소를 사용하여 행렬 계산을 수행하도록 구성된다.
광학 프로세서(702)는 광 빔(714)의 2차원 어레이를 출력하도록 구성된 레이저 유닛(704) 및 광 빔(716)의 변조된 2차원 어레이를 생성하기 위해 광 빔(714)의 2차원 어레이를 변조하도록 구성된 2차원 변조기 어레이(706)를 포함한다. 광학 프로세서(702)는 3차원으로 배열되고 광 빔(716)의 변조된 2차원 어레이를 처리하고 출력 광 빔(718)의 2차원 어레이를 생성하도록 구성된 회절 광학 요소를 갖는 광학 행렬 승산(OMM) 유닛(708)을 포함한다. 광학 프로세서(702)는 출력 광 빔(718)의 2차원 어레이를 검출하기 위해 광 센서의 2차원 어레이를 갖는 검출 유닛(710)을 포함한다. 검출 유닛(710)의 출력은 ADC 유닛(160)에 의해 디지털 신호로 전환된다.
예를 들어, 3D OMM 유닛(708)은 수동적 통합 실리콘 광자 컬럼 또는 큐브로 구현될 수 있다. 광학 행렬 승산 유닛(708)은 회절 신경망을 구현하도록 구성될 수 있고 거의 제로 전력 소비에서 행렬 승산을 실행할 수 있다.
광학 프로세서(702)에서 사용하기 위해 입력 데이터를 인코딩하는 방법은 여러 가지가 있다. 예를 들어, 길이 NxN의 디지털 입력 벡터는 OMM 유닛(708)을 통해 전파되는 크기 NxN의 광학 입력 행렬 상에 인코딩될 수 있다. OMM 유닛(708)은 수신된 광학 입력 행렬에 대해 (NxN) x (NxN) 행렬 승산을 광학 도메인에서 수행한다. OMM 유닛(708)에 의해 수행되는 (NxN) x (NxN) 행렬 승산은 예를 들어 3차원으로 배열된 회절 광학 요소의 치수, 위치 및 기하형상 및, 존재하는 경우, 불순물의 도핑을 포함하는 OMM 유닛(708)의 내부 구성에 의해 결정된다.
OMM 유닛(708)은 다양한 방식으로 구현될 수 있다. 도 8은 회절 요소의 3차원 배열을 사용하는 OMM 유닛(708)의 예의 개략도를 도시하고 있다. OMM 유닛(708)은 광학 입력 행렬(802)을 수신하기 위한 입력 도파로의 행렬, 입력 도파로의 행렬과 광학 통신하는 3차원 광학 간섭 유닛(804), 및 광학 출력 행렬(804)을 제공하기 위해 광학 간섭 유닛(804)과 광학 통신하는 출력 도파로의 행렬을 포함할 수 있다. 광학 간섭 유닛(804)은 복수의 회절 광학 요소를 포함하고, 광학 입력(예를 들어, NxN 벡터 또는 행렬)의 광학 출력(예를 들어, NxN 벡터 또는 행렬)으로의 변환(예를 들어, 선형 변환)을 수행한다. 출력 도파로의 행렬은 광학 간섭 유닛(804)에 의해 출력된 광학 신호를 안내한다. 입력 도파로의 행렬 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛(804)을 통해 출력 도파로의 행렬 내의 각 출력 도파로와 광학 통신한다. 예를 들어, 길이 NxN의 광학 입력 벡터에 대해, OMM 유닛(708)은 NxN 입력 도파로 및 NxN 출력 도파로를 포함할 수 있다.
일부 구현에서, 광학 간섭 유닛(804)은 3차원으로(예를 들어, 3D 행렬로) 배열된 회절 요소를 갖는 기판의 블록을 포함한다. 예를 들어, 복수의 홀이 복수의 기판의 슬라이스 각각에 천공 또는 에칭될 수 있고, 복수의 기판의 슬라이스가 조합되어 기판의 블록을 형성할 수 있다. 홀은 광이 홀(또는 홀을 형성하는 구조)에 의해 회절되도록 입력 광의 파장의 것과 비슷한 크기 정도의 치수를 갖는다. 홀은 크기가 같거나 다를 수 있다. 홀은 또한 삼각형, 정사각형, 직사각형, 육각형 또는 불규칙 형상과 같은 다른 단면 형상을 가질 수 있다. 일부 구현에서, 홀로그래픽 방법이 기판의 전체 블록에 3차원 회절 광학 요소를 형성하는 데 사용될 수 있다. 기판은 예를 들어, 입력 광에 대해 1 % 내지 99 % 범위의 투과율을 갖는 입력 광에 대해 투명하거나 반투명한 물질로 제조될 수 있다.
OMM 유닛(708)을 설계할 때, x, y 및 z 방향에서 회절 요소의 치수와 위치를 고려한다. 회절 광학 요소의 구성은 최적화 프로세스를 사용하여 결정될 수 있다. 예를 들어, 기판의 블록은 픽셀의 3차원 행렬로 분할될 수 있으며, 각 픽셀은 기판 물질로 채워지거나(홀 없음) 공기로 채워질(홀) 수 있다. 픽셀의 구성은 반복적으로 수정될 수 있으며 각 픽셀의 구성에 대해 회절 광학 요소를 통해 광을 통과시키고 출력을 평가하여 시뮬레이션을 수행할 수 있다. 픽셀의 모든 가능한 구성의 시뮬레이션이 수행된 후, 원하는 행렬 처리와 가장 근접하게 유사한 결과를 제공하는 구성이 OMM 유닛(708)에 대한 회절 광학 요소 구성으로 선택된다.
다른 예로서, 회절 요소는 초기에 홀의 3차원 행렬로 구성된다. 홀의 위치, 치수 및 형상은 그 초기 구성으로부터 약간 달라질 수 있다. 각 홀의 파라미터는 반복적으로 조절될 수 있으며 시뮬레이션을 수행하여 홀에 대한 최적화된 구성을 찾을 수 있다.
일부 구현에서, 기계 학습 프로세스가 3차원 회절 광학 요소를 설계하는 데 사용된다. 픽셀이 입력 광에 어떻게 영향을 미치는지에 대한 분석 함수가 결정되고 경사 하강 방법이 픽셀의 최적 구성을 결정하는 데 사용된다.
일부 구현에서, OMM 유닛(708)은 사용자 변경 가능 컴포넌트로서 구현될 수 있고, 상이한 광학 간섭 유닛(804)을 갖는 상이한 OMM 유닛(708)이 상이한 응용을 위해 설치될 수 있다. 예를 들어, 시스템(700)은 의료 진단 시스템으로 구성될 수 있고, 광학 간섭 유닛(804)은 질병에 대한 스크리닝을 수행하기 위해 생리학적 파라미터를 분석하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 제1 OMM 유닛은 질병의 제1 세트를 스크리닝하기 위한 제1 신경망을 구현하도록 구성된 3D 수동적 회절 광학 요소를 포함하는 제1 광학 간섭 유닛을 가질 수 있다. 제2 OMM 유닛은 질병의 제2 세트 등을 스크리닝하기 위한 제2 신경망을 구현하도록 구성된 3D 수동적 회절 광학 요소를 포함하는 제2 광학 간섭 유닛을 가질 수 있다. 제1 및 제2 OMM 유닛은 다양한 질병을 스크리닝하기 위한 기술 개발을 전문으로 하는 상이한 회사에 의해 개발될 수 있다. 사용자가 시스템(700)을 사용하여 질병의 제1 세트를 스크리닝하기를 원할 때, 사용자는 제1 OMM 유닛을 시스템에 삽입할 수 있다. 사용자가 질병의 제2 세트를 스크리닝하기 위해 시스템(700)을 사용하기를 원할 때, 사용자는 제1 OMM 유닛을 교체하고 제2 OMM 유닛을 시스템에 삽입할 수 있다.
예를 들어, 시스템(700)은 광학 문자 인식 시스템으로 구성될 수 있고, 광학 간섭 유닛(804)은 광학 문자 인식을 수행하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 시스템(700)은 음성 인식 시스템으로 구성될 수 있고, 광학 간섭 유닛(804)은 음성 인식을 수행하기 위한 신경망을 구현하도록 구성될 수 있다. 예를 들어, 시스템(700)은 자율 주행 차량의 제어 유닛의 일부일 수 있고, 광학 간섭 유닛(804)은 도로 상태의 인식을 수행하기 위한 신경망을 구현하도록 구성될 수 있다.
예를 들어, 시스템(700)은 유전적 시퀀싱에 사용될 수 있다. DNA 서열은 수동적 회절 광학 요소를 포함하는 시스템(700)을 사용하여 구현되는 컨볼루션 신경망을 사용하여 분류될 수 있다. 예를 들어, 시스템(700)은 종양 유형을 구별하고, 종양 등급을 예측하고, 유전자 발현 패턴으로부터 환자 생존을 예측하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(700)은 분석되는 특성을 가장 잘 예측하는 유전자 또는 시그니처의 서브세트를 식별하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(700)은 유전자 서브세트의 프로파일로부터 모든 유전자의 발현 수준을 예측하거나 추론하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(700)은 유전자 서열로부터 전사 인자 결합 부위, 인핸서 영역 및 염색질 접근성을 예측하는 것과 같은 에피게놈 분석을 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(700)은 유전자 서열 내에서 구조를 포착하기 위한 신경망을 구현할 수 있다. 예를 들어, 시스템(700)은 박테리아 검출 시스템으로 구성될 수 있고, 광학 간섭 유닛(804)은 박테리아의 특정 균주를 검출하기 위해 DNA 서열을 분석하기 위한 승산 기능을 구현하도록 구성될 수 있다.
일부 구현에서, OMM 유닛(700)은 3D 회절 광학 요소를 갖는 기판을 보호하는 하우징(예를 들어, 카트리지)을 포함한다. 하우징은 입력 도파로에 결합된 입력 인터페이스와 출력 도파로에 결합된 출력 인터페이스를 지원한다. 입력 인터페이스는 변조기 어레이(706)로부터 출력을 수신하도록 구성되고, 출력 인터페이스는 OMM 유닛(708)의 출력을 검출 유닛(710)으로 전송하도록 구성된다. OMM 유닛(708)은 평균적 소비자가 취급하기에 적절한 모듈로서 설계될 수 있으며, 사용자는 하나의 OMM 유닛(708)에서 다른 OMM 유닛(708)으로 쉽게 전환할 수 있게 한다. 기계 학습 기술은 시간이 지남에 따라 개선된다. 사용자는 이전 OMM 유닛(708)을 교체하고 새로운 업그레이드 버전을 삽입함으로써 시스템(700)을 업그레이드할 수 있다.
일부 구현에서, 시스템(700)은 상이한 회사에 의해 제공되는 OMM 유닛으로 동작 가능하도록 구성된 광학 컴퓨팅 플랫폼이다. 이는 여러 회사가 다양한 응용을 위한 상이한 3D 수동적 광학 신경망을 개발할 수 있게 한다. 3D 수동적 광학 신경망은 시스템(700)이 다양한 지능형 기능을 수행할 수 있도록 광학 컴퓨팅 플랫폼에 설치될 수 있는 표준화된 패키지로 최종 사용자에게 판매된다.
일부 구현에서, 시스템은 다수의 OMM 유닛(708)을 지지하기 위한 홀더 메커니즘을 가질 수 있고, OMM 유닛(708)을 자동으로 교체하기 위한 기계적 취급 메커니즘이 제공될 수 있다. 시스템은 현재 응용에 대해 어떤 OMM 유닛(708)이 필요한지 결정하고, 기계적 취급 메커니즘을 사용하여 홀더 메커니즘으로부터 적절한 OMM 유닛(708)을 자동으로 검색하고 이를 광학 프로세서(702)에 삽입한다.
일부 구현에서, 인공 신경망 계산 시스템(700)은 검출 유닛(710)과 ADC 유닛(160) 사이에 아날로그 비선형 유닛을 추가함으로써 수정될 수 있다. 아날로그 비선형성 유닛은 검출 유닛(710)으로부터 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 변환된 출력 전압을 ADC 유닛(160)에 출력하도록 구성된다. 제어기(110)는 ADC 유닛(160)으로부터 변환된 출력 전압에 대응하는 변환된 디지털화된 출력 전압을 획득할 수 있다. ADC 유닛(160)으로부터 획득된 디지털화된 출력 전압은 이미 비선형적으로 변환("활성화")되었기 때문에, 제어기(110)에 의한 비선형 변환 단계가 생략될 수 있고, 제어기(110)에 의한 계산 부담을 감소시킬 수 있다. 그 다음, ADC 유닛(160)으로부터 직접 획득한 제1 변환된 전압은 제1 변환된 디지털 출력 벡터로 메모리 유닛(120)에 저장될 수 있다.
광학 간섭 유닛은 1차원으로 배열된 수동적 회절 광학 요소를 사용하여 구현될 수 있다. 도 9를 참조하면, 일부 구현에서, 인공 신경망 계산 시스템(900)은 3차원 1차원 광학 승산 유닛(916)을 포함하는 광학 프로세서(906)를 갖는다. 시스템(900)은 도 1a의 시스템(100)의 대응하는 컴포넌트와 유사한 메모리 유닛(120)을 포함한다. 광학 프로세서(906)는 광 전파 축을 따라 1차원으로 배열된 회절 광학 요소를 사용하여 승산 계산을 수행하도록 구성된다.
광학 프로세서(906)는 레이저 광 빔(910)을 출력하도록 구성된 레이저 유닛(908), 및 변조된 광 빔(914)을 생성하기 위해 광 빔(910)을 변조하도록 구성된 변조기(912)를 포함한다. 광학 프로세서(906)는 1차원으로 배열되고 변조된 광 빔(914)을 처리하여 출력 광 빔(918)을 생성하도록 구성된 회절 광학 요소를 갖는 1차원 광학 승산 유닛(916)을 포함한다. 광학 프로세서(906)는 출력 광 빔(916)을 검출하기 위한 광 센서를 갖는 검출 유닛(920)을 포함한다. 검출 유닛(920)의 출력은 ADC 유닛(930)에 의해 디지털 신호로 전환된다.
예를 들어, 광학 승산 유닛(916)은 회절 광학 요소(예를 들어, 격자 또는 홀)를 갖는 수동 통합 실리콘 광자 도파로로 구현될 수 있다. 광학 승산 유닛(916)은 거의 제로 전력 소비에서 승산 동작을 실행하도록 구성될 수 있다.
광학 프로세서(906)에서 사용하기 위해 입력 데이터를 인코딩하는 방법은 여러 가지가 있다. 예를 들어, 디지털 입력 벡터는 광학 승산 유닛(916)을 통해 전파되는 광학 입력으로서 인코딩될 수 있다. 광학 승산 유닛(916)은 수신된 광학 입력에 대한 승산을 광학 도메인에서 수행한다. 광학 승산 유닛(916)에 의해 수행되는 승산은 예를 들어 광 전파 경로를 따라 일차원으로 배열된 회절 광학 요소의 치수, 위치 및 기하형상 및, 존재하는 경우, 불순물의 도핑을 포함하는 광학 승산 유닛(916)의 내부 구성에 의해 결정된다.
광학 승산 유닛(916)은 다양한 방식으로 구현될 수 있다. 도 10은 회절 요소의 1차원 배열을 사용하는 광학 승산 유닛(916)의 예의 개략도를 도시하고 있다. 광학 승산 유닛(916)은 광학 입력(1002)을 수신하기 위한 입력 도파로, 입력 도파로와 광학 통신하는 1차원 광학 간섭 유닛(1004), 및 광학 출력(1006)을 제공하기 위한 광학 간섭 유닛(1004)과 광학 통신하는 출력 도파로를 포함할 수 있다. 광학 간섭 유닛(1004)은 복수의 회절 광학 요소를 포함하고, 광학 입력을 광학 출력으로 변환(예를 들어, 선형 변환)을 수행한다. 출력 도파로는 광학 간섭 유닛(1004)에 의해 출력되는 광학 신호를 안내한다.
일부 구현에서, 광학 간섭 유닛(1004)은 광 전파 경로를 따라 1차원으로 배열된 회절 요소를 갖는 세장형 기판을 포함한다. 예를 들어, 복수의 홀이 기판에 천공되거나 에칭될 수 있다. 홀은 광이 홀(또는 홀을 형성하는 구조)에 의해 회절되도록 입력 광의 파장의 것과 비슷한 크기 정도의 치수를 갖는다. 홀은 크기가 같거나 다를 수 있다. 기판은 예를 들어, 입력 광에 대해 1 % 내지 99 % 범위의 투과율을 갖는 입력 광에 대해 투명하거나 반투명한 물질로 제조될 수 있다. 일부 구현에서, 홀로그래픽 방법이 또한 기판에 회절 광학 요소를 형성하는 데 사용될 수 있다.
광학 승산 유닛(1004)을 설계할 때, 우리는 광 빔의 전파 경로를 따라 회절 요소의 치수와 위치를 고려한다. 회절 광학 요소의 구성은 최적화 프로세스를 사용하여 결정될 수 있다. 예를 들어, 기판은 일련의 픽셀로 분할될 수 있으며, 각 픽셀은 기판 물질로 채워지거나(홀 없음) 공기로 채워질(홀) 수 있다. 픽셀의 구성은 반복적으로 수정될 수 있으며 각 픽셀의 구성에 대해 회절 광학 요소를 통해 광을 통과시키고 출력을 평가하여 시뮬레이션을 수행할 수 있다. 픽셀의 모든 가능한 구성의 시뮬레이션이 수행된 후, 원하는 승산 처리와 가장 근접하게 유사한 결과를 제공하는 구성이 광학 승산 유닛(1004)에 대한 회절 광학 요소 구성으로 선택된다.
다른 예로서, 회절 요소는 초기에 일련의 홀로 구성된다. 홀의 위치 및 치수는 그 초기 구성으로부터 약간 달라질 수 있다. 각 홀의 파라미터는 반복적으로 조절될 수 있으며 시뮬레이션을 수행하여 홀에 대한 최적화된 구성을 찾을 수 있다.
일부 구현에서, 기계 학습 프로세스가 1차원 회절 광학 요소를 설계하는 데 사용된다. 픽셀이 입력 광에 어떻게 영향을 미치는지에 대한 분석 함수가 결정되고 경사 하강 방법이 픽셀의 최적 구성을 결정하는 데 사용된다.
일부 구현에서, 광학 승산 유닛(916)은 사용자 변경 가능 컴포넌트로서 구현될 수 있고, 상이한 광학 간섭 유닛(1004)을 갖는 상이한 광학 승산 유닛(916)이 상이한 응용을 위해 설치될 수 있다. 예를 들어, 시스템(900)은 박테리아 검출 시스템으로 구성될 수 있고, 광학 간섭 유닛(1004)은 박테리아의 특정 균주를 검출하기 위해 DNA 서열을 분석하기 위한 승산 기능을 구현하도록 구성될 수 있다. 예를 들어, 제1 광학 승산 유닛은 박테리아의 제1 그룹을 검출하기 위한 제1 승산 기능을 구현하도록 구성된 1D 수동적 회절 광학 요소를 포함하는 제1 광학 간섭 유닛을 가질 수 있다. 제2 광학 승산 유닛은 박테리아의 제2 그룹 등을 검출하기 위한 제2 승산 기능을 구현하도록 구성된 1D 수동적 회절 광학 요소를 포함하는 제2 광학 간섭 유닛을 가질 수 있다. 제1 및 제2 광학 승산 유닛은 다양한 박테리아를 검출하기 위한 기술 개발을 전문으로 하는 상이한 회사에 의해 개발될 수 있다. 사용자가 시스템(900)을 사용하여 박테리아의 제1 그룹을 검출하기를 원할 때, 사용자는 제1 광학 승산 유닛을 시스템에 삽입할 수 있다. 사용자가 박테리아의 제2 그룹을 검출하기 위해 시스템(900)을 사용하기를 원할 때, 사용자는 제1 광학 승산 유닛을 교체하고 제2 광학 승산 유닛을 시스템에 삽입할 수 있다. 1차원 회절 광학 요소를 사용함으로써, 레이저 유닛(908), 변조기(912), 검출 유닛(920) 및 ADC 유닛(930)을 저비용으로 제조할 수 있다.
일부 구현에서, 광학 승산 유닛(916)은 1D 회절 광학 요소를 갖는 기판을 보호하는 하우징(예를 들어, 카트리지)을 포함한다. 하우징은 입력 도파로에 결합된 입력 인터페이스와 출력 도파로에 결합된 출력 인터페이스를 지원한다. 입력 인터페이스는 변조기(912)로부터 출력을 수신하도록 구성되고, 출력 인터페이스는 광학 승산 유닛(916)의 출력을 검출 유닛(920)으로 전송하도록 구성된다. 광학 승산 유닛(916)은 평균적 소비자가 취급하기에 적절한 모듈로서 설계될 수 있으며, 사용자는 하나의 광학 승산 유닛(916)에서 다른 광학 승산 유닛(916)으로 쉽게 전환할 수 있게 한다. 기계 학습 기술은 시간이 지남에 따라 개선된다. 사용자는 이전 광학 승산 유닛(916)을 교체하고 새로운 업그레이드 버전을 삽입함으로써 시스템(900)을 업그레이드할 수 있다.
일부 구현에서, 시스템(900)은 상이한 회사에 의해 제공되는 광학 승산 유닛으로 동작 가능하도록 구성된 광학 컴퓨팅 플랫폼이다. 이는 여러 회사가 다양한 응용을 위한 상이한 1D 수동적 광학 승산 유닛을 개발할 수 있게 한다. 1D 수동적 광학 승산 기능은 시스템(900)이 다양한 지능형 기능을 수행할 수 있도록 광학 컴퓨팅 플랫폼에 설치될 수 있는 표준화된 패키지로 최종 사용자에게 판매된다.
일부 구현에서, 시스템은 다수의 광학 승산 유닛(916)을 지지하기 위한 홀더 메커니즘을 가질 수 있고, 광학 승산 유닛(916)을 자동으로 교체하기 위한 기계적 취급 메커니즘이 제공될 수 있다. 시스템은 현재 응용에 대해 어떤 광학 승산 유닛(916)이 필요한지 결정하고, 기계적 취급 메커니즘을 사용하여 홀더 메커니즘으로부터 적절한 광학 승산 유닛(916)을 자동으로 검색하고 이를 광학 프로세서(906)에 삽입한다.
일부 구현에서, 인공 신경망 계산 시스템(900)은 검출 유닛(920)과 ADC 유닛(930) 사이에 아날로그 비선형 유닛을 추가함으로써 수정될 수 있다. 아날로그 비선형성 유닛은 검출 유닛(920)으로부터 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 변환된 출력 전압을 ADC 유닛(930)에 출력하도록 구성된다. 제어기(110)는 ADC 유닛(930)으로부터 변환된 출력 전압에 대응하는 변환된 디지털화된 출력 전압을 획득할 수 있다. ADC 유닛(930)으로부터 획득된 디지털화된 출력 전압은 이미 비선형적으로 변환("활성화")되었기 때문에, 제어기(110)에 의한 비선형 변환 단계가 생략될 수 있고, 제어기(110)에 의한 계산 부담을 감소시킬 수 있다. 그 다음, ADC 유닛(930)으로부터 직접 획득한 제1 변환된 전압은 제1 변환된 디지털 출력 벡터로 메모리 유닛(120)에 저장될 수 있다.
수동적 회절 광학 요소를 갖는 패시브 칩은 몇 가지 이점이 있다. 첫째, 일반적으로 가장 체적이 큰 부분인 활성 컴포넌트가 제거 되었기 때문에 임의의 주어진 크기의 칩에 더 큰 신경망이 포함될 수 있다. 일반적으로, 유용한 신경망에는 수백만 개의 가중치가 포함될 수 있으며, 이는 활성 칩에서 구현하기 어렵고 칩을 통한 데이터의 다수의 실행 및 칩 재프로그래밍이 필요할 수 있다. 이에 비해, 단일 패시브 칩은 전체 신경망을 지원할 수 있다. 둘째, 패시브 칩의 매우 낮은 전력 소비는 "에지" 애플리케이션에 중요하며, 그 이유는 이러한 애플리케이션은 작은 설치 공간과 낮은 전력 소비를 요구할 수 있기 때문이다. 셋째, 패시브 칩은 액티브 컴포넌트를 포함하지 않기 때문에 훨씬 저렴한 비용으로 제조할 수 있다.
수동적 회절 광학 요소를 갖는 광학 행렬 승산 유닛은 또한 파장 분할 멀티플렉싱된 인공 신경망 계산 시스템에서 사용될 수 있다. 예를 들어, 도 1f의 시스템(104)의 OMM 유닛(150)은 수동적 회절 광학 요소를 사용하는 OMM 유닛으로 대체될 수 있다. 이 예에서, 제2 DAC 서브유닛(134)은 제거될 수 있다.
일부 구현에서, 광학 프로세서(예를 들어, 504, 702)는 행렬 승산 이외의 행렬 처리를 수행할 수 있다. 광학 행렬 승산 유닛(502 및 708)은 다른 유형의 행렬 처리를 수행하는 광학 행렬 처리 유닛으로 대체될 수 있다.
도 25는 하나 이상의 광학 행렬 승산 유닛 또는 2D OMM 유닛(502), 3D OMM 유닛(708) 또는 1D OM 유닛(916)와 같은 수동적 회절 요소를 갖는 광학 승산 유닛을 포함하는 ANN 계산 시스템(500, 700, 900)을 사용하여 ANN 계산을 수행하기 위한 방법(2500)의 예의 흐름도를 도시하고 있다. 프로세스(2500)의 단계는 제어기(110 또는 902)에 의해 적어도 부분적으로 수행될 수 있다. 일부 구현에서, 방법(2500)의 다양한 단계는 병렬, 조합, 루프 또는 임의의 순서로 실행될 수 있다.
2510에서, 입력 데이터세트를 포함하는 인공 신경망(ANN) 계산 요청이 수신된다. 입력 데이터세트는 제1 디지털 입력 벡터를 포함한다. 제1 디지털 입력 벡터는 입력 데이터세트의 서브세트이다. 예를 들어, 이는 이미지의 하위 영역일 수 있다. ANN 계산 요청은 컴퓨터(102)와 같은 다양한 엔티티에 의해 생성될 수 있다. 컴퓨터는 개인용 컴퓨터, 서버 컴퓨터, 차량 컴퓨터 및 비행 컴퓨터와 같은 하나 이상의 다양한 유형의 컴퓨팅 디바이스를 포함할 수 있다. ANN 계산 요청은 일반적으로 수행될 ANN 계산을 ANN 계산 시스템(500, 700 또는 900)에 통지하거나 알리는 전기 신호를 지칭한다. 일부 구현에서, ANN 계산 요청은 2개 이상의 신호로 분할될 수 있다. 예를 들어, 제1 신호는 시스템(500, 700 또는 900)이 입력 데이터세트를 수신할 준비가 되었는지 여부를 확인하기 위해 ANN 계산 시스템(500, 700 또는 900)에 질의할 수 있다. 시스템(500, 700 또는 900)에 의한 긍정 확인응답에 응답하여, 컴퓨터는 입력 데이터세트를 포함하는 제2 신호를 전송할 수 있다.
2520에서, 입력 데이터세트가 저장된다. 제어기(110)는 입력 데이터세트를 메모리 유닛(120)에 저장할 수 있다. 입력 데이터세트를 메모리 유닛(120)에 저장하는 것은, 예를 들어 시스템의 전체 성능을 개선할 수 있는 ANN 계산 시스템(500, 700 또는 900)의 동작의 유연성을 허용할 수 있다. 예를 들어, 입력 데이터세트는 메모리 유닛(120)으로부터 입력 데이터세트의 원하는 부분을 검색함으로써 설정된 크기 및 포맷의 디지털 입력 벡터로 분할될 수 있다. 입력 데이터세트의 상이한 부분들을 다양한 순서로 처리하거나 셔플링하여 다양한 유형의 ANN 계산을 수행할 수 있다. 예를 들어, 셔플링은 입력 및 출력 행렬 크기가 다른 경우 블록 행렬 승산 기술에 의한 행렬 승산을 허용할 수 있다. 다른 예로서, 메모리 유닛(120)에 입력 데이터세트를 저장하는 것은 ANN 계산 시스템(500, 700 또는 900)에 의한 다수의 ANN 계산 요청의 대기열화를 허용할 수 있으며, 이는 시스템(500, 700 또는 900)이 비활성 기간 없이 그 최대 속도로 동작을 유지하도록 할 수 있게 한다.
2530에서, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호가 생성된다. 제어기(110)는 제1 복수의 변조기 제어 신호를 생성하기 위해 DAC 제어 신호를 DAC 유닛(506, 712 또는 904)으로 전송할 수 있다. DAC 유닛(506, 712 또는 904)은 제1 DAC 제어 신호에 기초하여 제1 복수의 변조기 제어 신호를 생성하고, 변조기 어레이(144, 706 또는 912)는 제1 디지털 입력 벡터를 나타내는 광학 입력 벡터를 생성한다.
제1 DAC 제어 신호는 DAC 유닛(506, 712 또는 904)에 의해 제1 복수의 변조기 제어 신호로 전환될 다수의 디지털 값을 포함할 수 있다. 다수의 디지털 값은 일반적으로 제1 디지털 입력 벡터와 대응하며 다양한 수학적 관계 또는 참조표를 통해 관련될 수 있다. 예를 들어, 다수의 디지털 값은 제1 디지털 입력 벡터의 요소의 값에 선형적으로 비례할 수 있다. 다른 예로서, 다수의 디지털 값은 디지털 입력 벡터와 변조기 어레이(144, 706 또는 912)에 의해 생성된 광학 입력 벡터 사이의 선형 관계를 유지하도록 구성된 참조표를 통해 제1 디지털 입력 벡터의 요소와 관련될 수 있다.
일부 구현에서, 2D OMM 유닛(502), 3D OMM 유닛(708) 또는 1D OM 유닛(916)은 광학 입력 벡터 및 수동적 회절 요소를 사용하여 구현된 복수의 신경망 가중치에 기초하여 광학 행렬 처리 또는 광학 승산을 수행하도록 구성된다. 행렬 M을 나타내는 복수의 신경망 가중치는 SVD(singular value decomposition) 방법을 통해 M = USV*로 분해될 수 있고, 여기서 U는 M x M 단위 행렬이고 S는 대각선 상에 음이 아닌 실수가 있는 M x N 대각 행렬이며, V*는 N x N 단위 행렬 V의 켤레 복소수이다. 이러한 경우에, OMM 유닛(502 또는 708)이 전체적으로 행렬 M을 구현하도록 수동적 회절 요소는 행렬 V, 행렬 S 및 행렬 U를 구현하도록 구성될 수 있다.
2540에서, 광학 행렬 승산 유닛 또는 광학 승산의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력이 획득된다. 변조기 어레이(144, 706 또는 912)에 의해 생성된 광학 입력 벡터는 2D OMM 유닛(502), 3D OMM 유닛(708) 또는 1D OM 유닛(916)에 의해 처리되고, 광학 출력 벡터로 변환된다. 광학 출력 벡터는 검출 유닛(146, 710 또는 920)에 의해 검출되고 ADC 유닛(160 또는 930)에 의해 디지털화된 값으로 전환될 수 있는 전기 신호로 전환된다. 예를 들어, 제어기(110 또는 902)는 검출 유닛(146, 710 또는 920)에 의해 출력된 전압을 디지털화된 광학 출력으로 전환하기 시작하도록 ADC 유닛(160 또는 930)으로 전환 요청을 전송할 수 있다. 전환이 완료되면 ADC 유닛(160 또는 930)은 전환 결과를 제어기(110 또는 902)로 전송할 수 있다. 대안적으로, 제어기(110 또는 902)는 ADC 유닛(160 또는 930)으로부터 전환 결과를 검색할 수 있다. 제어기(110 또는 902)는 디지털화된 광학 출력으로부터 입력 디지털 벡터의 벡터 승산 또는 행렬 승산 결과에 대응하는 디지털 출력 벡터를 형성할 수 있다. 예를 들어, 디지털화된 광학 출력은 벡터 형식을 갖도록 편성되거나 연접될 수 있다.
일부 구현에서, ADC 유닛(160 또는 930)은 제어기(110 또는 902)에 의해 DAC 유닛(506, 712 또는 904)으로 발행된 DAC 제어 신호에 기초하여 ADC 전환을 수행하도록 설정 또는 제어될 수 있다. 예를 들어, ADC 전환은 DAC 유닛(506, 712 또는 904)에 의한 변조 제어 신호 생성 후 미리 설정된 시간에 시작되도록 설정될 수 있다. 이러한 ADC 전환의 제어는 제어기(110 또는 902)의 동작을 단순화하고 필요한 제어 동작의 수를 감소시킬 수 있다.
2550에서, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환이 수행된다. ANN의 노드 또는 인공 뉴런은 먼저 이전 층의 노드로부터 수신된 신호의 가중 합을 수행한 다음 가중 합의 비선형 변환("활성화")을 수행하여 출력을 생성하는 방식으로 동작한다. 다양한 유형의 ANN은 다양한 유형의 차별화 가능한 비선형 변환을 구현할 수 있다. 비선형 변환 함수의 예는 RELU(rectified linear unit) 함수, 시그모이드 함수, 쌍곡선 탄젠트 함수, X^2 함수 및 |X| 함수를 포함한다. 이러한 비선형 변환은 제어기(110 또는 902)에 의해 제1 디지털 출력에 대해 수행되어 제1 변환된 디지털 출력 벡터를 생성한다. 일부 구현에서, 비선형 변환은 제어기(110 또는 902) 내의 특수 디지털 집적 회로에 의해 수행될 수 있다. 예를 들어, 제어기(110 또는 902)는 하나 이상의 유형의 비선형 변환의 계산을 가속화하도록 특별히 적응된 하나 이상의 모듈 또는 회로 블록을 포함할 수 있다.
2560에서 제1 변환된 디지털 출력 벡터가 저장된다. 제어기(110 또는 902)는 제1 변환된 디지털 출력 벡터를 메모리 유닛(120)에 저장할 수 있다. 입력 데이터세트가 다수의 디지털 입력 벡터로 분할된 경우, 제1 변환된 디지털 출력 벡터는 제1 디지털 입력 벡터와 같은 입력 데이터세트의 일부에 대한 ANN 계산 결과에 대응한다. 이와 같이, 제1 변환된 디지털 출력 벡터를 저장하는 것은 ANN 계산 시스템(500, 700 또는 900)이 입력 데이터세트의 다른 디지털 입력 벡터에 대한 추가 계산을 수행하고 저장하여 나중에 단일 ANN 출력으로 집계될 수 있게 한다.
2570에서 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력이 출력된다. 제어기(110 또는 902)는 제1 복수의 신경망 가중치에 의해 정의된 ANN을 통해 입력 데이터세트를 처리한 결과인 ANN 출력을 생성한다. 입력 데이터세트가 다수의 디지털 입력 벡터로 분할되는 경우, 생성된 ANN 출력은 제1 변환된 디지털 출력을 포함하는 집계 출력이지만 입력 데이터세트의 다른 부분에 대응하는 추가 변환된 디지털 출력을 더 포함할 수 있다. ANN 출력이 생성되고 나면, 생성된 출력은 ANN 계산 요청을 발생시킨 컴퓨터(102)와 같은 컴퓨터로 전송된다.
2D OMM 유닛(502), 3D OMM 유닛(708) 또는 1D OM 유닛(916)은 신경망의 하나의 은닉 층의 가중치 계수를 나타낼 수 있다. 신경망이 여러 개의 은닉 층을 갖는 경우, 추가적인 2D OMM 유닛(502), 3D OMM 유닛(708) 또는 1D OM 유닛(916)이 직렬로 결합될 수 있다. 도 26은 2개의 은닉 층을 갖는 신경망을 구현하기 위한 ANN 계산 시스템(2600)의 예를 도시하고 있다. 제1 2D 광학 행렬 승산 유닛(2604)은 제1 은닉 층의 가중치 계수를 나타내고, 제2 2D 광학 행렬 승산 유닛(2606)은 제2 은닉 층의 가중치 계수를 나타낸다. ANN 계산 시스템(2600)은 제어기(110), 메모리 유닛(120), DAC 유닛(506) 및 광전자 프로세서(2602)를 포함한다. 메모리 유닛(120) 및 DAC 유닛(506)은 도 5의 시스템(500)의 대응하는 컴포넌트와 유사하다. 광전자 프로세서(2602)는 광학 및 전자 부품을 사용하여 행렬 계산을 수행하도록 구성된다.
광전자 프로세서(2602)는 제1 레이저 유닛(142), 제1 변조기 어레이(144a), 제1 2D 광학 행렬 승산 유닛(2604), 제1 검출 유닛(146a), 제1 아날로그 비선형 유닛(310a), 아날로그 메모리 유닛(320), 제2 레이저 유닛(142b), 제2 변조기 어레이(144b), 제2 2D 광학 행렬 승산 유닛(2606), 제2 검출 유닛(146b), 제2 아날로그 비선형 유닛(310b) 및 ADC 유닛(160)을 포함한다. 제1 레이저 유닛(142), 제1 변조기 어레이(144a), 제1 검출 유닛(146a), 제1 아날로그 비선형 유닛(310a) 및 아날로그 메모리 유닛(320)의 동작은 도 3b에 도시되어 있는 대응하는 컴포넌트와 유사하다. 제1 2D OMM 유닛(2604)은 도 5의 2D OMM(502)과 유사하다. 아날로그 메모리 유닛(320)의 출력은 제2 레이저 유닛(142b)으로부터의 레이저 광을 변조하여 광학 벡터를 생성하는 제2 변조기 어레이(144b)를 구동한다. 제2 변조기 어레이(144b)로부터의 광학 벡터는 행렬 승산을 수행하고 제2 검출 유닛(246b)에 의해 검출되는 광학 출력 벡터를 생성하는 제2 2D OMM 유닛(2606)에 의해 처리된다. 제2 검출 유닛(246b)은 2D OMM 유닛(2606)으로부터의 광학 출력 벡터의 광학 신호에 대응하는 출력 전압을 생성하도록 구성된다. ADC 유닛(160)은 출력 전압을 디지털화된 출력 전압으로 전환하도록 구성된다. 제어기(110)는 ADC 유닛(160)으로부터 제2 2D OMM 유닛(2606)의 광학 출력 벡터에 대응하는 디지털화된 출력을 획득할 수 있다. 제어기(110)는 디지털화된 출력으로부터 입력 디지털 벡터의 제1 행렬 승산 결과의 비선형 변환의 제2 행렬 승산 결과에 대응하는 디지털 출력 벡터를 형성할 수 있다. 제2 레이저 유닛(142b)은 제1 레이저 유닛(142a)으로부터의 광의 일부를 제2 변조기 어레이(144b)로 전향시키기 위해 광학 분할기를 사용함으로써 제1 레이저 유닛(142a)과 조합될 수 있다.
앞서 설명한 원리는 3개 이상의 은닉 층을 갖는 신경망 구현에 적용될 수 있으며, 여기서, 각 은닉 층의 가중치 계수는 대응하는 2D OMM 유닛에 의해 표현된다.
도 27은 2개의 은닉 층을 갖는 신경망을 구현하기 위한 ANN 계산 시스템(2700)의 예를 도시하고 있다. 제1 3D 광학 행렬 승산 유닛(2704)은 제1 은닉 층의 가중치 계수를 나타내고, 제2 3D 광학 행렬 승산 유닛(2706)은 제2 은닉 층의 가중치 계수를 나타낸다. ANN 계산 시스템(2700)은 제어기(110), 메모리 유닛(120), DAC 유닛(712) 및 광전자 프로세서(2702)를 포함한다. 메모리 유닛(120) 및 DAC 유닛(712)은 도 7의 시스템(700)의 대응하는 컴포넌트와 유사하다. 광전자 프로세서(2702)는 광학 및 전자 부품을 사용하여 행렬 계산을 수행하도록 구성된다.
광전자 프로세서(2702)는 제1 레이저 유닛(704), 제1 변조기 어레이(706a), 제1 3D 광학 행렬 승산 유닛(2704), 제1 검출 유닛(710a), 제1 아날로그 비선형 유닛(310a), 아날로그 메모리 유닛(320), 제2 레이저 유닛(704b), 제2 변조기 어레이(706b), 제2 2D 광학 행렬 승산 유닛(2706), 제2 검출 유닛(710b), 제2 아날로그 비선형 유닛(310b) 및 ADC 유닛(160)을 포함한다. 제1 레이저 유닛(704a), 제1 변조기 어레이(706a), 제1 검출 유닛(710a), 제1 아날로그 비선형 유닛(310a) 및 아날로그 메모리 유닛(320)의 동작은 도 3b에 도시되어 있는 대응하는 컴포넌트와 유사하다. 제1 3D OMM 유닛(2704)은 도 7의 3D OMM(708)과 유사하다. 아날로그 메모리 유닛(320)의 출력은 제2 레이저 유닛(706b)으로부터의 레이저 광을 변조하여 광학 벡터를 생성하는 제2 변조기 어레이(704b)를 구동한다. 제2 변조기 어레이(706b)로부터의 광학 벡터는 행렬 승산을 수행하고 제2 검출 유닛(710b)에 의해 검출되는 광학 출력 벡터를 생성하는 제2 3D OMM 유닛(2706)에 의해 처리된다. 제2 검출 유닛(710b)은 3D OMM 유닛(2706)으로부터의 광학 출력 벡터의 광학 신호에 대응하는 출력 전압을 생성하도록 구성된다. ADC 유닛(160)은 출력 전압을 디지털화된 출력 전압으로 전환하도록 구성된다. 제어기(110)는 ADC 유닛(160)으로부터 제2 3D OMM 유닛(2706)의 광학 출력 벡터에 대응하는 디지털화된 출력을 획득할 수 있다. 제어기(110)는 디지털화된 출력으로부터 입력 디지털 벡터의 제1 행렬 승산 결과의 비선형 변환의 제2 행렬 승산 결과에 대응하는 디지털 출력 벡터를 형성할 수 있다. 제2 레이저 유닛(704b)은 제1 레이저 유닛(704a)으로부터의 광의 일부를 제2 변조기 어레이(706b)로 전향시키기 위해 광학 분할기를 사용함으로써 제1 레이저 유닛(704a)과 조합될 수 있다.
앞서 설명한 원리는 3개 이상의 은닉 층을 갖는 신경망 구현에 적용될 수 있으며, 여기서, 각 은닉 층의 가중치 계수는 대응하는 3D OMM 유닛에 의해 표현된다.
수동적 회절 광학 요소를 갖는 2D OMM 유닛(502) 및 3D OMM 유닛(708)은 신경망을 통과하는 (k) 번째 통과 동안 네트워크의 출력이 다시 신경망의 입력으로 재순환되어 (k+1) 번째 통과 동안 입력으로 사용됨으로써 신경망의 가중치 계수가 다수회 통과 동안 동일하게 유지되도록 하는 RNN(recurrent neural network)에서 사용하기에 적합하다.
도 28은 순환 신경망을 구현하는 데 사용될 수 있는 신경망 계산 시스템(2800)의 예를 도시하고 있다. 시스템(2800)은 도 6의 2D OMM 유닛(502)과 유사할 수 있는 2D OMM 유닛(2804)에 의해 OMM 유닛(150)이 대체되는 것을 제외하고는 도 3b의 광학 프로세서(140)와 유사한 방식으로 동작하는 광학 프로세서(2802)를 포함한다. 2D OMM 유닛(2804)에 대한 신경망 가중치는 고정되어 있으므로, 시스템(2800)은 도 3b의 시스템(302)에서 사용되는 제2 DAC 서브유닛(134)을 필요로 하지 않는다.
도 29는 순환 신경망을 구현하는 데 사용될 수 있는 신경망 계산 시스템(2900)의 예를 도시하고 있다. 시스템(2900)은 레이저 유닛(142), 변조기 어레이(144), OMM 유닛(150) 및 검출 유닛(146)이 각각 도 7의 레이저 유닛(704), 변조기 어레이(706), 3D OMM 유닛(2904), 및 검출 유닛(710)으로 대체되는 것을 제외하고는 도 3b의 광학 프로세서(140)와 유사한 방식으로 동작하는 광학 프로세서(2902)를 포함한다. 3D OMM 유닛(2904)에 대한 신경망 가중치는 고정되어 있으므로, 시스템(2900)은 도 3b의 시스템(302)에서 사용되는 제2 DAC 서브유닛(134)을 필요로 하지 않는다.
도 30은 1 비트 내부 분해능을 갖는 인공 신경망 계산 시스템(3000)의 예의 개략도를 도시한다. ANN 계산 시스템(3000)은 OMM 유닛(150)이 2D OMM 유닛(3004)(도 5의 2D OMM 유닛(502)과 유사함)으로 대체되고, 제2 드라이버 서브유닛(434)이 생략된 것을 제외하고는 도 4a의 ANN 계산 시스템(400)과 유사하다. ANN 계산 시스템(3000)은 ANN 계산 시스템(400)과 유사한 방식으로 동작하는 데, 입력 벡터는 여러 1 비트 벡터로 분해되고, 그 다음, 특정 ANN 계산은 1 비트 벡터의 일련의 행렬 승산을 수행하고 이어서 개별 행렬 승산 결과를 합산함으로써 수행될 수 있다.
도 31은 1 비트 내부 분해능을 갖는 인공 신경망 계산 시스템(3100)의 예의 개략도를 도시한다. ANN 계산 시스템(3100)은 OMM 유닛(150)이 3D OMM 유닛(3104)(도 7의 3D OMM 유닛(708)과 유사함)으로 대체되고, 제2 드라이버 서브유닛(434)이 생략된 것을 제외하고는 도 4a의 ANN 계산 시스템(400)과 유사하다. 도 31의 예에서, 도 4a의 레이저 유닛(142), 변조기 어레이(144) 및 검출 유닛(146)은 각각 도 7의 레이저 유닛(704), 변조기 어레이(706) 및 검출 유닛(710)으로 대체된다. ANN 계산 시스템(3100)은 ANN 계산 시스템(400)과 유사한 방식으로 동작하는 데, 입력 벡터는 여러 1 비트 벡터로 분해되고, 그 다음, 특정 ANN 계산은 1 비트 벡터의 일련의 행렬 승산을 수행하고 이어서 개별 행렬 승산 결과를 합산함으로써 수행될 수 있다.
다음은 광학 회절 신경망의 원리를 설명한다. 광학 회절 신경망은 몇몇 층의 회절 또는 투과 광학 매체로 구현될 수 있다. 하위헌스-프레넬(Huygens-Fresnel) 원리에 기초하여, 회절 매체의 각 지점을 보조 광원으로 고려할 수 있다. 각 광원에 대해, 원거리장 회절은 다음 수학식으로 설명할 수 있다:
인덱스 1과 i는 신경망의 1 번째 층에 있는 제i 뉴런을 나타내고, λ는 광의 파장, r은 거리이며, 다음과 같다:
각 보조 광원의 출력은 입력을 광원의 위상 및 강도 변조와 승산한 것으로서 기재할 수 있다:
여기서, t는 진폭과 위상 변조를 모두 포함하는 복소수 항인 전송 변조이며, 는 이전의 모든 광원으로부터의 입력의 합계이다. 전체적으로, 출력은 원거리장 회절 w 시간 및 진폭 |A| 및 추가 위상 항으로 합쳐진다. 따라서, 각 층의 각 지점은 이전 층의 다수의 뉴런으로부터 입력을 받고 다음 층으로 출력하기 전에 추가 위상 및 강도 변조를 추가하는 뉴런으로 고려될 수 있다.
다음은 일반적인 유니테리 행렬 승산을 구현할 수 있는 콤팩트 광자 행렬 승산기 유닛의 소형 설계를 설명한다. 도 11을 참조하면, 광자 행렬 승산기 유닛(1100)은 변조기(1102), 복수의 상호연결된 간섭계(1104) 및 감쇠기(1106)를 포함한다. 상호연결된 간섭계(1104)는 방향성 커플러(1108a, 1108b, 1108c, 1108d, 1108e)의 층(또는 그룹 또는 세트)(집합적으로 1108) 및 위상 천이기(1110a, 1110b, 1110c 및 1110d)의 층(또는 그룹 또는 세트)(총괄적으로 1110)을 포함한다. 방향성 커플러(들)의 각 층(또는 그룹 또는 세트)은 하나 이상의 방향성 커플러를 포함할 수 있다. 위상 천이기(들)의 각 층은 하나 이상의 위상 천이기를 포함할 수 있다. 이 예에서, 상호연결된 간섭계(1104)는 5개 층의 방향성 커플러(1108)와 4개 층의 위상 천이기를 포함한다. 다른 예에서, 광자 행렬 승산기 유닛(1100)은 상이한 층의 방향성 커플러 및 위상 천이기를 가질 수 있다. 광자 행렬 승산기 유닛(1100)은 상호연결된 마하-젠더 간섭계를 사용하는 종래의 행렬 승산기 유닛과 비교하여 방향성 커플러(1108)의 층의 수가 감소되는 방식으로 위치되는 방향성 커플러(1108)를 갖는다.
여기에서, "방향성 커플러의 층" 및 "위상 천이기의 층"이라는 문구에서 "층"이라는 용어는 입력 포트 및 출력 포트에 대한 광자 행렬 승산기 유닛(1100)에서의 그 위치를 기준으로 한 방향성 커플러 또는 위상 천이기의 그룹 또는 세트를 의미한다. 도 11의 예에서, 입력 광 신호는 방향 커플러(1108a)의 제1 층에 의해 처리된 다음, 위상 천이기(1110a)의 제2 층에 의해 처리된 다음, 방향성 커플러(들)(1108b)의 제3 층에 의해 처리된 다음, 위상 천이기(1110b)의 제4 층에 의해 처리되는 등등이다.
예를 들어, 상호연결된 마하-젠더 간섭계를 사용하는 종래의 행렬 승산기 유닛은 2N 층의 방향성 커플러를 필요로 할 수 있는 반면, 광자 행렬 승산기 유닛(1100)은 N+2개 층의 방향성 커플러만을 필요로 할 수 있다. N은 입력 신호의 수 또는 입력 벡터의 자릿수를 나타낸다. 광자 행렬 승산기 유닛(1100)에서 사용되는 메시 아키텍처는 일반적인 행렬 계산을 수행할 수 있는 광자 상호연결 간섭계에 대해 가장 콤팩트한 기하형상을 가질 수 있다.
도 12a는 다양한 수의 입력 신호에 대해 광자 행렬 승산기 유닛(1100)의 상호연결된 간섭계(1104)와 종래의 설계를 비교하는 도면을 도시하고 있다. 4개의 입력 신호가 있을 때, 종래의 설계에 따른 상호연결된 마하-젠더 간섭계(1200)는 8개 층의 방향성 커플러를 필요로 하는 반면, 새로운 소형 설계에 따른 상호연결된 간섭계(1202)는 6개 층의 방향성 커플러만을 필요로 한다. 3개의 입력 신호가 있을 때, 종래의 설계에 따른 상호연결된 마하-젠더 간섭계(1204)는 6개 층의 방향성 커플러를 필요로 하는 반면, 새로운 소형 설계에 따른 상호연결된 간섭계(1206)는 5개 층의 방향성 커플러만을 필요로 한다. 8개의 입력 신호가 있을 때, 종래의 설계에 따른 상호연결된 마하-젠더 간섭계(1208)는 16개 층의 방향성 커플러를 필요로 하는 반면, 새로운 소형 설계에 따른 상호연결된 간섭계(1210)는 10개 층의 방향성 커플러만을 필요로 한다.
일반적으로, n개의 입력 신호가 있을 때, 종래의 설계에 따른 상호연결된 마하-젠더 간섭계는 2·n개 층의 방향성 커플러를 필요로 하는 반면, 새로운 소형 설계에 따른 상호연결된 간섭계는 n+2개 층의 방향성 커플러만을 필요로 한다.
종래의 설계에서, n개의 입력 신호에 대해 n개의 층의 마하-젠더 간섭계가 있으며, 각 마하-젠더 간섭계는 방향성 커플러, 이어서 한 쌍의 위상 천이기, 이어서, 다른 방향성 커플러를 포함한다. 따라서, n개 층의 마하-젠더 간섭계는 2n개 층의 방향성 커플러를 갖는다. 그 결과, 종래의 설계에서는 n개의 입력 신호에 대해 n개의 위상 천이기의 층과 2n개의 방향성 커플러의 층이 필요하다.
비교해 보면, 새로운 소형 설계에서, 방향성 커플러의 층에 위상 천이기의 제1 층이 이어지고, 이어서, 방향성 커플러의 층, 이어서 위상 천이기의 제2 층, 이어서 방향성 커플러의 층, 이어서 위상 천이기의 제3 층이 이어진다. 위상 천이기의 마지막 층 이후에는 2개 층의 방향성 커플러가 있다. 결과적으로, n개의 입력 신호에 대해 n개의 위상 천이기의 층과 n+2개의 방향성 커플러의 층이 있다.
방향성 커플러는 상당한 양의 공간을 점유하기 때문에, 방향성 커플러의 수를 2·n에서 n+2로 감소시키면 종래의 설계에 비해 광자 행렬 승산기 유닛(1100)의 크기가 크게 감소한다.
도 12b는 입력 신호의 수가 5인 새로운 설계에 따른 콤팩트한 상호연결된 간섭계(1212)를 도시하는 도면이다.
다음은 경사 하강을 사용한 소형 설계 분해를 설명한다. 위에서 설명한 광자 행렬 승산기의 소형 설계는 임의의 유니테리 행렬 U를 취할 수 있으며 분석 분해 알고리즘을 사용하여 위상 천이기로 구현할 필요가 있는 위상을 결정하고, 따라서 행렬 U를 구현한다. 예를 들어, 경사 하강을 사용하여 주어진 행렬 U에서 위상을 추출할 수 있다. 경사 하강 프로세스는 다음과 같다. 고정 행렬 U에서 시작하여 소형 설계의 위상 천이기에 대해 무작위 가중치 θ를 초기화한다. 소형 설계, 즉, U'= CompactDesign(θ)을 사용하여 행렬 U'를 구성한다. 그 후, 손실 함수 L=|U-U'|^2(행렬의 프로베니우스 놈(Frobenius norm))를 찾고 경사 하강으로 해당 함수를 최소화한다(즉, 경사 업데이트를 사용하여 θ를 업데이트).
도 13을 참조하면, 호모다인 검출을 사용하고(예를 들어, 출력에서 실수부를 취함), 그래서, 직교 행렬을 시뮬레이션하기 위해 검출 전에 추가 감쇠기(1302) 층이 제공된다. 이는 θ와 함께 감쇠기에 대한 대각 가중치 x도 학습할 필요가 있음을 의미한다. 이러한 방식으로, U에 필요한 위상과 대각 가중치를 학습하고 수치적으로 분해를 얻을 수 있다.
다음은 충실한 데이터를 효율적으로 생성하도록 구성된 생성기를 포함하는 OGAN(optical generative adversarial network)에 대해 설명이다. 도 14는 생성기(1404)가 실제 이미지와 유사한 합성된 이미지(1410)를 생성하도록 구성되거나 훈련된 신경망을 포함하고, 판별기(1402)가 입력 이미지가 실제인지 합성인지 여부를 결정하도록 훈련된 신경망을 포함하는 광학 생성적 적대 네트워크(1400)의 예를 예시한다. 판별기(1402)가 실제 이미지의 특징을 학습하도록 판별기(1402)를 훈련하기 위해 초기 세트의 훈련 이미지(1406)가 제공된다. 유사하게, 생성기(1404)는 생성기(1404)가 실제 이미지의 특징과 유사한 특징을 갖는 합성된 이미지(1410)를 생성할 수 있도록 일련의 훈련 이미지(도시되지 않음)를 사용하여 훈련된다.
일부 구현에서, 판별기(1402)의 훈련은 예를 들어, 판별기(1402)의 신경 층에 대한 가중치를 계산하기 위해 트랜지스터 기반 데이터 프로세서(예컨대, 중앙 처리 유닛 또는 범용 그래픽 프로세서 유닛)를 사용하여 전자적으로 수행된다. 유사하게, 생성기(1404)의 훈련은 또한 생성기(1404)의 신경 층에 대한 가중치를 계산하기 위해 전자적으로 수행된다.
생성기(1404)에 의해 생성된 합성된 이미지(1410)는 판별기(1402)에 제공되어 판별기(1402)를 추가로 훈련시켜 판별기(1402)가 실제 이미지를 보다 정확하게 검출할 수 있다. 판별기(1402)에 의한 검출 결과 또한 생성기(1404)기를 추가로 훈련시키기 위해 사용되어 생성기(1404)가 더 사실적인, 즉, 실제 이미지와 더 가깝게 유사한 합성된 이미지(1410)를 생성할 수 있다.
광학 생성적 적대 신경망(1400)은 많은 응용을 가지고 있다. 예를 들어, 일부 응용에서 판별기(1402)를 훈련시키는 데 사용하기 위해 많은 수의 실제 이미지를 얻는 것이 어렵거나 비용이 많이들 수 있다. 예를 들어, 암세포를 검출하도록 판별기(1402)를 훈련시키기 위해서는 훈련 단계 동안 많은 수의 암세포의 이미지가 필요하다. 암 환자로부터 암세포의 많은 이미지를 얻는 것은 어렵고 비용이 많이들 수 있으므로, 충분한 정확도로 판별기(1402)를 훈련시키기에 충분한 샘플이 없을 수 있다. 판별기(1402)를 개선하기 위해, 생성기(1404)는 암세포의 사실적인 이미지를 생성하도록 훈련되고, 암세포의 합성된 사실적 이미지(1410)를 사용하여 판별기(1402)를 추가로 훈련함으로써, 판별기(1402)가 암세포를 검출하는 능력을 개선시킨다.
일부 구현에서, 생성기(1404)는 신경망의 가중치를 수정하기 위해 능동 위상 천이기와 같은 능동 요소를 포함하는 광학 칩일 수 있다. 생성기(1404)가 훈련된 후, 능동 요소가 고정되어 가중치가 고정된다. 랜덤 노이즈(1408)가 생성기(1404)에 공급되고, 그 후, 생성기는 랜덤 노이즈(1408)에 기초하여 합성된 이미지(1410)를 생성하며, 여기서 합성된 이미지(1410)는 암세포의 실제 이미지와 유사하다.
일부 구현에서, 생성기(1404)는 도 5, 도 7 및 도 9에 도시되어 있는 광학 행렬 승산 유닛을 사용하여 구현된다. 신경망에 대한 가중치가 결정된 후, 결정된 가중치에 기초하여 광학 행렬 승산 유닛이 구성되어 신경망을 구현한다. 생성기(1404)에 대한 입력이 랜덤 노이즈(1408)이기 때문에, 변조기 어레이를 가질 필요가 없어 생성기(1404)가 작은 설치 공간을 가질 수 있게 한다.
생성기(1404)가 수동 광학 칩을 사용하여 구현되는지 또는 능동 요소를 갖는 광학 칩을 사용하여 구현되는 지 여부에 관계없이, 훈련된 생성기(1404)는 그 후 판별기(1402)에 제공되어 판별기(1402)를 추가로 훈련하고 개선시킬 수 있는 사실적인 이미지(예를 들어, 암세포의 실제 이미지와 유사함)를 생성할 수 있다. 생성기(1404)는 높은 처리량을 가지며 범용 그래픽 처리 유닛과 같은 종래의 전자 데이터 프로세서를 사용하는 것보다 잠재적으로 수자릿수 더 빠른 속도로 합성된 이미지(1410)를 생성할 수 있다. 생성기(1404)는 가능하게는 종래의 전자 데이터 프로세서를 사용하는 것에 비해 수자릿수 더 적은 낮은 전력 소비를 갖는다.
생성기(1404)는 다양한 응용을 갖는다. 예를 들어, 생성기(1404)에 의해 생성된 합성된 이미지는 의료 분야에서 다수의 응용을 가질 수 있다. 생성기(1404)는 특정 질병과 연관된 조직의 이미지를 합성하도록 구성될 수 있고, 합성된 이미지는 질병과 연관된 조직을 인식하기 위해 판별기(1402)를 훈련하는 데 사용될 수 있다. 예를 들어, 생성기(1404)에 의해 생성된 합성된 이미지는 자율 주행 또는 내비게이션 분야에서 많은 응용을 가질 수 있다. 예를 들어, 생성기(1404)는 다양한 교통 상황의 합성된 이미지를 생성하도록 구성될 수 있고, 합성된 이미지는 교통 상황을 인식하도록 판별기(1402)를 훈련시키는 데 사용될 수 있다. 예를 들어, 생성기(1404)에 의해 생성된 합성된 이미지는 제조 품질 관리 분야에서 많은 응용을 가질 수 있다. 예를 들어, 생성기(1404)는 결함이 있는 제품의 합성된 이미지를 생성하도록 구성될 수 있고, 합성된 이미지는 결함 제품을 검출하도록 판별기(1402)를 훈련시키는 데 사용될 수 있다.
일부 구현에서, 광학 생성적 적대 신경망(1400)은 진폭 및 위상 둘 모두가 알려진 분포를 따르는 랜덤 진폭 및 위상의 입력을 위한 필터인 간섭성 광원을 포함한다. 광학 생성적 적대 신경망(1400)은 정보의 빠른 처리를 위한 간섭계의 메시를 포함한다. 광학 생성적 적대 신경망(1400)은 가중치를 셔플링할 필요가 없는, 즉, 간섭계의 재프로그래밍이 필요없는 아키텍처를 갖도록 설계될 수 있다. 광학 생성적 적대 신경망(1400)은 또한 1GHz보다 큰 동작 주파수를 갖는 빠른 위상 천이기를 포함하도록 설계될 수 있다. 광학 생성적 적대 신경망(1400)은 비선형성의 빠른 실행을 가질 수 있다. 예를 들어, 이는 (i) 아날로그 전자 도메인에서의 비선형성, (ii) 단순 광학 비선형성 또는 (iii) 디지털 전자 도메인에서의 비선형성을 가질 수 있다.
다음은 상호연결된 마하-젠더 간섭계를 갖고 로직 게이트를 구현하도록 구성된 새로운 광자 회로를 설명한다. 도 15를 참조하면, 마하-젠더 간섭계(1500)는 마하-젠더 간섭계(1500)가 다음 회전을 구현하는 방식으로 구성된 위상 천이기(1502)를 포함한다:
도 16을 참조하면, 광자 회로(1600)는 XOR 게이트 및 OR 게이트를 구현할 수 있다. 광자 회로(1600)는 마하-젠더 간섭계(1500), 검출기(1602) 및 아날로그 전자 임계값을 갖는 비교기(1604)를 포함한다. 입력 신호 x1 및 x2가 광자 회로(1600)에 제공되면, 마하-젠더 간섭계(1500)는 다음 동작을 수행한다:
검출기(1602)는 검출된 신호의 절대값을 나타내는 출력을 생성하며, 검출기(1602)의 출력은 다음과 같다:
비교기(1604)의 아날로그 전자 임계값은 1/2에서 바이어스되어 1/팩터를 제거하므로 비교기(1604)의 출력은 다음과 같다:
광자 회로(1600)는 입력 신호 x1, x2의 다양한 조합에 대해 다음과 같은 결과를 생성한다:
위에서, 제1 쌍의 숫자는 입력 신호이고, 제2 쌍의 숫자는 검출기(1602)의 출력이고, 제3 쌍의 숫자는 비교기(1604)의 출력이다. 입력(x1, x2)=(0, 0)일 때, 마하-젠더 간섭계(1500)는 결과 (0, 0)을 생성하는 승산을 수행하고 검출기(1602)는 (0, 0)을 출력하며, 비교기(1604)는 결과 (0, 0)를 생성한다. 입력(x1, x2)=(0, 1)일 때, 마하-젠더 간섭계(1500)는 결과(-1/, 1/)를 생성하는 승산을 수행하고, 검출기(1602)는 (1/, 1/)를 출력하고, 비교기(1604)는 결과 (1, 1)을 생성한다. 입력 (x1, x2)=(1, 0)일 때, 마하-젠더 간섭계(1500)은 결과 (1/, 1/)를 생성하는 승산을 수행하고, 검출기(1602)는 (1/, 1/)를 출력하고, 비교기(1604)는 결과 (1, 1)을 생성한다. 입력 (x1, x2)=(1, 1)일 때, 마하-젠더 간섭계(1500)는 결과(0, )를 생성하는 승산을 수행하고, 검출기(1602)는 (0, )를 출력하고 비교기(1604)는 결과 (0, 1)를 생성한다. 위의 결과는 검출기(1602)가 제1 출력(1606a)에서 (1/·|x1-x2|)를 생성하고, 제2 출력(1606b)에서 (1/·|x1+x2|)을 생성함을 나타낸다. 비교기(1604)는 제1 출력(1608a)에서 XOR(x1, x2)을 생성하고 제2 출력(1608b)에서 OR(x1, x2)을 생성하기 위해 1/ 인자를 제거한다.
도 17a를 참조하면, 광자 회로(1700)는 AND 게이트 및 OR 게이트를 구현할 수 있다. 광자 회로(1700)는 마하-젠더 간섭계(1500) 및 검출기(1602)를 포함하고, 검출기(1602)의 출력은 한번 재활용된다. 입력 신호 x1 및 x2가 광자 회로(1700)에 제공될 때, 마하-젠더 간섭계(1500) 및 검출기(1602)는 다음 출력을 생성한다:
검출기(1602)의 출력은 광자 회로(1600)의 입력으로 다시 재순환되고, 신호가 마하-젠더 간섭계(1500) 및 검출기(1602)를 통과한 후 검출기(1602)는 다음의 최종 출력을 생성한다:
광자 회로(1700)는 입력 신호 x1, x2의 다양한 조합에 대해 다음과 같은 결과를 생성한다:
위에서, 제1 쌍의 숫자는 입력 신호이고, 제2 쌍의 숫자는 제1 통과 후 검출기(1602)의 출력이고, 제3 쌍의 숫자는 제2 통과 후 검출기(1602)의 출력이다. 입력 (x1, x2)=(0, 0)일 때, 마하-젠더 간섭계(1500)의 제1 통과 후 검출기(1602)는(0, 0)을 출력하고, 마하-젠더 간섭계(1500)의 제2 통과 후 검출기(1602)는 (0, 0)을 출력한다. 입력(x1, x2)=(0, 1)일 때, 마하-젠더 간섭계(1500)의 제1 통과 후 검출기(1602)는 (1/, 1/)을 출력하고, 마하-젠더 간섭계(1500)의 제2 통과 후, 검출기(1602)는 (0, 1)을 출력한다. 입력(x1, x2) =(1, 0)인 경우, 마하-젠더 간섭계(1500)의 제1 통과 후 검출기(1602)가 (1/, 1/)를 출력하고, 마하-젠더 간섭계(1500)의 제2 통과 후 검출기(1602)는 (0, 1)을 출력한다. 입력 (x1, x2)=(1, 1) 일 때, 마하-젠더 간섭계(1500)의 제1 통과 이후, 검출기(1602)는 (0, )를 출력하고, 마하-젠더 간섭계(1500)의 제2 통과 이후, 검출기(1602)는 (1, 1)을 출력한다. 상기 결과는 2회 통과 이후, 검출기(1602)가 제1 출력(1704)에서 AND(x1, x2)를 나타내는 신호 및 제2 출력(1706)에서 OR(x1, x2)을 나타내는 신호를 생성한다.
도 17b는 제1 마하-젠더 간섭계(1712), 제1 검출기(1714), 제2 마하-젠더 간섭계(1716) 및 제2 검출기(1718)를 포함하는 광자 회로(1710)의 다른 구현을 도시한다. 제2 검출기(1718)는 AND(x1, x2)를 나타내는 제1 출력(1720) 및 OR(x1, x2)을 나타내는 제2 출력(1722)을 생성한다.
위의 내용은 마하-젠더 간섭계, 방향성 커플러, 평면 광학 도파로 및 광검출기를 포함하는 광자 회로를 사용하여 AND, OR 및 XOR 게이트와 같은 로직 게이트를 구현하는 방법을 설명한다. 로직 게이트를 사용하여 정렬 알고리즘, 예를 들어, 링크 URL <https://en.wikipedia.org/wiki/Bitonic_sorter>에 설명된 바이토닉 정렬기와 유사한 알고리즘에 사용할 수 있는 비교기를 생성할 수 있다. 또 다른 예로서, 로직 게이트는 NIST에서 제안하는 표준이면서 예를 들어, 비트코인 채굴 및 비트코인 어드레스 생성을 비롯한 많은 응용을 갖는, 링크 URL <https://en.wikipedia.org/wiki/SHA-2>에 설명된 SHA-2와 유사한 해싱 알고리즘을 구성하는 데 사용할 수 있다. 위에서 설명한 광자 회로를 사용하여 구현된 로직 회로는 대부분 수동적이기 때문에 CMOS 로직 게이트에 비해 레이턴시가 적고 전력 소비가 낮을 수 있다. 광학 로직 게이트의 설계에는 광학적 비선형성이 없다. 비선형 응답은 광검출기를 사용한 신호 검출에서 비롯된다.
비간섭성 또는 저간섭성 광학 컴퓨팅 시스템
다음은 행렬 계산을 수행할 때 비간섭성 또는 저간섭성 광학 신호를 처리하는 광전자 컴퓨팅 시스템에 대해 설명한다. 도 1의 ANN 계산 시스템(100)의 광학 프로세서(140)는 동일한 파장을 갖고 광학적으로 간섭성인 N개의 광 출력을 생성하는 레이저 유닛(142)을 포함한다. 광학 행렬 승산 유닛(150)은 광학 도메인에서 N x N 행렬 승산을 수행하는 데, 광학 신호는 OMM 유닛(150)의 입력으로부터 OMM 유닛(150)의 출력까지 간섭성 상태를 유지한다. 광학 도메인에서 행렬 승산을 수행할 때 OMM 유닛(150)의 이점은 위에서 설명되었다. 다음은 계산의 일부가 광학 도메인에서 수행되고 계산의 일부가 전기 도메인에서 수행되는, 전체 행렬 승산 프로세스에 걸쳐 광학 신호가 간섭성일 필요가 없는 광전자 컴퓨팅 시스템을 설명한다. 광전자 컴퓨팅 시스템의 이점은 위의 요약 섹션에 설명되어 있다.
광전자 컴퓨팅 시스템은 연산의 기본 물리학이 (예를 들어, 에너지 소비 및/또는 속도의 측면에서) 가장 적절한 신호(예를 들어, 전기 신호 또는 광학 신호)에 대해 각각 수행되는 상이한 유형의 연산을 사용하여 계산 결과를 생성한다. 예를 들어, 복사는 광학 파워 분할을 사용하여 수행될 수 있고, 합산은 전기 전류 기반 합산을 사용하여 수행될 수 있으며, 승산은 광학 진폭 변조를 사용하여 수행될 수 있다. 이러한 세 가지 유형의 연산을 사용하여 수행할 수 있는 계산의 예는 벡터에 행렬을 승산하는 것이다(예를 들어, 인공 신경망 계산에 사용되는 바와 같음). 다음을 포함하지만 이에 한정되지 않는 다양한 계산이 수행될 수 있는 일련의 일반 선형 연산을 나타내는 이러한 연산을 사용하여 다양한 다른 계산을 수행할 수 있다: 벡터-벡터 내적, 벡터-벡터 요소별 승산, 벡터-스칼라 요소별 승산 또는 행렬-행렬 요소별 승산.
도 18을 참조하면, 광전자 컴퓨팅 시스템(1800)의 예는 광학 신호를 제공하는 광학 포트 또는 소스(1802A, 1802B) 등의 세트를 포함한다. 예를 들어, 일부 구현에서, 광학 포트/소스(1802A)는 광학 경로(1803)에 결합되는 광학 신호를 제공하는 광학 입력 커플러를 포함할 수 있다. 다른 구현에서, 광학 포트/소스(1802A)는 레이저(예를 들어, 간섭성-감지 구현을 위한) 또는 발광다이오드(LED)(예를 들어, 간섭성-비감지 구현을 위한)와 같은 변조된 광학 소스를 포함할 수 있으며, 이는 광학 경로(1803)에 결합되는 광학 신호를 생성한다. 일부 구현은 광학 신호를 시스템(1800)에 결합하는 포트와 시스템(1800) 내에서 광학 신호를 생성하는 소스의 조합을 포함할 수 있다. 광학 신호는 임의의 광학 파(예를 들어, 약 100 nm 내지 약 1 mm 범위의 파장을 포함하는 스펙트럼을 갖는 전자기파)를 포함할 수 있으며, 이는 다양한 변조 형태 중 임의의 것을 사용하여 정보로 변조되어 있거나, 변조되는 과정에 있다. 광학 경로(1803)는 예를 들어 광학 도파로(예를 들어, 광자 집적 회로(PIC)에 내장된 도파로 또는 광섬유)의 안내 모드에 기초하여 또는 광학 포트/소스(1802A)와 시스템(1800)의 다른 모듈 사이의 미리 결정된 자유 공간 경로에 기초하여 정의될 수 있다.
일부 구현에서, 광전자 컴퓨팅 시스템(1800)은 광학 포트 또는 소스(1802A, 1802B) 등에 의해 제공되는 각각의 광학 신호에 인코딩된 입력 값의 어레이에 대한 계산을 수행하도록 구성된다. 예를 들어, 신경망을 기반으로 하는 다양한 기계 학습 응용에 대해, 계산은 입력 벡터에 행렬을 승산하여 결과적으로 출력 벡터를 생성하는 벡터-행렬 승산(또는 벡터 대 행렬 승산)을 구현할 수 있다. 광학 신호는 가능하게는 벡터의 선택된 요소의 서브세트만을 포함하는 벡터의 요소를 나타낼 수 있다. 예를 들어, 일부 신경망 모델의 경우 계산에 사용되는 행렬의 크기는 계산의 벡터-행렬 승산 부분을 수행하는 하드웨어 시스템(예를 들어, 더 큰 시스템의 엔진 또는 코프로세서)에 로드될 수 있는 행렬의 크기보다 클 수 있다. 따라서, 계산 수행의 일부는 행렬과 벡터를 하드웨어 시스템에 별도로 제공할 수 있는 더 작은 세그먼트로 분할하는 것을 수반할 수 있다.
도 18에 도시된 모듈은 64 x 64 요소 행렬과 같은 비교적 큰 행렬(또는 부분 행렬)에 대해 벡터-행렬 승산을 수행하는 더 큰 시스템의 일부일 수 있다. 그러나, 예시의 목적으로, 모듈은 2 x 2 요소 행렬을 사용하여 벡터-행렬 승산을 수행하는 예시적인 계산에 관련하여 설명된다. 이 예에서 참조된 모듈은 2개의 복사 모듈(104A 및 104B), 4개의 승산 모듈(1806A, 1806B, 1806C, 1806D) 및 2개의 합산 모듈을 포함할 것이며, 그 중 하나인 합산 모듈(1808)만이 도 18에 도시되어 있다. 이 모듈은 행렬 로 입력 벡터 를 승산하여 출력 벡터 를 생성하는 것을 가능하게 할 것이다. 이러한 벡터-행렬 승산 에 대해, 출력 벡터 의 2개의 요소 각각은 다음과 같이 상이한 수학식으로 표현될 수 있다:
y A = M A x A + M B x B
y B = M C x A + M D x B
이러한 수학식은 일련의 기본 연산을 사용하여 시스템(1800)에서 수행될 수 있는 개별 단계들로 나눌 수 있다: 복사 연산, 승산 연산 및 합산 연산. 이들 수학식에서, 입력 벡터의 각 요소는 두 번 나타나므로 2개의 복사 연산이 있다. 또한, 4개의 승산 연산이 있고 2개의 합산 연산이 있다. 수행되는 연산의 수는 더 큰 행렬을 사용하여 벡터-행렬 승산을 구현하는 시스템의 경우 더 많을 것이며, 각 연산의 상대적 인스턴스 수는 형상이 정사각형 행렬이 아닌 행렬(즉, 열 수와 행 수가 다름)을 사용하면 달라진다.
이 예에서, 복사 연산은 복사 모듈(1804A 및 1804B)에 의해 수행된다. 입력 벡터 x A x B 의 요소는 각각 광학 포트/소스(1802A 및 1802B)로부터의 광학 신호에 인코딩된 값으로 표현된다. 이러한 각 값은 두 수학식 모두에 사용되므로 각 값이 복사되어 결과적인 2개의 사본을 상이한 각 승산 모듈에 제공한다. 예를 들어, 다수의 파워 레벨 세트로부터의 파워를 갖도록 변조되거나, 아래에 더 상세히 설명된 바와 같이 다수의 듀티 사이클 세트로부터의 듀티 사이클을 갖는 광학 파를 사용하여 특정 시간 슬롯에서 값이 인코딩될 수 있다. 값은 대응 값이 인코딩된 광학 신호를 복사함으로써 복사된다. 요소 x A 를 나타내는 값으로 인코딩된 광학 신호는 복사 모듈(1804A)에 의해 복사되고, 요소 x B 를 나타내는 값으로 인코딩된 광학 신호는 복사 모듈(1804B)에 의해 복사된다. 각 복사 모듈은 예를 들어, 광학 파워 분할기, 예컨대, 파워를 점진적으로(예를 들어, 단열적으로) 분할하는 Y 형상 분할기를 통해 입력 도파로에서의 안내 모드를 2개의 출력 도파로 각각에 결합하는 도파로 광학 분할기 또는 입력 빔으로부터의 2개의 출력 빔을 각각 투과 및 반사하기 위해 하나 이상의 층을 갖는 유전체 계면 또는 박막을 사용하는 자유 공간 빔 분할기를 사용하여 구현될 수 있다.
본 문서에서, 요소 x A 를 나타내는 값으로 인코딩된 광학 신호가 복사 모듈(1804A)에 의해 복사된다고 말할 때, 요소 x A 를 나타내는 신호의 다수의 사본이 입력 신호를 기반으로 생성된다는 것을 의미하며, 반드시 복사 모듈(1804A)의 출력 신호가 입력 신호의 진폭과 동일한 진폭을 갖는 것은 아니다. 예를 들어, 복사 모듈(1804A)이 2개의 출력 신호 사이에서 균등하게 입력 신호 파워를 분할하면, 이 때, 2개의 출력 신호 각각은 입력 신호 파워의 50 % 이하인 파워를 가질 것이다. 2개의 출력 신호는 서로의 사본인 반면, 복사 모듈(1804A)의 각 출력 신호의 진폭은 입력 신호의 진폭과 다르다. 또한, 주어진 광학 신호 또는 광학 신호의 서브세트를 복사하는 데 사용되는 다수의 복사 모듈의 그룹을 갖는 일부 실시예에서, 각각의 개별 복사 모듈은 그 생성된 사본들 사이에서 파워를 균등하게 분할할 필요는 없지만 복사 모듈의 그룹은 총괄적으로 하류 모듈(예를 들어, 하류 승산 모듈)의 입력에 실질적으로 동일한 파워를 갖는 사본들을 제공하도록 구성된다.
이 예에서, 승산 연산은 4개의 승산 모듈(1806A, 1806B, 1806C, 1806D)에 의해 수행된다. 광학 신호 중 하나의 각 사본에 대해 승산 모듈 중 하나는 광학 신호의 해당 사본에 행렬 요소 값을 승산하며, 이는 광학 진폭 변조를 사용하여 수행할 수 있다. 예를 들어, 승산 모듈(1806A)은 입력 벡터 요소 x A 에 행렬 요소 M A 를 승산한다. 벡터 요소 x A 의 값은 광학 신호에 인코딩될 수 있고, 행렬 요소 M A 의 값은 광학 진폭 변조기의 진폭 변조 레벨로서 인코딩될 수 있다.
벡터 요소 x A 로 인코딩된 광학 신호는 다양한 형상의 진폭 변조를 사용하여 인코딩될 수 있다. 광학 신호의 진폭은 특정 시간 슬롯 내 물리적 광학 파의 특정 순간 파워 레벨 P A 에 대응하거나 특정 시간 슬롯에 걸친 물리적 광학 파의 특정 에너지 E A 에 대응할 수 있다(이 경우, 시간에 걸쳐 적분된 파워는 총 에너지를 산출한다). 예를 들어, 레이저 소스의 파워는 다수의 파워 레벨의 미리 결정된 세트로부터의 특정 파워 레벨을 갖도록 변조될 수 있다. 일부 구현에서, 최적화된 동작 지점 근방에서 전자 회로를 동작시키는 것이 유용할 수 있으므로 다수의 가능한 파워 레벨에 걸쳐 파워를 변경하는 대신, 시간 슬롯의 특정 분율에 대해 "온" 및 "오프"(제로 파워)되도록 변조되는 신호와 함께 최적화된 "온" 파워 레벨이 사용된다. 파워가 "온" 레벨에 있는 시간의 분율은 특정 에너지 레벨에 대응한다. 파워 또는 에너지의 이러한 특정 값 중 어느 하나가 요소 x A 의 특정 값에 맵핑될 수 있다(선형 또는 비선형 맵핑 관계 사용). 특정 총 에너지 레벨을 산출하기 위한 시간에 걸친 실제 적분은 아래에서 더 자세히 설명되는 바와 같이 신호가 전기 도메인에 존재하게 된 이후의 시스템(1800)에서 하류에서 이루어질 수 있다.
또한, 용어 "진폭"은 광학 파에서 순간 또는 적분된 파워로 표현되는 신호의 크기를 지칭할 수 있거나, 또한, 동등하게 광학 파의 "전자기장 진폭"을 지칭할 수도 있다. 이는 전자기장 진폭이 신호 진폭과 잘 정의된 관계를 갖기 때문이다(예를 들어, 전자기장 진폭의 제곱에 비례하는 전자기장 강도를 안내 모드 또는 자유 공간 빔의 횡방향 크기에 걸쳐 적분하면 순간 파워가 산출됨). 이는 변조 값 사이의 관계를 도출하며, 그 이유는 특정 값 으로 전자기장 진폭을 변조하는 변조기는 또한 대응하는 값 M으로 파워 기반 신호 진폭을 변조하는 것으로 고려될 수도 있기 때문이다(광학 파워는 전자기장 진폭의 제곱에 비례하기 때문임).
행렬 요소(M A )를 인코딩하기 위해 승산 모듈에 의해 사용되는 광학 진폭 변조기는 다양한 물리적 상호 작용 중 임의의 것을 사용하여 광학 신호의 진폭(즉, 광학 신호의 파워)을 변경함으로써 동작할 수 있다. 예를 들어, 변조기는 링 공진기, 전계 흡수 변조기, 열 전기-광학 변조기 또는 MZI(Mach-Zehnder Interferometer) 변조기를 포함할 수 있다. 일부 기술에서는 파워의 일부가 물리적 상호 작용의 일부로 흡수되고, 다른 기술에서는, 파워가 그 편광 또는 위상과 같은 그 파워 이외의 광학 파의 다른 특성을 수정하거나 상이한 광학 구조 사이의 광학 파워의 결합을 수정하는(예를 들어 튜닝 가능한 공진기를 사용함) 물리적 상호 작용을 사용하여 파워가 전향된다. 상이한 경로를 통해 이동한 광학 파 사이의 간섭(예를 들어, 상쇄 및/또는 보강 간섭)을 사용하여 동작하는 광학 진폭 변조기의 경우 레이저와 같은 간섭성 광원이 사용될 수 있다. 흡수를 사용하여 동작하는 광학 진폭 변조기의 경우, 간섭성 또는 비간섭성 또는 저간섭성 광원, 예컨대, LED가 사용될 수 있다.
도파로 1 x 2 광학 진폭 변조기의 한 예에서, 위상 변조기가 사용되고 변조기의 여러 도파로 중 하나에 해당 위상 변조기를 배치함으로써 광학 파의 파워를 변조한다. 예를 들어, 도파로 1 x 2 광학 진폭 변조기는 입력 광학 도파로에 의해 안내된 광학 파를 제1 및 제2 암으로 분할할 수 있다. 제1 암은 제2 암의 위상 지연에 대해 상대적인 위상 천이를 부여하는 위상 천이기를 포함한다. 그 후, 변조기는 제1 및 제2 암으로부터의 광학 파를 조합한다. 일부 실시예에서, 위상 지연의 상이한 값은 상쇄 또는 보강 간섭을 통한, 입력 광학 도파로에 의해 안내되는 광학 파의 파워와 0 내지 1 사이의 값의 승산을 제공한다. 일부 실시예에서, 제1 및 제2 암은 2개의 출력 도파로 각각에 조합되고, 2개의 출력 도파로로부터의 광 파를 수신하는 각각의 광검출기에 의해 생성된 광전류 사이의 차이는 아래에 더 상세히 설명될 바와 같이 부호화된 승산 결과(예를 들어, -1 내지 1 사이의 값에 의한 승산)를 제공한다. 인코딩된 광학 신호의 진폭 스케일링을 적절하게 선택함으로써, 행렬 요소 값의 범위가 임의의 범위의 양수 값(0 내지 M) 또는 부호화된 값(-M 내지 M)에 맵핑될 수 있다.
이 예에서, 합산 연산은, 합산 모듈(1808)과 함께, 도 18에 도시되어 있는, 출력 벡터 요소 yB를 계산하기 위한 수학식에서 합산을 수행하는 데 사용된 2개의 합산 모듈에 의해 수행된다. 대응하는 합산 모듈(도시되지 않음)은 출력 벡터 요소 y A 를 계산하기 위한 수학식에서 합산을 수행하는 데 사용된다. 합산 모듈(1808)은 2개의 승산 모듈(1806C 및 1806D)의 결과의 합을 나타내는 전기 신호를 생성한다. 이 예에서, 전기 신호는 각각 승산 모듈(1806C 및 1806D)에 의해 생성된 출력 광학 신호의 파워의 합에 비례하는 전류(i sum )의 형태이다. 이 전류를 산출하는 합산 연산은 일부 실시예에서 광전자 도메인에서 수행되고, 다른 실시예에서 전기 도메인에서 수행된다. 또는, 일부 실시예는 일부 합산 모듈에 대한 광전자 도메인 합산 및 다른 합산 모듈에 대한 전기 도메인 합산을 사용할 수 있다.
합산이 전기 도메인에서 수행되는 실시예에서, 합산 모듈(1808)은 다음을 사용하여 구현될 수 있다: (1) 각각 그 진폭이 승산 모듈 중 하나의 결과를 나타내는 입력 전류를 운반하는 2개 이상의 입력 전도체 및 (2) 입력 전류의 합인 전류를 운반하는 하나 이상의 출력 전도체. 예를 들어, 이는 전도체가 접합점에서 만나는 배선인 경우에 이루어진다. 이러한 관계는 예를 들어 (이론에 얽매이지 않고) 접합점으로 유입된 전류는 접합점에서 유출되는 전류와 같다고 하는 키르호프의 전류 법칙을 기반으로 이해될 수 있다. 이들 실시예에서, 합산 모듈(108)에 제공된 신호(1810A 및 1810B)는 입력 전류이며, 이는 그 진폭이 수신된 광학 신호의 파워에 비례하는 각각의 광전류를 생성하는 승산 모듈의 일부인 광검출기에 의해 생성될 수 있다. 그 후, 합산 모듈(1808)은 출력 전류(i sum )를 제공한다. 그 후, 해당 출력 전류의 순간 값 또는 해당 출력 전류의 적분 값을 사용하여 합계의 정량적 값을 나타낼 수 있다.
합산이 광전자 도메인에서 수행되는 실시예에서, 합산 모듈(1808)은 상이한 각각의 승산 모듈에 의해 생성된 광학 신호를 수신하는 광검출기(예를 들어, 광다이오드)를 사용하여 구현될 수 있다. 이러한 실시예에서, 합산 모듈(1808)에 제공된 신호(1810A 및 1810B)는 그 파워가 승산 모듈 중 하나의 결과를 나타내는 광학 파를 각각 포함하는 입력 광학 신호이다. 이 실시예에서 출력 전류(i sum )는 광검출기에 의해 생성된 광전류이다. 광학 파의 파장이 다르기 때문에(예를 들어, 그 사이에 유의한 보강 또는 상쇄 간섭이 발생하지 않을 정도로 충분히 상이함), 광전류는 수신된 광학 신호의 파워의 합에 비례할 것이다. 광전류는 또한 개별 등가 광검출기로 검출된 개별 검출된 광학 파워에 대해 얻어지는 개별 전류의 합과 실질적으로 동일하다. 광학 파의 파장은 다르지만 광검출기에 의해 실질적으로 동일한 응답을 갖기에 충분히 근사하다(예를 들어, 광검출기의 실질적으로 평탄한 검출 대역폭 내의 파장). 위에서 언급한 바와 같이, 전류 합산을 사용하는 전기 도메인에서의 합산은 다수의 파장에 대한 필요성을 피함으로써 보다 간단한 시스템 아키텍처를 가능하게 할 수 있다.
도 19a는 전기 도메인에서 수행되는 합산 연산과 함께 2 x 2-요소 행렬을 사용하여 벡터-행렬 승산을 수행하기 위한 시스템(1900)의 구현을 위한 시스템 구성(1900)의 예를 도시하고 있다. 본 예에서, 입력 벡터는 이고, 행렬은 이다. 입력 벡터의 요소 각각은 상이한 광학 신호에 인코딩된다. 2개의 상이한 복사 모듈(1902)은 상이한 경로(예를 들어, "상부" 경로 및 "하부" 경로)에 걸쳐 계산을 분할하기 위해 광학 복사 연산을 수행한다. 광학 진폭 변조를 사용하여 각각 상이한 행렬 요소로 승산하는 4개의 승산 모듈(1904)이 있다. 각 승산 모듈(1904)의 출력에는 광학 신호를 전류 형태의 전기 신호로 전환하는 광학 검출 모듈(1906)이 있다. 상이한 입력 벡터 요소의 두 상부 경로는 합산 모듈(1908)을 사용하여 조합되고, 상이한 입력 벡터 요소의 두 하부 경로는 전기 도메인에서 합산을 수행하는 합산 모듈(1908)을 사용하여 조합된다. 따라서, 출력 벡터의 각 요소는 상이한 전기 신호로 인코딩된다. 도 19a에 도시되어 있는 바와 같이, 계산이 진행됨에 따라 출력 벡터의 각 컴포넌트가 점증적으로 생성되어 상부 및 하부 경로에 대해 각각 다음 결과를 산출한다.
M 11 v 1 + M 12 v 2
M 21 v 1 + M 22 v 2
시스템 구성(1900)은 임의의 다양한 광전자 기술을 사용하여 구현될 수 있다. 일부 구현에서, 통합된 광학 컴포넌트 및 전자 컴포넌트 둘 모두를 지원할 수 있는 공통 기판(예를 들어, 실리콘과 같은 반도체)이 있다. 광학 경로는 광학 신호를 운반하는 광학 파를 전파시키기 위한 도파로를 정의하는 더 낮은 광학 인덱스를 갖는 물질로 둘러싸인 더 높은 광학 인덱스를 갖는 물질을 갖는 도파로 구조로 구현될 수 있다. 전기 경로는 전기 신호를 운반하는 전류를 전파시키기 위한 전도성 물질에 의해 구현될 수 있다. (도 19a 내지 도 20a, 도 21a 내지 도 24e에서, 달리 표시되지 않는 한, 더 굵은 선으로 표시되는 광학 경로와 더 얇은 선 또는 점선으로 표시되는 전기 경로를 구별하기 위해 경로를 나타내는 선의 두께가 사용된다.) 분할기 및 광학 진폭 변조기와 같은 광학 디바이스와 광검출기 및 연산 증폭기(op-amp)와 같은 전기 디바이스는 공통 기판 상에 제조될 수 있다. 대안적으로, 상이한 기판을 갖는 상이한 디바이스가 시스템의 상이한 부분을 구현하기 위해 사용될 수 있고, 이들 디바이스는 통신 채널을 통해 통신할 수 있다. 예를 들어, 광섬유가 사용되어 전체 시스템을 구현하는 데 사용되는 다수의 장치 사이에서 광학 신호를 전송하는 통신 채널을 제공할 수 있다. 이러한 광학 신호는 아래에 더 상세히 설명된 바와 같이, 벡터-행렬 승산을 수행할 때 제공되는 입력 벡터의 다양한 서브세트 및/또는 벡터-행렬 승산을 수행할 때 계산되는 중간 결과의 다양한 서브세트를 나타낼 수 있다.
본 문서에서, 도면은 전기 신호 라인과 교차하는 광학 도파로를 보여줄 수 있지만, 광학 도파로는 전기 신호 라인과 교차하지 않는 것으로 이해된다. 전기 신호 라인 및 광학 도파로는 디바이스의 상이한 층에 배치될 수 있다.
도 19b는 광전자 도메인에서 수행되는 합산 연산과 함께 2 x 2-요소 행렬을 사용하여 벡터-행렬 승산을 수행하기 위한 시스템(1900)의 구현을 위한 시스템 구성(1920)의 예를 도시하고 있다. 이 예에서, 상이한 입력 벡터 요소는 2개의 상이한 각각의 파장 λ1 및 λ2를 사용하여 광학 신호에 인코딩된다. 또한, 승산 모듈(1904)의 광학 출력 신호는 광학 조합기 모듈(1910)에서 조합되고, 그래서, 광학 도파로는 두 파장의 두 광학 신호를 광전자 합산 모듈(1912) 각각으로 안내하며, 이는 도 19a의 예에서 광학 검출 모듈(1906)을 위해 사용되는 바와 같이 광검출기를 사용하여 구현될 수 있다. 그러나, 이 예에서 합산은 상이한 전도체 사이의 접합부를 떠나는 전류 대신 두 파장의 파워를 나타내는 광전류로 표현된다.
본 문서에서, 도면이 서로 교차하는 2개의 광학 도파로를 나타내는 경우, 두 광학 도파로가 실제로 서로 광학적으로 결합되는 지 여부는 설명에서 명확해질 것이다. 예를 들어, 디바이스의 평면도에서 서로 교차하는 것처럼 보이는 2개의 도파로는 상이한 층에서 구현되어 서로 교차하지 않을 수 있다. 예를 들어, 복사 모듈(1902)에 대한 입력으로서의 광학 신호 λ2를 제공하는 광학 경로와 승산 모듈(1904)로부터 광학 조합기 모듈(1910)로 광학 신호(M11V1)를 제공하는 광학 경로는 도면에서는 서로 교차하는 것으로 보일 수 있더라도 서로 광학적으로 결합되지 않는다. 유사하게, 복사 모듈(1902)로부터 승산 모듈(1904)로의 광학 신호 λ2를 제공하는 광학 경로와 승산 모듈(1904)로부터 광학 조합기 모듈(1910)로 광학 신호(M21V1)를 제공하는 광학 경로는 도면에서는 서로 교차하는 것으로 보일 수 있더라도 서로 광학적으로 결합되지 않는다.
도 19a 및 도 19b에 도시된 시스템 구성은 m x n 요소 행렬을 사용하여 벡터-행렬 승산을 수행하기 위한 시스템 구성을 구현하도록 확장될 수 있다. 본 예에서, 입력 벡터는 이고, 행렬은 이다. 예를 들어, 입력 벡터 요소 v 1 내지 v n n 개의 도파로에 의해 제공되고, 각각의 입력 벡터 요소는 하나 이상의 복사 모듈에 의해 처리되어 m개의 각각의 경로에 입력 벡터 요소의 m개의 사본을 제공한다. M ij ·v j (i=1...m, j = 1...n)를 나타내는 전기 또는 광학 신호를 생성하기 위해 광학 진폭 변조를 사용하여 상이한 행렬 요소를 각각 승산하는 m x n 승산 모듈이 있다. M ij ·v j (j = 1 ... n)를 나타내는 신호는 제i 합산 모듈(i = 1 ... m)을 사용하여 조합되어 m 경로에 대해 각각 다음 결과를 생성한다.
M 11 v 1 + M 12 v 2 + ... + M 1 n v n
M 21 v 1 + M 22 v 2 + ... + M 2 n v n
...
M m 1 v 1 + M m 2 v 2 + ... + M mn v n
광학 진폭 변조는 광학 신호의 파워를 그 전체 값에서 더 낮은 값, 즉, 0(또는 거의 0) 파워로 감소시킬 수 있으므로 0과 1 사이의 임의의 값에 의한 승산이 구현될 수 있다. 그러나, 일부 계산에서는 1보다 큰 값의 승산 및/또는 부호화된(양 또는 음) 값에 의한 승산을 요구할 수 있다. 첫째, 범위를 0 내지 Mmax(여기서 Mmax > 1)로 확장하기 위해, 행렬 요소 진폭이 범위 0 내지 Mmax로의 계산에서 정량적으로 대응하도록, 광학 신호에 대한 원래의 변조는 Mmax에 의한 원래 벡터 요소의 명시적 또는 암시적 배치(seating)(또는, 동등하게, 1/Mmax에 의한 선형 맵핑에서 특정 벡터 요소 진폭에 맵핑된 값의 스케일링)를 포함할 수 있다. 둘째, 행렬 요소 값에 대한 양의 범위 0 내지 Mmax를 부호화된 범위 -Mmax 내지 Mmax로 확장하기 위해 아래에서 더 상세히 설명될 바와 같이 대칭성 차동 구성을 사용할 수 있다. 유사하게, 또한 대칭성 차동 구성을 사용하여 다양한 신호에 인코딩된 값의 양의 범위를 부호화된 값 범위로 확장할 수도 있다.
도 20a는 광학 신호에 인코딩된 값에 대해 부호화된 값 범위를 제공하기 위한 대칭성 차동 구성(2000)의 예를 도시하고 있다. 이 예에서, V1 + 및 V1 -로 지정된 비부호 값(unsigned value)을 인코딩하는 2개의 관련 광학 신호가 있으며, 각 값은 0(예를 들어, 0에 가까운 광학 파워에 대응)과 Vmax(예를 들어, 최대 파워 레벨에서의 광학 파워에 대응) 사이에서 변하는 것으로 가정된다. 두 광학 신호 사이의 관계는 하나의 광학 신호가 "메인" 값 V1 +으로 인코딩되고, 다른 광학 신호가 대응하는 "반대칭" 값 V1 -으로 인코딩되며, 하나의 광학 신호에 인코딩된 메인 값 V1 +이 0에서 Vmax로 단조적으로 증가함에 따라, 쌍을 이룬 광학 신호에 인코딩된 반대칭 값 V1 -은 Vmax로부터 0으로 단조적으로 감소한다. 또는, 반대로, 하나의 광학 신호에 인코딩된 메인 값 V1 +이 Vmax로부터 0으로 단조적으로 감소함에 따라, 쌍을 이룬 광학 신호 상에 인코딩된 반대칭 값 V1 -은 0으로부터 Vmax로 단조적으로 증가한다. 상부 및 하부 경로의 광학 신호가 각각의 광학 검출 모듈(1906)에 의해 전류 신호로 변환된 후, 전류 신호 사이의 차이는 전류 감산 모듈(2002)에 의해 생성될 수 있다. V1 + V1 +를 인코딩하는 전류 신호 사이의 차이는 다음과 같이 주어진 부호화된 값(V1)으로 인코딩된 전류를 초래하고:
여기서, 비부호 메인 값 V1 +이 0으로부터 Vmax로 단조적으로 증가하고 그 쌍을 이룬 반대칭 값 V1 -이 Vmax로부터 0으로 단조적으로 감소함에 따라 부호화된 값(V1)은 -Vmax와 Vmax 사이에서 단조적으로 증가한다. 도 20b 및 도 20c에 도시된 바와 같이, 도 20a의 대칭성 차동 구성을 구현하기 위해 사용될 수 있는 다양한 기술이 존재한다.
도 20b에서, 광학 신호는 2개의 광다이오드 검출기가 연산 증폭기(2030)의 공통 단자(2032)(예를 들어, 반전 단자)에 연결된 공통 단자 구성에서 검출된다. 이 구성에서, 제1 광다이오드 검출기(2012)에서 생성된 전류(2010)와 제2 광다이오드 검출기(2016)에서 생성된 전류(2014)는 3개의 전도체 사이의 접합부(2018)에서 조합되어 전류 2010과 전류 2014년 사이의 차이 전류(2020)를 생성한다. 전류(2010 및 2014)는 각각의 광다이오드의 반대측에서 제공되며, 대향 측면들로부터 제공되고, 이들은 다른 단부에서 전압원(도시되지 않음)에 연결되어 도 20b에 도시된 바와 같이, 동일한 크기이지만 반대 부호의 바이어스 전압(vbias)을 제공한다. 이 구성에서는 공통 접합부(2018)에서 만나는 전류의 거동으로 인해 차이가 생성된다. 차이 전류(2020)는 검출된 광학 신호에 인코딩된 비부호 값들 사이의 차이에 대응하는 전기 신호에 인코딩된 부호화된 값을 나타낸다. 연산 증폭기(2030)는 다른 단자(2024)는 접지되고 출력 단자(2026)는 차이 전류(2020)에 비례하는 전압을 제공하는 저항 요소(2028)를 사용하여 공통 단자(2032)로 피드백되는 트랜스임피던스 증폭기(TIA) 구성으로 구성될 수 있다. 이러한 TIA 구성은 전압 신호 형태의 전기 신호로 결과 값을 제공할 것이다.
도 20c에서, 광학 신호는 2개의 광다이오드 검출기가 연산 증폭기(2050)의 상이한 단자에 연결된 차동 단자 구성에서 검출된다. 이 구성에서, 제1 광다이오드 검출기(2042)에서 생성된 전류(2040)는 반전 단자(2052)에 연결되고, 제2 광다이오드 검출기(2046)에서 생성된 전류(2044)는 비반전 단자(2054)에 연결된다. 전류(2040, 2044)는 각각의 광다이오드의 동일한 단부로부터 제공되고, 각각의 광다이오드는 도 20c에 도시된 바와 같이 다른 단부에서 동일한 크기(vbias) 및 동일한 부호의 바이어스 전압을 제공하는 전압 소스(도시되지 않음)에 연결된다. 이 구성에서 연산 증폭기(2050)의 출력 단자(2056)는 전류(2040)와 전류(2044) 사이의 차이에 비례하는 전류를 제공한다. 이 구성에서 차이는 연산 증폭기(2050)의 회로의 거동으로 인해 생성된다. 출력 단자(2056)로부터 유동하는 차이 전류는 검출된 광학 신호에 인코딩된 비부호 값 사이의 차이에 대응하는 전기 신호에 인코딩된 부호 값을 나타낸다.
도 21a는 승산 모듈(1904)을 구현하는 광학 진폭 변조기의 변조 레벨로서 인코딩된 값에 대한 부호화된 값 범위를 제공하기 위한 대칭성 차동 구성(2100)의 예를 도시하고 있다. 이 예에서, M11 + 및 M11 -로 지정된 비부호 값에 의한 변조를 위해 구성된 2개의 관련 변조기가 있으며, 각 값은 0(예를 들어, 거의 0으로 감소되도록 변조된 광학 파워에 대응)과 Mmax(예를 들어, 거의 최대 파워 레벨로 보전된 광학 파워에 대응) 사이에서 변하는 것으로 가정된다. 두 변조 레벨 사이의 관계는 하나의 변조 레벨이 "메인" 값 M11 +으로 인코딩되고, 다른 변조 레벨이 대응하는 "반대칭" 값 M11 -으로 인코딩되며, 하나의 변조기의 메인 값 M11 +이 0에서 Vmax로 단조적으로 증가함에 따라, 다른 변조기의 반대칭 값 M11 -은 Vmax로부터 0으로 단조적으로 감소한다. 또는, 반대로, 하나의 변조기의 메인 값 M11 +이 Vmax로부터 0으로 단조적으로 감소함에 따라, 다른 변조기의 반대칭 값 M11 -은 0으로부터 Vmax로 단조적으로 증가한다. 값 V를 인코딩하는 입력 광학 신호가 복사 모듈(1902)에 의해 복사된 후, 변조기 각각은 변조된 출력 광학 신호를 대응하는 광학 검출 모듈(1906)에 제공한다. 상부 경로의 승산 모듈(1904)은 M11 +로 승산하고 값 M11 +V으로 인코딩된 광학 신호를 제공하는 변조기를 포함한다. 하부 경로의 승산 모듈(1904)은 M11 -로 승산하고, 값 M11 -V으로 인코딩된 광학 신호를 제공하는 변조기를 포함한다. 광학 신호가 각각의 광학 검출 모듈(1906)에 의해 전류 신호로 전환된 이후, 이들 사이의 차이는 전류 감산 모듈(2102)에 의해 생성될 수 있다. M11 +V 및 M11 -V를 인코딩하는 전류 신호 사이의 차이는 다음과 같이 주어진 부호화된 값(M11)로 승산된 V로 인코딩된 전류를 초래한다:
여기서, 부호화된 값 M11은 비부호 메인 값 M11 +이 0으로부터 Mmax로 단조적으로 증가하고, 그 쌍을 이룬 반대칭 값 M11 -이 Mmax로부터 0으로 단조적으로 감소함에 따라 -Mmax와 Mmax 사이에서 단조적으로 증가한다.
도 21b는 입력 벡터의 부호화된 요소 및 행렬의 부호화된 요소 및 전기 도메인에서 수행되는 합산 연산과 함께 2 x 2-요소 행렬을 사용하여 벡터-행렬 승산을 수행하기 위한 시스템(1800)의 구현을 위한 시스템 구성(2110)의 예를 도시하고 있다. 이 예에서, 입력 벡터의 각 부호화된 요소에 대해 비부호 값을 인코딩하는 2개의 관련 광학 신호가 있다. 제1 부호화된 입력은 제1 부호화된 입력 벡터 요소 값(V1)에 대해 V1 + 및 V1 -로 지정된 2개의 비부호 값이 있고, 제2 부호화된 입력 벡터 요소 값(V2)에 대해 V2 + 및 V2 -로 지정된 2개의 비부호 값이 존재한다. 광학 신호에 인코딩된 각각의 비부호 값은 4개의 각각의 광학 경로에 걸쳐 광학 신호의 4개의 사본을 산출하는 하나 이상의 광학 복사 연산을 수행하는 복사 모듈(2112)에 의해 수신된다. 복사 모듈(2112)의 일부 구현에서, 각각 상이한 파워 비율을 사용하여 분할하도록 구성된 3개의 상이한 Y 형상 도파로 분할기가 존재한다(예를 들어, 임의의 다양한 광자 디바이스를 사용하여 달성할 수 있음). 예를 들어, 제1 분할기는 1:4 파워 비율을 사용하여 파워의 25 %(1/4)를 제1 경로로 전향하도록 분할하고, 제2 분할기는 1:3 파워 비율을 사용하여 파워의 25 %(1/4 = 1/3 x 3/4)를 제2 경로로 전향하도록 분할하고, 제3 분할기는 1:2 파워 비율을 사용하여 파워의 25 %(1/4 = 1/2 x 2/3 x 3/4)를 제3 경로로 전향하고 파워의 나머지 25 %는 제4 경로로 전향하도록 분할할 수 있다. 복사 모듈(2112)의 일부인 개별 분할기는 예를 들어, 시스템 내의 상이한 경로에 상이한 사본을 적절하게 분배하기 위해 기판의 상이한 부분에 배열될 수 있다. 복사 모듈(2112)의 다른 구현에서, 적절한 경우 상이한 분할 비율로 분할되는 상이한 수의 경로가 있을 수 있다. 예를 들어, 제1 분할기는 2개의 중간 광학 신호를 제공하기 위해 1:2 파워 비율을 사용하여 분할할 수 있다. 그 다음, 이러한 중간 광학 신호 중 하나는 1:2 파워 비율을 갖는 제2 분할기를 사용하여 파워의 25 %를 제1 경로 및 제2 경로로 각각 전향하도록 분할되고, 이들 중간 과학 신호 중 나머지는 1:2 파워 비율을 갖는 제3 분할기를 사용하여 파워의 25 %를 제3 경로와 제4 경로 각각으로 전향하도록 분할된다.
시스템 구성(2110)은 또한 도 21b에 도시되어 있는 바와 같이 배열된 다른 모듈을 포함하여 시스템(100)에 의해 수행된 벡터-행렬 승산의 결과인 출력 벡터를 나타내는 2개의 상이한 출력 전기 신호를 제공한다. 입력 벡터를 나타내는 광학 신호의 상이한 사본을 변조하는 16개의 상이한 승산 모듈(1904)이 존재하고, 계산의 중간 결과를 나타내는 전기 신호를 제공하기 위한 16개의 상이한 광학 검출 모듈(1906)이 존재한다. 또한, 각각의 출력 전기 신호에 대한 전체 합산을 계산하는 2개의 상이한 합산 모듈(2114A 및 2114B)이 있다. 도면에서, 광학 검출 모듈(1906)을 합산 모듈(2114B)에 전기적으로 결합하는 신호 라인은 점선으로 도시되어 있다. 각각의 전체 합산은 벡터 요소 및/또는 행렬 요소에 대한 임의의 대칭성 차동 구성으로부터의 쌍을 이룬 메인 항에서 감산되는 일부 반대칭 항을 포함할 수 있기 때문에, 합산 모듈(2114A 및 2114B)은 반전 이후 가산될(대등하게, 비반전 항으로부터 감산될) 일부 합산 항에 대한 메커니즘을 포함할 수 있다. 예를 들어, 일부 구현에서 합산 모듈(2114A 및 2114B)은 전체 합산 내에서 가산될 항이 비반전 입력 포트에 연결될 수 있고, 전체 합산 내에서 감산될 항이 반전 입력 포트에 연결될 수 있도록 반전 및 비반전 입력 포트 둘 모두를 포함한다. 이러한 합산 모듈의 한 가지 예시적인 구현은 연산 증폭기로서, 비반전 단자가 가산될 신호를 나타내는 전류를 전도하는 배선에 연결되고 반전 단자가 감산될 신호를 나타내는 전류를 전도하는 배선에 연결된다. 대안적으로, 반전 입력 포트는 다른 수단에 의해 반대칭 항의 반전이 수행되는 경우 합산 모듈에서 필요하지 않을 수 있다. 합산 모듈(2114A 및 2114B)은 각각 다음의 합산 결과를 산출하여 벡터-행렬 승산을 완료한다.
본 문서에서, 도면이 서로 교차하는 2개의 전기 신호선을 보여줄 때, 2개의 전기 신호선이 서로 전기적으로 연결되어 있는지 여부는 설명으로부터 명확해질 것이다. 예를 들어, M21 +V1 + 신호를 운반하는 신호 라인은 M11 +V1 - 신호를 운반하는 신호 라인 또는 M11 -V1 - 신호를 운반하는 신호 라인에 전기적으로 연결되지 않는다.
도 21b에 도시된 시스템 구성은 입력 벡터 및 행렬이 부호화된 요소를 포함하는 m x n 요소 행렬을 사용하여 벡터-행렬 승산을 수행하기 위한 시스템 구성을 구현하도록 확장될 수 있다.
도 20b의 대칭성 차동 구성을 구현하기 위해 사용될 수 있는 다양한 기술이 존재한다. 이러한 기술 중 일부는 승산 모듈(1904)을 구현하고/하거나 메인 및 반대칭 쌍으로서 관련된 광학 신호 쌍을 제공하기 위해 1 x 2 광학 진폭 변조기를 사용한다. 도 22a는 1 x 2 광학 진폭 변조기(2200)의 예를 도시하고 있다. 이 예에서, 1 x 2 광학 진폭 변조기(2200)는 유입 광학 신호를 분할하여 파워의 50 %를 위상 변조기(2204)(위상 천이기라고도 지칭됨)를 포함하는 제1 경로로, 그리고, 파워의 50 %를 위상 변조기를 포함하지 않는 제2 경로에 제공하는 입력 광학 분할기(2202)를 포함한다. 광학 진폭 변조기가 자유 공간 간섭계로 구현되는지 도파로 간섭계로 구현되는지에 따라 경로를 상이한 방식으로 정의할 수 있다. 예를 들어, 자유 공간 간섭계에서, 하나의 경로는 빔분할기를 통한 파의 투과에 의해 정의되고 다른 경로는 빔 분할기로부터의 파의 반사에 의해 정의된다. 도파로 간섭계에서, 각 경로는 유입 도파로(예를 들어, Y 형상 분할기에서)에 결합된 상이한 광학 도파로에 의해 정의된다. 위상 변조기(2204)는 제1 경로의 총 위상 지연이 구성 가능한 위상 천이 값(예를 들어, 0 도와 180 도 사이의 소정 위치의 위상 천이로 설정될 수 있는 값)만큼 제2 경로의 총 위상 지연과 상이하도록 위상 천이를 부여하도록 구성될 수 있다.
1x2 광학 진폭 변조기(2200)는 광학 간섭 또는 광학 결합을 특정 방식으로 사용하여 제1 및 제2 입력으로부터의 광학 파를 조합함으로써 위상 천이에 따라 상이한 비율로 제1 및 제2 출력 경로로 파워를 전향시키는 2x2 커플러(2206)를 포함한다. 예를 들어, 자유 공간 간섭계에서, 0 도의 위상 천이는 두 경로 사이에서 분할되는 입력 파워의 실질적 전부가 보강 간섭(constructively interfere)하여 커플러(2206)를 구현하는 빔 분할기의 하나의 출력 경로로부터 빠져나가게 하고, 180 도의 위상 천이는 두 경로 사이에서 분할된 입력 파워의 실질적 전부가 보강 간섭하여 커플러(2206)를 구현하는 빔분할기의 다른 출력 경로로부터 빠져나가게 한다. 도파로 간섭계에서, 0 도의 위상 천이는 두 경로 사이에 분할된 입력 파워의 실질적 전부가 커플러(2206)의 하나의 출력 도파로에 결합되게 하고, 180 도의 위상 천이는 두 경로 사이에서 분할된 입력 파워의 실질적 전부가 커플러(2206)의 다른 출력 도파로에 결합되게 한다. 이 때, 0 도와 180 도 사이의 위상 천이는 부분적인 구성 또는 상쇄 간섭 또는 부분적인 도파로 결합을 통해 0과 1 사이의 값으로 광학 파의 파워(및 광학 파에 인코딩된 값)의 승산을 제공할 수 있다. 그 후, 0과 1 사이의 임의의 값에 의한 승산은 위에서 설명한 바와 같이 0 내지 Mmax 사이의 임의의 값에 의한 승산에 맵핑될 수 있다.
또한, 변조기(2200)로부터 방출된 2개의 광학 파의 파워 사이의 관계는 위에서 설명한 메인 및 반대칭 쌍의 관계를 따른다. 한 신호의 광학 파워의 진폭이 증가할 때, 다른 신호의 광학 파워의 진폭이 감소하므로, 검출된 광전류 사이의 차이는 본 명세서에 설명된 바와 같이 부호화된 벡터 요소 또는 부호화된 행렬 요소에 의한 승산을 생성할 수 있다. 예를 들어, 관련된 광학 신호의 쌍은 변조기(2200)의 2개의 출력 포트로부터 제공될 수 있으며, 그래서 관련 광학 신호의 진폭 사이의 차이는 입력 값에 부호화된 행렬 요소 값을 승산한 결과에 대응한다. 도 22b는 1 x 2 광학 진폭 변조기(2200)의 대칭성 차동 구성(2210)을 도시하고 있으며, 이는 출력에서의 광학 신호가 도 20b의 대칭성 차동 구성의 공통 단자 버전에서 검출되도록 배열된다. 한 쌍의 광검출기(2212 및 2214)에 의해 생성된 광전류에 대응하는 전류 신호는 접합부(2216)에서 조합되어 관련 광학 신호의 진폭 사이의 차이에 대응하는 진폭을 갖는 출력 전류 신호를 제공한다. 다른 예에서, 예컨대, 도 20c의 대칭성 차동 구성에서, 출력에서의 2개의 광학 신호로부터 검출된 광전류는 상이한 전기 회로를 사용하여 조합될 수 있다.
승산 모듈(1904)을 구현하고/하거나 메인 및 반대칭 쌍으로서 관련된 광학 신호 쌍을 제공하도록 1 x 2 광학 진폭 변조기 구성하기 위해 다른 기술이 사용될 수 있다. 도 22c는 다른 유형의 1 x 2 광학 진폭 변조기의 대칭성 차동 구성(2220)의 다른 예를 도시하고 있다. 이 예에서, 1 x 2 광학 진폭 변조기는 입력 포트(2221)에서 광학 신호의 광학 파워를 2개의 출력 포트로 분할하도록 구성된 링 공진기(2222)를 포함한다. 링 공진기(2222)("마이크로잉(microring)"이라고도 지칭됨)는 예를 들어 기판 상에 원형 도파로를 형성함으로써 제조될 수 있으며, 여기서 원형 도파로는 입력 포트(2221)에 대응하는 직선 도파로에 결합된다. 광학 신호의 파장이 링 공진기(2222)와 연관된 공진 파장에 가까울 때, 링에 결합된 광학 파는 시계 방향 경로(2226)에서 링 주위를 순환하고 결합 위치에서 상쇄 간섭(destructively interfere)하여 감소된 파워의 광학 파가 경로(2224)를 통해 제1 출력 포트로 빠져나간다. 순환 광학 파는 또한 링 외부로 결합되어 다른 광학 파가 제2 출력 포트로부터의 광학 파를 안내하는 곡선 도파로를 통해 경로(2228)를 통해 빠져나가도록 한다.
광학 파워가 링 공진기(2222) 주위를 순환하는 시간 스케일이 광학 신호의 진폭 변조의 시간 스케일에 비해 작기 때문에, 두 출력 포트 사이에 반대칭 파워 관계가 빠르게 설정되어 광검출기(2212)에 의해 검출된 광학 파 및 광검출기(2214)에 의해 검출된 광학 파는 메인 및 반대칭 쌍을 형성한다. 링 공진기(2222)의 공진 파장은 앞서 설명한 바와 같이 부호화된 결과를 달성하기 위해 메인/반대칭 신호를 단조적으로 감소/증가시키도록 조절될 수 있다. 링이 완전히 이탈 공진(off-resonance) 상태일 때, 모든 파워가 제1 출력 포트로부터 경로(2224)를 통해 빠져나가고, 링이 다른 특정 파라미터(예를 들어, 품질 인자 및 결합 계수)가 적절하게 조절된 상태에서 완전히 정확한 공진(on-resonance) 상태일 때, 모든 파워는 제2 출력 포트로부터 경로(2228)를 통해 빠져나간다. 특히, 완전한 파워 전달을 달성하려면 도파로와 링 공진기 사이의 결합 효율을 특성화하는 결합 계수가 일치해야 한다. 일부 실시예에서, 링 공진기(2222)의 품질 인자를 감소시키고(예를 들어, 손실을 증가시킴으로써) 링 내외로의 결합 계수를 대응적으로 증가시킴으로써 달성될 수 있는 비교적 얕은 튜닝 곡선을 갖는 것이 유용하다. 얕은 튜닝 곡선은 공진 파장에 대한 진폭의 더 적은 민감도를 제공한다. 온도 제어와 같은 기술이 또한 공진 파장의 조절 및/또는 안정성을 위해 사용될 수도 있다.
도 22d는 다른 유형의 1 x 2 광학 진폭 변조기의 대칭성 차동 구성(2230)의 다른 예를 도시하고 있다. 이 예에서, 1 x 2 광학 진폭 변조기는 2개의 링 공진기(2232 및 2234)를 포함한다. 입력 포트(2231)에서 광학 신호의 광학 파워는 2개의 포트로 분할된다. 광학 신호의 파장이 두 링 공진기(2232 및 2234)와 관련된 공진 파장에 가까울 때, 감소된 파워의 광학 파가 경로(2236)를 통해 제1 출력 포트로 빠져나간다. 광학 파의 일부는 또한 시계 방향 경로(2238)에서 링 공진기(2232)에 결합되어 링 주위를 순환하고, 또한 반시계 방향 경로(2240)에서 링 공진기(2234)에 결합되어 링 주위를 순환한다. 순환하는 광학 파는 그 후 링 외부로 결합되어 다른 광학 파가 제2 출력 포트로부터 경로(2242)를 통해 빠져나가게 된다. 광검출기(2212)에 의해 검출된 광학 파 및 광검출기(2214)에 의해 검출된 광학 파는 또한 이 예에서 메인 및 반대칭 쌍을 형성한다.
도 23a 및 도 23b는 2 x 2-요소 행렬에 대한 벡터-행렬 승산을 수행하기 위한 시스템(1800)의 구현을 위한 1 x 2 광학 진폭 변조기(2200)와 같은 광학 진폭 변조기의 사용의 상이한 예를 도시하고 있다. 도 23a는 입력 벡터의 부호화된 벡터 요소를 나타내는 값을 제공하는 광학 진폭 변조기(2302A 및 2302B)를 포함하는 광전자 시스템 구성(2300A)의 예를 도시하고 있다. 변조기(2302A)는 제1 부호화된 벡터 요소에 대한 값 쌍 V1 + 및 V1 -을 인코딩하는 한 쌍의 광학 신호를 제공하고, 변조기(602B)는 제2 부호화된 벡터 요소에 대한 값 쌍 V2 + 및 V2 -를 인코딩하는 한 쌍의 광학 신호를 제공한다. 벡터-행렬 승산기(VMM) 서브시스템(610A)은 입력 광학 신호를 수신하고, 앞서 설명한 바와 같이 분할 연산, 승산 연산 및 일부 합산 연산을 수행하고, 추가 회로에 의해 처리될 출력 전류 신호를 제공한다. 일부 예에서, 출력 전류 신호는 출력 벡터의 부호화된 벡터 요소를 생성하는 궁극적 합계를 생성하기 위해 추가로 처리되는 부분 합계를 나타낸다. 이 예에서, 최종 합산 연산의 일부는 연산 증폭기(2306A 및 2306B)의 반전 및 비반전 단자에서 전류 신호로 표현되는 다른 부분 합계 사이의 감산으로 수행된다. 감산은 앞서 설명한 바와 같이(예를 들어, 도 21b를 참조하여) 부호화된 값을 제공하기 위해 사용된다. 이 예는 또한 일부 요소가 다수의 모듈의 일부가 될 수 있는 방법을 도시하고 있다. 특히, 도파로 분할기(2303)에 의해 수행되는 광학 복사는 복사 모듈(예를 들어, 도 21b의 복사 모듈(2112) 중 하나)의 일부 및 승산 모듈(예를 들어, 도 21b의 승산 모듈(1904) 중 하나)의 일부로 고려될 수 있다. VMM 서브시스템(2310A) 내에서 사용되는 광학 진폭 변조기는 도 20b에 도시되어 있는 공통 단자 구성에서 검출을 위해 구성된다.
도 23b는 도 23a에 도시되어 있는 광전자 시스템 구성(2300A)의 것과 유사한 광전자 시스템 구성(2300B)의 예를 도시하고 있다. 그러나, VMM 서브시스템(2310B)은 도 20c에 도시되어 있는 차동 단자 구성에서 검출을 위해 구성된 광학 변조기를 포함한다. 이 예에서, VMM 서브시스템(2310B)의 출력 전류 신호는 또한 출력 벡터의 부호화된 벡터 요소를 생성하는 최종 합계를 생성하기 위해 추가로 처리되는 부분 합계를 나타낸다. 연산 증폭기(2306A 및 2306B)의 반전 및 비반전 단자에서 전류 신호로 표현되는 다른 부분 합계 사이의 감산으로 수행되는 최종 합산 연산은 도 23a의 예의 것과 상이하다. 그러나, 앞서 설명한 바와 같이(예를 들어, 도 21b를 참조하여), 최종 감산은 여전히 부호화된 값을 제공한다.
도 23c는 도 23에 도시되어 있는 WM 서브시스템(2310A)에서와 같이 공통 단자 구성에서의 검출을 사용하지만 승산 모듈의 결과를 운반하는 광학 신호가 도파로(예를 들어, 반도체 기판) 내의 서브시스템을 통해 광학 신호를 전기 신호로 전환하도록 배열된 검출기를 포함하는 기판의 일부로 라우팅되는 VVM 서브시스템(2310C)의 대안적인 배열을 사용하는 광전자 시스템 구성(2300C)의 예를 도시하고 있다. 일부 실시예에서, 검출기의 이러한 그룹화는 전기적 경로가 짧아지도록 하여, 다른 경우에 사용될 긴 전기적 경로로 인한 전기적 크로스토크 또는 기타 손상을 잠재적으로 감소시킨다. 광학 도파로는 기판의 한 층 내에서 라우팅되거나 기판의 다수의 층 내에서 라우팅되어 기판의 2차원을 가로지르지만 제3 차원(기판의 깊이)을 가로지르지 않는 라우팅 경로에서 더 많은 유연성을 허용할 수 있다. 어떤 컴포넌트가 VMM 서브시스템에 포함되는지의 변경을 포함하여 시스템 구성에서 다양한 다른 변경을 수행할 수 있다. 예를 들어, 광학 진폭 변조기(2302A 및 2302B)는 VMM 서브시스템의 일부로서 포함될 수 있다. 대안적으로, VMM 서브시스템은 광학 진폭 변조기 이외의 모듈에 의해 생성된 쌍을 이루는 메인 및 반대칭 광학 신호를 수신하거나 다른 종류의 서브시스템과 인터페이스하기 위한 광학 입력 포트를 포함할 수 있다.
도 24a는 승산 모듈(예를 들어, 승산 모듈(1806A, 1806B, 1806C, 1806D)) 중 상이한 것들을 호스팅하는 다수의 디바이스(2410)가 있는 시스템(1800)의 구현을 위한 시스템 구성(2400A)의 예를 도시하고 있으며, 이들은 각각 더 큰 행렬의 상이한 부분 행렬에 의해 벡터 요소의 상이한 서브세트에 벡터-행렬 승산을 수행하도록 VMM 서브시스템으로서 구성된다. 예를 들어, 각 승산 모듈은 시스템 구성(2110)(도 21b)과 유사하게 구성될 수 있지만, 그러나 2 x 2-요소 행렬을 사용하는 VMM 서브시스템을 구현하는 대신, 각 승산 모듈은 해당 디바이스 내의 모듈에 대해 공통 기판을 가진 단일 디바이스 상에 효율적으로 제조될 수 있는 크기만큼 큰 행렬을 사용하여 VMM 서브시스템을 구현하도록 구성될 수 있다. 예를 들어, 각 승산 모듈은 64 x 64 요소 행렬을 사용하여 VMM 서브시스템을 구현할 수 있다.
상이한 VMM 서브시스템은 각 부분 행렬의 결과가 적절하게 조합되어 더 큰 조합된 행렬에 대한 결과를 산출하도록 배열된다(예를 들어, 128 x 128 요소 행렬에 의한 승산으로부터 128 요소 벡터의 요소들이 얻어짐). 광학 포트 또는 소스(2402)의 각 세트는 더 큰 입력 벡터의 벡터 요소의 상이한 서브세트를 나타내는 광학 신호의 세트를 제공한다. 복사 모듈(2404)은 64개의 광학 도파로의 세트(2403)에서 안내되는 광학 파에 인코딩된 수신된 광학 신호의 세트 내의 모든 광학 신호를 복사하고, 광학 신호의 해당 세트를 이 예에서는 64개의 광학 도파로의 세트(2405A) 및 64개의 광학 도파로의 세트(2405B)인 2개의 상이한 광학 도파로 세트 각각에 제공하도록 구성된다. 이 복사 연산은 예를 들어, 도파로 분할기의 어레이를 사용하여 수행될 수 있으며, 어레이의 각 분할기는 광학 도파로 세트(2403) 내의 광학 파를 광학 도파로 세트(2405A) 내의 제1 대응 광학 파 및 광학 도파로 세트(2405B) 내의 제2 대응 광학 파로 분할함으로써 입력 벡터 요소의 서브세트(예를 들어, 각 복사 모듈(2404)에 대한 64개의 요소의 서브세트)의 요소 중 하나를 복사한다. 일부 실시예에서 다수의 파장이 사용되는 경우(예를 들어, W 파장), 개별 도파로의 수(그리고, 따라서 2402의 개별 포트 또는 소스의 수)는 예를 들어 1/W의 비율만큼 감소될 수 있다. 각각의 VMM 서브시스템 디바이스(2410)는 벡터-행렬 승산을 수행하여, (출력 벡터의 요소의 서브세트에 대해) 한 세트의 전기 신호로서 그 부분적 결과를 제공하고, 상이한 디바이스(2410)로부터의 대응하는 부분적 결과 쌍은 본 명세서에 설명된 임의의 기술, 예컨대, 전도체 사이의 접합점에서의 전류 합산을 사용하여 도 24a에 도시된 바와 같은 합산 모듈(2414)에 의해 함께 가산된다. 일부 구현에서, 원하는 행렬을 사용하는 벡터-행렬 승산은, 임의의 수의 재귀 레벨에 대해 재귀의 루트 레벨에서 단일 요소 광학 진폭 변조기를 사용하여 종료되는 더 작은 부분 행렬로부터의 결과를 조합함으로써 재귀적으로 수행될 수 있다. 상이한 재귀 레벨에서, VMM 서브시스템 디바이스는 더 콤팩트할 수 있다(예를 들어, 하나의 레벨에서 장거리 광섬유 네트워크에 의해 연결된 상이한 데이터 센터, 다른 레벨의 데이터 센터 내에서 광섬유로 연결된 상이한 다중 칩 디바이스, 다른 레벨에서 광섬유로 연결된 디바이스 내의 상이한 칩 및 다른 레벨에서 온칩 도파로로 연결된 동일한 칩의 모듈들의 상이한 섹션).
도 24b는 각 VMM 서브시스템(2410)에 대한 광학 송신 및 수신을 위해 추가 디바이스가 사용되는 시스템 구성(2400B)의 다른 예를 도시하고 있다. 각 VMM 서브시스템(2410)의 출력에서, 광학 송신기 어레이(2420)는 각 광학 신호를 광학 송신 라인 내의 채널(예를 들어, 별개의 디바이스에 의해 호스팅되고/되거나 원격 위치에 분산될 수 있는 VMM 서브시스템(2410) 사이의 섬유 다발의 광섬유 또는 공통 기판 상에 VMM 서브시스템(2410)을 호스팅하는 SoC와 같은 집적 디바이스 상의 도파로 세트의 도파로)에 결합하는 데 사용된다. 광학 수신기 어레이(2422)는 합산 모듈(2414)에 의해 대응하는 부분 결과 쌍이 합산되기 전에 광학 신호를 전기 신호로 전환하기 위해 출력 벡터 요소의 각 서브세트에 사용된다.
도 24c는 VMM 서브시스템(2410)이 재구성되어 상이한 부분 행렬에 대한 상이한 벡터-행렬 승산이 상이한 방식으로 재배열될 수 있도록 하는 시스템 구성(2400C)의 다른 예를 도시한다. 예를 들어, 상이한 부분 행렬을 조합하여 형성되는 더 큰 행렬의 형상은 구성 가능할 수 있다. 이 예에서, 광학 신호의 2개의 상이한 서브세트가 광학 포트 또는 소스(2402)의 각 세트로부터 광학 스위치(2430)로 제공된다. 또한, 원하는 계산을 위해 출력 벡터 또는 별개의 출력 벡터를 제공하기 위해 합산 모듈(2414)에 의해 합산될 부분적 결과를 나타내는 전기 신호의 서브세트를 재배열할 수 있는 전기 스위치(2440)가 있다. 예를 들어, 크기가 m x n인 4개의 부분 행렬로 구성된 크기 2m x 2n의 행렬을 사용하는 벡터-행렬 승산 대신, VMM 서브시스템(2410)은 크기가 2m x n인 행렬 또는 크기가 m x 2n인 행렬을 사용하도록 재배열될 수 있다.
도 24d는 VMM 서브시스템(2410)이 추가적인 방식으로 재구성될 수 있는 시스템 구성(2400D)의 다른 예를 도시하고 있다. 광학 스위치(2430)는 최대 4개의 별개의 세트의 광학 신호를 수신할 수 있고, 상이한 세트의 광학 신호를 상이한 VMM 서브시스템(2410)에 제공하거나 임의의 세트의 광학 신호를 다수의 VMM 서브시스템(2410)에 복사하도록 구성될 수 있다. 또한, 전기 스위치(2440)는 합산 모듈(2414)에 수신된 전기 신호의 세트의 임의의 조합을 제공하도록 구성될 수 있다. 이렇게 더 큰 재구성 가능성은 다음 크기 행렬을 사용한 승산을 포함하여 매우 다양한 상이한 벡터-행렬 승산 계산을 가능하게 한다: m x 3n, 3m x n, m x 4n, 4m x n.
도 24e는 다양한 동작(예를 들어, 디지털 로직 동작)을 수행할 수 있는 추가 회로를 포함하고, 시스템 구성(2400E)이 인공 신경망 또는 다른 형태의 기계 학습 같은 계산 기술을 구현하기 위해 (예를 들어, 완전한 광전자 컴퓨팅 시스템 또는 더 큰 컴퓨팅 플랫폼의 광전자 서브시스템을 위해) 사용될 수 있게 하는 시스템 구성(2400E)의 다른 예를 도시하고 있다. 데이터 저장 서브시스템(2450)은 휘발성 저장 매체(예를 들어, SRAM 및/또는 DRAM) 및/또는 비휘발성 저장 매체(예를 들어, 솔리드 스테이트 드라이브 및/또는 하드 드라이브)를 포함할 수 있다. 데이터 저장 서브시스템(2450)은 또한 계층적 캐시 모듈을 포함할 수 있다. 저장되는 데이터는 예를 들어 온라인 계산 시스템에 공급하기 위해 사용되는 훈련 데이터, 중간 결과 데이터 또는 생성 데이터를 포함할 수 있다. 데이터 저장 서브시스템(2450)은 광학 포트 또는 소스(2402)에 의해 제공되는 상이한 광학 신호 상으로의 변조를 위해 입력 데이터에 대한 동시 액세스를 제공하도록 구성될 수 있다. 디지털 형식으로 저장된 데이터를 변조에 사용할 수 있는 아날로그 형식으로 전환하는 것은 데이터 저장 서브시스템(2450)의 출력 또는 광학 포트 또는 소스(2402) 입력에 포함되거나 양자 사이에서 분할된 회로(예를 들어, 디지털-아날로그 변환기)에 의해 수행될 수 있다. 보조 처리 서브시스템(2460)은 VMM 서브시스템(2410)을 사용하여 벡터-행렬 승산의 다수의 반복을 통해 순환될 수 있는 데이터에 대한 보조 동작(예를 들어, 비선형 동작, 데이터 셔플링 등)을 수행하도록 구성될 수 있다. 이러한 보조 동작으로부터의 결과 데이터(2462)는 디지털 형태로 데이터 저장 서브시스템(2450)으로 전송될 수 있다. 데이터 저장 서브시스템(2450)에 의해 검색된 데이터는 적절한 입력 벡터로 광학 신호를 변조하고 VMM 서브시스템(2410)에서 광학 진폭 변조기의 변조 레벨을 설정하는 데 사용되는 제어 신호(도시되지 않음)를 제공하는 데 사용될 수 있다. 아날로그 형태의 전기 신호에 인코딩된 데이터를 디지털 형태로 전환하는 것은 보조 처리 서브시스템(2460) 내의 회로(예를 들어, 아날로그-디지털 변환기)에 의해 수행될 수 있다.
일부 구현에서, 데이터 저장 서브시스템(2450), 계층적 캐시 모듈, 다양한 회로, 예컨대, 디지털-아날로그 변환기 및 아날로그-디지털 변환기, VMM 서브시스템(2410), 및 광학 소스(2402)의 동작을 제어하기 위해 디지털 제어기(도면에 도시되지 않음)가 제공된다. 예를 들어, 디지털 제어기는 여러 은닉 층을 갖는 신경망을 구현하기 위해 프로그램 코드를 실행하도록 구성된다. 디지털 제어기는 신경망의 다양한 층과 관련된 행렬 처리를 반복적으로 수행한다. 디지털 제어기는 데이터 저장 서브시스템(2450)으로부터 제1 행렬 데이터를 검색하고 검색된 데이터에 기초하여 VMM 서브시스템(2410)에서 광학 진폭 변조기의 변조 레벨을 설정함으로써 행렬 처리의 제1 반복을 수행하며, 여기서 제1 행렬 데이터는 신경망의 제1 층의 계수를 나타낸다. 디지털 제어기는 데이터 저장 서브시스템으로부터 입력 데이터의 세트를 검색하고 제1 입력 벡터의 요소를 나타내는 광학 입력 신호의 세트를 생성하기 위해 광학 소스(2402)에 대한 변조 레벨을 설정한다.
VMM 서브시스템(2410)은 신경망의 제1 층에 의한 신호 처리를 나타내는 제1 입력 벡터 및 제1 행렬 데이터에 기초하여 행렬 처리를 수행한다. 보조 처리 서브시스템(2450)이 제1 세트의 결과 데이터(2462)를 생성한 후, 디지털 제어기는 신경망의 제2 층의 계수를 나타내는 데이터 저장 서브시스템으로부터의 제2 행렬 데이터를 검색하고 제2 행렬 데이터에 기초하여 VMM 서브시스템(2410)의 광학 진폭 변조기의 변조 레벨을 설정함으로써 행렬 처리의 제2 반복을 수행한다. 결과 데이터(2462)의 제1 세트는 광원(2402)에 대한 변조 레벨을 설정하기 위한 제2 입력 벡터로서 사용된다. VMM 서브시스템(2410)은 신경망의 제2 층에 의한 신호 처리를 나타내는 제2 입력 벡터 및 제2 행렬 데이터에 기초하여 행렬 처리를 수행하는 등등이다. 마지막 반복에서, 신경망의 마지막 층에 의한 신호 처리 출력이 생성된다.
일부 구현에서, 신경망의 은닉 층과 관련된 계산을 수행할 때, 결과 데이터(2462)는 데이터 저장 서브시스템(2450)으로 전송되지 않지만, VMM 서브시스템(2410)에서 광학 진폭 변조기의 변조 레벨을 설정하기 위해 제어 신호를 생성하는 디지털-아날로그 변환기를 직접 제어하기 위해 디지털 제어기에 의해 사용된다. 이는 데이터 저장 서브시스템(2450)에 데이터를 저장하고 그로부터 데이터에 액세스하는 데 필요한 시간을 감소시킨다.
다른 처리 기술이 시스템 구성의 다른 예에 통합될 수 있다. 예를 들어, 다른 종류의 벡터-행렬 승산 서브시스템(예를 들어, 본 명세서에 설명된 전기 합산 또는 부호화된 승산 없이 광학 간섭을 사용하는 서브시스템)과 함께 사용되는 다양한 기술이 본 명세서에 참조로 통합된 미국 특허 공개 번호 2017/0351293에 설명된 기술 중 일부와 같은 일부 시스템 구성에 통합될 수 있다.
도 32a를 참조하면, 인공 신경망(ANN) 계산 시스템(3200)은 예를 들어, 행렬 계산을 수행할 때 비간섭성 또는 저간섭성 광학 신호를 처리할 수 있게 하기 위해 도 18 내지 도 24d에 도시되어 있는 복사 모듈, 승산 모듈 및 합산 모듈을 갖는 광전자 행렬 승산 유닛(3220)을 포함한다. 인공 신경망 계산 시스템(3200)은 도 1a의 시스템(100)의 것들과 유사하게 제어기(110), 메모리 유닛(120), DAC 유닛(130) 및 ADC 유닛(160)을 포함한다. 제어기(110)는 컴퓨터(102)로부터 요청을 수신하고 도 1a에 도시되어 있는 것과 유사하게 컴퓨터(102)에 계산 출력을 전송한다.
광학 프로세서(3210)는 레이저 유닛(3230)의 다수의 출력 신호가 간섭성인 도 1a의 레이저 유닛(142)과 유사할 수 있는 광원(3230)을 포함한다. 광원(3230)은 또한 발광다이오드를 사용하여 간섭성이 아니거나 낮은 간섭성을 갖는 다수의 출력 신호를 생성할 수 있다. 광전자 행렬 승산 유닛(3220)은 도 1a의 광 프로세서(140)에서 수행되는 동작과 유사하게, 제1 DAC 서브유닛(132)에 의해 입력 벡터에 기초하여 생성된 변조기 제어 신호를 수신하는 변조기 어레이(144)를 포함한다. 변조기 어레이(144)의 출력은 도 18의 광학 포트/소스(1802)의 출력과 유사하다. 광전자 행렬 승산 유닛(3220)은 복사 모듈(1804), 승산 모듈(1806) 및 합산 모듈(1808)이 도 18의 광학 포트/소스(1802)로부터의 광학 신호를 처리하는 방식과 유사한 방식으로 변조기 어레이(144)로부터의 광학 신호를 처리한다.
도 32b를 참조하면, 광전자 행렬 승산 유닛(3220)은 입력 벡터 를 수신하고 입력 벡터를 행렬 과 승산하여 출력 벡터 를 생성한다. 광전자 행렬 승산 유닛(3220)은 입력 벡터를 나타내는 광학 신호를 운반하는 m개의 광학 경로(1803_1, 1803_2, ..., 1803_m)(총괄적으로 1803으로 참조됨)를 포함한다. 복사 모듈(1804_1)은 입력 광학 신호(v 1)의 사본을 승산 모듈(1806_11, 1806_21, ..., 1806_m1)에 제공한다. 복사 모듈(1804_2)은 입력 광학 신호(v 2)의 사본을 승산 모듈(1806_12, 1806_22, ... , 1806_m2)에 제공한다. 복사 모듈(1804_n)은 입력 광학 신호(v n )의 사본을 승산 모듈(1806_1n, 1806_2n, ..., 1806_mn)에 제공한다.
앞서 설명한 바와 같이, 복사 모듈(1804_1)에 의해 제공되는 광학 신호(v 1)의 사본의 진폭은 서로에 대해 동일(또는 실질적으로 동일)하지만 변조기 어레이(144)에 의해 제공되는 광학 신호(v 1)의 진폭과는 다르다. 예를 들어, 복사 모듈(1804_1)이 변조기 어레이(144)가 제공하는 v 1의 신호 파워를 m개의 신호 사이에서 균등하게 분할하면, m개의 신호 각각은 변조기 어레이(144)에 의해 제공되는 v 1의 파워의 1/m 이하인 파워를 갖게 될 것이다.
승산 모듈(1806_11)은 입력 신호 v 1에 행렬 요소 M 11을 승산하여 M 11·v 1을 생성한다. 승산 모듈(1806_21)은 입력 신호 v 1에 행렬 요소 M 21을 승산하여 M 21·v 1을 생성한다. 승산 모듈(1806_m1)은 입력 신호 v 1에 행렬 요소 M m 1을 승산하여 M m 1·v 1을 생성한다. 승산 모듈(1806_12)은 입력 신호 v 2에 행렬 요소 M 12를 승산하여 M 12·v 2를 생성한다. 승산 모듈(1806_22)은 입력 신호 v 2에 행렬 요소 M 22를 승산하여 M 22·v 2를 생성한다. 승산 모듈(1806_m2)은 입력 신호 v 2에 행렬 요소 M m 2를 승산하여 M m 2·v 2를 생성한다. 승산 모듈(1806_1n)은 입력 신호 v n 에 행렬 요소 M 1 n 을 승산하여 M 1 n ·v n 을 생성한다. 승산 모듈(1806_2n)은 입력 신호 v n 에 행렬 요소 M 2 n 을 승산하여 M 2 n ·v n 을 생성한다. 승산 모듈(1806_mn)은 입력 신호 v n 에 행렬 요소 M mn 을 승산하여 M mn ·v n 을 생성하는 등등이다.
제2 DAC 서브유닛(134)은 행렬 요소의 값에 기초하여 제어 신호를 생성하고, 제어 신호를 승산 모듈(1806)로 전송하여 승산 모듈(1806)이 예를 들어, 광학 진폭 변조를 사용하여 입력 벡터 요소의 값을 행렬 요소의 값과 승산할 수 있도록 한다. 예를 들어, 승산 모듈(1806_11)은 광학 진폭 변조기를 포함할 수 있으며, 입력 벡터 요소 v 1에 행렬 요소 M 11을 승산하는 것은 입력 벡터 요소 v 1을 나타내는 입력 광학 신호에 적용되는 진폭 변조 레벨로서 행렬 요소 M 11의 값을 인코딩함으로써 달성될 수 있다.
합산 모듈(1808_1)은 승산 모듈(1806_11, 1806_12, ..., 1806_1n)의 출력을 수신하고 M 11 v 1 + M 12 v 2 + ···+ M 1 n v n 과 동일한 합계 y 1을 생성한다. 합산 모듈(1808_2)은 승산 모듈(1806_21, 1806_22, ..., 1806_2n)의 출력을 수신하고 M 21 v 1+M 22 v 2+···+M 2 n v n 과 동일한 합계 y 2를 생성한다. 합산 모듈(1808_n)은 승산 모듈(1806_m1, 1806_m2, ..., 1806_mn)의 출력을 수신하고 M m 1 v 1+M m 2 v 2+···+M mn v n 과 동일한 합계 y n 을 생성한다. 시스템(3200)에서, 광전자 행렬 승산 유닛(3220)의 출력은 도 1a의 시스템(100)의 경우와 같이 검출 유닛(146)을 통과하지 않고 ADC 유닛(160)에 제공된다. 이는 승산 모듈(1806) 또는 합산 모듈(1808)이 이미 광학 신호를 전기 신호로 전환하므로 시스템(3200)에서 별도의 검출 유닛(146)이 필요하지 않기 때문이다.
도 33은 도 32a의 ANN 계산 시스템(3200)을 사용하여 ANN 계산을 수행하기 위한 방법(3300)의 예의 흐름도를 도시하고 있다. 프로세스(3300)의 단계는 시스템(3200)의 제어기(110)에 의해 수행될 수 있다. 일부 구현에서, 방법(3300)의 다양한 단계는 병렬, 조합, 루프 또는 임의의 순서로 실행될 수 있다.
3310에서, 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망(ANN) 계산 요청이 수신된다. 입력 데이터세트는 제1 디지털 입력 벡터를 포함한다. 제1 디지털 입력 벡터는 입력 데이터세트의 서브세트이다. 예를 들어, 이는 이미지의 하위 영역일 수 있다. ANN 계산 요청은 도 32a의 컴퓨터(102)와 같은 다양한 엔티티에 의해 생성될 수 있다. 컴퓨터(102)는 개인용 컴퓨터, 서버 컴퓨터, 차량 컴퓨터 및 비행 컴퓨터와 같은 하나 이상의 다양한 유형의 컴퓨팅 디바이스를 포함할 수 있다. ANN 계산 요청은 일반적으로 수행될 ANN 계산을 ANN 계산 시스템(3300)에 통지하거나 알리는 전기 신호를 지칭한다. 일부 구현에서, ANN 계산 요청은 2개 이상의 신호로 분할될 수 있다. 예를 들어, 제1 신호는 시스템(3300)이 입력 데이터세트 및 제1 복수의 신경망 가중치를 수신할 준비가 되었는지 여부를 확인하기 위해 ANN 계산 시스템(3300)에 질의할 수 있다. 시스템(3300)에 의한 긍정 확인응답에 응답하여, 컴퓨터(102)는 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 제2 신호를 전송할 수 있다.
3320에서, 입력 데이터세트 및 제1 복수의 신경망 가중치가 저장된다. 제어기(110)는 입력 데이터세트 및 제1 복수의 신경망 가중치를 메모리 유닛(120)에 저장할 수 있다. 입력 데이터세트 및 제1 복수의 신경망 가중치를 메모리 유닛(120)에 저장하는 것은, 예를 들어 시스템의 전체 성능을 개선할 수 있는 ANN 계산 시스템(3300)의 동작의 유연성을 허용할 수 있다. 예를 들어, 입력 데이터세트는 메모리 유닛(120)으로부터 입력 데이터세트의 원하는 부분을 검색함으로써 설정된 크기 및 포맷의 디지털 입력 벡터로 분할될 수 있다. 입력 데이터세트의 상이한 부분들을 다양한 순서로 처리하거나 셔플링하여 다양한 유형의 ANN 계산을 수행할 수 있다. 예를 들어, 셔플링은 입력 및 출력 행렬 크기가 다른 경우 블록 행렬 승산 기술에 의한 행렬 승산을 허용할 수 있다. 다른 예로서, 메모리 유닛(120)에 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 것은 ANN 계산 시스템(3300)에 의한 다수의 ANN 계산 요청의 대기열화를 허용할 수 있으며, 이는 시스템(3300)이 비활성 기간 없이 그 최대 속도로 동작을 유지하도록 할 수 있게 한다.
일부 구현에서, 입력 데이터세트는 제1 메모리 서브유닛에 저장될 수 있고, 제1 복수의 신경망 가중치는 제2 메모리 서브유닛에 저장될 수 있다.
3330에서, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호가 생성되고, 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호가 생성된다. 제어기(110)는 제1 복수의 변조기 제어 신호를 생성하기 위해 제1 DAC 제어 신호를 DAC 유닛(130)으로 전송할 수 있다. DAC 유닛(130)은 제1 DAC 제어 신호에 기초하여 제1 복수의 변조기 제어 신호를 생성하고, 변조기 어레이(144)는 제1 디지털 입력 벡터를 나타내는 광학 입력 벡터를 생성한다.
제1 DAC 제어 신호는 DAC 유닛(130)에 의해 제1 복수의 변조기 제어 신호로 전환될 다수의 디지털 값을 포함할 수 있다. 다수의 디지털 값은 일반적으로 제1 디지털 입력 벡터와 대응하며 다양한 수학적 관계 또는 참조표를 통해 관련될 수 있다. 예를 들어, 다수의 디지털 값은 제1 디지털 입력 벡터의 요소의 값에 선형적으로 비례할 수 있다. 다른 예로서, 다수의 디지털 값은 디지털 입력 벡터와 변조기 어레이(144)에 의해 생성된 광학 입력 벡터 사이의 선형 관계를 유지하도록 구성된 참조표를 통해 제1 디지털 입력 벡터의 요소와 관련될 수 있다.
제어기(110)는 제1 복수의 가중치 제어 신호를 생성하기 위해 제2 DAC 제어 신호를 DAC 유닛(130)으로 전송할 수 있다. DAC 유닛(130)은 제2 DAC 제어 신호에 기초하여 제1 복수의 가중치 제어 신호를 생성하고, 광전자 행렬 승산 유닛(3220)은 제1 복수의 가중치 제어 신호에 따라 재구성되어 제1 복수의 신경망 가중치에 대응하는 행렬을 구현한다.
제2 DAC 제어 신호는 DAC 유닛(130)에 의해 제1 복수의 가중치 제어 신호로 전환될 다수의 디지털 값을 포함할 수 있다. 다수의 디지털 값은 일반적으로 제1 복수의 신경망 가중치에 대응하며 다양한 수학적 관계 또는 참조표를 통해 관련될 수 있다. 예를 들어, 다수의 디지털 값은 제1 복수의 신경망 가중치에 선형적으로 비례할 수 있다. 다른 예로서, 다수의 디지털 값은 제1 복수의 신경망 가중치에 대응하는 행렬 승산을 수행하도록 광전자 행렬 승산 유닛(3220)을 구성할 수 있는 가중치 제어 신호를 생성하기 위해 제1 복수의 신경망 가중치에 대해 다양한 수학적 연산을 수행함으로써 계산될 수 있다.
3340에서, 광전자 행렬 승산 유닛(3220)의 전자 출력 벡터에 대응하는 제1 복수의 디지털화된 출력이 획득된다. 변조기 어레이(144)에 의해 생성된 광학 입력 벡터는 광전자 행렬 승산 유닛(3220)에 의해 처리되고 전기 출력 벡터로 변환된다. 전기 출력 벡터는 ADC 유닛(160)에 의해 디지털화된 값으로 변환된다. 예를 들어, 제어기(110)는 광전자 행렬 승산 유닛(3220)에 의해 출력된 전압을 디지털화된 출력으로 전환하기 시작하도록 ADC 유닛(160)으로 전환 요청을 전송할 수 있다. 전환이 완료되면 ADC 유닛(160)은 전환 결과를 제어기(110)로 전송할 수 있다. 대안적으로, 제어기(110)는 ADC 유닛(160)으로부터 전환 결과를 검색할 수 있다. 제어기(110)는 디지털화된 출력으로부터 입력 디지털 벡터의 행렬 승산 결과에 대응하는 디지털 출력 벡터를 형성할 수 있다. 예를 들어, 디지털화된 출력은 벡터 형식을 갖도록 편성되거나 연접될 수 있다.
일부 구현에서, ADC 유닛(160)은 제어기(110)에 의해 DAC 유닛(130)으로 발행된 DAC 제어 신호에 기초하여 ADC 전환을 수행하도록 설정 또는 제어될 수 있다. 예를 들어, ADC 전환은 DAC 유닛(130)에 의한 변조 제어 신호 생성 후 미리 설정된 시간에 시작되도록 설정될 수 있다. 이러한 ADC 전환의 제어는 제어기(110)의 동작을 단순화하고 필요한 제어 동작의 수를 감소시킬 수 있다.
3350에서, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환이 수행된다. ANN의 노드 또는 인공 뉴런은 먼저 이전 층의 노드로부터 수신된 신호의 가중 합을 수행한 다음 가중 합의 비선형 변환("활성화")을 수행하여 출력을 생성하는 방식으로 동작한다. 다양한 유형의 ANN은 다양한 유형의 차별화 가능한 비선형 변환을 구현할 수 있다. 비선형 변환 함수의 예는 RELU(rectified linear unit) 함수, 시그모이드 함수, 쌍곡선 탄젠트 함수, X^2 함수 및 |X| 함수를 포함한다. 이러한 비선형 변환은 제어기(110)에 의해 제1 디지털 출력에 대해 수행되어 제1 변환된 디지털 출력 벡터를 생성한다. 일부 구현에서, 비선형 변환은 제어기(110) 내의 특수 디지털 집적 회로에 의해 수행될 수 있다. 예를 들어, 제어기(110)는 하나 이상의 유형의 비선형 변환의 계산을 가속화하도록 특별히 적응된 하나 이상의 모듈 또는 회로 블록을 포함할 수 있다.
3360에서 제1 변환된 디지털 출력 벡터가 저장된다. 제어기(110)는 제1 변환된 디지털 출력 벡터를 메모리 유닛(120)에 저장할 수 있다. 입력 데이터세트가 다수의 디지털 입력 벡터로 분할된 경우, 제1 변환된 디지털 출력 벡터는 제1 디지털 입력 벡터와 같은 입력 데이터세트의 일부에 대한 ANN 계산 결과에 대응한다. 이와 같이, 제1 변환된 디지털 출력 벡터를 저장하는 것은 ANN 계산 시스템(3200)이 입력 데이터세트의 다른 디지털 입력 벡터에 대한 추가 계산을 수행하고 저장하여 나중에 단일 ANN 출력으로 집계될 수 있게 한다.
3370에서 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력이 출력된다. 제어기(110)는 제1 복수의 신경망 가중치에 의해 정의된 ANN을 통해 입력 데이터세트를 처리한 결과인 ANN 출력을 생성한다. 입력 데이터세트가 다수의 디지털 입력 벡터로 분할되는 경우, 생성된 ANN 출력은 제1 변환된 디지털 출력을 포함하는 집계 출력이지만 입력 데이터세트의 다른 부분에 대응하는 추가 변환된 디지털 출력을 더 포함할 수 있다. ANN 출력이 생성되고 나면, 생성된 출력은 ANN 계산 요청을 발생시킨 컴퓨터(102)와 같은 컴퓨터로 전송된다.
방법(3300)을 구현하는 ANN 계산 시스템(3200)에 대해 다양한 성능 메트릭이 정의될 수 있다. 성능 메트릭을 정의하는 것은 광전자 프로세서(3210)를 구현하는 ANN 계산 시스템(3200)의 성능을 대신 전자 행렬 승산 유닛을 구현하는 ANN 계산을 위한 다른 시스템과 비교할 수 있게 한다. 일 양태에서, ANN 계산이 수행될 수 있는 속도는 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를을 저장하는 단계(3320)와 제1 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 단계(3360) 사이에 경과된 시간으로 정의된 제1 루프 기간에 의해 부분적으로 표시될 수 있다. 따라서, 이 제1 루프 기간은 전기 신호를 광학 신호로 전환하고(예를 들어, 단계 3330) 광학 및 전기 도메인에서 행렬 승산을 수행(예를 들어, 단계 3340)하는 데 걸리는 시간을 포함한다. 단계 3320 및 3360은 모두 메모리 유닛(120)에 데이터를 저장하는 것을 포함하며, 이는 광전자 프로세서(3210) 없이 ANN 계산 시스템(3200)과 종래의 ANN 계산 시스템 사이에 공유되는 단계이다. 이와 같이, 메모리 대 메모리 트랜잭션 시간을 측정하는 제1 루프 기간은 전자 행렬 승산 유닛 구현하는 시스템과 같이 광전자 프로세서(3210)가 없는 ANN 계산 시스템과 ANN 계산 시스템(3200) 간에 ANN 계산 처리량의 현실적 또는 공정한 비교를 허용할 수 있다.
광학 입력 벡터가 변조기 어레이(144)에 의해 생성될 수 있는 속도(예를 들어, 25GHz) 및 광전자 행렬 승산 유닛(3220)의 처리 속도(예를 들어, > 25GHz)로 인해 단일 디지털 입력 벡터의 단일 ANN 계산을 수행하기 위한 ANN 계산 시스템(3300)의 제1 루프 기간은 변조기 어레이(144)의 속도의 역수, 예를 들어, 40 ps에 접근할 수 있다. DAC 유닛(130)에 의한 신호 생성 및 ADC 유닛(160)에 의한 ADC 전환과 연관된 레이턴시를 고려한 후, 제1 루프 기간은 예를 들어 100 ps 이하, 200 ps 이하, 500 ps 이하, 1 ns 이하, 2 ns 이하, 5 ns 이하, 또는 10 ns 이하일 수 있다.
비교하자면, 전자 행렬 승산 유닛에 의한 M x 1 벡터와 M x M 행렬의 승산의 실행 시간은 일반적으로 M^2-1 프로세서 클럭 사이클에 비례한다. M=32의 경우, 이러한 승산은 약 1024 사이클이 걸리며, 이는 3GHz 클럭 속도에서 실행 시간이 300ns를 초과하게 되는데, 이는 ANN 계산 시스템(3300)의 제1 루프 기간보다 수자릿수 더 느리다.
일부 구현에서, 방법(3300)은 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 단계를 더 포함한다. 일부 유형의 ANN 계산에서 단일 디지털 입력 벡터는 동일한 ANN을 통해 반복적으로 전파되거나 처리될 수 있다. 앞서 설명한 바와 같이, 다중 패스 처리를 구현하는 ANN은 RNN(recurrent neural network)이라고 할 수 있다. RNN은 신경망을 (k) 번째 통과하는 동안의 네트워크의 출력이 신경망의 입력으로 다시 순환되어(k+1) 번째 통과 동안의 입력으로 사용되는 신경망이다. RNN은 음성 또는 필기 인식과 같은 패턴 인식 작업에서 다양한 응용을 가질 수 있다. 제2 복수의 변조기 제어 신호가 생성되고 나면, 방법(3300)은 단계 3340에서 단계 3360을 통해 진행하여 ANN을 통한 제1 디지털 입력 벡터의 제2 통과를 완료할 수 있다. 일반적으로, 변환된 디지털 출력을 디지털 입력 벡터로 재순환하는 것은 ANN 계산 요청에서 수신한 RNN의 특성에 따라 미리 설정된 횟수의 사이클 동안 반복될 수 있다.
일부 구현에서, 방법(3300)은 복수의 제2 신경망 가중치에 기초하여 복수의 제2 가중치 제어 신호를 생성하는 단계를 더 포함한다. 일부 경우에, 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함한다. 전술한 바와 같이, 일반적으로, ANN에는 입력 및 출력 층 외에도 하나 이상의 은닉 층이 있다. 2개의 은닉 층을 갖는 ANN의 경우, 제2 복수의 신경망 가중치는 예를 들어 ANN의 제1 층과 ANN의 제2 층 사이의 연결성에 대응할 수 있다. ANN의 2개의 은닉 층을 통해 제1 디지털 입력 벡터를 처리하기 위해, 제1 디지털 입력 벡터는 먼저 방법(3300)에 따라 단계 3360까지 처리될 수 있으며, 이때 ANN의 제1 은닉 층을 통해 제1 디지털 입력 벡터를 처리한 결과가 메모리 유닛(120)에 저장된다. 그 다음, 제어기(110)는 ANN의 제2 은닉 층과 연관된 제2 복수의 신경망 가중치에 대응하는 행렬 승산을 수행하도록 광전자 행렬 승산 유닛(3220)을 재구성한다. 광전자 행렬 승산 유닛(3220)이 재구성되면, 방법(3300)은 제1 은닉 층의 출력에 대응하는 업데이트된 광학 입력 벡터를 생성하는 제1 변환된 디지털 출력 벡터에 기초하여 복수의 변조기 제어 신호를 생성할 수 있다. 그 다음, 업데이트된 광학 입력 벡터는 ANN의 제2 은닉 층에 대응하는 재구성된 광전자 행렬 승산 유닛(3220)에 의해 처리된다. 일반적으로, 설명된 단계는 디지털 입력 벡터가 ANN의 모든 은닉 층을 통해 처리될 때까지 반복될 수 있다.
광전자 행렬 승산 유닛(3220)의 일부 구현에서, 광전자 행렬 승산 유닛(3220)의 재구성 속도는 변조기 어레이(144)의 변조 속도보다 상당히 느릴 수 있다. 이러한 경우에, ANN 계산 시스템(3200)의 처리량은 ANN 계산이 수행될 수 없는 광전자 행렬 승산 유닛(3220)을 재구성하는 데 소비된 시간의 양에 의해 악영향을 받을 수 있다. 광전자 행렬 승산 유닛(3220)의 비교적 느린 재구성 시간의 영향을 완화하기 위해, 더 많은 수의 디지털 입력 벡터에 걸쳐 재구성 시간을 상각하기 위해 구성 변경 없이 2개 이상의 디지털 입력 벡터가 광전자 행렬 승산 유닛(3220)을 통해 전파되는 일괄 처리 기술이 활용될 수 있다.
도 34는 도 33의 방법(3300)의 양태를 예시하는 도면(3290)을 도시하고 있다. 2개의 은닉 층을 갖는 ANN의 경우, 제1 은닉 층을 통해 제1 디지털 입력 벡터를 처리하고, 제2 은닉 층에 대해 광전자 행렬 승산 유닛(3220)을 재구성하고 재구성된 광전자 행렬 승산 유닛(3220)을 통해 제1 디지털 입력 벡터를 처리하고, 나머지 디지털 입력 벡터에 대해, 동일한 동작을 반복하는 대신, 입력 데이터세트의 모든 디지털 입력 벡터가 도면의 상부 부분(3290)에 도시되어 있는 바와 같이 제1 은닉 층에 대해 구성된(구성 #1) 광전자 행렬 승산 유닛(3220)을 통해 먼저 처리될 수 있다. 모든 디지털 입력 벡터가 구성 #1을 갖는 광전자 행렬 승산 유닛(3220)에 의해 처리되면, 광전자 행렬 승산 유닛(3220)은 ANN의 제2 은닉 층에 대응하는 구성 #2로 재구성된다. 이러한 재구성은 입력 벡터가 광전자 행렬 승산 유닛(3220)에 의해 처리될 수 있는 속도보다 상당히 느릴 수 있다. 광전자 행렬 승산 유닛(3220)이 제2 은닉 층에 대해 재구성되면, 이전 은닉 층으로부터의 출력 벡터는 광전자 행렬 승산 유닛(3220)에 의해 일괄 처리될 수 있다. 수만 또는 수십만 개의 디지털 입력 벡터를 갖는 대규모 입력 데이터세트의 경우, 재구성 시간의 영향은 거의 동일한 계수만큼 감소될 수 있으며, 이는 재구성에서 ANN 계산 시스템(3200)에 의해 소비되는 시간의 부분을 상당히 감소시킬 수 있다.
일괄 처리를 구현하기 위해, 일부 구현에서, 방법(3300)은 DAC 유닛을 통해 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 단계; ADC 유닛으로부터, 광전자 행렬 승산 유닛의 출력 벡터에 대응하는 제2 복수의 디지털화된 출력을 획득하는 동작- 제2 복수의 디지털화된 출력은 제2 디지털 출력 벡터를 형성함 -; 제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계; 및 제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 단계를 더 포함할 수 있다. 제2 복수의 변조기 제어 신호의 생성은 예를 들어 단계 3360을 따를 수 있다. 또한, 이 경우 단계 3370의 ANN 출력은 이제 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터 모두에 기초한다. 획득, 수행 및 저장 단계는 단계 3340 내지 3360과 유사하다.
일괄 처리 기술은 ANN 계산 시스템(3200)의 처리량을 개선하기 위한 여러 기술 중 하나이다. ANN 계산 시스템(3200)의 처리량을 개선하기 위한 또 다른 기술은 파장 분할 멀티플렉싱(WDM)을 활용하여 다수의 디지털 입력 벡터의 병렬 처리를 이용하는 것이다. 전술한 바와 같이, WDM은 광전자 행렬 승산 유닛(3220)의 도파로와 같은 공통 전파 채널을 통해 서로 상이한 파장의 다수의 광학 신호를 동시에 전파하는 기술이다. 전기 신호와 달리 상이한 파장의 광학 신호는 동일한 채널에서 상이한 파장의 다른 광학 신호에 영향을 주지 않고 공통 채널을 통해 전파될 수 있다. 또한, 광학 멀티플렉서 및 역멀티플렉서와 같은 잘 알려진 구조를 사용하여 공통 전파 채널에서 광학 신호를 추가(멀티플렉싱) 또는 제거(역멀티플렉싱)할 수 있다.
ANN 계산 시스템(3200)과 관련하여, 상이한 파장의 다수의 광학 입력 벡터가 독립적으로 생성될 수 있고, 광전자 행렬 승산 유닛(3220)의 광학 경로 및 광학 처리 컴포넌트(예를 들어, 광학 진폭 변조기)를 통해 동시에 전파되고, ANN 계산 시스템(3200)의 처리량을 개선시키기 위해 전자 처리 컴포넌트(예를 들어, 검출기 및/또는 합산 모듈)에 의해 독립적으로 처리될 수 있다.
도 35a를 참조하면, 일부 구현에서, 파장 분할 멀티플렉싱(WDM) 인공 신경망(ANN) 계산 시스템(3500)은 예를 들어, 광학 신호가 다수의 파장들에 인코딩되는 행렬 계산을 수행할 때 비간섭성 또는 저간섭성 광학 신호를 처리할 수 있게 하기 위해 도 18 내지 도 24d에 도시되어 있는 복사 모듈, 승산 모듈 및 합산 모듈을 갖는 광전자 행렬 승산 유닛(3520)을 포함하는 광전자 프로세서(3510)를 포함한다. WDM ANN 계산 시스템(3500)은 ANN 계산 시스템(3500)의 일부 구현에서 광원(3230)이 도 1f의 시스템(104)과 유사하게 λ1, λ2 및 λ3와 같은 다수의 파장을 생성하도록 구성되는 WDM 기술이 사용된다는 점을 제외하면 ANN 계산 시스템(3200)과 유사하다.
다수의 파장은 바람직하게는 공통 전파 채널로의 용이한 멀티플렉싱 및 역멀티플렉싱을 허용하기에 충분히 큰 파장 간격만큼 분리될 수 있다. 예를 들어, 0.5 nm, 1.0 nm, 2.0 nm, 3.0 nm 또는 5.0 nm보다 큰 파장 간격은 간단한 멀티플렉싱 및 역멀티플렉싱을 허용할 수 있다. 반면에, 다수의 파장의 최단 파장과 최장 파장 사이의 범위("WDM 대역폭")는 바람직하게는 광전자 행렬 승산 유닛(3520)의 특성 또는 성능이 다수의 파장에 걸쳐 실질적으로 동일하게 유지되도록 충분히 작을 수 있다. 광학 컴포넌트는 일반적으로 분산성이므로 광학 특성이 파장의 함수로 변경된다. 예를 들어, MZI의 파워 분할 비율은 파장에 따라 변할 수 있다. 그러나, 광전자 행렬 승산 유닛(3520)이 충분히 큰 동작 파장 윈도우를 갖도록 설계하고 파장을 그 동작 파장 윈도우 내에 있도록 제한함으로써, 각 파장에 대응하는 광전자 행렬 승산 유닛(3520)이 출력하는 출력 전자 벡터는 광전자 행렬 승산 유닛(3520)에 의해 구현된 행렬 승산의 충분히 정확한 결과가 될 수 있다. 동작 파장 윈도우는 예를 들어 1 nm, 2 nm, 3 nm, 4 nm, 5 nm, 10 nm 또는 20 nm일 수 있다.
WDM ANN 계산 시스템(3500)의 변조기 어레이(144)는 복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크를 포함하고, 각각의 뱅크는 다수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성한다. 예를 들어, 길이가 32이고 파장이 3개(예를 들어, λ1, λ2 및 λ3)인 광학 입력 벡터를 갖는 시스템의 경우, 변조기 어레이(144)는 각각 32개의 변조기의 3개의 뱅크를 가질 수 있다. 또한, 변조기 어레이(144)는 또한 복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함한다. 예를 들어, 광학 멀티플렉서는 3개의 상이한 파장에서의 3개의 변조기 뱅크의 출력을 광학 입력 벡터의 각 요소에 대한 도파로와 같은 단일 전파 채널로 조합할 수 있다. 따라서, 위의 예로 돌아가서 조합된 광학 입력 벡터는 32개의 광학 신호를 가지며 각 신호는 3개의 파장을 포함한다.
WDM ANN 계산 시스템(3500)의 광전자 처리 구성요소는 다수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전기 신호를 생성하도록 더 구성된다. 도 35b를 참조하면, 광전자 행렬 승산 유닛(3520)은 복수의 파장을 포함하는 조합된 광학 입력 벡터를 변조기 어레이(144)로부터 수신하도록 구성된 광학 경로(1803)를 포함한다. 예를 들어, 광학 경로(1803_1)는 파장 λ1, λ2 및 λ3에서 조합된 광학 입력 벡터 요소 v 1을 수신한다. 파장 λ1, λ2 및 λ3의 광학 입력 벡터 요소 v 1의 사본이 승산 모듈(3530_11, 3530_21, ..., 및 3530_m1)에 제공된다. 승산 모듈(3530)이 전기 신호를 출력하는 일부 구현에서, 승산 모듈(3530_11)은 파장 λ1, λ2 및 λ3에서의 입력 벡터 요소 v 1에 대응하는 M 11·v 1을 나타내는 3개의 전기 신호를 출력한다. 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v 1에 대응하는 승산 모듈(3530_11)의 출력 전기 신호는 각각 (λ1), (λ2) 및 (λ3)로 표시된다. 유사한 표기법이 다른 승산 모듈의 출력에 적용된다. 승산 모듈(3530_21)은 파장 λ1, λ2 및 λ3 각각에서 입력 벡터 요소 v 1에 대응하는 M 21·v 1을 나타내는 3개의 전기 신호를 출력한다. 승산 모듈(3530_m1)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v 1에 대응하는 Mm1·v 1을 나타내는 3개의 전기 신호를 출력한다.
파장 λ1, λ2 및 λ3에서 광학 입력 벡터 요소 v 2의 사본이 승산 모듈(3530_12, 3530_22, ... 및 3530_m2)에 제공된다. 승산 모듈(3530_12)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v 2에 대응하는 M 12·v 2를 나타내는 3개의 전기 신호를 출력한다. 승산 모듈(3530_22)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v 2에 대응하는 M 22·v 2를 나타내는 3개의 전기 신호를 출력한다. 승산 모듈(3530_m2)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v m 에 대응하는 M m 2·v 2를 나타내는 3개의 전기 신호를 출력한다.
파장 λ1, λ2 및 λ3을 포함하는 광학 입력 벡터 요소 v n 의 사본이 승산 모듈(3530_1n, 3530_2n, ..., 및 3530_mn)에 제공된다. 승산 모듈(3530_1n)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v n 에 대응하는 M 1 n ·v n 을 나타내는 3개의 전기 신호를 출력한다. 승산 모듈(3530_2n)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v n 에 대응하는 M 2 n ·v n 을 나타내는 3개의 전기 신호를 출력한다. 승산 모듈(3530_mn)은 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v n 에 대응하는 M mn .v n 을 나타내는 3개의 전기 신호를 출력하는 등등이다.
예를 들어, 승산 모듈(3530) 각각은 다중 파장 광학 벡터의 32개 신호 각각에 포함된 3개의 파장을 역멀티플렉싱하고, 3개의 단일 파장 광학 출력 벡터를 연산 증폭기 또는 트랜스임피던스 증폭기(예를 들어, 연산 증폭기(2030(도 20b) 또는 2050(도 20c)))의 3개의 뱅크에 결합된 광검출기(예를 들어, 광검출기(2012, 2016(도 20b) 또는 2042, 2046(도 20c)))의 3개의 뱅크로 라우팅하도록 구성된 역멀티플렉서를 포함할 수 있다.
합산 모듈(1808)의 3개의 뱅크는 승산 모듈(3530)로부터 출력을 수신하고 다양한 파장의 입력 벡터에 대응하는 합계 y를 생성한다. 예를 들어, 3개의 합산 모듈(1808_1)은 승산 모듈(3530_11, 3530_12, ..., 3530_1n)의 출력을 수신하고 파장 λ1, λ2 및 λ3 각각에서 입력 벡터 요소 v 1에 대응하는 합계 y 11), y 12), y 12)을 생성하며, 여기서 각 파장에서 합계 y1은 M 11 v 1+M 12 v 2+...+M 1 n v n 과 같다. 3개의 합산 모듈(1808_2)은 승산 모듈(3530_21, 3530_22, ..., 3530_2n)의 출력을 수신하고 파장 λ1, λ2 및 λ3에서 입력 벡터 요소 v 2에 대응하는 합계 y 21), y 22), y 23)를 생성하고, 여기서, 각 파장에서 합계 y 2M 21 v 1+M 22 v 2+···+M 2 n v n 과 같다. 3개의 합산 모듈(1808_n)은 승산 모듈(1806_m1, 1806_m2, ..., 1806_mn)의 출력을 수신하고 파장 λ1, λ2 및 λ3 각각에서 입력 벡터 요소 v n 에 대응하는 합계 yn(λ1), yn(λ2), yn(λ3)을 생성하고, 여기서, 각 파장에서 합계 yn은 M m 1 v 1+M m 2 v 2+···+M mn v n 과 같다.
다시 도 35a를 참조하면, WDM ANN 계산 시스템(3500)의 ADC 유닛(160)은 광학 행렬 승산 유닛(3520)의 복수의 역멀티플렉싱된 출력 전압을 전환하도록 구성된 ADC 뱅크를 포함한다. 각 뱅크는 다수의 파장 중 하나에 대응하며 각각의 디지털화된 역멀티플렉싱된 출력을 생성한다. 예를 들어, ADC(160)의 뱅크는 합산 모듈(1808)의 뱅크에 결합될 수 있다.
제어기(110)는 방법(3300)(도 33)과 유사하지만 다중 파장 동작을 지원하도록 확장된 방법을 구현할 수 있다. 예를 들어, 방법은 ADC 유닛(160)으로부터 복수의 디지털화된 역멀티플렉싱된 출력을 획득하는 단계- 복수의 디지털화된 역멀티플렉싱된 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -; 복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 단계; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 단계를 포함할 수 있다.
일부 경우에, ANN은 특별히 설계될 수 있고, 디지털 입력 벡터는 승산 모듈(3530)의 다중 파장 곱이 역멀티플렉싱 없이 가산될 수 있도록 구체적으로 형성될 수 있다. 이러한 경우, 승산 모듈(3530)은 다중 파장 곱의 다수의 파장을 역멀티플렉싱하지 않는 파장-비감지 승산 모듈일 수 있다. 이와 같이, 승산 모듈(3530)의 광검출기 각각은 광학 신호의 다수의 파장을 단일 광전류로 효과적으로 합산하고, 승산 모듈(3530)에 의한 전압 출력 각각은 다수의 파장에 대해 벡터 요소와 행렬 요소의 곱의 합계에 대응한다. 합산 모듈(1808)(단 하나의 뱅크만 필요함)은 다수의 디지털 입력 벡터의 행렬 승산 결과의 요소별 합계를 출력한다.
도 35c는 전기 도메인에서 수행되는 합산 연산과 함께 2 x 2-요소 행렬을 사용하여 벡터-행렬 승산을 수행하기 위한 파분할 멀티플렉싱된 광전자 행렬 승산 유닛(3520)의 구현을 위한 시스템 구성(3500)의 예를 도시하고 있다. 이 예에서 입력 벡터는 이고, 행렬은 이다. 이 예에서, 입력 벡터는 다수의 파장 λ1, λ2 및 λ3을 가지고, 입력 벡터의 각 요소는 상이한 광학 신호에 인코딩된다. 2개의 상이한 복사 모듈(1902)은 상이한 경로(예를 들어, "상부" 경로 및 "하부" 경로)에 걸쳐 계산을 분할하기 위해 광학 복사 연산을 수행한다. 광학 진폭 변조를 사용하여 각각 상이한 행렬 요소로 승산하는 4개의 승산 모듈(1904)이 있다. 각 승산 모듈(1904)의 출력은 파장 분할 멀티플렉싱된 광학 신호를 파장 λ1, λ2 및 λ3과 관련된 전기 전류의 형태의 전기 신호로 전환하는 광학 검출 모듈(3310) 뱅크 및 역멀티플렉서에 제공된다. 상이한 입력 벡터 요소의 두 상부 경로는 파장 λ1, λ2 및 λ3과 연관된 합산 모듈(3320) 뱅크를 사용하여 조합되고, 상이한 입력 벡터 요소의 두 하부 경로는 파장 λ1, λ2 및 λ3과 연관된 합산 모듈(3320) 뱅크를 사용하여 조합되며, 여기서 합산 모듈(3320)은 전기 도메인에서 합산을 수행한다. 따라서, 각 파장에 대한 출력 벡터의 각 요소는 상이한 전기 신호에 인코딩된다. 도 35c에 도시되어 있는 바와 같이, 계산이 진행됨에 따라 출력 벡터의 각 컴포넌트가 점증적으로 생성되어 각 파장에 대해 상부 및 하부 경로에 대해 각각 다음 결과를 산출한다.
M 11 v 1 + M 12 v 2
M 21 v 1 + M 22 v 2
시스템 구성(3500)은 임의의 다양한 광전자 기술을 사용하여 구현될 수 있다. 일부 구현에서, 통합된 광학 컴포넌트 및 전자 컴포넌트 둘 모두를 지원할 수 있는 공통 기판(예를 들어, 실리콘과 같은 반도체)이 있다. 광학 경로는 광학 신호를 운반하는 광학 파를 전파시키기 위한 도파로를 정의하는 더 낮은 광학 인덱스를 갖는 물질로 둘러싸인 더 높은 광학 인덱스를 갖는 물질을 갖는 도파로 구조로 구현될 수 있다. 전기 경로는 전기 신호를 운반하는 전류를 전파시키기 위한 전도성 물질에 의해 구현될 수 있다. (도 35c에서, 달리 표시되지 않는 한, 더 굵은 선으로 표시되는 광학 경로와 더 얇은 선 또는 점선으로 표시되는 전기 경로를 구별하기 위해 경로를 나타내는 선의 두께가 사용된다.) 분할기 및 광학 진폭 변조기와 같은 광학 디바이스와 광검출기 및 연산 증폭기(op-amp)와 같은 전기 디바이스는 공통 기판 상에 제조될 수 있다. 대안적으로, 상이한 기판을 갖는 상이한 디바이스가 시스템의 상이한 부분을 구현하기 위해 사용될 수 있고, 이들 디바이스는 통신 채널을 통해 통신할 수 있다. 예를 들어, 광섬유가 사용되어 전체 시스템을 구현하는 데 사용되는 다수의 장치 사이에서 광학 신호를 전송하는 통신 채널을 제공할 수 있다. 이러한 광학 신호는 아래에 더 상세히 설명된 바와 같이, 벡터-행렬 승산을 수행할 때 제공되는 입력 벡터의 다양한 서브세트 및/또는 벡터-행렬 승산을 수행할 때 계산되는 중간 결과의 다양한 서브세트를 나타낼 수 있다.
지금까지, ANN 계산의 일부로 수행된 가중 합의 비선형 변환은 제어기(110)에 의해 디지털 도메인에서 수행되었다. 일부 경우에, 비선형 변환은 계산 집약적이거나 전력 소모가 많을 수 있고, 제어기(110)의 복잡성을 상당히 증가시키거나, 그렇지 않으면 처리량 또는 전력 효율 측면에서 ANN 계산 시스템(3200)(도 32a)의 성능을 제한할 수 있다. 이 때문에, ANN 계산 시스템의 일부 구현에서, 비선형 변환은 아날로그 전자장치를 통해 아날로그 도메인에서 수행될 수 있다.
도 36은 ANN 계산 시스템(3600)의 예의 개략도를 도시하고 있다. ANN 계산 시스템(3600)은 ANN 계산 시스템(3200)과 유사하지만 아날로그 비선형성 유닛(310)이 추가된 점이 다르다. 아날로그 비선형성 유닛(310)은 광전자 행렬 승산 유닛(3220)과 ADC 유닛(160) 사이에 배열된다. 아날로그 비선형성 유닛(310)은 광전자 행렬 승산 유닛(3220)으로부터 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 변환된 출력 전압을 ADC 유닛(160)에 출력하도록 구성된다.
ADC 유닛(160)은 아날로그 비선형성 유닛(310)에 의해 비선형적으로 변환된 전압을 수신함에 따라, 제어기(110)는 ADC 유닛(160)으로부터 변환된 출력 전압에 대응하는 변환된 디지털화된 출력 전압을 획득할 수 있다. ADC 유닛(160)으로부터 획득된 디지털화된 출력 전압은 이미 비선형적으로 변환("활성화")되었기 때문에, 제어기(110)에 의한 비선형 변환 단계가 생략될 수 있고, 제어기(110)에 의한 계산 부담을 감소시킬 수 있다. 그 다음, ADC 유닛(160)으로부터 직접 획득한 제1 변환된 전압은 제1 변환된 디지털 출력 벡터로 메모리 유닛(120)에 저장될 수 있다.
아날로그 비선형성 유닛(310)은 도 3a의 아날로그 비선형성 유닛(310)에 대해 앞서 설명한 바와 같이 다양한 방식으로 구현될 수 있다. 아날로그 비선형성 유닛(310)의 사용은 디지털 도메인에서 수행될 단계를 감소시킴으로써 ANN 계산 시스템(3600)의 처리량 또는 전력 효율과 같은 성능을 개선시킬 수 있다. 디지털 도메인에서 비선형 변환 단계를 제외하면 ANN 계산 시스템의 동작에 추가적인 유연성과 개선이 가능할 수 있다. 예를 들어, 순환 신경망에서 광전자 행렬 승산 유닛(3220)의 출력이 활성화되고 광전자 행렬 승산 유닛(3220)의 입력으로 다시 재순환된다. 활성화는 ANN 계산 시스템(3200)의 제어기(110)에 의해 수행되며, 이는 광전자 행렬 승산 유닛(3220)을 통과할 때마다 광전자 행렬 승산 유닛(3220)의 출력 전압을 디지털화하는 것을 필요로 한다. 그러나, 활성화는 이제 ADC 유닛(160)에 의한 디지털화 이전에 수행되기 때문에, 순환 신경망 계산을 수행하는 데 필요한 ADC 전환의 수를 감소시키는 것이 가능할 수 있다.
일부 구현에서, 아날로그 비선형성 유닛(310)은 비선형 ADC 유닛으로서 ADC 유닛(160)에 통합될 수 있다. 예를 들어, 비선형 ADC 유닛은 선형 ADC 유닛의 선형 디지털화된 출력을 원하는 비선형 변환된 디지털화된 출력으로 맵핑하는 비선형 참조표를 갖는 선형 ADC 유닛일 수 있다.
도 37은 ANN 계산 시스템(3700)의 예의 개략도를 도시하고 있다. ANN 계산 시스템(3700)은 도 36의 시스템(3600)과 유사하지만, 아날로그 메모리 유닛(320)을 더 포함한다는 점에서 다르다. 아날로그 메모리 유닛(320)은 DAC 유닛(130)(예를 들어, 제1 DAC 서브유닛(132)을 통해), 변조기 어레이(144) 및 아날로그 비선형성 유닛(310)에 결합된다. 아날로그 메모리 유닛(320)은 제1 DAC 서브유닛(132)에 결합된 제1 입력 및 아날로그 비선형성 유닛(310)에 결합된 제2 입력을 갖는 멀티플렉서를 포함한다. 이는 아날로그 메모리 유닛(320)이 제1 DAC 서브유닛(132) 또는 아날로그 비선형성 유닛(310)으로부터 신호를 수신할 수 있게 한다. 아날로그 메모리 유닛(320)은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성된다. 아날로그 메모리 유닛(320)은 도 3b의 아날로그 메모리 유닛(320)에 대해 앞서 설명한 바와 같이 다양한 방식으로 구현될 수 있다.
이제, ANN 계산 시스템(3700)의 동작이 설명될 것이다. DAC 유닛(130)(예를 들어, 제1 DAC 서브유닛(132))에서 출력된 제1 복수의 변조기 제어 신호는 아날로그 메모리 유닛(320)을 통해 변조기 어레이(144)로 먼저 입력된다. 이 단계에서, 아날로그 메모리 유닛(320)은 제1 복수의 변조기 제어 신호를 단순히 전달하거나 버퍼링할 수 있다. 변조기 어레이(144)는 광전자 행렬 승산 유닛(3220)을 통해 전파되는 제1 복수의 변조기 제어 신호에 기초하여 광학 입력 벡터를 생성한다. 광전자 행렬 승산 유닛(3220)의 출력 전압은 아날로그 비선형성 유닛(310)에 의해 비선형적으로 변환된다. 이 시점에서, ADC 유닛(160)에 의해 디지털화되는 대신, 아날로그 비선형성 유닛(310)의 출력 전압은 아날로그 메모리 유닛(320)에 저장되고, 그 후, 이는 다음 광학 입력 벡터로 전환되어 광전자 행렬 승산 유닛(3220)을 통해 전파되도록 변조기 어레이(144)로 출력된다. 이러한 순환 처리는 제어기(110)의 제어 하에, 미리 설정된 시간량 또는 미리 설정된 사이클 수 동안 수행될 수 있다. 주어진 디지털 입력 벡터에 대한 순환 처리가 완료되면, 아날로그 비선형성 유닛(310)의 변환된 출력 전압은 ADC 유닛(160)에 의해 전환된다.
시스템(3700)에서 아날로그 메모리 유닛(320)을 사용하는 이점은 도 3b의 시스템(302)에서 아날로그 메모리 유닛(320)을 사용하는 이점과 유사하다. 유사하게, 시스템(3700)을 사용한 순환 신경망 계산의 실행은 도 3b의 시스템(302)의 실행과 유사할 수 있다.
도 4a의 시스템(400)에 대해 위에서 설명된 바와 같이, ANN 계산 출력의 분해능을 유지하면서 입력 데이터세트의 분해능보다 낮은 비트 분해능에서 내부적으로 동작하는 ANN 계산 시스템을 사용함으로써 이점(예를 들어, 전력 소비 감소)이 있다. 도 38을 참조하면, 1 비트 내부 분해능을 갖는 인공 신경망(ANN) 계산 시스템(3800)의 예의 개략도가 도시되어 있다. ANN 계산 시스템(3800)은 ANN 계산 시스템(3200)(도 32a)과 유사하지만 DAC 유닛(130)이 이제 드라이버 유닛(430)으로 대체되고, ADC 유닛(160)이 이제 비교기 유닛(460)으로 대체된다는 점이 다르다.
도 38의 시스템(3800)에서 드라이버 유닛(430) 및 비교기 유닛(460)은 도 4a의 시스템(400)의 드라이버 유닛(430) 및 비교기(460)와 유사한 방식으로 동작한다. 도 38의 ANN 계산 시스템(3800)의 동작의 수학적 표현은 도 4a에 도시되어 있는 ANN 계산 시스템(400)의 동작의 수학적 표현과 유사하다.
ANN 계산 시스템(3800)은 1 비트 벡터의 일련의 행렬 승산을 수행하고 이어서 개별 행렬 승산 결과를 합산함으로써 ANN 계산을 수행한다. 도 4a에 도시된 예를 사용하여, 분해된 입력 벡터 Vbit0 내지 Vbit3 각각은 드라이버 유닛(430)을 통해 4개의 1 비트 입력 벡터에 대응하는 4개의 1 비트 변조기 제어 신호의 시퀀스를 생성함으로써 행렬 U와 승산될 수 있다. 이는 차례로 4개의 1-비트 광학 입력 벡터의 시퀀스를 생성하고, 이는 행렬 U의 행렬 승산을 구현하기 위해 드라이버 유닛(430)을 통해 구성된 광전자 행렬 승산 유닛(3220)에 의해 처리된다. 그 다음, 제어기(110)는 비교기 유닛(460)으로부터 4개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 4개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득할 수 있다.
4 비트 벡터가 4개의 1 비트 벡터로 분해되는 경우, 동일한 유효 ANN 계산 처리량을 유지하기 위해, 각 벡터는 단일 4 비트 벡터가 시스템(3200)(도 32a)과 같은 다른 ANN 계산 시스템에 의해 처리될 수 있는 속도의 4배로 ANN 계산 시스템(3800)에 의해 처리되어야 한다. 이러한 증가된 내부 처리 속도는 4개의 1 비트 벡터를 4 비트 벡터를 처리하기 위해 단일 타임슬롯으로 시분할 멀티플렉싱하는 것으로 보여질 수 있다. 신호 전환 프로세스의 분해능의 감소가 통상적으로 달성될 수 있는 신호 전환의 속도의 증가를 도출하므로, 처리 속도의 필요한 증가는 DAC 유닛(130) 및 ADC 유닛(160)에 비해 드라이버 유닛(430) 및 비교기 유닛(460)의 증가된 동작 속도에 의해 적어도 부분적으로 달성될 수 있다.
본 예에서, 비록 신호 전환 속도는 1 비트 동작에서 4배 증가하지만 결과적인 전력 소비는 4 비트 동작에 비해 크게 감소할 수 있다. 앞서 설명한 바와 같이, 신호 전환 프로세스의 전력 소비는 일반적으로 비트 분해능에 따라 지수적으로 스케일링되는 반면 전환 속도에 따라서는 선형적으로 스케일링된다. 이 때문에, 비트 분해능의 4배 감소로부터 전환 당 전력의 16배 감소가 발생할 수 있으며, 이어서 증가된 전환 속도로부터 전력의 4배 증가가 이어진다. 전체적으로, 동일한 유효 ANN 계산 처리량을 유지하면서 예를 들어 ANN 계산 시스템(3200)에 비해 ANN 계산 시스템(3800)에 의해 동작 전력의 4배 감소가 달성될 수 있다.
그 다음, 제어기(110)는 2^0 내지 2^3의 각각의 가중치를 각각의 디지털화된 1 비트 광학 출력에 승산함으로써 4개의 디지털화된 1 비트 광학 출력으로부터 4 비트 디지털 출력 벡터를 구성할 수 있다. 4 비트 디지털 출력 벡터가 구성되면, ANN 계산은 구성된 4 비트 디지털 출력 벡터에 대해 비선형 변환을 수행하여 변환된 4 비트 디지털 출력 벡터를 생성하고; 변환된 4 비트 디지털 출력 벡터를 메모리 유닛(120)에 저장함으로써 진행될 수 있다.
대안적으로 또는 추가적으로, 일부 구현에서, 4개의 디지털화된 1 비트 광학 출력 각각은 비선형적으로 변환될 수 있다. 예를 들어, 단계-함수 비선형 함수가 비선형 변환에 사용될 수 있다. 그 후, 변환된 4 비트 디지털 출력 벡터는 비선형적으로 변환된 디지털화된 1 비트 광학 출력으로부터 구성될 수 있다.
별도의 ANN 계산 시스템(3800)이 예시되고 설명되었지만, 일반적으로 도 32a의 ANN 계산 시스템(3200)은 ANN 계산 시스템(3800)의 기능과 유사한 기능을 구현하도록 설계될 수 있다. 예를 들어, DAC 유닛(130)은 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함할 수 있고, ADC 유닛(160)은 1 비트의 분해능을 갖도록 설계될 수 있다. 이러한 1 비트 ADC는 비교기와 유사하거나 사실상 동등할 수 있다.
또한, 1 비트 내부 분해능을 갖는 ANN 계산 시스템의 동작이 설명되었지만 일반적으로 ANN 계산 시스템의 내부 분해능은 입력 데이터세트의 N-비트 분해능보다 낮은 중간 레벨로 감소될 수 있다. 예를 들어, 내부 분해능을 2^Y 비트로 감소시킬 수 있으며, 여기서 Y는 0보다 크거나 같은 정수이다.
다양한 대안적인 시스템 구성 또는 신호 처리 기술이 본 명세서에 설명된 상이한 시스템, 서브시스템 및 모듈의 다양한 구현과 함께 사용될 수 있다.
일부 실시예에서, VMM 서브시스템의 일부 또는 전부가 다양한 복사 모듈, 승산 모듈 및/또는 합산 모듈의 상이한 구현을 사용하는 서브시스템을 포함하는 대안적인 서브시스템으로 대체되는 것이 유용할 수 있다. 예를 들어, VMM 서브시스템은 본 명세서에 설명된 광학 복사 모듈 및 본 명세서에 설명된 전기 합산 모듈을 포함할 수 있지만, 승산 모듈은 광전자 도메인 대신 전기 도메인에서 승산 연산을 수행하는 서브시스템으로 대체될 수 있다. 이러한 예에서, 광학 진폭 변조기의 어레이는 광학 신호를 전기 신호로 전환하기 위한 검출기의 어레이로 대체될 수 있고, 이어서 전자 서브시스템(예를 들어, ASIC, 프로세서 또는 SoC)이 뒤따를 수 있다. 선택적으로, 광학 신호 라우팅이 광학 신호를 검출하도록 구성된 합산 모듈에 사용되는 경우, 전자 서브시스템은 예를 들어 전기적으로 변조된 광원의 어레이를 사용하는 전기 대 광학 전환을 포함할 수 있다.
일부 실시예에서, VMM 계산의 일부 또는 전부에 사용되는 광학 신호의 일부 또는 전부에 대해 단일 파장을 사용할 수 있는 것이 유용할 수 있다. 대안적으로, 일부 실시예에서, 요구될 수 있는 광학 입력 포트의 수를 감소시키는 것을 돕기 위해, 입력 포트는 상이한 파장에서 상이한 광학 파에 인코딩된 상이한 값을 갖는 멀티플렉싱된 광학 신호를 수신할 수 있다. 그 후, 복사 모듈, 승산 모듈 및/또는 합산 모듈 중 임의의 것이 다수의 파장에서 동작하도록 구성되었는지 여부에 따라 이러한 광학 파를 시스템의 적절한 위치에서 분리할 수 있다. 그러나, 다중 파장 실시예에서도, 예를 들어 동일한 VMM 서브시스템에서 사용되는 광학 신호의 상이한 서브세트에 대해 동일한 파장을 사용하는 것이 유용할 수 있다.
일부 실시예에서, 누산기는 다양한 모듈에 의해 수신된 광학 및 전기 신호의 시간 도메인 인코딩을 가능하게 하는 데 사용되어, 전자 회로가 다수의 상이한 파워 레벨에 걸쳐 효과적으로 동작할 필요성을 경감시킬 수 있다. 예를 들어, 심볼 당 N개의 타임슬롯에 걸쳐 특정 듀티 사이클로 이진(온-오프) 진폭 변조를 사용하여 인코딩된 신호는 해당 신호가 누산기(전기 신호의 전류 또는 전압을 적분하는 아날로그 전자 누산기)를 통과한 후 심볼 당 N개의 진폭 레벨을 갖는 신호로 전환될 수 있다. 따라서, 광학 디바이스(예를 들어, 광학 진폭 변조기의 위상 변조기)가 심볼 대역폭 B에서 동작할 수 있는 경우, 이들은 대신 심볼 대역폭 B/100에서 동작할 수 있고, 여기서 각 심볼 값은 N = 100 시간 슬롯을 사용한다. 50 %의 통합 진폭은 50 % 듀티 사이클(예를 들어, 0이 아닌 "온" 레벨에서 처음 50개의 타임슬롯 및 이어지는 0 또는 근사 0의 "오프" 레벨에서 50개의 타임슬롯)을 갖는 반면, 10 %의 통합 진폭은 10 % 듀티 사이클(예를 들어, 0이 아닌 "온" 레벨에서 처음 10개의 타임슬롯, 및 이어지는 0 "오프" 레벨에서의 90개의 타임슬롯)을 갖는다. 본 명세서에 설명된 예에서, 이러한 누산기는 예를 들어 해당 VMM 서브시스템의 모든 전기 신호에 대한 합산 모듈 이전 또는 해당 VMM 서브시스템의 모든 전기 신호에 대한 합산 모듈 이후 같이 각각의 전기 신호에 대해 일치하는 VMM 서브시스템 내의 임의의 위치에서의 각 전기 신호의 경로에 위치될 수 있다. VMM 서브시스템은 또한 상이한 전기 신호 사이에 상당한 상대적 시간 이동이 없도록 구성되어 상이한 심볼의 정렬을 보존할 수 있다.
도 40을 참조하면, 일부 구현에서, 호모다인 검출이 변조된 신호의 위상 및 진폭을 얻기 위해 사용될 수 있다. 호모다인 검출기(4000)는 2x2 다중 모드 간섭(MMI) 커플러, 2개의 광검출기(4004a 및 4004b) 및 감산기(4006)를 포함하는 빔 분할기(4002)를 포함한다. 빔 분할기(4002)는 입력 신호(E1 및 E2)를 수신하고, 빔 분할기(4002)의 출력은 광검출기(4004a 및 4004b)에 의해 검출된다. 예를 들어, 입력 신호(E1)는 검출될 신호일 수 있고, 입력 신호(E2)는 일정한 레이저 파워를 갖는 국부 발진기에 의해 생성될 수 있다. 국부 발진기 신호(E2)는 광검출기(4004a, 4004b)에 의해 신호가 검출되기 전에 빔 분할기(4002)에 의해 입력 신호(E1)와 혼합된다. 감산기(4006)는 광검출기(4004a, 4004b)의 출력 사이의 차이를 출력한다. 감산기(4006)의 출력(4008)은 |E1||E2|sin(θ)에 비례하고, 여기서 |E1| 및 |E2|는 두 입력 광학 필드의 진폭이고, θ는 상대 위상이다. 출력은 2개의 광학 필드의 곱과 관련되므로, 단일 광자 레벨에서도 극도로 약한 광학 신호를 검출할 수 있다.
예를 들어, 호모다인 검출기(4000)는 도 1a, 도 1f, 도 3a 내지 도 4a, 도 5, 도 7, 도 9, 도 18 내지 도 24e, 도 26 내지 도 32b 및 도 35a 내지 도 38에 도시되어 있는 시스템에서 사용될 수 있다. 호모다인 검출기(4000)는 신호에 대한 이득을 제공하므로 신호 노이즈 비율이 더 우수하다. 간섭성 시스템의 경우, 호모다인 검출기(4000)는 검출 결과의 극성을 통해 신호의 위상 정보를 드러내는 추가적인 이점을 제공한다.
도 19b의 예에서, 시스템(1920)은 2 x 2-요소 행렬을 포함하며, 여기서 2개의 입력 벡터 요소는 2개의 상이한 각각의 파장 λ1 및 λ2를 사용하여 2개의 광학 신호 상에 인코딩된다. 2개의 광학 신호는 예를 들어 2개의 광섬유를 사용하여 시스템(1920)에 제공될 수 있다. 예를 들어, 4x4 행렬에서 행렬 처리를 수행하는 시스템은 4개의 광섬유에서 운반되는 4개의 입력 광학 신호를 수신할 수 있다. 더 큰 행렬을 처리하는 시스템에 대해 더 많은 입력 광학 신호를 운반하는 데 더 많은 광섬유가 사용될 수 있지만, 광섬유와 광전자 칩 사이의 결합은 상당한 공간을 점유하기 때문에 많은 수의 광섬유를 광전자 칩에 결합하기가 어렵다.
광전자 칩에 광학 신호를 운반하는 데 필요한 광섬유 수를 감소시키는 방법은 파장 분할 멀티플렉싱을 사용하는 것이다. 파장이 다른 다수의 광학 신호를 단일 광섬유를 사용하여 멀티플렉싱하고 전송할 수 있다. 예를 들어, 도 41을 참조하면, 계산 시스템(4100)에서, 파장 λ1을 갖는 제1 광 신호(4102)는 제1 입력 벡터 요소(V1)를 나타내는 제1 변조된 광학 신호(4120)를 생성하기 위해 제1 변조기(4104)에 의해 변조된다. 파장 λ2를 갖는 제2 광 신호(4106)는 제2 입력 벡터 요소(V2)를 나타내는 제2 변조된 광학 신호(4122)를 생성하기 위해 제2 변조기(4108)에 의해 변조된다. 제1 및 제2 변조된 광학 신호는 멀티플렉서(4110)에 의해 조합되어 파장 분할 멀티플렉싱 신호를 생성하고, 이는 복수의 행렬 승산 모듈(예를 들어, 4116a, 4116b, 4116c 및 4116d(총괄적으로 4116으로 참조됨) 및 4118a, 4118b, 4118c 및 4118d(총괄적으로 4118로 참조됨))을 포함하는 광전자 칩(4114)에 광섬유(4112)를 통해 전송된다.
광전자 칩(4114) 내부에서, 파장 분할 멀티플렉싱 신호는 광학 신호(4120 및 4122)를 분리하기 위해 역멀티플렉서(4118)에 의해 역멀티플렉싱된다. 이 예에서, 광학 신호(4120)는 복사 모듈(4124)에 의해 복사되어 행렬 승산 모듈(4116a 및 4118a)로 전송되는 광학 신호의 사본을 생성한다. 광학 신호(4122)는 복사 모듈(4126)에 의해 복사되어 행렬 승산 모듈(4116b 및 4118b)로 전송되는 광학 신호의 사본을 생성한다. 행렬 승산 유닛(4116a 및 4116b)의 출력은 광학 커플러(4120a)를 사용하여 조합되고 조합된 신호는 광검출기(4122a)에 의해 검출된다.
파장 λ1을 갖는 제3 광학 신호(4124)는 제3 입력 벡터 요소(V3)를 나타내는 제3 변조 광학 신호(4132)를 생성하기 위해 제3 변조기(4128)에 의해 변조된다. 파장 λ2를 갖는 제4 광학 신호(4126)는 제4 입력 벡터 요소(V4)를 나타내는 제4 변조 광학 신호(4134)를 생성하기 위해 제4 변조기(4130)에 의해 변조된다. 제3 및 제4 변조된 광학 신호는 멀티플렉서(4136)에 의해 조합되어 광섬유(4138)를 통해 광전자 칩(4114)으로 전송되는 파장 분할 멀티플렉싱 신호를 생성한다.
광전자 칩(4114) 내부에서, 광섬유(4138)에 의해 제공된 파장 분할 멀티플렉싱 신호는 광학 신호(4132 및 4134)를 분리하기 위해 역멀티플렉서(4140)에 의해 역멀티플렉싱된다. 이 예에서, 광학 신호(4132)는 복사 모듈(4142)에 의해 복사되어 행렬 승산 모듈(4116c 및 4118c)로 전송되는 광학 신호의 사본을 생성한다. 광학 신호(4134)는 복사 모듈(4144)에 의해 복사되어 행렬 승산 모듈(4116d 및 4118d)로 전송되는 광학 신호의 사본을 생성한다. 행렬 승산 유닛(4116c 및 4116d)의 출력은 광학 커플러(4120b)를 사용하여 조합되고 조합된 신호는 광검출기(4122b)에 의해 검출된다. 행렬 승산 유닛(4118a 및 4118b)의 출력은 광학 커플러를 사용하여 조합되고 조합된 신호는 광검출기에 의해 검출된다. 행렬 승산 유닛(4118c 및 4118d)의 출력은 광학 커플러를 사용하여 조합되고 조합된 신호는 광검출기에 의해 검출된다.
일부 예에서, 멀티플렉서는 3개 이상의(예를 들어, 10 또는 100) 파장을 갖는 광학 신호를 멀티플렉싱하여 단일 광섬유에 의해 전송되는 파장 분할 멀티플렉싱 신호를 생성할 수 있으며, 광전자 칩 내부의 역멀티플렉서는 파장 분할 멀티플렉싱 신호를 역멀티플렉싱하여 상이한 파장을 갖는 신호를 분리할 수 있다. 이는 더 많은 광학 신호가 광섬유를 통해 병렬로 광전자 칩에 전송되도록 하여 광전자 칩의 데이터 처리 처리량을 증가시킨다.
본 명세서에 설명된 (예를 들어, 도 24e에 도시된 컴포넌트를 제어하기 위한) 디지털 제어기 및 기능적 동작은 본 명세서에 개시된 구조 및 그 구조적 등가물을 비롯하여 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예는 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 실행되는 컴퓨터-판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령어의 하나 이상의 모듈을 사용하여 구현될 수 있다. 컴퓨터-판독 가능 매체는 컴퓨터 시스템 내의 하드 드라이브, 소매 채널을 통해 판매되는 광학 디스크 또는 임베디드 시스템과 같은 제조된 제품일 수 있다. 컴퓨터-판독 가능 매체는 예컨대, 유선 또는 무선 네트워크를 통해 컴퓨터 프로그램 명령어의 하나 이상의 모듈을 전달함으로써, 컴퓨터 프로그램 명령어의 하나 이상의 모듈로 개별적으로 획득되고 나중에 인코딩될 수 있다. 컴퓨터-판독 가능 매체는 기계 판독 가능 저장 디바이스, 기계 판독 가능 저장 기재, 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려짐)은 컴파일형 또는 인터프리트형 언어, 선언형 또는 절차형 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며 독립 실행형 프로그램 또는 모듈, 컴포넌트, 서브 루틴 또는 컴퓨팅 환경 사용에 적절한 다른 단위를 비롯한 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템의 파일에 대응하는 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용의 단일 파일 또는 다수의 편성된 파일(coordinated file)(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 장소에 위치하거나 다수의 장소에 분산되고 통신 네트워크로 상호연결된 다수의 컴퓨터에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)와 같은 특수 목적 로직 회로에 의해 프로세스 및 로직 흐름이 또한 수행될 수 있으며, 이들로서 장치가 구현될 수도 있다.
본 개시내용은 특정 실시예와 관련하여 설명되었지만, 본 개시내용은 개시된 실시예에 제한되지 않고, 반대로, 첨부된 청구범위의 범위 내에 포함되는 다양한 수정 및 등가 배열을 포함하도록 의도된 것이며, 청구범위의 범위는 법에 따라 허용되는 모든 수정 및 등가 구조를 포함하도록 가장 넓은 해석이 부여되어야 한다.
본 발명은 첨부된 청구범위에서 정의되지만, 본 발명은 또한 다음의 실시예에 따라 정의될 수 있음을 이해하여야 한다:
실시예 1: 시스템이며,
데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛;
복수의 변조기 제어 신호를 생성하고 복수의 가중치 제어 신호를 생성하도록 구성된 디지털-아날로그 변환기(DAC) 유닛;
광학 프로세서- 광학 프로세서는
복수의 광 출력을 생성하도록 구성된 레이저 유닛;
레이저 유닛 및 DAC 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기;
복수의 광학 변조기 및 DAC 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및
광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함함 -;
광 검출 유닛에 결합되고 복수의 출력 전압을 복수의 디지털화된 광학 출력으로 전환하도록 구성된 아날로그-디지털 변환(ADC) 유닛;
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
컴퓨터로부터 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -;
메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 동작; 및
DAC 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 동작을 포함하는 동작을 수행하도록 구성되는, 시스템.
실시예 2: 실시예 1에 있어서, 동작은
ADC 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 3: 실시예 2에 있어서, 시스템은 메모리 유닛에 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계와 메모리 유닛에 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 갖고,
제1 루프 기간은 1ns 이하인, 시스템.
실시예 4: 실시예 2에 있어서, 동작은
제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하는, 시스템.
실시예 5: 실시예 2에 있어서, 동작은
DAC 유닛을 통해, 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함하는, 시스템.
실시예 6: 실시예 2에 있어서, 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함하고, 동작은
제1 복수의 디지털화된 광학 출력의 획득에 기초하여, DAC 유닛을 통해, 제2 복수의 신경망 가중치에 기초하여 제2 복수의 가중치 제어 신호를 생성하는 동작을 더 포함하는, 시스템.
실시예 7: 실시예 6에 있어서, 제1 및 제2 복수의 신경망 가중치는 인공 신경망의 상이한 층에 대응하는, 시스템.
실시예 8: 실시예 2에 있어서, 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함하고,
동작은
DAC 유닛을 통해, 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작;
ADC 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제2 복수의 디지털화된 광학 출력을 획득하는 동작- 제2 복수의 디지털화된 광학 출력은 제2 디지털 출력 벡터를 형성함 -;
제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작;
제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작; 및
제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하고,
광학 행렬 승산 유닛의 광학 출력 벡터는 최초에 언급한 복수의 가중치 제어 신호에 기초하여 광학 행렬 승산 유닛에 의해 변환된 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성되는, 시스템.
실시예 9: 실시예 1에 있어서,
광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛- 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 ADC 유닛에 출력하도록 구성됨 -을 더 포함하고,
동작은
ADC 유닛으로부터, 복수의 변환된 출력 전압에 대응하는 제1 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제1 복수의 변환된 디지털화된 출력 전압은 제1 변환된 디지털 출력 벡터를 형성함 -; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 10: 실시예 1에 있어서, 제어기의 집적 회로는 8GHz 이상의 속도로 제1 복수의 변조기 제어 신호를 생성하도록 구성되는, 시스템.
실시예 11: 실시예 1에 있어서,
DAC 유닛과 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 아날로그 메모리 유닛은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성됨 -; 및
광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛- 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 출력하도록 구성됨 -을 더 포함하는, 시스템.
실시예 12: 실시예 11에 있어서, 아날로그 메모리 유닛은 복수의 커패시터를 포함하는, 시스템.
실시예 13: 실시예 11에 있어서, 아날로그 메모리 유닛은 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 수신 및 저장하고, 저장된 복수의 변환된 출력 전압을 복수의 광학 변조기에 출력하도록 구성되고,
동작은
제1 복수의 변조기 제어 신호 및 제1 복수의 가중치 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 아날로그 메모리 유닛에 저장하는 동작;
아날로그 메모리 유닛을 통해 저장된 변환된 출력 전압을 출력하는 동작;
ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제2 복수의 변환된 디지털화된 출력 전압은 제2 변환된 디지털 출력 벡터를 형성함 -; 및
제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 더 포함하는, 시스템.
실시예 14: 실시예 1에 있어서, 인공 신경망 계산 요청의 입력 데이터세트는 복수의 디지털 입력 벡터를 포함하고, 레이저 유닛은 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는
복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함하고,
광 검출 유닛은 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전압을 생성하도록 추가로 구성되며, 동작은
ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -;
복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작을 포함하고, 복수의 디지털 입력 벡터 각각은 복수의 광학 입력 벡터 중 하나에 대응하는, 시스템.
실시예 15: 실시예 1에 있어서, 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함하고,
레이저 유닛은 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는
복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함하고, 동작은
ADC 유닛으로부터, 복수의 파장을 포함하는 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 포함하는, 시스템.
실시예 16: 실시예 1에 있어서, DAC 유닛은
복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함하고,
ADC 유닛의 분해능은 1 비트이고,
제1 디지털 입력 벡터의 분해능은 N 비트이며, 동작은
제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -;
1 비트 DAC 서브유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
ADC 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작;
N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함하는, 시스템.
실시예 17: 실시예 1에 있어서, 메모리 유닛은
디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리; 및
복수의 신경망 가중치를 저장하도록 구성되고 적어도 하나의 DRAM을 포함하는 신경망 가중치 메모리를 포함하는, 시스템.
실시예 18: 실시예 1에 있어서, DAC 유닛은
복수의 변조기 제어 신호를 생성하도록 구성된 제1 DAC 서브유닛; 및
복수의 가중치 제어 신호를 생성하도록 구성된 제2 DAC 서브유닛을 포함하고,
제1 및 제2 DAC 서브유닛은 상이한, 시스템.
실시예 19: 실시예 1에 있어서, 레이저 유닛은
광을 생성하도록 구성된 레이저 소스; 및
레이저 소스에 의해 생성된 광을 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기를 포함하고, 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는, 시스템.
실시예 20: 실시예 1에 있어서, 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함하는, 시스템.
실시예 21: 실시예 1에 있어서, 광 검출 유닛은
복수의 광검출기; 및
광검출기에 의해 생성된 광전류를 복수의 출력 전압으로 전환하도록 구성된 복수의 증폭기를 포함하는, 시스템.
실시예 22: 실시예 1에 있어서, 집적 회로는 주문형 집적 회로인, 시스템.
실시예 23: 실시예 1에 있어서, 광학 행렬 승산 유닛은
광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이;
광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및
광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는, 시스템.
실시예 24: 실시예 23에 있어서, 광학 간섭 유닛은
복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함하고고, 복수의 상호연결된 MZI의 각 MZI는
MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및
MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기를 포함하고,
제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합되는, 시스템.
실시예 25: 시스템이며,
데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛;
복수의 변조기 제어 신호를 생성하고 복수의 가중치 제어 신호를 생성하도록 구성된 드라이버 유닛;
광학 프로세서- 광학 프로세서는
복수의 광 출력을 생성하도록 구성된 레이저 유닛;
레이저 유닛 및 드라이버 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기;
복수의 광학 변조기 및 드라이버 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및
광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함함 -;
광 검출 유닛에 결합되고 복수의 출력 전압을 복수의 디지털화된 1 비트 광학 출력으로 전환하도록 구성된 비교기 유닛; 및
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
컴퓨터로부터 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 N 비트의 분해능을 갖는 제1 디지털 입력 벡터를 포함함 -;
메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 동작;
제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -;
드라이버 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
비교기 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작;
N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 수행하도록 구성된, 시스템.
실시예 26: 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 광학 출력 벡터로 변환하도록 구성된 광학 행렬 승산 유닛을 갖는 시스템에서 인공 신경망 계산을 수행하는 방법이며,
컴퓨터로부터 입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 단계- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -;
메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계;
디지털-아날로그 변환기(DAC) 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 단계;
아날로그-디지털 변환(ADC) 유닛으로부터, 광학 행렬 승산 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 단계- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제어기에 의해, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계;
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 단계; 및 제어기에 의해, 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 단계를 포함하는, 방법.
실시예 27: 방법이며,
입력 정보를 전자 형식으로 제공하는 단계;
전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계;
광학 행렬 승산에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계;
광학 출력 벡터를 전자 형식으로 전환하는 단계; 및 비선형 변환을 전자적으로 전환된 광학 출력 벡터에 전자적으로 적용하여 전자 형식으로 출력 정보를 제공하는 단계를 포함하는, 방법.
실시예 28: 실시예 27에 있어서,
전자 형식의 제공된 출력 정보에 대응하는 새로운 전자 입력 정보에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하는, 방법.
실시예 29: 실시예 28에 있어서, 초기 광학 변환을 위한 광학 행렬 승산 및 반복 광학 변환의 광학 행렬 승산은 동일하고 인공 신경망의 동일한 층에 대응하는, 방법.
실시예 30: 실시예 28에 있어서, 초기 광학 변환을 위한 광학 행렬 승산 및 반복 광학 변환의 광학 행렬 승산은 상이하고 인공 신경망의 상이한 층에 대응하는, 방법.
실시예 31: 실시예 27에 있어서,
전자 입력 정보의 상이한 부분에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하고,
초기 광학 변환을 위한 광학 행렬 승산 및 반복 광학 변환의 광학 행렬 승산은 동일하고 인공 신경망의 제1 층에 대응하는, 방법.
실시예 32: 실시예 31에 있어서,
인공 신경망의 제1 층에 의해 전자 입력 정보의 다수의 부분에 대해 생성된 전자 출력 정보에 기초하여 중간 정보를 전자 형식으로 제공하는 단계; 및
전자 중간 정보의 상이한 부분 각각에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하고,
초기 광학 변환을 위한 광학 행렬 승산 및 전자 중간 정보의 상이한 부분에 관련된 반복 광학 변환의 광학 행렬 승산은 동일하고 인공 신경망의 제2 층에 대응하는, 방법.
실시예 33: 시스템이며,
수동적 회절 광학 요소를 포함하는 광학 프로세서를 포함하고, 수동적 회절 광학 요소는 광학 입력 벡터 또는 행렬을 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력 벡터 또는 행렬로 변환하도록 구성되는, 시스템.
실시예 34: 실시예 33에 있어서, 행렬 처리는 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산을 포함하는, 시스템.
실시예 35: 실시예 33에 있어서, 광학 프로세서는 광학 행렬 처리 유닛을 포함하고, 광학 행렬 처리 유닛은
광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이,
수동적 회절 광학 요소를 포함하는 광학 간섭 유닛- 광학 간섭 유닛은 입력 도파로의 어레이와 광학 통신하며 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 구성됨 -; 및
광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는, 시스템.
실시예 36: 실시예 35에 있어서, 광학 간섭 유닛은 홀 또는 스트라이프 중 적어도 하나를 갖는 기판을 포함하고, 홀은 100 nm 내지 10 μm 범위의 치수를 가지며, 스트라이프의 폭은 100 nm 내지 10 μm 범위에 있는, 시스템.
실시예 37: 실시예 35에 있어서, 광학 간섭 유닛은 2차원 구성으로 배열된 수동적 회절 광학 요소를 갖는 기판을 포함하고, 기판은 평면 기판 또는 곡면 기판 중 적어도 하나를 포함하는, 시스템.
실시예 38: 실시예 37에 있어서, 기판은 입력 도파로의 어레이로부터 출력 도파로의 어레이로의 광 전파 방향에 평행한 평면 기판을 포함하는, 시스템.
실시예 39: 실시예 33에 있어서, 광학 프로세서는 광학 행렬 처리 유닛을 포함하고, 광학 행렬 처리 유닛은
광학 입력 행렬을 수신하기 위한 입력 도파로의 행렬,
수동적 회절 광학 요소를 포함하는 광학 간섭 유닛- 광학 간섭 유닛은 입력 도파로의 행렬과 광학 통신하며 광학 입력 행렬의 광학 신호의 제2 행렬로의 선형 변환을 수행하도록 구성됨 -; 및
광학 신호의 제2 행렬을 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 행렬을 포함하고, 입력 도파로의 행렬 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 행렬 내의 각 출력 도파로와 광학 통신하는, 시스템.
실시예 40: 실시예 39에 있어서, 광학 간섭 유닛은 홀 또는 스트라이프 중 적어도 하나를 갖는 기판을 포함하고, 홀은 100 nm 내지 10 μm 범위의 치수를 가지며, 스트라이프의 폭은 100 nm 내지 10 μm 범위에 있는, 시스템.
실시예 41: 실시예 39에 있어서, 광학 간섭 유닛은 3차원 구성으로 배열된 수동적 회절 광학 요소를 갖는 기판을 포함하는, 시스템.
실시예 42: 실시예 41에 있어서, 기판은 입방체, 기둥, 프리즘 또는 불규칙한 체적 중 적어도 하나의 형상을 갖는, 시스템.
실시예 43: 실시예 39에 있어서, 광학 프로세서는 수동적 회절 광학 요소를 갖는 홀로그램을 포함하는 광학 간섭 유닛을 포함하며, 광학 프로세서는 광학 입력 행렬을 나타내는 변조된 광을 수신하고 광이 홀로그램을 통과할 때 광이 홀로그램으로부터 광학 출력 행렬로서 나올 때까지 연속적으로 광을 변환하도록 구성되는, 시스템.
실시예 44: 실시예 35 또는 39에 있어서, 광학 간섭 유닛은 수동적 회절 광학 요소를 갖는 기판을 포함할 수 있고, 기판은 실리콘, 실리콘 산화물, 실리콘 질화물, 석영, 리튬 니오베이트, 상 변화 물질 또는 폴리머 중 적어도 하나를 포함하는, 시스템.
실시예 45: 실시예 35 또는 39에 있어서, 광학 간섭 유닛은 수동적 회절 광학 요소를 갖는 기판을 포함하고, 기판은 유리 기판 또는 아크릴 기판 중 적어도 하나를 포함하는, 시스템.
실시예 46: 실시예 33에 있어서, 수동적 회절 광학 요소는 부분적으로 도펀트에 의해 형성되는, 시스템.
실시예 47: 실시예 33에 있어서, 행렬 처리는 신경망에 의해 광학 입력 벡터에 의해 표현되는 입력 데이터의 처리를 나타내는, 시스템.
실시예 48: 실시예 33에 있어서, 광학 프로세서는
복수의 광 출력을 생성하도록 구성된 레이저 유닛,
레이저 유닛에 결합되고 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기;
복수의 광학 변조기에 결합된 광학 행렬 처리 유닛으로서, 수동적 회절 광학 요소에 의해 정의된 복수의 가중치에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛; 및
광학 행렬 처리 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전기 신호를 생성하도록 구성된 광 검출 유닛을 포함하는, 시스템.
실시예 49: 실시예 48에 있어서, 수동적 회절 광학 요소는 3차원 구성으로 배열되고, 복수의 광학 변조기는 광학 변조기의 2차원 어레이를 포함하고, 광 검출 유닛은 광검출기의 2차원 어레이를 포함하는, 시스템.
실시예 50: 실시예 48에 있어서, 광학 행렬 처리 유닛은 입력 도파로의 어레이, 광학 간섭 유닛, 및 출력 도파로의 어레이를 지지하고 보호하는 하우징 모듈을 포함하고,
광학 프로세서는 광학 행렬 처리 유닛을 수용하도록 구성된 수용 모듈을 포함하고, 수용 모듈은 광학 행렬 처리 유닛이 복수의 광학 변조기로부터 광학 입력 벡터를 수신할 수 있도록 하는 제1 인터페이스 및 광학 행렬 처리 유닛이 광학 출력 벡터를 광 검출 유닛으로 송신할 수 있도록 하는 제2 인터페이스를 포함하는, 시스템.
실시예 51: 실시예 48에 있어서, 복수의 출력 전기 신호는 복수의 전압 신호 또는 복수의 전류 신호 중 적어도 하나를 포함하는, 시스템.
실시예 52: 실시예 48에 있어서,
메모리 유닛;
복수의 변조기 제어 신호를 생성하도록 구성된 디지털-아날로그 변환기(DAC) 유닛;
광 검출 유닛에 결합되고 복수의 출력 전기 신호를 복수의 디지털화된 출력으로 전환전하도록 구성된 아날로그-디지털 변환(ADC) 유닛;
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
컴퓨터로부터, 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -;
입력 데이터세트를 메모리 유닛에 저장하는 동작; 및
DAC 유닛을 통해, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호를 생성하는 동작을 수행하도록 구성되는, 시스템.
실시예 53: 방법이며,
수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛을 3D 프린팅하는 단계를 포함하고, 수동적 회절 광학 요소는 광학 입력 벡터 또는 행렬을 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력 벡터 또는 행렬로 변환하도록 구성되는, 방법.
실시예 54: 방법이며,
하나 이상의 레이저 빔을 사용하여, 수동적 회절 광학 요소를 포함하는 홀로그램을 생성하는 단계를 포함하고, 수동적 회절 광학 요소는 광학 입력 벡터 또는 행렬을 광학 입력 벡터 또는 행렬과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력 벡터 또는 행렬로 변환하도록 구성되는, 방법.
실시예 55: 시스템이며,
1차원 방식으로 배열된 수동적 회절 광학 요소를 포함하는 광학 프로세서를 포함하고, 수동적 회절 광학 요소는 광학 입력을 광학 입력과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타내는 광학 출력으로 변환하도록 구성되는, 시스템.
실시예 56: 실시예 55에 있어서, 행렬 처리는 광학 입력과 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산을 포함하는, 시스템.
실시예 57: 실시예 55에 있어서, 광학 프로세서는 광학 행렬 처리 유닛을 포함하고, 광학 행렬 처리 유닛은
광학 입력을 수신하는 입력 도파로,
수동적 회절 광학 요소를 포함하는 광학 간섭 유닛- 광학 간섭 유닛은 입력 도파로와 광학 통신하고, 광학 입력의 선형 변환을 수행하도록 구성됨 -; 및
광학 출력을 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로를 포함하는, 시스템.
실시예 58: 실시예 57에 있어서, 광학 간섭 유닛은 홀 또는 격자 중 적어도 하나를 갖는 기판을 포함하고, 홀 또는 격자 요소는 100 nm 내지 10 μm 범위의 치수를 갖는, 시스템.
실시예 59: 시스템이며,
메모리 유닛;
복수의 변조기 제어 신호를 생성하도록 구성된 디지털-아날로그 변환기(DAC) 유닛;
광학 프로세서- 광학 프로세서는
복수의 광 출력을 생성하도록 구성된 레이저 유닛;
레이저 유닛 및 DAC 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기;
복수의 광학 변조기에 결합된 광학 행렬 처리 유닛으로서, 수동적 회절 광학 요소에 의해 정의된 복수의 가중치에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛; 및 광학 행렬 처리 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전기 신호를 생성하도록 구성된 광 검출 유닛을 포함함 -;
광 검출 유닛에 결합되고 복수의 출력 전기 신호를 복수의 디지털화된 광학 출력으로 전환하도록 구성된 아날로그-디지털 변환(ADC) 유닛;
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
컴퓨터로부터 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -;
입력 데이터세트를 메모리 유닛에 저장하는 동작; 및
DAC 유닛을 통해, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호를 생성하는 동작을 수행하도록 구성되는, 시스템.
실시예 60: 실시예 59에 있어서, 행렬 처리 유닛은 광학 입력 벡터를 디지털 입력 벡터와 수동적 회절 광학 요소에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산의 곱을 나타내는 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함하는, 시스템.
실시예 61: 실시예 59에 있어서, 동작은
ADC 유닛으로부터, 광학 행렬 처리 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 62: 실시예 61에 있어서, 시스템은 메모리 유닛에 입력 데이터세트를 저장하는 단계와 메모리 유닛에 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 갖고,
제1 루프 기간은 1ns 이하인, 시스템.
실시예 63: 실시예 61에 있어서, 동작은
제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하는, 시스템.
실시예 64: 실시예 61에 있어서, 동작은
DAC 유닛을 통해, 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함하는, 시스템.
실시예 65: 실시예 61에 있어서, 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함하고,
동작은
DAC 유닛을 통해, 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작;
ADC 유닛으로부터, 광학 행렬 처리 유닛의 광학 출력 벡터에 대응하는 제2 복수의 디지털화된 광학 출력을 획득하는 동작- 제2 복수의 디지털화된 광학 출력은 제2 디지털 출력 벡터를 형성함 -;
제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작;
제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작; 및 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하고,
광학 행렬 처리 유닛의 광학 출력 벡터는 수동적 회절 광학 요소에 의해 정의된 복수의 가중치에 기초하여 광학 행렬 처리 유닛에 의해 변환된 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성되는, 시스템.
실시예 66: 실시예 59에 있어서,
광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함하고, 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전기 신호를 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전기 신호를 ADC 유닛에 출력하도록 구성되고,
동작은
ADC 유닛으로부터, 복수의 변환된 출력 전기 신호에 대응하는 제1 복수의 변환된 디지털화된 출력 전기 신호를 획득하는 동작- 제1 복수의 변환된 디지털화된 출력 전기 신호는 제1 변환된 디지털 출력 벡터를 형성함 -; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 67: 실시예 59에 있어서, 제어기의 집적 회로는 8GHz 이상의 속도로 제1 복수의 변조기 제어 신호를 생성하도록 구성되는, 시스템.
실시예 68: 실시예 59에 있어서,
DAC 유닛과 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 아날로그 메모리 유닛은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성됨 -; 및
광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함하고, 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전기 신호를 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전기 신호를 출력하도록 구성되는, 시스템.
실시예 69: 실시예 68에 있어서, 아날로그 메모리 유닛은 복수의 커패시터를 포함하는, 시스템.
실시예 70: 실시예 68에 있어서, 아날로그 메모리 유닛은 아날로그 비선형성 유닛의 복수의 변환된 출력 전기 신호를 수신 및 저장하고, 저장된 복수의 변환된 출력 전기 신호를 복수의 광학 변조기에 출력하도록 구성되며,
동작은
제1 복수의 변조기 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전기 신호를 아날로그 메모리 유닛에 저장하는 동작;
아날로그 메모리 유닛을 통해 저장된 변환된 출력 전기 신호를 출력하는 동작;
ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전기 신호를 획득하는 동작- 제2 복수의 변환된 디지털화된 출력 전기 신호는 제2 변환된 디지털 출력 벡터를 형성함 -; 및
제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 더 포함하는, 시스템.
실시예 71: 실시예 59에 있어서, 인공 신경망 계산 요청의 입력 데이터세트는 복수의 디지털 입력 벡터를 포함하고, 레이저 유닛은 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는
복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함하고, 광 검출 유닛은 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전기 신호를 생성하도록 추가로 구성되며, 동작은
ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -;
복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작을 포함하고,
복수의 디지털 입력 벡터 각각은 복수의 광학 입력 벡터 중 하나에 대응하는, 시스템.
실시예 72: 실시예 59에 있어서, 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함하고,
레이저 유닛은 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는
복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함하고, 동작은
ADC 유닛으로부터, 복수의 파장을 포함하는 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 73: 실시예 59에 있어서, DAC 유닛은
복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 유닛을 포함할 수 있고, ADC 유닛의 분해능은 1 비트이고,
제1 디지털 입력 벡터의 분해능은 N 비트이며,
동작은
제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -;
1 비트 DAC 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
ADC 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작;
N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함하는, 시스템.
실시예 74: 실시예 59에 있어서, 메모리 유닛은 디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리를 포함하는, 시스템.
실시예 75: 실시예 59에 있어서, 레이저 유닛은 광을 생성하도록 구성된 레이저 소스; 및
레이저 소스에 의해 생성된 광을 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기를 포함하고, 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는, 시스템.
실시예 76: 실시예 59에 있어서, 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함하는, 시스템.
실시예 77: 실시예 59에 있어서, 광 검출 유닛은
복수의 광검출기; 및
광검출기에 의해 생성된 광전류를 복수의 출력 전기 신호로 전환하도록 구성된 복수의 증폭기를 포함하는, 시스템.
실시예 78: 실시예 59에 있어서, 집적 회로는 주문형 집적 회로를 포함하는, 시스템.
실시예 79: 실시예 59에 있어서, 광학 행렬 처리 유닛은:
광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이;
광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛- 광학 간섭 유닛은 수동적 회절 광학 요소를 포함함 -; 및
광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는, 시스템.
실시예 80: 시스템이며,
메모리 유닛;
복수의 변조기 제어 신호를 생성하도록 구성된 드라이버 유닛;
광학 프로세서- 광학 프로세서는
복수의 광 출력을 생성하도록 구성된 레이저 유닛;
레이저 유닛 및 드라이버 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기;
복수의 광학 변조기 및 드라이버 유닛에 결합된 광학 행렬 처리 유닛으로서, 수동적 회절 광학 요소에 의해 정의된 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성된 수동적 회절 광학 요소를 포함하는 광학 행렬 처리 유닛; 및
광학 행렬 처리 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전기 신호를 생성하도록 구성된 광 검출 유닛을 포함함 -;
광 검출 유닛에 결합되고 복수의 출력 전기 신호를 복수의 디지털화된 1 비트 광학 출력으로 전환하도록 구성된 비교기 유닛; 및 집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
컴퓨터로부터 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 N 비트의 분해능을 갖는 제1 디지털 입력 벡터를 포함함 -;
입력 데이터세트를 메모리 유닛에 저장하는 동작;
제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -;
드라이버 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
비교기 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작;
N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 수행하도록 구성되는, 시스템.
실시예 81: 실시예 80에 있어서, 광학 행렬 처리 유닛은 광학 입력 벡터로 표현되는 입력 벡터와 회절 광학 요소에 의해 정의된 미리 결정된 벡터 사이의 행렬 승산의 곱을 나타내는 광학 출력 벡터로 광학 입력 벡터를 변환하도록 구성된 광학 행렬 승산 유닛을 포함하는, 시스템.
실시예 82: 광학 행렬 처리 유닛을 갖는 시스템에서 인공 신경망 계산을 수행하는 방법이며,
컴퓨터로부터, 제1 디지털 입력 벡터를 포함하는 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 단계;
입력 데이터세트를 메모리 유닛에 저장하는 단계;
디지털-아날로그 변환기(DAC) 유닛을 통해, 제1 디지털 입력 벡터에 기초하여 제1 복수의 변조기 제어 신호를 생성하는 단계;
회절 광학 요소의 배열을 포함하는 광학 행렬 처리 유닛을 사용하여 광학 입력 벡터를 광학 출력 벡터로 변환하는 단계- 광학 출력 벡터는 광학 입력 벡터와 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터에 적용된 행렬 처리의 결과를 나타냄 -;
아날로그-디지털 변환(ADC) 유닛으로부터, 광학 행렬 처리 유닛의 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 단계- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제어기에 의해, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계;
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 단계; 및 제어기에 의해, 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 단계를 포함하는, 방법.
실시예 83: 실시예 82에 있어서, 광학 입력 벡터를 광학 출력 벡터로 변환하는 단계는 광학 입력 벡터를 회절 광학 요소의 배열에 의해 정의된 미리 결정된 벡터와 디지털 입력 벡터 사이의 행렬 승산의 곱을 나타내는 광학 출력 벡터로 변환하는 단계를 포함하는, 방법.
실시예 84: 방법이며,
입력 정보를 전자 형식으로 제공하는 단계;
전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계;
수동적 회절 광학 요소를 포함하는 광학 프로세서에 의한 광학 행렬 처리에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계;
광학 출력 벡터를 전자 형식으로 전환하는 단계; 및
비선형 변환을 전자적으로 전환된 광학 출력 벡터에 전자적으로 적용하여 전자 형식으로 출력 정보를 제공하는 단계를 포함하는, 방법.
실시예 85: 실시예 84에 있어서, 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계는 광학 입력 벡터로 표현되는 디지털 입력 벡터와 수동적 회절 광학 요소에 의해 정의되는 미리 결정된 벡터 사이의 광학 행렬 승산에 기초하여 광학 입력 벡터를 광학 출력 벡터로 광학적으로 변환하는 단계를 포함하는, 방법.
실시예 86: 실시예 84에 있어서,
전자 형식의 제공된 출력 정보에 대응하는 새로운 전자 입력 정보에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하는, 방법.
실시예 87: 실시예 86에 있어서, 초기 광학 변환을 위한 광학 행렬 처리 및 반복 광학 변환의 광학 행렬 처리는 동일하고 인공 신경망의 동일한 층에 대응하는, 방법.
실시예 88: 실시예 84에 있어서,
전자 입력 정보의 상이한 부분에 대해 전자-광학 전환, 광학 변환, 광학-전자 전환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하고,
초기 광학 변환을 위한 광학 행렬 처리 및 반복 광학 변환의 광학 행렬 처리는 동일하며, 인공 신경망의 층에 대응한다.
실시예 89: 시스템이며,
길이 N의 입력 벡터를 처리하도록 구성된 광학 행렬 처리 유닛을 포함하고, 광학 행렬 처리 유닛은 N+2 층의 방향성 커플러 및 N 층의 위상 천이기를 포함하고, N은 양의 정수인, 시스템.
실시예 90: 실시예 89에 있어서, 광학 행렬 처리 유닛은 N+2 층 이하의 방향성 커플러를 포함하는, 시스템.
실시예 91: 실시예 89에 있어서, 광학 행렬 처리 유닛은 광학 행렬 승산 유닛을 포함하는, 시스템.
실시예 92: 실시예 89에 있어서, 광학 행렬 처리 유닛은
기판 및
기판 상에 배치된 상호연결된 간섭계를 포함하고, 각각의 간섭계는 기판 상에 배치된 광학 도파로를 포함하고, 방향성 커플러 및 위상 천이기는 상호연결된 간섭계의 일부인, 시스템.
실시예 93: 실시예 89에 있어서, 광학 행렬 처리 유닛이 방향성 커플러의 마지막 층을 따르는 감쇠기 층을 포함하는, 시스템.
실시예 94: 실시예 93에 있어서, 감쇠기 층이 N 감쇠기를 포함하는, 시스템.
실시예 95: 실시예 93에 있어서, 감쇠기로부터의 출력을 검출하기 위한 하나 이상의 호모다인 검출기를 포함하는, 시스템.
실시예 96: 실시예 89에 있어서, N = 3이고 광학 행렬 처리 유닛은
입력 벡터를 수신하도록 구성된 입력 단자;
입력 단자에 결합된 방향성 커플러의 제1 층;
방향성 커플러의 제1 층에 결합된 위상 천이기의 제1 층;
위상 천이기의 제1 층에 결합된 방향성 커플러의 제2 층; 방향성 커플러의 제2 층에 결합된 위상 천이기의 제2 층; 위상 천이기의 제2 층에 결합된 방향성 커플러의 제3 층; 방향성 커플러의 제3 층에 결합된 위상 천이기의 제3 층; 위상 천이기의 제3 층에 결합된 방향성 커플러의 제4 층; 및 방향성 커플러의 제4 층에 결합된 방향성 커플러의 제5 층을 포함하는, 시스템.
실시예 97: 실시예 89에 있어서, N = 4이고 광학 행렬 처리 유닛은
입력 벡터를 수신하도록 구성된 입력 단자;
방향성 커플러의 제1 층, 제2 층, 제3 층, 및 제4 층- 이 층들 각각에 위상 천이기 층이 뒤따르며, 방향성 커플러의 제1 층이 입력 단자에 결합됨 -;
위상 천이기의 제4 층에 결합된 방향성 커플러의 제2 내지 마지막 층; 및
방향성 커플러의 제2 내지 마지막 층에 결합된 방향성 커플러의 최종 층을 포함하는, 시스템.
실시예 98: 실시예 89에 있어서, N = 8이고 광학 행렬 처리 유닛은
입력 벡터를 수신하도록 구성된 입력 단자;
각각 위상 천이기의 층이 뒤따르는 방향성 커플러의 8개의 층- 방향성 커플러의 제1 층은 입력 단자에 결합됨 -;
위상 천이기의 제8 층에 결합된 방향성 커플러의 제2 내지 마지막 층; 및
방향성 커플러의 제2 내지 마지막 층에 결합된 방향성 커플러의 최종 층을 포함하는, 시스템.
실시예 99: 실시예 89에 있어서, 광학 행렬 승산기 유닛은
입력 벡터를 수신하도록 구성된 입력 단자;
각각 위상 천이기의 층이 뒤따르는 방향성 커플러의 N개의 층- 방향성 커플러의 제1 층은 입력 단자에 결합됨 -;
위상 천이기의 제N 층에 결합된 방향성 커플러의 제2 내지 마지막 층; 및
방향성 커플러의 제2 내지 마지막 층에 결합된 방향성 커플러의 최종 층을 포함하는, 시스템.
실시예 100: 실시예 99에 있어서, N은 짝수인, 시스템.
실시예 101: 실시예 100에 있어서, 방향성 커플러의 제i 층 각각은 N/2 방향성 커플러를 포함하며, 여기서 i는 홀수이고, 방향성 커플러의 제j 층 각각은 N/2-1 방향성 커플러를 포함하며, 여기서 j는 짝수인, 시스템.
실시예 102: 실시예 100에 있어서, i가 홀수인 방향성 커플러의 제i 층 각각에 대해, 제k 방향성 커플러는 이전 층의 제(2k-1) 및 제2k 출력에 결합되고, k는 1 내지 N/2의 정수인, 시스템.
실시예 103: 실시예 100에 있어서, j가 짝수인 방향성 커플러의 제j 층 각각에 대해, 제m 방향성 커플러는 이전 층의 제(2m) 및 제(2m+1) 출력에 결합되고, m은 1 내지 N/2-1의 정수인, 시스템.
실시예 104: 실시예 100에 있어서, 위상 천이기의 제i 층 각각은 N개의 위상 천이기를 포함하고, i는 홀수이며,
위상 천이기의 제j 층 각각은 N-2개의 위상 천이기를 포함하고, j는 짝수인, 시스템.
실시예 105: 실시예 99에 있어서, N은 홀수인, 시스템.
실시예 106: 실시예 105에 있어서, 방향성 커플러의 각 층은 (N-1)/2 방향성 커플러를 포함하는, 시스템.
실시예 107: 실시예 105에 있어서, 위상 천이기의 각 층은 N-1개의 위상 천이기를 포함하는, 시스템.
실시예 108: 시스템이며,
제1 데이터세트를 생성하도록 구성된 생성기- 생성기는 광학 행렬 처리 유닛을 포함함 -; 및
제1 데이터세트로부터의 데이터와 제3 데이터세트로부터의 데이터를 포함하는 제2 데이터세트를 수신하도록 구성된 판별기- 제1 데이터세트의 데이터는 제3 데이터세트의 데이터와 유사한 특성을 갖고, 제2 데이터세트의 데이터를 제1 데이터세트로부터의 데이터 또는 제3 데이터세트로부터의 데이터로서 분류함 -를 포함하는, 시스템.
실시예 109: 실시예 108에 있어서, 광학 행렬 처리 유닛은 (i) 실시예 1 내지 25 중 어느 하나의 광학 행렬 승산 유닛, (ii) 실시예 32 내지 52, 55 내지 81 중 어느 하나의 수동적 회절 광학 요소 또는 (iii) 실시예 89 내지 107 중 어느 하나의 광학 행렬 처리 유닛 중 적어도 하나를 포함하는, 시스템.
실시예 110: 실시예 108에 있어서, 제3 데이터세트는 실제 데이터를 포함하고, 생성기는 실제 데이터와 유사한 합성 데이터를 생성하도록 구성되며, 판별기는 데이터를 실제 데이터 또는 합성 데이터로 분류하도록 구성되는, 시스템.
실시예 111: 실시예 108에 있어서, 생성기는 자율 주행 차량, 의료 진단 시스템, 사기 검출 시스템, 날씨 예측 시스템, 재무 예측 시스템, 안면 인식 시스템, 음성 인식 시스템 또는 제품 결함 검출 시스템 중 적어도 하나를 훈련하기 위한 데이터세트를 생성하도록 구성되는, 시스템.
실시예 112: 실시예 108에 있어서, 생성기는 실제 대상 또는 실제 장면 중 적어도 하나의 이미지와 유사한 이미지를 생성하도록 구성되며, 판별기는 수신된 이미지를 (i) 실제 대상 또는 실제 장면의 이미지 또는 (ii) 생성기에 의해 생성된 합성된 이미지로 분류하도록 구성되는, 시스템.
실시예 113: 실시예 112에 있어서, 실제 대상은 사람, 동물, 세포, 조직 또는 제품 중 적어도 하나를 포함하고, 실제 장면은 차량이 마주치는 장면을 포함하는, 시스템.
실시예 114: 실시예 113에 있어서, 판별기는 수신된 이미지가 (i) 실제 사람, 실제 동물, 실제 세포, 실제 조직, 실제 제품 또는 차량이 마주치는 실제 장면의 이미지인지 또는 (ii) 생성기에 의해 생성된 합성된 이미지인지를 분류하도록 구성되는, 시스템.
실시예 115: 실시예 113에 있어서, 차량은 오토바이, 자동차, 트럭, 기차, 헬리콥터, 비행기, 잠수함, 선박 또는 드론 중 적어도 하나를 포함하는, 시스템.
실시예 116: 실시예 113에 있어서, 생성기는 인간의 질병, 동물의 질병 또는 식물의 질병 중 적어도 하나와 관련된 조직 또는 세포의 이미지를 생성하도록 구성되는, 시스템.
실시예 117: 실시예 116에 있어서, 생성기는 인간의 질병과 관련된 조직 또는 세포의 이미지를 생성하도록 구성되며, 질병은 암, 파킨슨 병, 겸상 적혈구 빈혈, 심장 질환, 심혈관 질환, 당뇨병, 흉부 질환, 또는 피부 질환 중 적어도 하나를 포함하는, 시스템.
실시예 118: 실시예 116에 있어서, 생성기는 암과 관련된 조직 또는 세포의 이미지를 생성하도록 구성되며, 암은 피부암, 유방암, 폐암, 간암, 전립선암 또는 뇌암 중 적어도 하나를 포함하는, 시스템.
실시예 119: 실시예 108에 있어서, 시스템은 생성기에 입력으로서 제공되는 랜덤 노이즈를 생성하도록 구성된 랜덤 노이즈 생성기를 더 포함하고, 생성기는 랜덤 노이즈에 기초하여 제1 데이터세트를 생성하도록 구성되는, 시스템.
실시예 120: 시스템이며,
랜덤 노이즈를 생성하도록 구성된 랜덤 노이즈 생성기; 및
랜덤 노이즈에 기초하여 데이터를 생성하도록 구성된 생성기- 생성기는 광학 행렬 처리 유닛을 포함함 -를 포함하는, 시스템.
실시예 121: 실시예 120에 있어서, 광학 행렬 처리 유닛은 (i) 실시예 1 내지 25 중 어느 하나의 광학 행렬 승산 유닛, (ii) 실시예 33 내지 52 및 55 내지 81 중 어느 하나의 수동적 회절 광학 요소 또는 (iii) 실시예 89 내지 107 중 어느 하나의 광학 행렬 처리 유닛 중 적어도 하나를 포함하는, 시스템.
실시예 122: 시스템이며,
2개의 입력 신호에 대해 로직 기능을 수행하도록 구성된 광자 회로를 포함하고, 광자 회로는
2개의 입력 단자와 2개의 출력 단자를 갖는 제1 방향성 커플러- 2개의 입력 단자는 2개의 입력 신호를 수신하도록 구성됨 -,
제1 방향성 커플러의 두 출력 단자에서 신호의 위상을 수정하도록 구성된 위상 천이기의 제1 쌍,
2개의 입력 단자와 2개의 출력 단자를 갖는 제2 방향성 커플러- 2개의 입력 단자는 위상 천이기의 제1 쌍으로부터 신호를 수신하도록 구성됨 -,
제2 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성된 위상 천이기의 제2 쌍을 포함하는, 시스템.
실시예 123: 실시예 122에 있어서, 광자 회로가 다음 회전을 구현하게 하도록 위상 천이기가 구성되는, 시스템:
실시예 124: 실시예 122에 있어서, 입력 신호 x1 및 x2가 제1 방향성 커플러의 2개의 입력 단자에 제공될 때, 위상 천이기는 광자 회로가 다음 연산을 구현하게 하도록 구성되는, 시스템:
실시예 125: 실시예 124에 있어서, 광자 회로는 광자 회로가 다음 연산을 구현하게 하도록 하기 위해 제2 쌍의 위상 천이기로부터 신호의 절대값을 생성하도록 구성된 제1 광검출기를 포함하는, 시스템:
실시예 126: 실시예 125에 있어서, 광자 회로는 제1 광검출기의 출력 신호를 임계값과 비교하여 광자 회로가 다음 출력을 생성하게 하도록 이진 값을 생성하도록 구성된 비교기를 포함하는,시스템:
실시예 127: 실시예 125에 있어서, 광자 회로는 광검출기의 출력 신호가 제1 방향성 커플러의 입력 단자로 피드백되고 제1 방향성 커플러, 위상 천이기의 제1 쌍, 제2 방향성 커플러 및 위상 천이기의 제2 쌍을 통과하고 광검출기에 의해 검출되어 광자 회로가 다음 연산을 구현하게 하도록 구성된 피드백 메커니즘을 포함하며:
이 연산은 출력 AND(x1, x2) 및 OR(x1, x2)을 생성하는, 시스템.
실시예 128: 실시예 125에 있어서, 광자 회로는
2개의 입력 단자와 2개의 출력 단자를 갖는 제3 방향성 커플러- 2개의 입력 단자는 위상 천이기의 제2 쌍으로부터 신호를 수신하도록 구성되고, 위상 천이기의 제3 쌍은 제3 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성됨 -,
2개의 입력 단자와 2개의 출력 단자를 갖는 제4 방향성 커플러- 2개의 입력 단자는 위상 천이기의 제3 쌍으로부터 신호를 수신하도록 구성되고, 위상 천이기의 제4 쌍은 제4 방향성 커플러의 2개의 출력 단자에서 신호의 위상을 수정하도록 구성됨 -, 및
광자 회로가 다음 동작을 구현하게 하도록 위상 천이기의 제4 쌍으로부터 신호의 절대값을 생성하도록 구성된 제2 광검출기를 포함하고:
이 연산은 출력 AND(x1, x2) 및 OR(x1, x2)을 생성하는, 시스템.
실시예 129: 실시예 122에 있어서, 광자 회로를 사용하여 바이토닉 정렬기(Bitonic sorter)의 정렬 기능이 수행되도록 구성된 바이토닉 정렬기를 포함하는, 시스템.
실시예 130: 실시예 122에 있어서, 시스템은 광자 회로를 사용하여 해싱 기능(hashing function)을 수행하도록 구성된 디바이스를 포함하는, 시스템.
실시예 131: 실시예 130에 있어서, 해싱 기능이 보안 해시 알고리즘 2(SHA-2)를 포함하는, 시스템.
실시예 132: 장치이며,
복수의 광학 도파로- 다수의 입력 값의 세트가 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩됨 -;
복수의 복사 모듈- 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트는 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성됨 -;
복수의 승산 모듈- 하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈은 광학 진폭 모듈을 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하도록 구성되고, 승산 모듈 중 적어도 하나는 입력 포트와 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련 광학 신호의 진폭 사이의 차이가 부호화된 행렬 요소 값으로 입력 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공됨 -; 및 하나 이상의 합산 모듈- 2개 이상의 승산 모듈의 결과에 대해, 합산 모듈 중 대응하는 하나는 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성됨 -을 포함하는, 장치.
실시예 133: 실시예 132에 있어서, 각각의 광학 신호에 인코딩된 다수의 입력 값 세트의 입력 값은 하나 이상의 행렬 요소 값을 포함하는 행렬에 의해 승산되는 입력 벡터의 요소를 나타내는, 장치.
실시예 134: 실시예 132 또는 133에 있어서, 다수의 출력 값의 세트는 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩되며, 다수의 출력 값의 세트의 출력 값은 행렬로 승산한 입력 벡터로부터 생성된 출력 벡터의 요소를 나타내는, 장치.
실시예 135: 실시예 132 내지 134 중 어느 하나에 있어서, 광학 도파로에 의해 운반되는 각각의 광학 신호는 모든 광학 신호에 대해 실질적으로 동일한 공통 파장을 갖는 광학 파를 포함하는, 장치.
실시예 136: 실시예 132 내지 135 중 어느 하나에 있어서, 복사 모듈은 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 제1 출력 포트로 전송하고 입력 포트에서 광학 파의 파워의 잔여 분율을 제2 출력 포트로 전송하는 광학 분할기를 포함하는 적어도 하나의 복사 모듈을 포함하는, 장치.
실시예 137: 실시예 136에 있어서, 광학 분할기는 입력 광학 도파로에 의해 유도된 광학 파의 파워의 미리 결정된 분율을 제1 출력 광학 도파로로 전송하고 입력 광학 도파로에 의해 안내된 광학 파 파워의 잔여 분율을 제2 출력 광학 도파로로 전송하는 도파로 광학 분할기를 포함하는, 장치.
실시예 138: 실시예 137에 있어서, 입력 광학 도파로의 안내 모드는 제1 및 제2 출력 광학 도파로 각각의 안내 모드에 단열적으로 결합되는, 장치.
실시예 139: 실시예 136 내지 138 중 어느 하나에 있어서, 광학 분할기는 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 투과하고 입력 포트에서 광학 파의 파워의 잔여 분율을 반사하는 적어도 하나의 표면을 포함하는 빔 분할기를 포함하는, 장치.
실시예 140: 실시예 139에 있어서, 복수의 광학 도파로 중 적어도 하나는 광섬유의 안내 모드를 자유 공간 전파 모드에 결합하는 광학 커플러에 결합되는 광섬유를 포함하는, 장치.
실시예 141: 실시예 132 내지 140 중 어느 하나에 있어서, 승산 모듈은 적어도 하나의 간섭성-감지 승산 모듈을 포함하고, 이는 적어도 간섭성-감지 승산 모듈을 통한 전파 거리만큼 긴 결맞음 길이를 가지는 광학 파 사이의 간섭에 기초한 광학 진폭 변조를 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하도록 구성되는, 장치.
실시예 142: 실시예 141에 있어서, 간섭성-감지 승산 모듈은 MZI(Mach-Zehnder Interferometer)를 포함하고, 이는 입력 광학 도파로에 의해 안내된 광학 파를 MZI의 제1 광학 도파로 암 및 MZI의 제2 광학 도파로 암으로 분할하며, 제1 광학 도파로 암은 제2 광학 도파로 암의 위상 지연에 대해 상대적인 위상 천이를 부여하는 위상 천이기를 포함하고, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 적어도 하나의 출력 광학 도파로로 조합하는, 장치.
실시예 143: 실시예 142에 있어서, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 제1 출력 광학 도파로 및 제2 출력 광학 도파로 각각에 조합하며, 제1 광검출기는 제1 출력 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성하고, 제2 광검출기는 제2 출력 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성하며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함하는, 장치.
실시예 144: 실시예 141 내지 143 중 어느 하나에 있어서, 간섭성-감지 승산 모듈은 제1 광학 도파로에 결합된 적어도 하나의 링 공진기 및 제2 광학 도파로에 결합된 적어도 하나의 링 공진기를 포함하여 하나 이상의 링 공진기를 포함하는, 장치.
실시예 145: 실시예 144에 있어서, 제1 광검출기는 제1 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성하고, 제2 광검출기는 제2 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성하며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함하는, 장치.
실시예 146: 실시예 132 내지 145 중 어느 하나에 있어서, 승산 모듈은 광학 파 내의 에너지의 흡수에 기초한 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 적어도 하나의 간섭성-비감지 승산 모듈을 포함하는, 장치.
실시예 147: 실시예 146에 있어서, 간섭성-비감지 승산 모듈은 전계 흡수 변조기를 포함하는, 장치.
실시예 148: 실시예 132 내지 147 중 어느 하나에 있어서, 하나 이상의 합산 모듈은 적어도 하나의 합산 모듈을 포함할 수 있고, 이는 (1) 진폭이 승산 모듈 중 각각의 하나의 각각의 결과를 나타내는 입력 전류의 형태로 전기 신호를 각각 운반하는 2개 이상의 입력 전도체 및 (2) 입력 전류의 합에 비례하는 출력 전류의 형태인 각각의 결과의 합을 나타내는 전기 신호를 운반하는 적어도 하나의 출력 전도체를 포함하는, 장치.
실시예 149: 실시예 148에 있어서, 2개 이상의 입력 전도체와 출력 전도체는 배선을 포함하고, 배선은 배선 사이의 하나 이상의 접합점에서 만나고, 출력 전류는 입력 전류의 합과 실질적으로 동일한, 장치.
실시예 150: 실시예 148 또는 149에 있어서, 입력 전류의 적어도 제1 입력 전류는 승산 모듈의 제1 승산 모듈에 의해 생성된 광학 신호를 수신하는 적어도 하나의 광검출기에 의해 생성된 적어도 하나의 광전류의 형태로 제공되는, 장치.
실시예 151: 실시예 150에 있어서, 제1 입력 전류는 제1 승산 모듈에 의해 둘 모두가 생성되는 상이한 각각의 광학 신호를 수신하는 상이한 각각의 광검출기에 의해 생성된 2개의 광전류 사이의 차이의 형태로 제공되는, 장치.
실시예 152: 실시예 132 내지 151 중 어느 하나에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 입력 값 중 하나가 인코딩되는 단일 광학 신호로 구성되는, 장치.
실시예 153: 실시예 152에 있어서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값에 단일 행렬 요소 값을 승산하는, 장치.
실시예 154: 실시예 132 내지 153 중 어느 하나에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 하나보다 많은, 그리고, 다수의 입력 값이 인코딩되는 광학 신호 전체보다 적은 광학 신호를 포함하는, 장치.
실시예 155: 실시예 154에 있어서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값에 상이한 각각의 행렬 요소 값을 승산하는, 장치.
실시예 156: 실시예 155에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 상이한 각각의 사본에 대응하는 상이한 승산 모듈은 상이한 디바이스 사이에서 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나를 송신하도록 광학 통신하는 상이한 디바이스에 포함되는, 장치.
실시예 157: 실시예 132 내지 156 중 어느 하나에 있어서, 복수의 광학 도파로 중 2개 이상, 복수의 복사 모듈 중 2개 이상, 복수의 승산 모듈 중 2개 이상, 및 하나 이상의 합산 모듈 중 적어도 하나가 공통 디바이스의 기판 상에 배열되는, 장치.
실시예 158: 실시예 157에 있어서, 디바이스는 벡터-행렬 승산을 수행하고, 입력 벡터는 광학 신호의 세트로 제공되고 출력 벡터는 전기 신호의 세트로 제공되는, 장치.
실시예 159: 실시예 132 내지 158 중 어느 하나에 있어서, 승산 모듈 또는 합산 모듈의 출력에 대응하는 입력 전기 신호를 통합하는 누산기를 더 포함하며, 입력 전기 신호는 다수의 시간 슬롯 각각에서 온-오프 진폭 변조를 사용하는 시간 도메인 인코딩을 사용하여 인코딩되고, 누산기는 다수의 시간 슬롯에 걸친 시간 도메인 인코딩의 상이한 듀티 사이클에 대응하는 2개보다 많은 진폭 레벨로 인코딩된 출력 전기 신호를 생성하는, 장치.
실시예 160: 실시예 132 내지 159 중 어느 하나에 있어서, 2개 이상의 승산 모듈은 각각 하나 이상의 광학 신호의 상이한 서브세트에 대응하는, 장치.
실시예 161: 실시예 132 내지 160 중 어느 하나에 있어서, 하나 이상의 광학 신호의 제1 서브세트 내의 광학 신호와 상이한 하나 이상의 광학 신호의 제2 서브세트의 각 사본에 대해, 광학 진폭 변조를 사용하여 제2 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 승산 모듈을 더 포함하는, 장치.
실시예 162: 방법이며,
각각의 광학 신호에 다수의 입력 값의 세트를 인코딩하는 단계;
하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트를 사용하여 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하는 단계;
하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈을 사용하여 제1 서브세트의 하나 이상의 광학 신호에 광학 진폭 변조를 사용하여 하나 이상의 행렬 요소 값을 승산하는 단계- 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공됨 -;
2개 이상의 승산 모듈의 결과에 대해, 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈을 사용하는 단계를 포함하는, 방법.
실시예 163: 방법이며,
각각의 광학 신호에 입력 벡터의 요소를 나타내는 입력 값의 세트를 인코딩하는 단계;
행렬의 요소를 나타내는 계수의 세트를 광학 신호에 결합된 광학 진폭 변조기의 세트의 진폭 변조 레벨로서 인코딩하는 단계- 입력 포트와 2개의 출력 포트를 포함하는 광학 진폭 변조기 중 적어도 하나는 관련 광학 신호의 진폭 사이의 차이가 입력 값에 부호화된 행렬 요소 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터의 한 쌍의 관련 광학 신호를 제공함 -; 및
각각의 전기 신호에 출력 벡터의 요소를 나타내는 출력 값의 세트를 인코딩하는 단계- 전기 신호 중 적어도 하나는 그 진폭이 행렬의 행의 각각의 요소로 승산된 입력 벡터의 각 요소에 각각의 요소의 합에 대응하는 전류의 형태임 -를 포함하는, 방법.
실시예 164: 실시예 163에 있어서, 광학 신호 중 적어도 하나는 제1 광학 도파로에 의해 제공되고, 제1 광학 도파로는 제1 광학 도파로에 의해 안내된 광학 파의 파워의 미리 결정된 분율을 제2 출력 광학 도파로에 전송하고, 제1 광학 도파로에 의해 안내된 광학 파의 파워의 잔여 분율을 제3 광학 도파로에 전송하는 광학 분할기에 결합되는, 방법.
실시예 165: 장치이며,
광학 도파로에 의해 운반되는 각각의 광학 신호에 입력 벡터의 요소를 나타내는 입력 값의 세트를 인코딩하는 복수의 광학 도파로;
진폭 변조 레벨로서 행렬의 요소를 나타내는 계수의 세트를 인코딩하는 광학 신호에 결합된 광학 진폭 변조기의 세트- 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기 중 적어도 하나는 관련 광학 신호의 진폭 사이의 차이가 입력 값에 부호화된 행렬 요소 값을 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호를 제공함 -; 및
각각의 전기 신호에 출력 벡터의 요소를 나타내는 출력 값의 세트를 인코딩하는 복수의 합산 모듈- 전기 신호 중 적어도 하나는 그 진폭이 행렬의 행의 각각의 요소로 승산된 입력 벡터의 각 요소에 각각의 요소의 합에 대응하는 전류의 형태임 -를 포함하는, 장치.
실시예 166: 입력 벡터에 주어진 행렬을 승산하는 방법이며,
광학 신호의 세트의 각각의 광학 신호에 입력 벡터의 요소를 나타내는 입력 값의 세트를 인코딩하는 단계;
하나 이상의 디바이스의 제1 세트를 하나 이상의 도파로의 제1 세트에 결합하여 광학 신호의 세트의 제1 서브세트를 제공하고, 주어진 행렬의 제1 부분 행렬에 광학 신호의 세트의 제1 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계;
하나 이상의 디바이스의 제2 세트를 하나 이상의 도파로의 제2 세트에 결합하여 광학 신호의 세트의 제2 서브세트를 제공하고, 주어진 행렬의 제2 부분 행렬에 광학 신호의 세트의 제2 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계;
하나 이상의 디바이스의 제3 세트를 하나 이상의 도파로의 제3 세트에 결합하여 제1 광학 분할기에 의해 생성된 광학 신호의 세트의 제1 서브세트의 사본을 제공하고 주어진 행렬의 제3 부분 행렬에 광학 신호의 세트의 제1 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계; 및
하나 이상의 디바이스의 제4 세트를 하나 이상의 도파로의 제4 세트에 결합하여 제2 광학 분할기에 의해 생성된 광학 신호의 세트의 제2 서브세트의 사본을 제공하고 주어진 행렬의 제4 부분 행렬에 광학 신호의 세트의 제2 서브세트에 인코딩된 값을 승산한 결과를 생성하는 단계를 포함하고,
함께 연접된 제1, 제2, 제3 및 제4 부분 행렬은 주어진 행렬을 형성하고;
주어진 행렬로 승산된 입력 벡터에 대응하는 출력 벡터의 요소를 나타내는 적어도 하나의 출력 값은 하나 이상의 디바이스의 제1 세트 및 하나 이상의 디바이스의 제2 세트와 통신하는 디바이스에 의해 생성된 전기 신호에 인코딩되는, 방법.
실시예 167: 실시예 166에 있어서, 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 및 하나 이상의 디바이스의 제4 세트의 세트의 각 쌍은 상호 배타적인, 방법.
실시예 168: 장치이며,
광학 신호의 제1 세트를 수신하고, 광학 신호의 제1 세트에 인코딩된 값을 승산한 제1 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제1 세트;
광학 신호의 제2 세트를 수신하고, 광학 신호의 제2 세트에 인코딩된 값을 승산한 제2 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제2 세트;
광학 신호의 제3 세트를 수신하고, 광학 신호의 제3 세트에 인코딩된 값을 승산한 제3 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제3 세트;
광학 신호의 제4 세트를 수신하고, 광학 신호의 제4 세트에 인코딩된 값을 승산한 제4 행렬의 결과를 생성하도록 구성된 하나 이상의 디바이스의 제4 세트; 및
하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 또는 하나 이상의 디바이스의 제4 세트 중 2개 이상의 사이의 구성 가능한 연결 경로를 포함하고,
구성 가능한 연결 경로의 제1 구성은 (1) 광학 신호의 제2 세트, 광학 신호의 제3 세트 또는 광학 신호의 제4 세트 중 적어도 하나로서 광학 신호의 제1 세트의 사본을 제공하고, (2) 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성되는, 장치.
실시예 169: 장치이며,
광학 신호의 제1 세트를 수신하고, 광학 신호의 제1 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제1 세트;
광학 신호의 제2 세트를 수신하고, 광학 신호의 제2 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제2 세트; 광학 신호의 제3 세트를 수신하고, 광학 신호의 제3 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제3 세트;
광학 신호의 제4 세트를 수신하고, 광학 신호의 제4 세트의 하나 이상의 광학 신호의 광학 진폭 변조에 기초하여 결과를 생성하도록 구성된 하나 이상의 디바이스의 제4 세트; 및 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 또는 하나 이상의 디바이스의 제4 세트 중 2개 이상의 사이의 구성 가능한 연결 경로를 포함하고,
구성 가능한 연결 경로의 제1 구성은 (1) 광학 신호의 제3 세트로서 광학 신호의 제1 세트의 사본을 제공하거나, (2) 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성되는, 장치.
실시예 170: 실시예 169에 있어서, 하나 이상의 디바이스의 제1 세트, 하나 이상의 디바이스의 제2 세트, 하나 이상의 디바이스의 제3 세트, 및 하나 이상의 디바이스의 제4 세트의 세트의 각 쌍은 상호 배타적인, 장치.
실시예 171: 실시예 169 또는 170에 있어서, 구성 가능한 연결 경로의 제1 구성은 (1) 광학 신호의 제3 세트로서 광학 신호의 제1 세트의 사본을 제공하고, (2) 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 적어도 2개의 상이한 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성되는, 장치.
실시예 172: 실시예 169 내지 171 중 어느 하나에 있어서, 구성 가능한 연결 경로의 제1 구성은 광학 신호의 제3 세트로서 광학 신호의 제1 세트의 사본을 제공하도록 구성되고, 구성 가능한 연결 경로의 제2 구성은 하나 이상의 디바이스의 제1 세트로부터의 하나 이상의 신호 및 하나 이상의 디바이스의 제2 세트로부터의 하나 이상의 신호를 합산 모듈에 의해 수신된 신호에 인코딩된 값의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈에 제공하도록 구성되는, 장치.
실시예 173: 장치이며,
복수의 광학 도파로- 다수의 입력 값의 세트가 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩됨 -; 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성된 하나 이상의 복사 모듈의 대응하는 세트를 포함하는 복수의 복사 모듈;
하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 값을 승산하도록 구성된 대응하는 승산 모듈을 포함하는 복수의 승산 모듈; 및 2개 이상의 승산 모듈의 결과에 대해, 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성된 합산 모듈을 포함하는 하나 이상의 합산 모듈- 상기 결과는 전기 신호로 인코딩되고 전기 신호로 전환되기 전에 단지 단일 광학 진폭 변조기를 통해 전파된 광학 신호의 사본 중 하나에서 유도됨 -을 포함하는, 장치.
실시예 174: 시스템이며,
복수의 변조기 제어 신호를 생성하도록 구성된 제1 유닛;
프로세서 유닛- 프로세서 유닛은
복수의 광 출력을 제공하도록 구성된 광원; 광원 및 제1 유닛에 결합된 복수의 광학 변조기로서, 복수의 광학 변조기는 복수의 변조기 제어 신호에 기초하여 광원에 의해 제공된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성되고, 광학 입력 벡터는 복수의 광학 신호를 포함하는, 광학 변조기; 및
복수의 광학 변조기 및 제1 유닛에 결합된 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 아날로그 출력 벡터로 변환하도록 구성되는 행렬 승산 유닛을 포함함 -;
행렬 승산 유닛에 결합되고 아날로그 출력 벡터를 디지털화된 출력 벡터로 변환하도록 구성된 제2 유닛; 및
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
제1 디지털 입력 벡터를 포함하는 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작;
제1 복수의 신경망 가중치를 수신하는 동작;
제1 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 동작을 포함하는 동작을 수행하도록 구성되는, 시스템.
실시예 175: 실시예 174에 있어서, 제1 유닛이 디지털-아날로그 변환기(DAC)를 포함하는, 시스템.
실시예 176: 실시예 174 또는 175에 있어서, 제2 유닛은 아날로그-디지털 변환기(ADC)를 포함하는, 시스템.
실시예 177: 실시예 174 내지 176 중 어느 하나에 있어서, 데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하는, 시스템.
실시예 178: 실시예 177에 있어서, 제어기의 집적 회로는 메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 것을 포함하는 동작을 수행하도록 추가로 구성되는, 시스템.
실시예 179: 실시예 174 내지 178 중 어느 하나에 있어서, 제1 유닛은 복수의 가중치 제어 신호를 생성하도록 구성되는, 시스템.
실시예 180: 실시예 174 내지 178 중 어느 하나에 있어서, 제어기는 주문형 집적 회로(ASIC)를 포함하고,
인공 신경망 계산 요청을 수신하는 동작은 범용 데이터 프로세서로부터 인공 신경망 계산 요청을 수신하는 동작을 포함하는, 시스템.
실시예 181: 실시예 174 내지 178 중 어느 하나에 있어서, 제1 유닛, 처리 유닛, 제2 유닛 및 제어기는 다중 칩 모듈 또는 집적 회로 중 적어도 하나에 배치되고,
인공 신경망 계산 요청을 수신하는 동작은 제2 데이터 프로세서로부터 인공 신경망 계산 요청을 수신하는 동작을 포함하며, 제2 데이터 프로세서는 다중 칩 모듈 또는 집적 회로의 외부에 있고, 제2 데이터 프로세서는 통신 채널을 통해 다중 칩 모듈 또는 집적 회로에 결합되고, 프로세서 유닛은 통신 채널의 데이터 레이트보다 적어도 10 배 더 큰 데이터 레이트로 데이터를 처리할 수 있는, 시스템.
실시예 182: 실시예 174에 있어서, 제1 유닛, 프로세서 유닛, 제2 유닛 및 제어기는 복수의 반복 동안 반복되는 광전자 처리 루프에서 사용되며, 광전자 처리 루프는
(1) 복수의 변조기 제어 신호 중 적어도 하나에 기초한 적어도 제1 광학 변조 동작, 및 가중치 제어 신호 중 적어도 하나에 기초한 적어도 제2 광학 변조 동작, 및
(2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나를 포함하는, 시스템.
실시예 183: 실시예 182에 있어서, 광전자 처리 루프는 전기 저장 동작을 포함하고, 전기 저장 동작은 제어기에 결합된 메모리 유닛을 사용하여 수행되며,
제어기에 의해 수행되는 동작은 입력 데이터세트 및 제1 복수의 신경망 가중치를 메모리 유닛에 저장하는 단계를 더 포함하는, 시스템.
실시예 184: 실시예 182에 있어서, 광전자 처리 루프는 전기 합산 동작을 포함하고, 전기 합산 동작은 행렬 승산 유닛 내의 전기 합산 모듈을 사용하여 수행되며,
전기 합산 모듈은 각각의 신경망 가중치를 승산한 광학 입력 벡터의 각 요소의 합을 나타내는 아날로그 출력 벡터의 요소에 대응하는 전기 전류를 생성하도록 구성되는, 시스템.
실시예 185: 실시예 182에 있어서, 광전자 처리 루프는 복수의 변조기 제어 신호 중 적어도 하나에 기초한 단지 하나의 제1 광학 변조 동작 및 단일 루프 반복에서 수행된 가중치 제어 신호 중 적어도 하나에 기초한 단지 하나의 제2 광학 변조 동작이 존재하는 적어도 하나의 신호 경로를 포함하는, 시스템.
실시예 186: 실시예 185에 있어서, 제1 광학 변조 동작은 광 출력의 소스 및 행렬 승산 유닛에 결합된 복수의 광학 변조기 중 하나에 의해 수행되고, 제2 광학 변조 동작은 행렬 승산 유닛에 포함된 광학 변조기에 의해 수행되는, 시스템.
실시예 187: 실시예 182에 있어서, 광전자 처리 루프는 단일 루프 반복에서 수행되는 단지 하나의 전기 저장소가 존재하는 적어도 하나의 신호 경로를 포함하는, 시스템.
실시예 188: 실시예 174에 있어서, 소스는 복수의 광 출력을 생성하도록 구성된 레이저 유닛을 포함하는, 시스템.
실시예 189: 실시예 174에 있어서, 행렬 승산 유닛은
광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이- 광학 입력 벡터는 광학 신호의 제1 어레이를 포함함 -;
광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및
광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는, 시스템.
실시예 190: 실시예 189에 있어서, 광학 간섭 유닛은
복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함하고고, 복수의 상호연결된 MZI의 각 MZI는
MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및 MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기를 포함하고, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합되는, 시스템.
실시예 191: 실시예 174에 있어서, 행렬 승산 유닛은
복수의 복사 모듈- 각각의 복사 모듈은 광학 입력 벡터의 하나 이상의 광학 신호의 서브세트에 대응하고, 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성됨 -; 복수의 승산 모듈- 각각의 승산 모듈은 광학 진폭 변조를 사용하여 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하도록 구성된 하나 이상의 광학 신호의 서브세트에 대응함 -; 및
하나 이상의 합산 모듈- 각각의 합산 모듈은 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성됨 -을 포함하는, 시스템.
실시예 192: 실시예 191에 있어서, 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공되는, 시스템.
실시예 193: 실시예 191 또는 192에 있어서, 행렬 승산 유닛은 입력 벡터에 하나 이상의 행렬 요소 값을 포함하는 행렬을 승산하도록 구성되는, 시스템.
실시예 194: 실시예 193에 있어서, 다수의 출력 값의 세트는 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩되며, 다수의 출력 값의 세트의 출력 값은 행렬로 승산한 입력 벡터로부터 생성된 출력 벡터의 요소를 나타내는, 시스템.
실시예 195: 실시예 174 내지 194 중 어느 하나에 있어서, 시스템이 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 제2 유닛이 아날로그-디지털 변환기(ADC) 유닛을 포함하고, 동작은
ADC 유닛으로부터, 행렬 승산 유닛의 아날로그 출력 벡터에 대응하는 제1 복수의 디지털화된 출력을 획득하는 동작- 제1 복수의 디지털화된 출력은 제1 디지털 출력 벡터를 형성함 -;
제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 196: 실시예 195에 있어서, 시스템은 메모리 유닛에 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계와 메모리 유닛에 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 갖고,
제1 루프 기간은 1ns 이하인, 시스템.
실시예 197: 실시예 195 또는 196에 있어서, 동작은
제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하는, 시스템.
실시예 198: 실시예 195 내지 197 중 어느 하나에 있어서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 동작은
DAC 유닛을 통해, 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함하는, 시스템.
실시예 199: 실시예 195 내지 198 중 어느 한 항에 있어서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함하며, 동작은
제1 복수의 디지털화된 출력의 획득에 기초하여, DAC 유닛을 통해, 제2 복수의 신경망 가중치에 기초하여 제2 복수의 가중치 제어 신호를 생성하는 동작을 더 포함하는, 시스템.
실시예 200: 실시예 199에 있어서, 제1 및 제2 복수의 신경망 가중치는 인공 신경망의 상이한 층에 대응하는, 시스템.
실시예 201: 제1 실시예 195 내지 200 중 어느 하나에 있어서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함하며,
동작은
DAC 유닛을 통해, 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작;
ADC 유닛으로부터, 행렬 승산 유닛의 출력 벡터에 대응하는 제2 복수의 디지털화된 출력을 획득하는 동작- 제2 복수의 디지털화된 출력은 제2 디지털 출력 벡터를 형성함 -;
제2 변환된 디지털 출력 벡터를 생성하기 위해 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작;
제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작; 및 제1 변환된 디지털 출력 벡터 및 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하고, 행렬 승산 유닛의 출력 벡터는 최초에 언급한 복수의 가중치 제어 신호에 기초하여 행렬 승산 유닛에 의해 변환된 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성되는, 시스템.
실시예 202: 실시예 174 내지 201 중 어느 하나에 있어서, 시스템이 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 제2 유닛이 아날로그-디지털 변환기(ADC) 유닛을 포함하고, 시스템은
행렬 승산 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함하고, 아날로그 비선형성 유닛은 행렬 승산 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 ADC 유닛에 출력하도록 구성되며,
제어기의 집적 회로에 의해 수행되는 동작은
ADC 유닛으로부터, 복수의 변환된 출력 전압에 대응하는 제1 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제1 복수의 변환된 디지털화된 출력 전압은 제1 변환된 디지털 출력 벡터를 형성함 -; 및 메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 203: 실시예 174 내지 202 중 어느 하나에 있어서, 제어기의 집적 회로는 8GHz 이상의 속도로 제1 복수의 변조기 제어 신호를 생성하도록 구성되는, 시스템.
실시예 204: 실시예 174 내지 190 중 어느 하나에 있어서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함하고, 행렬 승산 유닛은
복수의 광학 변조기 및 DAC 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및 광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함하는, 시스템.
실시예 205: 실시예 204에 있어서,
DAC 유닛과 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 아날로그 메모리 유닛은 아날로그 전압을 저장하고 저장된 아날로그 전압을 출력하도록 구성됨 -; 및
광 검출 유닛과 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛- 아날로그 비선형성 유닛은 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 출력하도록 구성됨 -을 더 포함하는, 시스템.
실시예 206: 실시예 205에 있어서, 아날로그 메모리 유닛은 복수의 커패시터를 포함하는, 시스템.
실시예 207: 실시예 205 또는 206에 있어서, 아날로그 메모리 유닛은 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 수신 및 저장하고, 저장된 복수의 변환된 출력 전압을 복수의 광학 변조기에 출력하도록 구성되고,
동작은
제1 복수의 변조기 제어 신호 및 제1 복수의 가중치 제어 신호를 생성하는 것에 기초하여, 아날로그 비선형성 유닛의 복수의 변환된 출력 전압을 아날로그 메모리 유닛에 저장하는 동작;
아날로그 메모리 유닛을 통해 저장된 변환된 출력 전압을 출력하는 동작;
ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 제2 복수의 변환된 디지털화된 출력 전압은 제2 변환된 디지털 출력 벡터를 형성함 -;
제2 변환된 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 더 포함하는, 시스템.
실시예 208: 실시예 204에 있어서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 인공 신경망 계산 요청의 입력 데이터세트는 복수의 디지털 입력 벡터를 포함하며,
소스는 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는
복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함하고, 광 검출 유닛은 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전압을 생성하도록 추가로 구성되며,
동작은
ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 복수의 제1 디지털 출력 벡터 각각은 복수의 파장 중 하나에 대응함 -;
복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및 메모리 유닛에, 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작을 포함하고,
복수의 디지털 입력 벡터 각각은 복수의 광학 입력 벡터 중 하나에 대응하는, 시스템.
실시예 209: 실시예 174에 있어서, 시스템이 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 제2 유닛이 아날로그-디지털 변환기(ADC) 유닛을 포함하고, 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함하고,
소스는 복수의 파장을 생성하도록 구성되며, 복수의 광학 변조기는
복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각 뱅크는 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
복수의 광학 입력 벡터를 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서를 포함하고, 동작은
ADC 유닛으로부터, 복수의 파장을 포함하는 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 동작을 더 포함하는, 시스템.
실시예 210: 실시예 174 내지 209 중 어느 하나에 있어서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함하고, DAC 유닛은
복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함하고,
ADC 유닛의 분해능은 1 비트이고,
제1 디지털 입력 벡터의 분해능은 N 비트이며,
동작은
제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -;
1 비트 DAC 서브유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
ADC 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작;
N개의 디지털화된 1 비트 광학 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함하는, 시스템.
실시예 211: 실시예 174 내지 210 중 어느 하나에 있어서, 시스템은 입력 데이터세트 및 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 메모리 유닛은
디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리; 및
복수의 신경망 가중치를 저장하도록 구성되고 적어도 하나의 DRAM을 포함하는 신경망 가중치 메모리를 포함하는, 시스템.
실시예 212: 실시예 174 내지 211 중 어느 하나에 있어서, 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 디지털-아날로그 변환기는
복수의 변조기 제어 신호를 생성하도록 구성된 제1 DAC 서브유닛; 및
복수의 가중치 제어 신호를 생성하도록 구성된 제2 DAC 서브유닛을 포함하고,
제1 및 제2 DAC 서브유닛은 상이한, 시스템.
실시예 213: 실시예 174 내지 212 중 어느 하나에 있어서, 광원은
광을 생성하도록 구성된 레이저 소스; 및
레이저 소스에 의해 생성된 광을 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기를 포함하고, 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는, 시스템.
실시예 214: 실시예 174 내지 213 중 어느 하나에 있어서, 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함하는, 시스템.
실시예 215: 실시예 204에 있어서, 광 검출 유닛은
복수의 광검출기; 및
광검출기에 의해 생성된 광전류를 복수의 출력 전압으로 전환하도록 구성된 복수의 증폭기를 포함하는, 시스템.
실시예 216: 실시예 174 내지 215 중 어느 하나에 있어서, 집적 회로는 주문형 집적 회로인, 시스템.
실시예 217: 실시예 174 및 191 내지 194 중 어느 하나에 있어서, 광학 변조기와 행렬 승산 유닛 사이에 결합된 복수의 광학 도파로를 포함하며, 광학 입력 벡터는 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩된 다수의 입력 값의 세트를 포함하고, 광학 도파로 중 하나에 의해 운반되는 광학 신호 각각은 모든 광학 신호에 대해 실질적으로 동일한 공통 파장을 갖는 광학 파를 포함하는, 장치.
실시예 218: 실시예 191 내지 194 및 217 중 어느 하나에 있어서, 복사 모듈은 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 제1 출력 포트로 전송하고 입력 포트에서 광학 파의 파워의 잔여 분율을 제2 출력 포트로 전송하는 광학 분할기를 포함하는 적어도 하나의 복사 모듈을 포함하는, 장치.
실시예 219: 실시예 218에 있어서, 광학 분할기는 입력 광학 도파로에 의해 유도된 광학 파의 파워의 미리 결정된 분율을 제1 출력 광학 도파로로 전송하고 입력 광학 도파로에 의해 안내된 광학 파 파워의 잔여 분율을 제2 출력 광학 도파로로 전송하는 도파로 광학 분할기를 포함하는, 장치.
실시예 220: 실시예 219에 있어서, 입력 광학 도파로의 안내 모드는 제1 및 제2 출력 광학 도파로 각각의 안내 모드에 단열적으로 결합되는, 장치.
실시예 221: 실시예 218 내지 220 중 어느 하나에 있어서, 광학 분할기는 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 투과하고 입력 포트에서 광학 파의 파워의 잔여 분율을 반사하는 적어도 하나의 표면을 포함하는 빔 분할기를 포함하는, 장치.
실시예 222: 실시예 217 내지 221 중 어느 하나에 있어서, 복수의 광학 도파로 중 적어도 하나는 광섬유의 안내 모드를 자유 공간 전파 모드에 결합하는 광학 커플러에 결합되는 광섬유를 포함하는, 장치.
실시예 223: 실시예 174, 191 내지 194 및 217 내지 222 중 어느 하나에 있어서, 승산 모듈은 적어도 하나의 간섭성-감지 승산 모듈을 포함하고, 이는 적어도 간섭성-감지 승산 모듈을 통한 전파 거리만큼 긴 결맞음 길이를 가지는 광학 파 사이의 간섭에 기초한 광학 진폭 변조를 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 하나 이상의 광학 신호를 승산하도록 구성되는, 장치.
실시예 224: 실시예 223에 있어서, 간섭성-감지 승산 모듈은 MZI(Mach-Zehnder Interferometer)를 포함하고, 이는 입력 광학 도파로에 의해 안내된 광학 파를 MZI의 제1 광학 도파로 암 및 MZI의 제2 광학 도파로 암으로 분할하며, 제1 광학 도파로 암은 제2 광학 도파로 암의 위상 지연에 대해 상대적인 위상 천이를 부여하는 위상 천이기를 포함하고, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 적어도 하나의 출력 광학 도파로로 조합하는, 장치.
실시예 225: 실시예 224에 있어서, MZI는 제1 광학 도파로 암 및 제2 광학 도파로 암으로부터의 광학 파를 제1 출력 광학 도파로 및 제2 출력 광학 도파로 각각에 조합하며, 제1 광검출기는 제1 출력 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성하고, 제2 광검출기는 제2 출력 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성하며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함하는, 장치.
실시예 226: 실시예 223 내지 225 중 어느 하나에 있어서, 간섭성-감지 승산 모듈은 제1 광학 도파로에 결합된 적어도 하나의 링 공진기 및 제2 광학 도파로에 결합된 적어도 하나의 링 공진기를 포함하여 하나 이상의 링 공진기를 포함하는, 장치.
실시예 227: 실시예 226에 있어서, 제1 광검출기는 제1 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성하고, 제2 광검출기는 제2 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성하며, 간섭성-감지 승산 모듈의 결과는 제1 광전류와 제2 광전류 사이의 차이를 포함하는, 장치.
실시예 228: 실시예 174, 191 내지 194 및 217 내지 227 중 어느 하나에 있어서, 승산 모듈은 광학 파 내의 에너지의 흡수에 기초한 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 적어도 하나의 간섭성-비감지 승산 모듈을 포함하는, 장치.
실시예 229: 실시예 228에 있어서, 간섭성-비감지 승산 모듈은 전계 흡수 변조기를 포함하는, 장치.
실시예 230: 실시예 174, 191 내지 194 및 217 내지 229 중 어느 하나에 있어서, 하나 이상의 합산 모듈은 적어도 하나의 합산 모듈을 포함할 수 있고, 이는 (1) 진폭이 승산 모듈 중 각각의 하나의 각각의 결과를 나타내는 입력 전류의 형태로 전기 신호를 각각 운반하는 2개 이상의 입력 전도체 및 (2) 입력 전류의 합에 비례하는 출력 전류의 형태인 각각의 결과의 합을 나타내는 전기 신호를 운반하는 적어도 하나의 출력 전도체를 포함하는, 장치.
실시예 231: 실시예 230에 있어서, 2개 이상의 입력 전도체와 출력 전도체는 배선을 포함하고, 배선은 배선 사이의 하나 이상의 접합점에서 만나고, 출력 전류는 입력 전류의 합과 실질적으로 동일한, 장치.
실시예 232: 실시예 230 또는 231에 있어서, 입력 전류의 적어도 제1 입력 전류는 승산 모듈의 제1 승산 모듈에 의해 생성된 광학 신호를 수신하는 적어도 하나의 광검출기에 의해 생성된 적어도 하나의 광전류의 형태로 제공되는, 장치.
실시예 233: 실시예 232에 있어서, 제1 입력 전류는 제1 승산 모듈에 의해 둘 모두가 생성되는 상이한 각각의 광학 신호를 수신하는 상이한 각각의 광검출기에 의해 생성된 2개의 광전류 사이의 차이의 형태로 제공되는, 장치.
실시예 234: 실시예 174 내지 233 중 어느 하나에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 입력 값 중 하나가 인코딩되는 단일 광학 신호로 구성되는, 장치.
실시예 235: 실시예 234에 있어서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값에 단일 행렬 요소 값을 승산하는, 장치.
실시예 236: 실시예 174, 191 내지 194 및 217 내지 235 중 어느 하나에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나는 하나보다 많은, 그리고, 다수의 입력 값이 인코딩되는 광학 신호 전체보다 적은 광학 신호를 포함하는, 장치.
실시예 237: 실시예 236에 있어서, 제1 서브세트의 사본에 대응하는 승산 모듈은 인코딩된 입력 값에 상이한 각각의 행렬 요소 값을 승산하는, 장치.
실시예 238: 실시예 237에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 상이한 각각의 사본에 대응하는 상이한 승산 모듈은 상이한 디바이스 사이에서 하나 이상의 광학 신호의 제1 서브세트의 사본 중 하나를 송신하도록 광학 통신하는 상이한 디바이스에 포함되는, 장치.
실시예 239: 실시예 174, 191 내지 194 및 217 내지 238 중 어느 하나에 있어서, 복수의 광학 도파로 중 2개 이상, 복수의 복사 모듈 중 2개 이상, 복수의 승산 모듈 중 2개 이상, 및 하나 이상의 합산 모듈 중 적어도 하나가 공통 디바이스의 기판 상에 배열되는, 장치.
실시예 240: 실시예 239에 있어서, 디바이스는 벡터-행렬 승산을 수행하고, 입력 벡터는 광학 신호의 세트로 제공되고 출력 벡터는 전기 신호의 세트로 제공되는, 장치.
실시예 241: 실시예 174, 191 내지 194 및 217 내지 240 중 어느 하나에 있어서, 승산 모듈 또는 합산 모듈의 출력에 대응하는 입력 전기 신호를 통합하는 누산기를 더 포함하며, 입력 전기 신호는 다수의 시간 슬롯 각각에서 온-오프 진폭 변조를 사용하는 시간 도메인 인코딩을 사용하여 인코딩되고, 누산기는 다수의 시간 슬롯에 걸친 시간 도메인 인코딩의 상이한 듀티 사이클에 대응하는 2개보다 많은 진폭 레벨로 인코딩된 출력 전기 신호를 생성하는, 장치.
실시예 242: 실시예 174, 191 내지 194 및 217 내지 241 중 어느 하나에 있어서, 2개 이상의 승산 모듈은 각각 하나 이상의 광학 신호의 상이한 서브세트에 대응하는, 장치.
실시예 243: 실시예 174, 191 내지 194 및 217 내지 242 중 어느 하나에 있어서, 하나 이상의 광학 신호의 제1 서브세트 내의 광학 신호와 상이한 하나 이상의 광학 신호의 제2 서브세트의 각 사본에 대해, 광학 진폭 변조를 사용하여 제2 서브세트의 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 승산 모듈을 더 포함하는, 장치.
실시예 244: 시스템이며,
데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛; 복수의 변조기 제어 신호를 생성하도록 구성된 드라이버 유닛;
광전자 프로세서- 광전자 프로세서는
복수의 광 출력을 제공하도록 구성된 광원;
광원 및 드라이버 유닛에 결합된 복수의 광학 변조기로서, 복수의 변조기 제어 신호에 기초하여 광원에 의해 생성된 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성된 복수의 광학 변조기;
복수의 광학 변조기 및 드라이버 유닛에 결합된 행렬 승산 유닛으로서, 행렬 승산 유닛은 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 아날로그 출력 벡터로 변환하도록 구성되는 행렬 승산 유닛; 및
행렬 승산 유닛에 결합되고 아날로그 출력 벡터를 복수의 디지털화된 1 비트 출력으로 변환하도록 구성된 비교기 유닛을 포함함 -; 및
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 N 비트의 분해능을 갖는 제1 디지털 입력 벡터를 포함함 -;
메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 동작;
제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- N개의 1 비트 입력 벡터 각각은 제1 디지털 입력 벡터의 N 비트 중 하나에 대응함 -;
드라이버 유닛을 통해, N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
비교기 유닛으로부터, N개의 1 비트 변조기 제어 신호의 시퀀스에 대응하는 N개의 디지털화된 1 비트 출력의 시퀀스를 획득하는 동작;
N개의 디지털화된 1 비트 출력의 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
변환된 N-비트 디지털 출력 벡터를 생성하기 위해 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
변환된 N-비트 디지털 출력 벡터를 메모리 유닛에 저장하는 동작을 포함하는, 시스템.
실시예 245: 실시예 244에 있어서, 인공 신경망 계산 요청을 수신하는 동작은 범용 컴퓨터로부터 인공 신경망 계산 요청을 수신하는 동작을 포함하는, 시스템.
실시예 246: 실시예 244에 있어서, 드라이버 유닛은 복수의 가중치 제어 신호를 생성하도록 구성되는, 시스템.
실시예 247: 실시예 244에 있어서, 행렬 승산 유닛은
복수의 광학 변조기 및 드라이버 유닛에 결합된 광학 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및
광학 행렬 승산 유닛에 결합되고 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛을 포함하는, 시스템.
실시예 248: 실시예 244에 있어서, 행렬 승산 유닛은
광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이;
광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및
광학 신호의 제2 어레이를 안내하기 위해 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는, 시스템.
실시예 249: 실시예 248에 있어서, 광학 간섭 유닛은
복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함하고고, 복수의 상호연결된 MZI의 각 MZI는
MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및 MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기를 포함하고, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합되는, 시스템.
실시예 250: 실시예 244에 있어서, 행렬 승산 유닛은
광학 입력 벡터의 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하도록 구성된 하나 이상의 복사 모듈의 대응하는 세트를 포함하는 복수의 복사 모듈;
하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하도록 구성된 대응하는 승산 모듈을 포함하는 복수의 승산 모듈; 및
하나 이상의 합산 모듈로서, 2개 이상의 승산 모듈의 결과에 대해, 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성되는 합산 모듈을 포함하는 하나 이상의 합산 모듈을 포함하는, 시스템.
실시예 251: 실시예 250에 있어서, 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공되는, 시스템.
실시예 252: 실시예 250 또는 251에 있어서, 행렬 승산 유닛은 입력 벡터에 하나 이상의 행렬 요소 값을 포함하는 행렬을 승산하도록 구성되는, 시스템.
실시예 253: 실시예 252에 있어서, 다수의 출력 값의 세트는 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩되며, 다수의 출력 값의 세트의 출력 값은 행렬로 승산한 입력 벡터로부터 생성된 출력 벡터의 요소를 나타내는, 시스템.
실시예 254: 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 아날로그 출력 벡터로 변환하도록 구성된 행렬 승산 유닛을 갖는 시스템에서 인공 신경망 계산을 수행하는 방법이며,
입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 단계- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -;
메모리 유닛에, 입력 데이터세트 및 제1 복수의 신경망 가중치를 저장하는 단계;
제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 단계;
행렬 승산 유닛의 출력 벡터에 대응하는 제1 복수의 디지털화된 출력을 획득하는 단계- 제1 복수의 디지털화된 출력은 제1 디지털 출력 벡터를 형성함 -;
제어기에 의해, 제1 변환된 디지털 출력 벡터를 생성하기 위해 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 단계;
메모리 유닛에, 제1 변환된 디지털 출력 벡터를 저장하는 단계; 및 제어기에 의해, 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 단계를 포함하는, 방법.
실시예 255: 실시예 254에 있어서, 인공 신경망 계산 요청을 수신하는 단계는 통신 채널을 통해 컴퓨터로부터 인공 신경망 계산 요청을 수신하는 단계를 포함하는, 방법.
실시예 256: 실시예 254 또는 255에 있어서, 제1 복수의 변조기 제어 신호를 생성하는 단계는 디지털-아날로그 변환기(DAC) 유닛을 통해 제1 복수의 변조기 제어 신호를 생성하는 단계를 포함하는, 방법.
실시예 257: 실시예 254 내지 256 중 어느 하나에 있어서, 제1 복수의 디지털화된 출력을 획득하는 단계는 아날로그-디지털 변환(ADC) 유닛으로부터 제1 복수의 디지털화된 출력을 획득하는 단계를 포함하는, 방법.
실시예 258: 실시예 257에 있어서,
광원 및 DAC 유닛에 결합된 복수의 광학 변조기에 제1 복수의 변조기 제어 신호를 적용하는 단계; 및
복수의 광학 변조기를 사용하여, 복수의 변조기 제어 신호에 기초하여 레이저 유닛에 의해 생성된 복수의 광 출력을 변조하여 광학 입력 벡터를 생성하는 단계를 포함하는, 방법.
실시예 259: 실시예 258에 있어서, 행렬 승산 유닛은 복수의 광학 변조기 및 DAC 유닛에 결합될 수 있으며, 방법은
행렬 승산 유닛을 사용하여, 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 아날로그 출력 벡터로 변환하는 단계를 포함하는, 방법.
실시예 260: 실시예 259에 있어서, ADC 유닛은 행렬 승산 유닛에 결합되고, 방법은
ADC 유닛을 사용하여, 아날로그 출력 벡터를 제1 복수의 디지털화된 출력으로 변환하는 단계를 포함하는, 방법.
실시예 261: 실시예 259 또는 260에 있어서, 행렬 승산 유닛은 복수의 광학 변조기 및 DAC 유닛에 결합된 광학 행렬 승산 유닛을 포함하고,
광학 입력 벡터를 아날로그 출력 벡터로 변환하는 단계는 광학 행렬 승산 유닛을 사용하여 광학 입력 벡터를 복수의 가중치 제어 신호에 기초하여 광학 출력 벡터로 변환하는 단계를 포함하고,
방법은 광학 행렬 승산 유닛에 결합된 광 검출 유닛을 사용하여, 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하는 단계를 포함하는, 방법.
실시예 262: 실시예 254에 있어서,
입력 도파로의 어레이에서 광학 입력 벡터를 수신하는 단계; 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛을 사용하여 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하는 단계; 및
광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이를 사용하여 광학 신호의 제2 어레이를 안내하는 단계를 포함하고, 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 광학 간섭 유닛을 통해 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는, 방법.
실시예 263: 실시예 262에 있어서, 광학 간섭 유닛은 복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함하며, 복수의 상호연결된 MZI의 각 MZI는 제1 위상 천이기 및 제2 위상 천이기를 포함하며, 제1 위상 천이기 및 제2 위상 천이기는 복수의 가중치 제어 신호에 결합되고,
방법은
제1 위상 천이기를 이용하여 MZI의 분할 비율을 변경하는 단계, 및
제2 위상 천이기를 이용하여 MZI의 하나의 출력의 위상을 천이하는 단계를 포함하는, 방법.
실시예 264: 실시예 258에 있어서,
광학 입력 벡터의 하나 이상의 광학 신호의 적어도 2개의 서브세트 각각에 대해, 하나 이상의 복사 모듈의 대응하는 세트를 사용하여 하나 이상의 광학 신호의 서브세트를 광학 신호의 2개 이상의 사본으로 분할하는 단계;
하나 이상의 광학 신호의 제1 서브세트의 적어도 2개의 사본 각각에 대해, 대응하는 승산 모듈을 사용하여, 광학 진폭 변조를 사용하여 제1 서브세트의 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하는 단계; 및
2개 이상의 승산 모듈의 결과에 대해, 합산 모듈을 사용하여 2개 이상의 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하는 단계를 포함하는, 방법.
실시예 265: 실시예 264에 있어서, 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 관련된 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하도록 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공되는, 방법.
실시예 266: 실시예 264 또는 265에 있어서, 행렬 승산 유닛을 사용하여, 하나 이상의 행렬 요소 값을 포함하는 행렬로 입력 벡터를 승산하는 단계를 포함하는, 방법.
실시예 267: 실시예 266에 있어서, 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 다수의 출력 값의 세트를 인코딩하는 단계; 및
다수의 출력 값의 세트 내의 출력 값을 사용하여, 행렬이 승산된 입력 벡터로부터 생성되는 출력 벡터의 요소를 표현하는 단계를 포함하는, 방법.
실시예 268: 방법이며,
입력 정보를 전자 형식으로 제공하는 단계;
전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계;
행렬 승산에 기초하여 광학 입력 벡터를 아날로그 출력 벡터로 광전자적으로 변환하는 단계; 및
비선형 변환을 아날로그 출력 벡터에 전자적으로 적용하여 전자 형식의 출력 정보를 제공하는 단계를 포함하는, 방법.
실시예 269: 실시예 268에 있어서,
전자 형식의 제공된 출력 정보에 대응하는 새로운 전자 입력 정보에 대해 전자-광학 전환, 광전자 변환, 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하는, 방법.
실시예 270: 실시예 269에 있어서, 초기 광전자 변환을 위한 행렬 승산 및 반복된 광전자 변환의 행렬 승산은 동일하고 인공 신경망의 동일한 층에 대응하는, 방법.
실시예 271: 실시예 269에 있어서, 초기 광전자 변환을 위한 행렬 승산 및 반복된 광전자 변환의 행렬 승산은 상이하고 인공 신경망의 상이한 층에 대응하는, 방법.
실시예 272: 실시예 268에 있어서,
전자 입력 정보의 상이한 부분에 대해 전자-광학 전환, 광전자 변환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하고,
초기 광전자 변환을 위한 행렬 승산 및 반복된 광전자 변환의 행렬 승산은 동일하고 인공 신경망의 제1 층에 대응하는, 방법.
실시예 273: 실시예 272에 있어서, 인공 신경망의 제1 층에 의해 전자 입력 정보의 다수의 부분에 대해 생성된 전자 출력 정보에 기초하여 중간 정보를 전자 형식으로 제공하는 단계; 및
전자 중간 정보의 상이한 부분 각각에 대해 전자-광학 전환, 광전자 변환 및 전자적으로 적용된 비선형 변환을 반복하는 단계를 더 포함하고,
초기 광전자 변환을 위한 행렬 승산 및 전자 중간 정보의 상이한 부분에 관련된 반복된 광전자 변환의 행렬 승산은 동일하고 인공 신경망의 제2 층에 대응하는, 방법.
실시예 274: 인공 신경망 계산을 수행하기 위한 시스템이며,
복수의 벡터 제어 신호를 생성하고 복수의 가중치 제어 신호를 생성하도록 구성된 제1 유닛;
복수의 벡터 제어 신호에 기초하여 광학 입력 벡터를 제공하도록 구성된 제2 유닛;
제2 유닛 및 제1 유닛에 결합된 행렬 승산 유닛- 행렬 승산 유닛은 복수의 가중치 제어 신호에 기초하여 광학 입력 벡터를 출력 벡터로 변환하도록 구성됨 -; 및
집적 회로를 포함하는 제어기를 포함하고, 집적 회로는
입력 데이터세트 및 제1 복수의 신경망 가중치를 포함하는 인공 신경망 계산 요청을 수신하는 동작- 입력 데이터세트는 제1 디지털 입력 벡터를 포함함 -; 및
제1 유닛을 통해, 제1 디지털 입력 벡터에 기초한 제1 복수의 벡터 제어 신호 및 제1 복수의 신경망 가중치에 기초하여 제1 복수의 가중치 제어 신호를 생성하는 동작을 포함하는 동작을 수행하도록 구성되고,
제1 유닛, 제2 유닛, 행렬 승산 유닛 및 제어기는 복수의 반복 동안 반복되는 광전자 처리 루프에서 사용되며, 광전자 처리 루프는 (1) 적어도 2개의 광학 변조 동작, 및 (2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나를 포함하는, 시스템.
실시예 275: 인공 신경망 계산을 수행하는 방법이며,
입력 정보를 전자 형식으로 제공하는 단계;
전자 입력 정보의 적어도 일부를 광학 입력 벡터로 전환하는 단계; 및
신경망 가중치의 세트를 사용하여, 행렬 승산에 기초하여 광학 입력 벡터를 출력 벡터로 변환하는 단계를 포함하고,
제공 단계, 전환 단계 및 변환 단계는 상이한 각각의 신경망 가중치의 세트 및 상이한 각각의 입력 정보를 사용하여 복수의 반복 동안 반복되는 광전자 처리 루프에서 수행되며, 광전자 처리 루프는 (1) 적어도 2개의 광학 변조 동작, 및 (2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나를 포함하는, 방법.

Claims (71)

  1. 시스템으로서,
    복수의 변조기 제어 신호를 생성하도록 구성된 제1 유닛;
    프로세서 유닛- 프로세서 유닛은,
    복수의 광 출력을 제공하도록 구성된 광원;
    상기 광원 및 상기 제1 유닛에 결합된 복수의 광학 변조기로서, 상기 복수의 광학 변조기는 상기 복수의 변조기 제어 신호에 기초하여 상기 광원에 의해 제공된 상기 복수의 광 출력을 변조함으로써 광학 입력 벡터를 생성하도록 구성되고, 상기 광학 입력 벡터는 복수의 광학 신호를 포함하는, 광학 변조기; 및
    상기 복수의 광학 변조기에 결합된 행렬 승산 유닛으로서, 복수의 가중치 제어 신호에 기초하여 상기 광학 입력 벡터를 아날로그 출력 벡터로 변환하도록 구성되는 행렬 승산 유닛
    을 포함함 -;
    상기 행렬 승산 유닛에 결합되고 상기 아날로그 출력 벡터를 디지털화된 출력 벡터로 변환하도록 구성된 제2 유닛; 및
    상기 제1 유닛에 결합된 제어기
    를 포함하고,
    상기 제어기는 집적 회로를 포함하고,
    상기 집적 회로는,
    제1 디지털 입력 벡터를 포함하는 입력 데이터세트를 포함하는 인공 신경망 계산 요청을 수신하는 동작;
    제1 복수의 신경망 가중치를 수신하는 동작; 및
    상기 제1 유닛을 통해, 상기 제1 디지털 입력 벡터에 기초한 제1 복수의 변조기 제어 신호를 생성하는 동작
    을 포함하는 동작을 수행하도록 구성되는 것인, 시스템.
  2. 제1항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC)를 포함하는 것인, 시스템.
  3. 제1항 또는 제2항에 있어서, 상기 제2 유닛은 아날로그-디지털 변환기(ADC)를 포함하는 것인, 시스템.
  4. 제1항 또는 제2항에 있어서, 데이터세트 및 복수의 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하는, 시스템.
  5. 제4항에 있어서, 상기 제어기의 상기 집적 회로는 또한, 상기 메모리 유닛에, 상기 입력 데이터세트 및 상기 제1 복수의 신경망 가중치를 저장하는 것을 포함하는 동작을 수행하도록 구성되는 것인, 시스템.
  6. 제1항 또는 제2항에 있어서, 상기 제1 유닛은 상기 복수의 가중치 제어 신호를 생성하도록 구성되는 것인, 시스템.
  7. 제1항 또는 제2항에 있어서, 상기 제어기는 주문형 집적 회로(ASIC)를 포함하고,
    인공 신경망 계산 요청을 수신하는 동작은 범용 데이터 프로세서로부터 인공 신경망 계산 요청을 수신하는 동작을 포함하는 것인, 시스템.
  8. 제1항 또는 제2항에 있어서, 상기 제1 유닛, 상기 프로세서 유닛, 상기 제2 유닛 및 상기 제어기는 다중 칩 모듈 또는 집적 회로 중 적어도 하나에 배치되고,
    인공 신경망 계산 요청을 수신하는 동작은 제2 데이터 프로세서로부터 인공 신경망 계산 요청을 수신하는 동작을 포함하며, 상기 제2 데이터 프로세서는 상기 다중 칩 모듈 또는 상기 집적 회로의 외부에 있고, 상기 제2 데이터 프로세서는 통신 채널을 통해 상기 다중 칩 모듈 또는 상기 집적 회로에 결합되고, 상기 프로세서 유닛은 상기 통신 채널의 데이터 레이트보다 적어도 10 배 더 큰 데이터 레이트로 데이터를 처리할 수 있는 것인, 시스템.
  9. 제1항에 있어서, 상기 제1 유닛, 상기 프로세서 유닛, 상기 제2 유닛 및 상기 제어기는 복수의 반복 동안 반복되는 광전자 처리 루프에서 사용되며, 상기 광전자 처리 루프는
    (1) 상기 복수의 변조기 제어 신호 중 적어도 하나에 기초한 적어도 제1 광학 변조 동작, 및 상기 가중치 제어 신호 중 적어도 하나에 기초한 적어도 제2 광학 변조 동작, 및
    (2) (a) 전기 합산 동작 또는 (b) 전기 저장 동작 중 적어도 하나
    를 포함하는 것인, 시스템.
  10. 제9항에 있어서, 상기 광전자 처리 루프는 상기 전기 저장 동작을 포함하고, 상기 전기 저장 동작은 상기 제어기에 결합된 메모리 유닛을 사용하여 수행되며,
    상기 제어기에 의해 수행되는 상기 동작들은 상기 입력 데이터세트 및 상기 제1 복수의 신경망 가중치를 상기 메모리 유닛에 저장하는 동작을 더 포함하는 것인, 시스템.
  11. 제9항에 있어서, 상기 광전자 처리 루프는 상기 전기 합산 동작을 포함하고, 상기 전기 합산 동작은 상기 행렬 승산 유닛 내의 전기 합산 모듈을 사용하여 수행되며,
    상기 전기 합산 모듈은 각각의 신경망 가중치를 승산한 상기 광학 입력 벡터의 각각의 요소의 합을 나타내는 상기 아날로그 출력 벡터의 요소에 대응하는 전기 전류를 생성하도록 구성되는 것인, 시스템.
  12. 제9항에 있어서, 상기 광전자 처리 루프는 상기 복수의 변조기 제어 신호 중 적어도 하나에 기초한 단지 하나의 제1 광학 변조 동작 및 단일 루프 반복에서 수행된 상기 가중치 제어 신호 중 적어도 하나에 기초한 단지 하나의 제2 광학 변조 동작이 존재하는 적어도 하나의 신호 경로를 포함하는 것인, 시스템.
  13. 제12항에 있어서, 상기 제1 광학 변조 동작은 상기 광 출력의 상기 광원 및 상기 행렬 승산 유닛에 결합된 상기 복수의 광학 변조기 중 하나에 의해 수행되고, 상기 제2 광학 변조 동작은 상기 행렬 승산 유닛에 포함된 광학 변조기에 의해 수행되는 것인, 시스템.
  14. 제9항에 있어서, 상기 광전자 처리 루프는 단일 루프 반복에서 수행되는 단지 하나의 전기 저장소가 존재하는 적어도 하나의 신호 경로를 포함하는 것인, 시스템.
  15. 제1항에 있어서, 상기 광원은 상기 복수의 광 출력을 생성하도록 구성된 레이저 유닛을 포함하는 것인, 시스템.
  16. 제1항에 있어서, 상기 행렬 승산 유닛은,
    상기 광학 입력 벡터를 수신하기 위한 입력 도파로의 어레이- 상기 광학 입력 벡터는 광학 신호의 제1 어레이를 포함함 -;
    상기 광학 입력 벡터의 광학 신호의 제2 어레이로의 선형 변환을 수행하도록 상기 입력 도파로의 어레이와 광학 통신하는 광학 간섭 유닛; 및
    상기 광학 신호의 제2 어레이를 안내하기 위해 상기 광학 간섭 유닛과 광학 통신하는 출력 도파로의 어레이
    를 포함하고,
    상기 입력 도파로의 어레이 내의 적어도 하나의 입력 도파로는 상기 광학 간섭 유닛을 통해 상기 출력 도파로의 어레이 내의 각 출력 도파로와 광학 통신하는 것인, 시스템.
  17. 제16항에 있어서, 상기 광학 간섭 유닛은 복수의 상호연결된 MZI(Mach-Zehnder Interferometer)를 포함하고,
    상기 복수의 상호연결된 MZI의 각 MZI는,
    상기 MZI의 분할 비율을 변경하도록 구성된 제1 위상 천이기; 및
    상기 MZI의 하나의 출력의 위상을 천이시키도록 구성된 제2 위상 천이기
    를 포함하고,
    상기 제1 위상 천이기 및 상기 제2 위상 천이기는 상기 복수의 가중치 제어 신호에 결합되는 것인, 시스템.
  18. 제1항에 있어서, 상기 행렬 승산 유닛은,
    복수의 복사 모듈- 각각의 상기 복사 모듈은 상기 광학 입력 벡터의 하나 이상의 광학 신호의 서브세트에 대응하고, 하나 이상의 광학 신호의 상기 서브세트를 상기 광학 신호의 2개 이상의 사본으로 분할하도록 구성됨 -; 복수의 승산 모듈- 각각의 상기 승산 모듈은 하나 이상의 광학 신호의 서브세트에 대응하고, 광학 진폭 변조를 사용하여 상기 서브세트의 상기 하나 이상의 광학 신호에 하나 이상의 행렬 요소 값을 승산하도록 구성됨 -; 및
    하나 이상의 합산 모듈- 각각의 합산 모듈은 2개 이상의 상기 승산 모듈의 결과의 합을 나타내는 전기 신호를 생성하도록 구성됨 -
    을 포함하는 것인, 시스템.
  19. 제18항에 있어서, 상기 승산 모듈 중 적어도 하나는 입력 포트 및 2개의 출력 포트를 포함하는 광학 진폭 변조기를 포함하고, 상기 2개의 출력 포트로부터 한 쌍의 관련 광학 신호가 제공되며, 상기 관련 광학 신호의 진폭 사이의 차이가 입력 값을 부호화된 행렬 요소 값으로 승산한 결과에 대응하는 것인, 시스템.
  20. 제18항 또는 제19항에 있어서, 상기 행렬 승산 유닛은 상기 입력 벡터에 상기 하나 이상의 행렬 요소 값을 포함하는 행렬을 승산하도록 구성되는 것인, 시스템.
  21. 제20항에 있어서, 다수의 출력 값의 세트가 상기 하나 이상의 합산 모듈에 의해 생성된 각각의 전기 신호에 인코딩되며, 상기 다수의 출력 값의 세트의 상기 출력 값은 상기 행렬로 승산한 상기 입력 벡터로부터 생성된 출력 벡터의 요소를 나타내는 것인, 시스템.
  22. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 시스템이 상기 입력 데이터세트 및 상기 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 상기 제2 유닛이 아날로그-디지털 변환기(ADC) 유닛을 포함하고,
    상기 동작은,
    상기 ADC 유닛으로부터, 상기 행렬 승산 유닛의 상기 아날로그 출력 벡터에 대응하는 제1 복수의 디지털화된 출력을 획득하는 동작- 상기 제1 복수의 디지털화된 출력은 제1 디지털 출력 벡터를 형성함 -;
    제1 변환된 디지털 출력 벡터를 생성하기 위해 상기 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
    상기 메모리 유닛에, 상기 제1 변환된 디지털 출력 벡터를 저장하는 동작
    을 더 포함하는 것인, 시스템.
  23. 제22항에 있어서, 상기 시스템은 상기 메모리 유닛에 상기 입력 데이터세트 및 상기 제1 복수의 신경망 가중치를 저장하는 단계와 상기 메모리 유닛에 상기 제1 변환된 디지털 출력 벡터를 저장하는 단계 사이에 경과된 시간으로 정의된 제1 루프 기간을 갖고,
    상기 제1 루프 기간은 1ns 이하인 것인, 시스템.
  24. 제22항에 있어서, 상기 동작은
    상기 제1 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작을 더 포함하는 것인, 시스템.
  25. 제22항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고,
    상기 동작은, 상기 DAC 유닛을 통해, 상기 제1 변환된 디지털 출력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작을 더 포함하는 것인, 시스템.
  26. 제22항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 상기 인공 신경망 계산 요청은 제2 복수의 신경망 가중치를 더 포함하며,
    상기 동작은, 상기 제1 복수의 디지털화된 출력의 획득에 기초하여, 상기 DAC 유닛을 통해, 상기 제2 복수의 신경망 가중치에 기초하여 제2 복수의 가중치 제어 신호를 생성하는 동작을 더 포함하는 것인, 시스템.
  27. 제26항에 있어서, 상기 제1 및 제2 복수의 신경망 가중치는 인공 신경망의 상이한 층에 대응하는 것인, 시스템.
  28. 제22항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 상기 입력 데이터세트는 제2 디지털 입력 벡터를 더 포함하며,
    상기 동작은,
    상기 DAC 유닛을 통해, 상기 제2 디지털 입력 벡터에 기초하여 제2 복수의 변조기 제어 신호를 생성하는 동작;
    상기 ADC 유닛으로부터, 상기 행렬 승산 유닛의 상기 출력 벡터에 대응하는 제2 복수의 디지털화된 출력을 획득하는 동작- 상기 제2 복수의 디지털화된 출력은 제2 디지털 출력 벡터를 형성함 -;
    제2 변환된 디지털 출력 벡터를 생성하기 위해 상기 제2 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작;
    상기 제2 변환된 디지털 출력 벡터를 상기 메모리 유닛에 저장하는 동작; 및 상기 제1 변환된 디지털 출력 벡터 및 상기 제2 변환된 디지털 출력 벡터에 기초하여 생성된 인공 신경망 출력을 출력하는 동작
    을 더 포함하고,
    상기 행렬 승산 유닛의 상기 출력 벡터는 최초에 언급한 복수의 가중치 제어 신호에 기초하여 상기 행렬 승산 유닛에 의해 변환된 상기 제2 복수의 변조기 제어 신호에 기초하여 생성된 제2 광학 입력 벡터로부터 생성되는 것인, 시스템.
  29. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 시스템은 상기 입력 데이터세트 및 상기 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 상기 제2 유닛이 아날로그-디지털 변환기(ADC) 유닛을 포함하고, 상기 시스템은 상기 행렬 승산 유닛과 상기 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛을 더 포함하고, 상기 아날로그 비선형성 유닛은 상기 행렬 승산 유닛으로부터 상기 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 상기 ADC 유닛에 출력하도록 구성되고,
    상기 제어기의 상기 집적 회로에 의해 수행되는 상기 동작은,
    상기 ADC 유닛으로부터, 상기 복수의 변환된 출력 전압에 대응하는 제1 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 상기 제1 복수의 변환된 디지털화된 출력 전압은 제1 변환된 디지털 출력 벡터를 형성함 -; 및
    상기 메모리 유닛에, 상기 제1 변환된 디지털 출력 벡터를 저장하는 동작
    을 더 포함하는 것인, 시스템.
  30. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 제어기의 상기 집적 회로는 8GHz 이상의 속도로 상기 제1 복수의 변조기 제어 신호를 생성하도록 구성되는 것인, 시스템.
  31. 제1항, 제2항, 및 제9항 내지 제17항 중 어느 한 항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 상기 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함하고,
    상기 행렬 승산 유닛은,
    상기 복수의 광학 변조기 및 상기 DAC 유닛에 결합된 광학 행렬 승산 유닛으로서, 상기 복수의 가중치 제어 신호에 기초하여 상기 광학 입력 벡터를 광학 출력 벡터로 변환하도록 구성되는 광학 행렬 승산 유닛; 및
    상기 광학 행렬 승산 유닛에 결합되고 상기 광학 출력 벡터에 대응하는 복수의 출력 전압을 생성하도록 구성된 광 검출 유닛
    을 포함하는 것인, 시스템.
  32. 제31항에 있어서,
    상기 DAC 유닛과 상기 복수의 광학 변조기 사이에 배열된 아날로그 메모리 유닛- 상기 아날로그 메모리 유닛은 아날로그 전압을 저장하고 상기 저장된 아날로그 전압을 출력하도록 구성됨 -; 및
    상기 광 검출 유닛과 상기 ADC 유닛 사이에 배열된 아날로그 비선형성 유닛- 상기 아날로그 비선형성 유닛은 상기 광 검출 유닛으로부터 복수의 출력 전압을 수신하고, 비선형 전달 함수를 적용하고, 복수의 변환된 출력 전압을 출력하도록 구성됨 -
    을 더 포함하는, 시스템.
  33. 제32항에 있어서, 상기 아날로그 메모리 유닛은 복수의 커패시터를 포함하는 것인, 시스템.
  34. 제32항에 있어서, 상기 아날로그 메모리 유닛은 상기 아날로그 비선형성 유닛의 상기 복수의 변환된 출력 전압을 수신 및 저장하고, 상기 저장된 복수의 변환된 출력 전압을 상기 복수의 광학 변조기에 출력하도록 구성되고,
    상기 동작은,
    상기 제1 복수의 변조기 제어 신호 및 상기 제1 복수의 가중치 제어 신호를 생성하는 것에 기초하여, 상기 아날로그 비선형성 유닛의 상기 복수의 변환된 출력 전압을 상기 아날로그 메모리 유닛에 저장하는 동작;
    상기 아날로그 메모리 유닛을 통해 상기 저장된 변환된 출력 전압을 출력하는 동작;
    상기 ADC 유닛으로부터, 제2 복수의 변환된 디지털화된 출력 전압을 획득하는 동작- 상기 제2 복수의 변환된 디지털화된 출력 전압은 제2 변환된 디지털 출력 벡터를 형성함 -; 및
    상기 제2 변환된 디지털 출력 벡터를 상기 메모리 유닛에 저장하는 동작
    을 더 포함하는 것인, 시스템.
  35. 제31항에 있어서, 상기 시스템은 상기 입력 데이터세트 및 상기 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 상기 인공 신경망 계산 요청의 상기 입력 데이터세트는 복수의 디지털 입력 벡터를 포함하며, 상기 광원은 복수의 파장을 생성하도록 구성되며,
    상기 복수의 광학 변조기는,
    복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각각의 상기 뱅크는 상기 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
    상기 복수의 광학 입력 벡터를 상기 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서
    를 포함하고,
    상기 광 검출 유닛은 또한, 상기 복수의 파장을 역멀티플렉싱하고 복수의 역멀티플렉싱된 출력 전압을 생성하도록 구성되며,
    상기 동작은,
    상기 ADC 유닛으로부터, 복수의 디지털화된 역멀티플렉싱된 광학 출력을 획득하는 동작- 상기 복수의 디지털화된 역멀티플렉싱된 광학 출력은 복수의 제1 디지털 출력 벡터를 형성하고, 상기 복수의 제1 디지털 출력 벡터 각각은 상기 복수의 파장 중 하나에 대응함 -;
    복수의 변환된 제1 디지털 출력 벡터를 생성하기 위해 상기 복수의 제1 디지털 출력 벡터 각각에 대해 비선형 변환을 수행하는 동작; 및
    상기 메모리 유닛에, 상기 복수의 변환된 제1 디지털 출력 벡터를 저장하는 동작
    을 포함하고,
    상기 복수의 디지털 입력 벡터 각각은 상기 복수의 광학 입력 벡터 중 하나에 대응하는 것인, 시스템.
  36. 제31항에 있어서, 상기 시스템은 상기 입력 데이터세트 및 상기 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고, 상기 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함하며, 상기 인공 신경망 계산 요청은 복수의 디지털 입력 벡터를 포함하고,
    상기 광원은 복수의 파장을 생성하도록 구성되며,
    상기 복수의 광학 변조기는,
    복수의 광학 입력 벡터를 생성하도록 구성된 광학 변조기의 뱅크- 각각의 상기 뱅크는 상기 복수의 파장 중 하나에 대응하고 각각의 파장을 갖는 각각의 광학 입력 벡터를 생성함 -; 및
    상기 복수의 광학 입력 벡터를 상기 복수의 파장을 포함하는 조합된 광학 입력 벡터로 조합하도록 구성된 광학 멀티플렉서
    를 포함하고,
    상기 동작은,
    상기 ADC 유닛으로부터, 상기 복수의 파장을 포함하는 상기 광학 출력 벡터에 대응하는 제1 복수의 디지털화된 광학 출력을 획득하는 동작- 상기 제1 복수의 디지털화된 광학 출력은 제1 디지털 출력 벡터를 형성함 -;
    제1 변환된 디지털 출력 벡터를 생성하기 위해 상기 제1 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
    상기 메모리 유닛에, 상기 제1 변환된 디지털 출력 벡터를 저장하는 동작
    을 더 포함하는 것인, 시스템.
  37. 제4항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고, 상기 제2 유닛은 아날로그-디지털 변환기(ADC) 유닛을 포함하고, 상기 DAC 유닛은 복수의 1 비트 변조기 제어 신호를 생성하도록 구성된 1 비트 DAC 서브유닛을 포함하고,
    상기 ADC 유닛의 분해능은 1 비트이고,
    상기 제1 디지털 입력 벡터의 분해능은 N 비트이며,
    상기 동작은,
    상기 제1 디지털 입력 벡터를 N개의 1 비트 입력 벡터로 분해하는 동작- 상기 N개의 1 비트 입력 벡터 각각은 상기 제1 디지털 입력 벡터의 상기 N 비트 중 하나에 대응함 -;
    상기 1 비트 DAC 서브유닛을 통해, 상기 N개의 1 비트 입력 벡터에 대응하는 N개의 1 비트 변조기 제어 신호의 시퀀스를 생성하는 동작;
    상기 ADC 유닛으로부터, 상기 N개의 1 비트 변조기 제어 신호의 상기 시퀀스에 대응하는 N개의 디지털화된 1 비트 광학 출력의 시퀀스를 획득하는 동작;
    상기 N개의 디지털화된 1 비트 광학 출력의 상기 시퀀스로부터 N-비트 디지털 출력 벡터를 구성하는 동작;
    변환된 N-비트 디지털 출력 벡터를 생성하기 위해 상기 구성된 N-비트 디지털 출력 벡터에 대해 비선형 변환을 수행하는 동작; 및
    상기 변환된 N-비트 디지털 출력 벡터를 상기 메모리 유닛에 저장하는 동작
    을 포함하는 것인, 시스템.
  38. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 시스템은 상기 입력 데이터세트 및 상기 신경망 가중치를 저장하도록 구성된 메모리 유닛을 포함하고,
    상기 메모리 유닛은,
    상기 디지털 입력 벡터를 저장하도록 구성되고 적어도 하나의 SRAM을 포함하는 디지털 입력 벡터 메모리; 및
    상기 복수의 신경망 가중치를 저장하도록 구성되고 적어도 하나의 DRAM을 포함하는 신경망 가중치 메모리
    를 포함하는 것인, 시스템.
  39. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 제1 유닛은 디지털-아날로그 변환기(DAC) 유닛을 포함하고,
    상기 디지털-아날로그 변환기는,
    상기 복수의 변조기 제어 신호를 생성하도록 구성된 제1 DAC 서브유닛; 및
    상기 복수의 가중치 제어 신호를 생성하도록 구성된 제2 DAC 서브유닛
    을 포함하고,
    상기 제1 및 제2 DAC 서브유닛은 상이한 것인, 시스템.
  40. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 광원은,
    광을 생성하도록 구성된 레이저 소스; 및
    상기 레이저 소스에 의해 생성된 광을 상기 복수의 광 출력으로 분할하도록 구성된 광학 파워 분할기
    를 포함하고,
    상기 복수의 광 출력 각각은 실질적으로 동일한 파워를 갖는 것인, 시스템.
  41. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 복수의 광학 변조기는 MZI 변조기, 링 공진기 변조기 또는 전계 흡수 변조기 중 하나를 포함하는 것인, 시스템.
  42. 제31항에 있어서, 상기 광 검출 유닛은,
    복수의 광검출기; 및
    상기 광검출기에 의해 생성된 광전류를 상기 복수의 출력 전압으로 전환하도록 구성된 복수의 증폭기
    를 포함하는 것인, 시스템.
  43. 제1항, 제2항, 및 제9항 내지 제19항 중 어느 한 항에 있어서, 상기 집적 회로는 주문형 집적 회로인 것인, 시스템.
  44. 제18항 또는 제19항에 있어서, 상기 광학 변조기와 상기 행렬 승산 유닛 사이에 결합된 복수의 광학 도파로를 포함하며, 상기 광학 입력 벡터는 상기 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩된 다수의 입력 값의 세트를 포함하고, 상기 광학 도파로 중 하나에 의해 운반되는 상기 광학 신호 각각은 모든 상기 광학 신호에 대해 실질적으로 동일한 공통 파장을 갖는 광학 파를 포함하는 것인, 시스템.
  45. 제18항 또는 제19항에 있어서, 상기 복사 모듈은 입력 포트에서 광학 파의 파워의 미리 결정된 분율을 제1 출력 포트로 전송하고 상기 입력 포트에서 상기 광학 파의 파워의 잔여 분율을 제2 출력 포트로 전송하는 광학 분할기를 포함하는 적어도 하나의 복사 모듈을 포함하는 것인, 시스템.
  46. 제45항에 있어서, 상기 광학 분할기는 입력 광학 도파로에 의해 유도된 광학 파의 파워의 미리 결정된 분율을 제1 출력 광학 도파로로 전송하고 상기 입력 광학 도파로에 의해 안내된 상기 광학 파의 파워의 잔여 분율을 제2 출력 광학 도파로로 전송하는 도파로 광학 분할기를 포함하는 것인, 시스템.
  47. 제46항에 있어서, 상기 입력 광학 도파로의 안내 모드는 상기 제1 및 제2 출력 광학 도파로 각각의 안내 모드에 단열적으로 결합되는 것인, 시스템.
  48. 제45항에 있어서, 상기 광학 분할기는 상기 입력 포트에서 상기 광학 파의 파워의 상기 미리 결정된 분율을 투과하고 상기 입력 포트에서 상기 광학 파의 파워의 상기 잔여 분율을 반사하는 적어도 하나의 표면을 포함하는 빔 분할기를 포함하는 것인, 시스템.
  49. 제44항에 있어서, 상기 복수의 광학 도파로 중 적어도 하나는 광섬유의 안내 모드를 자유 공간 전파 모드에 결합하는 광학 커플러에 결합되는 광섬유를 포함하는 것인, 시스템.
  50. 제18항 또는 제19항에 있어서, 상기 승산 모듈은 적어도 하나의 간섭성-감지 승산 모듈을 포함하고, 이는 적어도 상기 간섭성-감지 승산 모듈을 통한 전파 거리만큼 긴 결맞음 길이를 가지는 광학 파 사이의 간섭에 기초한 광학 진폭 변조를 사용하여 하나 이상의 행렬 요소 값으로 제1 서브세트의 상기 하나 이상의 광학 신호를 승산하도록 구성되는 것인, 시스템.
  51. 제50항에 있어서, 상기 간섭성-감지 승산 모듈은 MZI(Mach-Zehnder Interferometer)를 포함하고, 이는 입력 광학 도파로에 의해 안내된 광학 파를 상기 MZI의 제1 광학 도파로 암 및 상기 MZI의 제2 광학 도파로 암으로 분할하며, 상기 제1 광학 도파로 암은 상기 제2 광학 도파로 암의 위상 지연에 대해 상대적인 위상 천이를 부여하는 위상 천이기를 포함하고, 상기 MZI는 상기 제1 광학 도파로 암 및 상기 제2 광학 도파로 암으로부터의 광학 파를 적어도 하나의 출력 광학 도파로로 조합하는 것인, 시스템.
  52. 제51항에 있어서, 상기 MZI는 상기 제1 광학 도파로 암 및 상기 제2 광학 도파로 암으로부터의 광학 파를 제1 출력 광학 도파로 및 제2 출력 광학 도파로 각각에 조합하며, 제1 광검출기는 상기 제1 출력 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성하고, 제2 광검출기는 상기 제2 출력 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성하며, 상기 간섭성-감지 승산 모듈의 결과는 상기 제1 광전류와 상기 제2 광전류 사이의 차이를 포함하는 것인, 시스템.
  53. 제50항에 있어서, 상기 간섭성-감지 승산 모듈은 제1 광학 도파로에 결합된 적어도 하나의 링 공진기 및 제2 광학 도파로에 결합된 적어도 하나의 링 공진기를 포함하여 하나 이상의 링 공진기를 포함하는 것인, 시스템.
  54. 제53항에 있어서, 제1 광검출기는 상기 제1 광학 도파로로부터 광학 파를 수신하여 제1 광전류를 생성하고, 제2 광검출기는 상기 제2 광학 도파로로부터 광학 파를 수신하여 제2 광전류를 생성하며, 상기 간섭성-감지 승산 모듈의 결과는 상기 제1 광전류와 상기 제2 광전류 사이의 차이를 포함하는 것인, 시스템.
  55. 제18항 또는 제19항에 있어서, 상기 승산 모듈은 광학 파 내의 에너지의 흡수에 기초한 광학 진폭 변조를 사용하여 제1 서브세트의 상기 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 적어도 하나의 간섭성-비감지 승산 모듈을 포함하는 것인, 시스템.
  56. 제55항에 있어서, 상기 간섭성-비감지 승산 모듈은 전계 흡수 변조기를 포함하는 것인, 시스템.
  57. 제18항 또는 제19항에 있어서, 상기 하나 이상의 합산 모듈 중 적어도 하나의 합산 모듈은 (1) 진폭이 상기 승산 모듈 중 각각의 하나의 각각의 결과를 나타내는 입력 전류의 형태로 전기 신호를 각각 운반하는 2개 이상의 입력 전도체 및 (2) 상기 입력 전류의 상기 합에 비례하는 출력 전류의 형태인 각각의 결과의 상기 합을 나타내는 상기 전기 신호를 운반하는 적어도 하나의 출력 전도체를 포함하는 것인, 시스템.
  58. 제57항에 있어서, 상기 2개 이상의 입력 전도체와 상기 출력 전도체는 배선을 포함하고, 상기 배선은 상기 배선 사이의 하나 이상의 접합점에서 만나고, 상기 출력 전류는 상기 입력 전류의 상기 합과 실질적으로 동일한 것인, 시스템.
  59. 제57항에 있어서, 상기 입력 전류의 적어도 제1 입력 전류는 상기 승산 모듈의 제1 승산 모듈에 의해 생성된 광학 신호를 수신하는 적어도 하나의 광검출기에 의해 생성된 적어도 하나의 광전류의 형태로 제공되는 것인, 시스템.
  60. 제59항에 있어서, 상기 제1 입력 전류는 상기 제1 승산 모듈에 의해 둘 모두가 생성되는 상이한 각각의 광학 신호를 수신하는 상이한 각각의 광검출기에 의해 생성된 2개의 광전류 사이의 차이의 형태로 제공되는 것인, 시스템.
  61. 제18항 또는 제19항에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 상기 사본 중 하나는 입력 값 중 하나가 인코딩되는 단일 광학 신호로 구성되는 것인, 시스템.
  62. 제61항에 있어서, 상기 제1 서브세트의 상기 사본에 대응하는 상기 승산 모듈은 상기 인코딩된 입력 값에 단일 행렬 요소 값을 승산하는 것인, 시스템.
  63. 제18항 또는 제19항에 있어서, 하나 이상의 광학 신호의 제1 서브세트의 상기 사본 중 하나는 하나보다 많은, 그리고, 다수의 입력 값이 인코딩되는 상기 광학 신호 전체보다는 적은 상기 광학 신호를 포함하는 것인, 시스템.
  64. 제63항에 있어서, 상기 제1 서브세트의 사본에 대응하는 상기 승산 모듈은 상기 인코딩된 입력 값에 상이한 각각의 행렬 요소 값을 승산하는 것인, 시스템.
  65. 제64항에 있어서, 하나 이상의 광학 신호의 상기 제1 서브세트의 상이한 각각의 사본에 대응하는 상이한 승산 모듈은 상이한 디바이스들에 포함되고, 상기 상이한 디바이스들은 상기 상이한 디바이스들 사이에서 하나 이상의 광학 신호의 상기 제1 서브세트의 상기 사본 중 하나를 송신하도록 광학 통신하는 것인, 시스템.
  66. 제44항에 있어서, 상기 복수의 광학 도파로 중 2개 이상, 상기 복수의 복사 모듈 중 2개 이상, 상기 복수의 승산 모듈 중 2개 이상, 및 상기 하나 이상의 합산 모듈 중 적어도 하나가 공통 디바이스의 기판 상에 배열되는 것인, 시스템.
  67. 제66항에 있어서, 상기 디바이스는 벡터-행렬 승산을 수행하고, 입력 벡터는 광학 신호의 세트로 제공되고 출력 벡터는 전기 신호의 세트로 제공되는 것인, 시스템.
  68. 제1항, 제18항, 및 제19항 중 어느 한 항에 있어서, 승산 모듈 또는 합산 모듈의 출력에 대응하는 입력 전기 신호를 통합하는 누산기를 더 포함하며, 상기 입력 전기 신호는 다수의 시간 슬롯 각각에서 온-오프 진폭 변조를 사용하는 시간 도메인 인코딩을 사용하여 인코딩되고, 상기 누산기는 상기 다수의 시간 슬롯에 걸친 상기 시간 도메인 인코딩의 상이한 듀티 사이클에 대응하는 2개보다 많은 진폭 레벨로 인코딩된 출력 전기 신호를 생성하는 것인, 시스템.
  69. 제1항, 제18항, 및 제19항 중 어느 한 항에 있어서, 승산 모듈 중 2개 이상은 각각 하나 이상의 광학 신호의 상이한 서브세트에 대응하는 것인, 시스템.
  70. 제50항에 있어서, 하나 이상의 광학 신호의 상기 제1 서브세트 내의 상기 광학 신호와 상이한 하나 이상의 광학 신호의 제2 서브세트의 각 사본에 대해, 광학 진폭 변조를 사용하여 상기 제2 서브세트의 상기 하나 이상의 광학 신호를 하나 이상의 행렬 요소 값으로 승산하도록 구성된 승산 모듈을 더 포함하는, 시스템.
  71. 제1항에 있어서, 상기 광학 변조기와 상기 행렬 승산 유닛 사이에 결합된 복수의 광학 도파로를 포함하며, 상기 광학 입력 벡터는 상기 광학 도파로에 의해 운반되는 각각의 광학 신호에 인코딩된 다수의 입력 값의 세트를 포함하고, 상기 광학 도파로 중 하나에 의해 운반되는 상기 광학 신호 각각은 모든 상기 광학 신호에 대해 실질적으로 동일한 공통 파장을 갖는 광학 파를 포함하는 것인, 시스템.
KR1020217000190A 2018-06-05 2019-06-04 광전자 컴퓨팅 시스템 KR102589616B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201862680944P 2018-06-05 2018-06-05
US62/680,944 2018-06-05
US201862744706P 2018-10-12 2018-10-12
US62/744,706 2018-10-12
US201962792144P 2019-01-14 2019-01-14
US62/792,144 2019-01-14
US201962820562P 2019-03-19 2019-03-19
US62/820,562 2019-03-19
PCT/US2019/035403 WO2019236591A1 (en) 2018-06-05 2019-06-04 Optoelectronic computing systems

Publications (2)

Publication Number Publication Date
KR20210052430A KR20210052430A (ko) 2021-05-10
KR102589616B1 true KR102589616B1 (ko) 2023-10-13

Family

ID=66998511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217000190A KR102589616B1 (ko) 2018-06-05 2019-06-04 광전자 컴퓨팅 시스템

Country Status (11)

Country Link
US (7) US11734555B2 (ko)
EP (1) EP3803710A1 (ko)
JP (1) JP2021527287A (ko)
KR (1) KR102589616B1 (ko)
CN (6) CN113159306A (ko)
AU (1) AU2019282632B2 (ko)
CA (1) CA3101026A1 (ko)
IL (1) IL279181A (ko)
SG (1) SG11202011824PA (ko)
TW (2) TWI735886B (ko)
WO (1) WO2019236591A1 (ko)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10439734B2 (en) * 2016-07-01 2019-10-08 Luxtera, Inc. Method and system for waveguide delay based equalization with summing at single-ended to differential converters in optical communication
TWI735886B (zh) 2018-06-05 2021-08-11 美商光子智能股份有限公司 計算系統
US11507818B2 (en) 2018-06-05 2022-11-22 Lightelligence PTE. Ltd. Optoelectronic computing systems
US11238336B2 (en) * 2018-07-10 2022-02-01 The George Washington University Optical convolutional neural network accelerator
US11734556B2 (en) 2019-01-14 2023-08-22 Lightelligence PTE. Ltd. Optoelectronic computing systems
WO2020176393A1 (en) * 2019-02-25 2020-09-03 Lightmatter, Inc. Path-number-balanced universal photonic network
US11853847B2 (en) * 2019-10-18 2023-12-26 Massachusetts Institute Of Technology Freely scalable quantum computing using a 2D atomic emitter array with massively parallel optical interconnects
CN111198593B (zh) * 2019-12-31 2023-08-25 联合微电子中心有限责任公司 一种超线程光子计算结构
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN111244270B (zh) * 2020-01-16 2021-08-24 北京大学 一种模拟生物神经元功能的电子器件及方法
US11494541B2 (en) * 2020-01-16 2022-11-08 Lightmatter, Inc. Pin sharing for photonic processors
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
CN113325917A (zh) * 2020-02-28 2021-08-31 华为技术有限公司 一种光计算装置、系统以及计算方法
JP7394451B2 (ja) * 2020-02-28 2023-12-08 国立研究開発法人産業技術総合研究所 フォトニクス分類器および分類方法
CN113325808A (zh) * 2020-02-28 2021-08-31 上海诺基亚贝尔股份有限公司 控制方法、设备、装置、系统以及计算机可读介质
US11526743B2 (en) * 2020-03-13 2022-12-13 Arm Limited Artificial neural network optical hardware accelerator
US10951325B1 (en) * 2020-03-19 2021-03-16 Dell Products L.P. Use of siilicon photonics (SiP) for computer network interfaces
US11402577B2 (en) * 2020-03-27 2022-08-02 International Business Machines Corporation Analog optic memory and signal processing
WO2021201773A1 (en) * 2020-04-03 2021-10-07 Nanyang Technological University Apparatus and method for implementing a complex-valued neural network
US20230162017A1 (en) 2020-04-23 2023-05-25 Nippon Telegraph And Telephone Corporation Mobile Terminal and Distributed Deep Learning System
CA3179512A1 (en) * 2020-04-27 2021-11-04 Nicholas C. Harris Photonics processor architecture
TWI806042B (zh) * 2020-04-29 2023-06-21 新加坡商光子智能私人有限公司 光電處理設備、系統及方法
CN113570051B (zh) * 2020-04-29 2024-06-07 光子智能私营科技有限公司 光电处理系统
CN113642731A (zh) * 2020-05-06 2021-11-12 支付宝(杭州)信息技术有限公司 基于差分隐私的数据生成系统的训练方法及装置
WO2021231139A1 (en) * 2020-05-09 2021-11-18 The Regents Of The University Of California Machine vision using diffractive spectral encoding
CN112232503B (zh) * 2020-06-09 2021-11-19 联合微电子中心有限责任公司 计算装置、计算方法以及计算系统
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)
CN116171438A (zh) * 2020-06-29 2023-05-26 光物质公司 快速预测处理器
CN113890620B (zh) * 2020-07-01 2023-03-14 浙江大学 基于可调谐滤波器的硅基片上光子神经网络及其调制方法
TW202217377A (zh) * 2020-07-06 2022-05-01 新加坡商光子智能私人有限公司 積體電路中介層、系統、裝置、製造積體電路中介層的方法、以及用於從多個節點向目的地傳輸資訊的方法與系統
CN111538368B (zh) * 2020-07-08 2021-01-01 欧梯恩智能科技(苏州)有限公司 光子信息处理芯片
CN112001487B (zh) * 2020-07-20 2024-05-28 联合微电子中心有限责任公司 一种光子神经网络
CN111985153B (zh) * 2020-08-03 2022-04-22 华中科技大学 基于神经网络和遗传算法的硅基光子器件仿真方法和系统
US11817903B2 (en) * 2020-08-06 2023-11-14 Celestial Ai Inc. Coherent photonic computing architectures
US20220059316A1 (en) * 2020-08-19 2022-02-24 Kla Corporation Scanning Electron Microscope Image Anchoring to Design for Array
US11469764B2 (en) 2020-08-28 2022-10-11 Hewlett Packard Enterprise Development Lp Optical comb source for content-addressable memory encoders
WO2022056422A1 (en) * 2020-09-14 2022-03-17 The Regents Of The University Of California Ensemble learning of diffractive neural networks
US11726383B2 (en) * 2020-10-14 2023-08-15 California Institute Of Technology Modular hybrid optical phased arrays
CN112101540B (zh) * 2020-10-19 2023-09-22 中国科学院半导体研究所 光学神经网络芯片及其计算方法
CN112506265A (zh) * 2020-11-13 2021-03-16 华为技术有限公司 一种光计算装置以及计算方法
US11251876B2 (en) * 2020-11-17 2022-02-15 Intel Corporation Optical analog matrix multiplier for optical neural networks
US11474298B2 (en) 2020-11-17 2022-10-18 Intel Corporation 2×2 optical unitary matrix multiplier
CN112379723A (zh) * 2020-11-24 2021-02-19 浏阳市仁杰电子科技有限公司 一种光芯片的多进制输入输出设备
DE102020131012A1 (de) * 2020-11-24 2022-05-25 OSRAM Opto Semiconductors Gesellschaft mit beschränkter Haftung Photonisches netzwerk
WO2022115935A1 (en) * 2020-12-02 2022-06-09 Huawei Technologies Canada Co., Ltd. Photonic computing system and method for wireless communication signal processing
WO2022125475A1 (en) * 2020-12-07 2022-06-16 Lightmatter, Inc. Residue number system in a photonic matrix accelerator
CN112700000A (zh) * 2020-12-11 2021-04-23 北京信息科技大学 一种光电混合深度卷积神经网络方法
US11509397B2 (en) * 2020-12-17 2022-11-22 Celestial Ai Inc. Balanced photonic architectures for matrix computations
CN114841334A (zh) * 2021-02-01 2022-08-02 华为技术有限公司 一种光计算装置、系统及卷积计算方法
WO2022164746A1 (en) * 2021-02-01 2022-08-04 Ohio University Photonic accelerator for deep neural networks
CN113033087B (zh) * 2021-03-17 2022-06-07 电子科技大学 一种基于fpga用于光神经网络的高速数据传输方法
US11163402B1 (en) * 2021-03-29 2021-11-02 Renesas Electronics Corporation Mutual capacitive touch sensing anomaly detection
CN112799464B (zh) * 2021-04-01 2021-07-27 中国科学院西安光学精密机械研究所 一种基于多波长光源的矩阵向量乘法器及其运算方法
CN112988113B (zh) * 2021-04-29 2021-09-14 中国科学院西安光学精密机械研究所 一种光子矩阵向量乘法器
CN113033797B (zh) * 2021-05-08 2022-04-12 电子科技大学 一种基于正负分离的实数域光学神经网络的模式识别方法
WO2022246197A2 (en) * 2021-05-20 2022-11-24 Massachusetts Institute Of Technology In-network optical inference
CN113343813B (zh) * 2021-05-31 2022-05-10 太原理工大学 一种基于单节点光子储备池计算的动作视频识别方法
WO2022256905A1 (en) * 2021-06-11 2022-12-15 Huawei Technologies Canada Co., Ltd. System and method for optically performing computations using a photonic modulator
CN113589880B (zh) * 2021-07-08 2023-11-24 上海交通大学 对时域信号和空域信号同时进行酉矩阵计算的光学装置
CN113761468A (zh) * 2021-07-16 2021-12-07 深圳大学 一种基于数学分解理论的光学矩阵运算模块实现方法
KR102622313B1 (ko) * 2021-08-06 2024-01-09 경북대학교 산학협력단 공간광변조기를 이용한 광전자 모듈 및 이를 포함하는 광 컴퓨터
US20230083270A1 (en) * 2021-09-14 2023-03-16 International Business Machines Corporation Mixed signal circuitry for bitwise multiplication with different accuracies
WO2023039858A1 (zh) * 2021-09-17 2023-03-23 华为技术有限公司 光计算系统、光计算方法及控制装置
CN113644984B (zh) * 2021-10-14 2022-03-11 清华大学 光电数字逻辑运算的光学逻辑元件及其逻辑运算方法
CN114488650A (zh) * 2021-12-31 2022-05-13 中国人民解放军军事科学院国防科技创新研究院 硅基光子集成芯片
US11809839B2 (en) * 2022-01-18 2023-11-07 Robert Lyden Computer language and code for application development and electronic and optical communication
CN116520937A (zh) * 2022-01-21 2023-08-01 上海曦智科技有限公司 光子计算系统
WO2023162857A1 (ja) * 2022-02-24 2023-08-31 国立大学法人東京大学 光集積回路、情報処理装置、及び演算方法
WO2023168629A1 (zh) * 2022-03-09 2023-09-14 华为技术有限公司 一种光计算系统及光信号处理方法
CN116795171A (zh) * 2022-03-15 2023-09-22 上海曦智科技有限公司 数据处理方法及系统
US11835777B2 (en) 2022-03-18 2023-12-05 Celestial Ai Inc. Optical multi-die interconnect bridge (OMIB)
CN114706161B (zh) * 2022-03-28 2023-07-18 上海科技大学 一种基于频率编码的片上集成光学矩阵矢量处理器
WO2023195012A1 (en) * 2022-04-07 2023-10-12 Lightsolver Ltd. Programable optical coupler and methods for beam routing and beam shaping
TWI828138B (zh) * 2022-05-04 2024-01-01 英屬開曼群島商臉萌有限公司 一種矩陣乘法電路模組及方法
WO2023220834A1 (en) * 2022-05-20 2023-11-23 The Royal Institution For The Advancement Of Learning/Mcgill University Multi-transverse-mode optical processor
WO2023240540A1 (zh) * 2022-06-16 2023-12-21 深圳华大基因科技有限公司 光计算方法和系统、控制器和存储介质
WO2023245592A1 (en) * 2022-06-24 2023-12-28 Intel Corporation Technologies for stacked photonic integrated circuit dies
CN115166913B (zh) * 2022-06-29 2024-05-10 中国科学院西安光学精密机械研究所 一种基于微环的波分复用共封装光互连架构
CN117434998A (zh) * 2022-07-15 2024-01-23 南京光智元科技有限公司 计算系统及处理光子计算结果的方法
CN115146771B (zh) 2022-09-02 2022-11-22 之江实验室 一种基于串联结构的二维光子神经网络卷积加速芯片
EP4369256A1 (de) * 2022-11-11 2024-05-15 Technische Universität Braunschweig Schaltungsanordnung zur verarbeitung von signalen mit einem neuronalen netz
CN116432726B (zh) * 2023-06-14 2023-08-25 之江实验室 一种光电混合的深度神经网络运算装置和运算方法
CN116932459A (zh) * 2023-08-02 2023-10-24 光本位科技(苏州)有限公司 用于片上大规模矩阵乘法运算的光电混合计算方法及阵列
CN117349225B (zh) * 2023-12-06 2024-02-13 清华大学 大规模分布式光电智能计算架构与芯片系统
CN117891023B (zh) * 2024-03-15 2024-05-31 山东云海国创云计算装备产业创新中心有限公司 光子芯片、异构计算系统、精度调整方法及产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170351293A1 (en) 2016-06-02 2017-12-07 Jacques Johannes Carolan Apparatus and Methods for Optical Neural Network
US20180121796A1 (en) 2016-11-03 2018-05-03 Intel Corporation Flexible neural network accelerator and methods therefor

Family Cites Families (131)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3944820A (en) 1975-05-12 1976-03-16 The United States Of America As Represented By The Secretary Of The Navy High speed optical matrix multiplier system
US4588255A (en) 1982-06-21 1986-05-13 The Board Of Trustees Of The Leland Stanford Junior University Optical guided wave signal processor for matrix-vector multiplication and filtering
US4567569A (en) 1982-12-15 1986-01-28 Battelle Development Corporation Optical systolic array processing
US4603398A (en) 1984-02-17 1986-07-29 The United States Of America As Represented By The Secretary Of The Navy Matrix-matrix multiplication using an electrooptical systolic/engagement array processing architecture
GB2154772B (en) 1984-02-25 1987-04-15 Standard Telephones Cables Ltd Optical computation
US4809204A (en) 1986-04-04 1989-02-28 Gte Laboratories Incorporated Optical digital matrix multiplication apparatus
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
US5008833A (en) 1988-11-18 1991-04-16 California Institute Of Technology Parallel optoelectronic neural network processors
US5077619A (en) 1989-10-25 1991-12-31 Tacan Corporation High linearity optical transmitter
US5428466A (en) 1989-11-10 1995-06-27 British Telecommunications Public Limited Company Neural networks
JP2840128B2 (ja) 1990-10-25 1998-12-24 浜松ホトニクス株式会社 光リアルタイム演算器
JP2762808B2 (ja) 1991-01-09 1998-06-04 松下電器産業株式会社 空間光変調素子および投写型ディスプレイ装置
US5333117A (en) 1993-10-04 1994-07-26 Nec Research Institute, Inc. Parallel MSD arithmetic using an opto-electronic shared content-addressable memory processor
CA2184166A1 (en) 1994-03-02 1995-09-08 Matthias Budil Optical vector multiplier for neural networks
US5699449A (en) 1994-11-14 1997-12-16 The University Of Connecticut Method and apparatus for implementation of neural networks for face recognition
JPH09113945A (ja) 1995-10-18 1997-05-02 Olympus Optical Co Ltd 類似度計算装置及びそれを用いた情報処理装置
JPH09297112A (ja) * 1996-03-08 1997-11-18 Mitsubishi Heavy Ind Ltd 構造パラメータ解析装置及び解析方法
US6005998A (en) 1998-02-20 1999-12-21 Lucent Technologies Inc. Strictly non-blocking scalable matrix optical switch
TW391131B (en) * 1998-07-14 2000-05-21 Neotech Intelligent Automation Color recognition method using neural network
US6529276B1 (en) 1999-04-06 2003-03-04 University Of South Carolina Optical computational system
US6178020B1 (en) 1999-09-30 2001-01-23 Ut-Battelle, Llc Modules and methods for all photonic computing
ATE371202T1 (de) 2000-12-13 2007-09-15 Bae Systems Information Photonische signalmatrix in integrierter schaltung
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
WO2003040899A2 (en) 2001-11-06 2003-05-15 The Johns Hopkins University Techniques for performing logic operations using quantum states of single photons
US20030161631A1 (en) 2001-12-13 2003-08-28 Lambda Crossing Ltd. Optical channel monitor device and method
US6854004B2 (en) 2001-12-26 2005-02-08 The United States Of America As Represented By The Secretary Of The Navy Irregular optical interconnections to compensate for non-uniformities in analog optical processors
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
AU2003304482A1 (en) 2002-12-09 2005-04-11 The Johns Hopkins University Method and apparatus for single-photon source and quantum memory
CN1784842B (zh) 2003-05-08 2010-04-14 斯欧普迪克尔股份有限公司 高速、硅基电-光调制器
US20050019040A1 (en) 2003-07-24 2005-01-27 Trutna William R. Optical communication system and method using spread-spectrum encoding
US7251386B1 (en) 2004-01-14 2007-07-31 Luxtera, Inc Integrated photonic-electronic circuits and systems
DE102004014658B4 (de) 2004-03-25 2010-07-01 Photeon Technologies Gmbh Optischer Matrix-Vektor Multiplizierer
US7133173B2 (en) 2004-07-26 2006-11-07 Hewlett-Packard Development Company, L.P. Nonlinear electromagnetic quantum information processing
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
JP4927548B2 (ja) 2004-08-04 2012-05-09 古河電気工業株式会社 光回路装置
US7667995B1 (en) 2005-02-09 2010-02-23 University Of Iowa Research Foundation Teleportation system for electronic many-qubit states using individual photons
CN1713027A (zh) 2005-05-25 2005-12-28 中国科学院上海光学精密机械研究所 菲涅耳联合变换相关器
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
US7899324B2 (en) 2005-10-13 2011-03-01 Nicta Ipr Pty Limited Method and apparatus for sampled optical signal monitoring
US8023828B2 (en) 2005-10-17 2011-09-20 Hewlett-Packard Development Company, L.P. Quantum information conversion between matter and light representations
US7788192B2 (en) 2006-01-27 2010-08-31 D-Wave Systems Inc. Method for adiabatic quantum computing comprising of Hamiltonian scaling
US7817881B2 (en) 2006-06-01 2010-10-19 Bing Li Circuit architecture for electro-optic modulation based on free carrier dispersion effect and the waveguide capacitor structures for such modulator circuitry using CMOS or Bi-CMOS process
US7512573B2 (en) 2006-10-16 2009-03-31 Alcatel-Lucent Usa Inc. Optical processor for an artificial neural network
KR101446943B1 (ko) 2006-12-05 2014-10-06 디-웨이브 시스템즈, 인코포레이티드 양자 프로세서 요소들의 국부적 프로그래밍을 위한 시스템들, 방법들 및 장치
KR100890389B1 (ko) 2006-12-05 2009-03-26 한국전자통신연구원 편광 무의존 단방향 양자 암호 수신 및 송수신 장치
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
US8127075B2 (en) 2007-07-20 2012-02-28 Seagate Technology Llc Non-linear stochastic processing storage device
US8027587B1 (en) 2007-08-21 2011-09-27 Sandia Corporation Integrated optic vector-matrix multiplier
US8190553B2 (en) 2007-12-20 2012-05-29 Routt Thomas J Methods and systems for quantum search, computation and memory
JP5091717B2 (ja) 2008-02-21 2012-12-05 株式会社東芝 量子計算方法および量子計算機
CN101630178B (zh) 2008-07-16 2011-11-16 中国科学院半导体研究所 一种硅基集成化的光学向量-矩阵乘法器
US8213751B1 (en) 2008-11-26 2012-07-03 Optonet Inc. Electronic-integration compatible photonic integrated circuit and method for fabricating electronic-integration compatible photonic integrated circuit
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
EP2457328B1 (en) 2009-07-24 2014-03-26 Technion Research and Development Foundation, Ltd. Ultra-high-speed photonic-enabled adc based on multi-phase interferometry
CN102023672B (zh) 2009-09-23 2013-03-20 中国科学院半导体研究所 基于微环谐振器的集成化光学向量-矩阵乘法器
WO2011114753A1 (ja) 2010-03-19 2011-09-22 日本電信電話株式会社 光変調器
US8415086B2 (en) 2010-04-15 2013-04-09 Paul Scherrer Institut Method of studying chirality controlled artificial kagome spin ice building blocks
US8842995B2 (en) 2010-05-11 2014-09-23 The Invention Science Fund I, Llc Optical power transmission systems and methods
CN102164017B (zh) 2011-03-21 2013-09-18 中国科学院半导体研究所 四路并行数字调制和正交复用的波导芯片结构
US9002160B2 (en) 2011-07-28 2015-04-07 Jds Uniphase Corporation Optical switch having a multirow waveguide array
US9147155B2 (en) * 2011-08-16 2015-09-29 Qualcomm Incorporated Method and apparatus for neural temporal coding, learning and recognition
US9071364B1 (en) 2011-10-18 2015-06-30 Clariphy Communications, Inc. Coherent optical transceiver with programmable application modes
US8891914B2 (en) 2011-10-28 2014-11-18 Neophotonics Corporation Scalable optical switches and switching modules
US8837544B2 (en) 2011-10-28 2014-09-16 Hewlett-Packard Development Company, L.P. Quantum optical device
KR20130090147A (ko) * 2012-02-03 2013-08-13 안병익 신경망 컴퓨팅 장치 및 시스템과 그 방법
GB201211917D0 (en) 2012-07-04 2012-08-15 Cambridge Correlators Ltd Reconfigurable optical processor
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
FR3002654A1 (fr) 2013-02-26 2014-08-29 St Microelectronics Sa Modulateur optique avec correction de polarisation automatique
US9147154B2 (en) * 2013-03-13 2015-09-29 Google Inc. Classifying resources using a deep network
US9465168B2 (en) 2013-04-24 2016-10-11 Nec Corporation Polarization beam splitter and optical device
WO2014192153A1 (ja) 2013-05-31 2014-12-04 株式会社日立製作所 半導体装置
EP2821942B1 (en) 2013-07-05 2020-11-04 Universiteit Gent Reservoir computing using passive optical systems
US9830555B2 (en) 2013-07-09 2017-11-28 The Board Of Trustees Of The Leland Stanford Junior University Computation using a network of optical parametric oscillators
US9858531B1 (en) 2013-08-02 2018-01-02 University Of Maryland Fault tolerant scalable modular quantum computer architecture with an enhanced control of multi-mode couplings between trapped ion qubits
CN103473213A (zh) 2013-09-12 2013-12-25 中国科学院半导体研究所 用于光学向量-矩阵乘法器并行信息加载和提取的系统
US9900096B2 (en) 2013-09-17 2018-02-20 California Institute Of Technology Optically assisted electrical filtering and processing
US9159861B2 (en) 2013-10-21 2015-10-13 Oracle International Corporation Method for singulating hybrid integrated photonic chips
US9391708B2 (en) 2014-05-21 2016-07-12 Stmicroelectronics S.R.L. Multi-substrate electro-optical interconnection system
WO2016028363A2 (en) 2014-06-06 2016-02-25 Massachusetts Institute Of Technology Methods, systems, and apparatus for programmable quantum photonic processing
WO2016051410A1 (en) 2014-10-02 2016-04-07 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University All-optical silicon-photonic constellation conversion of amplitude-phase modulation formats
US11360278B2 (en) 2014-10-29 2022-06-14 Acacia Communications, Inc. Optoelectronic ball grid array package with fiber
EP3054368A1 (en) 2015-02-04 2016-08-10 Paris Sciences et Lettres - Quartier Latin Digital-data mixing apparatus and digital-data processing system
US10009135B2 (en) 2015-02-06 2018-06-26 The Trustees Of Princeton University System and method for photonic processing
EP4033281A1 (en) 2015-02-18 2022-07-27 SMART Photonics Holding B.V. Photonic integrated circuit, interposer unit and methods of making same
US10049322B2 (en) * 2015-05-21 2018-08-14 Google Llc Prefetching weights for use in a neural network processor
US10083395B2 (en) * 2015-05-21 2018-09-25 Google Llc Batch processing in a neural network processor
CN105046325B (zh) 2015-07-06 2017-12-15 电子科技大学 一种基于类mos发光器件模拟生物神经网络的电路
US10038498B1 (en) 2015-09-04 2018-07-31 Inphi Corporation Apparatus and methods for timing tone based transmitter skew alignment in an optical communication system
US11086966B2 (en) 2015-09-08 2021-08-10 Hewlett Packard Enterprise Development Lp Apparatus for solving Ising problems
US10657440B2 (en) 2015-10-26 2020-05-19 International Business Machines Corporation Optical synapse for neuromorphic networks
US10126572B2 (en) 2016-03-31 2018-11-13 Huawei Technologies Co., Ltd. Automatic endless polarization controller for a silicon-on-insulator platform
GB201607713D0 (en) 2016-05-03 2016-06-15 Imagination Tech Ltd Convolutional neural network
US10241346B2 (en) * 2016-05-07 2019-03-26 Microsoft Technology Licensing, Llc Degrees of freedom for diffraction elements in wave expander
US9852372B1 (en) 2016-06-03 2017-12-26 International Business Machines Corporation Reservoir computing device using external-feedback laser system
US20180024248A1 (en) * 2016-07-20 2018-01-25 Honeywell International Inc. Systems and methods for nequick modeling using neural networks
US10274989B2 (en) 2016-10-13 2019-04-30 Fathom Computing Wavelength multiplexed matrix-matrix multiplier
US20180260703A1 (en) 2016-11-22 2018-09-13 Massachusetts Institute Of Technology Systems and methods for training neural networks
US10985777B2 (en) 2016-12-09 2021-04-20 William Marsh Rice University Signal recovery via deep convolutional networks
US11258415B2 (en) 2017-01-25 2022-02-22 Government Of The United States Of America, As Represented By The Secretary Of Commerce Neuromimetic circuit
US11283002B2 (en) 2017-01-25 2022-03-22 Government Of The United States Of America, As Represented By The Secretary Of Commerce Josephson junction circuits for single-photon optoelectronic neurons and synapses
TW201837894A (zh) 2017-02-15 2018-10-16 日商半導體能源研究所股份有限公司 半導體裝置及顯示系統
US10338630B2 (en) 2017-04-03 2019-07-02 International Business Machines Corporation Optical computing system
US10634851B2 (en) 2017-05-17 2020-04-28 Massachusetts Institute Of Technology Apparatus, systems, and methods for nonblocking optical switching
US11017309B2 (en) 2017-07-11 2021-05-25 Massachusetts Institute Of Technology Optical Ising machines and optical convolutional neural networks
CN107798385B (zh) * 2017-12-08 2020-03-17 电子科技大学 基于块张量分解的循环神经网络稀疏连接方法
US11100418B2 (en) 2018-02-28 2021-08-24 D-Wave Systems Inc. Error reduction and, or, correction in analog computing including quantum processor-based computing
DE102018108283A1 (de) 2018-04-09 2019-10-10 Carl Zeiss Smt Gmbh Elektro-optische Leiterplatte zur Kontaktierung von photonischen integrierten Schaltungen
CN108599765A (zh) 2018-04-14 2018-09-28 上海交通大学 基于深度学习的模数转换器的噪声抑制失真校正的装置和方法
CA3100326A1 (en) 2018-05-15 2019-11-21 Lightmatter, Inc. Photonic processing systems and methods
WO2019222150A1 (en) 2018-05-15 2019-11-21 Lightmatter, Inc. Algorithms for training neural networks with photonic hardware accelerators
US10606004B2 (en) 2018-06-01 2020-03-31 Intel Corporation Distributed optoelectronic receiver
US10608663B2 (en) 2018-06-04 2020-03-31 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 美商光子智能股份有限公司 計算系統
EP3821181A1 (en) 2018-07-11 2021-05-19 Neiser, Paul Refrigeration apparatus and method
WO2020027233A1 (ja) * 2018-07-31 2020-02-06 ソニーセミコンダクタソリューションズ株式会社 撮像装置及び車両制御システム
WO2020092899A1 (en) 2018-11-02 2020-05-07 Lightmatter, Inc. Matrix multiplication using optical processing
US11604978B2 (en) * 2018-11-12 2023-03-14 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
US11734556B2 (en) 2019-01-14 2023-08-22 Lightelligence PTE. Ltd. Optoelectronic computing systems
WO2020149871A1 (en) 2019-01-16 2020-07-23 Lightmatter, Inc. Optical differential low-noise receivers and related methods
US10908634B1 (en) 2019-07-08 2021-02-02 Luminous Computing, Inc. Systems and methods for parallel photonic computing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170351293A1 (en) 2016-06-02 2017-12-07 Jacques Johannes Carolan Apparatus and Methods for Optical Neural Network
US20180121796A1 (en) 2016-11-03 2018-05-03 Intel Corporation Flexible neural network accelerator and methods therefor

Also Published As

Publication number Publication date
CN113159305A (zh) 2021-07-23
US11907832B2 (en) 2024-02-20
WO2019236591A1 (en) 2019-12-12
JP2021527287A (ja) 2021-10-11
TWI825452B (zh) 2023-12-11
US12001946B2 (en) 2024-06-04
US20240193410A1 (en) 2024-06-13
IL279181A (en) 2021-01-31
KR20210052430A (ko) 2021-05-10
CA3101026A1 (en) 2019-12-12
US11783172B2 (en) 2023-10-10
US20200250534A1 (en) 2020-08-06
EP3803710A1 (en) 2021-04-14
AU2019282632B2 (en) 2024-04-18
US11687767B2 (en) 2023-06-27
TW202001694A (zh) 2020-01-01
CN113159304A (zh) 2021-07-23
US11281972B2 (en) 2022-03-22
CN112424796A (zh) 2021-02-26
TW202209034A (zh) 2022-03-01
US20200250533A1 (en) 2020-08-06
US11734555B2 (en) 2023-08-22
SG11202011824PA (en) 2020-12-30
US20190370652A1 (en) 2019-12-05
US20220215257A1 (en) 2022-07-07
US20200242472A1 (en) 2020-07-30
AU2019282632A1 (en) 2020-12-10
CN113159308A (zh) 2021-07-23
TWI735886B (zh) 2021-08-11
US20200250532A1 (en) 2020-08-06
CN113159306A (zh) 2021-07-23
CN113159307A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
KR102589616B1 (ko) 광전자 컴퓨팅 시스템
US11853871B2 (en) Optoelectronic computing systems
US20210201126A1 (en) Optoelectronic computing systems
TWI819368B (zh) 光電計算系統
TWI777108B (zh) 計算系統、計算裝置及計算系統的操作方法
CN113496281A (zh) 光电计算系统
US20240232604A1 (en) Optoelectronic computing systems

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant