KR20240090341A - 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템 - Google Patents

광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20240090341A
KR20240090341A KR1020247015130A KR20247015130A KR20240090341A KR 20240090341 A KR20240090341 A KR 20240090341A KR 1020247015130 A KR1020247015130 A KR 1020247015130A KR 20247015130 A KR20247015130 A KR 20247015130A KR 20240090341 A KR20240090341 A KR 20240090341A
Authority
KR
South Korea
Prior art keywords
array
fourier transform
discrete fourier
map
carrier signal
Prior art date
Application number
KR1020247015130A
Other languages
English (en)
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 KR20240090341A publication Critical patent/KR20240090341A/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/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
    • 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
    • G06F17/141Discrete Fourier transforms
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Optical Communication System (AREA)

Abstract

장치는 적어도 하나의 제1 주파수 간격을 갖는 제1 캐리어 신호(505)를 생성하도록 구성된 주파수 콤(505a)을 포함한다. 장치는 또한 각각이 제1 캐리어 신호 중 하나의 진폭을 변조하고 변조된 캐리어 신호를 생성하도록 구성된 다수의 변조기(345)를 포함한다. 장치는 변조된 캐리어 신호를 사용하여 제1 방향으로 1차원 이산 푸리에 변환을 수행하도록 구성된 광학 커플러(330)의 2차원 어레이를 더 포함한다. 장치는 또한, 코히어런트 검출기(625a-625n)의 어레이 및 광학 커플러의 어레이의 출력 및 코히어런트 검출기에 광학적으로 결합된 제1 디멀티플렉서(605)를 포함한다. 장치는 적어도 하나의 제1 주파수 간격과 다른 적어도 하나의 제2 주파수 간격을 갖는 제2 캐리어 신호(515)를 생성하도록 구성된 국부 발진기(LO) 뱅크(515a) 또는 어레이를 더 포함한다. 또한, 장치는 LO 뱅크 또는 어레이의 출력과 코히어런트 검출기에 광학적으로 결합된 제2 디멀티플렉서(615)를 포함한다.

Description

광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템
본 개시는 일반적으로 광학 시스템(optical systems)에 관한 것이다. 보다 구체적으로, 본 개시는 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템에 관한 것이다.
컨벌루션 신경망(Convolutional neural networks)(CNNs)은 다양한 이미징(imaging), 추천(recommendation), 언어 처리(language processing) 및 기타 시스템(other systems)에 적용된다. 많은 컨볼루션 신경망은 하드웨어 설계(hardware designs)를 단순화하기 위해 행렬 형태의 컨볼루션(matrix-form convolutions)을 사용한다. 이러한 접근 방식에서, 컨볼루션 커널(convolution kernels)(가중치 맵(weight maps))과 입력 특징 맵(input feature maps)은 테플리츠 행렬(Toeplitz matrices) 벡터로 변환될 수 있으며, 여기서 테플리츠 행렬과 벡터를 곱하면 원하는 컨볼루션 합계가 생성된다. 그러나, 이러한 행렬 형태의 컨볼루션 기법은 일반적으로 데이터 크기 측면에서 비효율적이다. 예를 들어 NxN 크기의 동일한 가중치 맵과 입력 특징 맵의 경우, 테플리츠 행렬을 저장하는 데 필요한 메모리는 2N2 에서 N4로 확장될 수 있다. 테플리츠 행렬의 크기를 줄이면, 높은 새로 고침 빈도에서 큰 입력 데이터 블록의 복제 및 배포로 인해 전력 소비가 증가할 수 있다.
본 개시는 광학 네트워크를 사용하여 컨볼루션을 수행하는 방법 및 시스템에 관한 것이다.
제1 실시예에서, 장치는 적어도 하나의 제1 주파수 간격(first frequency spacing)을 갖는 다수의 제1 캐리어 신호(first carrier signals)를 생성하도록 구성된 주파수 콤(frequency comb)을 포함한다. 장치는 또한 제1 캐리어 신호를 변조하도록 구성된 다수의 변조기(multiple modulators)를 포함하며, 각각의 변조기는 행렬의 대응하는 부분으로부터의 시계열 값(time series of values)에 기초하여 제1 캐리어 신호 중 대응하는 하나를 변조하도록 구성된다. 또한, 장치는 변조된 제1 캐리어 신호를 사용하여 행렬 부분의 1차원(1D) 이산 푸리에 변환을 수행하도록 구성된 광학 커플러(optical couplers)의 어레이를 포함하며, 광학 커플러의 어레이는 행렬의 대응하는 부분에서 각각의 시계열 값에 대한 1D 푸리에 계수의 시계열을 출력하도록 구성된다.
제2 실시예에서, 장치는 적어도 하나의 제1 주파수 간격을 갖는 제1 캐리어 신호를 생성하도록 구성된 주파수 콤을 포함한다. 장치는 또한 각각이 제1 캐리어 신호 중 하나의 진폭을 변조하고 변조된 캐리어 신호를 생성하도록 구성된 다수의 변조기를 포함한다. 장치는 변조된 캐리어 신호를 사용하여 제1 방향으로 1D 이산 푸리에 변환을 수행하도록 구성된 광학 커플러의 2차원(2D) 어레이(two-dimensional (2D) array)를 더 포함한다. 장치는 또한, 코히어런트 검출기(coherent detectors)의 어레이 및 광학 커플러의 어레이의 출력 및 코히어런트 검출기에 광학적으로 결합된 제1 디멀티플렉서(first demultiplexers)를 포함한다. 장치는 적어도 하나의 제1 주파수 간격과 다른 적어도 하나의 제2 주파수 간격(second frequency spacing)을 갖는 제2 캐리어 신호(second carrier signals)를 생성하도록 구성된 국부 발진기(LO) 뱅크(local oscillator (LO) bank) 또는 어레이를 더 포함한다. 또한, 장치는 LO 뱅크 또는 어레이의 출력과 코히어런트 검출기에 광학적으로 결합된 제2 디멀티플렉서(second demultiplexers)를 포함한다.
세 번째 실시예에서, 방법은 입력 특징 맵을 획득하는(obtaining) 단계 및, 광학 네트워크를 사용하여 푸리에-공간 입력 특징 맵을 생산하기 위해 입력 특징 맵의 2D 이산 푸리에 변환(2D discrete Fourier transform)을 생성하는(generating) 단계를 포함한다. 또한, 이 방법은, 가중치 맵(weight map)에 기초하여 푸리에-공간 가중치 맵(Fourier-space weight map)을 획득하는 단계 및 푸리에-공간 입력 특징 맵(Fourier-space input feature map)과 푸리에-공간 가중치 맵(Fourier-space weight map)의 하다마드 곱셈(Hadamard multiplication)을 수행하는(performing) 단계를 포함한다.
다른 기술적 특징은 다음의 도면, 설명 및 청구범위로부터 당업자에게 쉽게 명백해질 수 있다.
본 개시 내용의 보다 완전한 이해를 위해, 이제 첨부 도면과 함께 다음의 설명을 참조한다:
도 1은 푸리에 도메인에서 컨볼루션을 수행하는 예시적인 프로세스를 도시한다;
도 2는 본 개시에 따른 하이브리드 2차원 이산 푸리에 변환(hybrid two-dimensional discrete Fourier transform)을 수행하기 위한 예시적인 프로세스를 도시한다;
도 3a 및 도 3b는 1차원 이산 푸리에 변환(one-dimensional discrete Fourier transform)을 계산하기 위한 예시적인 수학적 구성(mathematical construct)과 본 개시에 따른 1차원 이산 푸리에 변환을 구현하는 예시적인 광학 시스템(optical system)을 도시한다;
도 4a 및 도 4b는 본 개시에 따른 광학 시스템 및 2차원 이산 푸리에 변환과 연관된 예시적인 주파수 스펙트럼을 사용하는 예시적인 2차원 이산 푸리에 변환 계산을 도시한다;
도 5a 내지 5e는 본 개시에 따른 2차원 이산 푸리에 변환과 연관된 예시적인 주파수 스펙트럼(frequency spectra) 및 광학 시스템을 사용한 또 다른 예시적인 2차원 이산 푸리에 변환 계산(two-dimensional discrete Fourier transform computation)을 도시한다;
도 6은 본 개시에 따른 열 이산 푸리에 변환 블록(column discrete Fourier transform block)의 예시적인 구현을 도시한다;
도 7은 본 개시에 따른 가중치를 통합하는 열 이산 푸리에 변환 블록의 예시적인 구현을 도시한다; 및
도 8은 본 개시에 따른 광학 네트워크를 사용하여 컨볼루션을 수행하는 예시적인 방법을 도시한다.
아래에 설명된 도 1 내지 8 및 본 발명의 원리를 설명하기 위해 사용된 다양한 실시예는 단지 예시일 뿐이며 어떠한 방식으로든 본 발명의 범위를 제한하는 것으로 해석되어서는 안 된다. 당업자는 본 개시의 원리가 적절하게 배치된 임의의 유형의 장치 또는 시스템에서 구현될 수 있다는 것을 이해할 것이다.
위에서 설명한 것처럼, 컨벌루션 신경망(Convolutional neural networks)(CNNs)은 다양한 이미징(imaging), 추천(recommendation), 언어 처리(language processing) 및 기타 시스템(other systems)에 적용된다. 많은 컨볼루션 신경망은 하드웨어 설계(hardware designs)를 단순화하기 위해 행렬 형태의 컨볼루션(matrix-form convolutions)을 사용한다. 이러한 접근 방식에서, 컨볼루션 커널(convolution kernels)(가중치 맵(weight maps))과 입력 특징 맵(input feature maps)은 테플리츠 행렬(Toeplitz matrices) 벡터로 변환될 수 있으며, 여기서 테플리츠 행렬과 벡터를 곱하면 원하는 컨볼루션 합계가 생성된다. 그러나, 이러한 행렬 형태의 컨볼루션 기법은 일반적으로 데이터 크기 측면에서 비효율적이다. 예를 들어 NxN 크기의 동일한 가중치 맵과 입력 특징 맵의 경우, 테플리츠 행렬을 저장하는 데 필요한 메모리는 2N2 에서 N4로 확장될 수 있다. 테플리츠 행렬의 크기를 줄이면, 높은 새로 고침 빈도에서 큰 입력 데이터 블록의 복제 및 배포로 인해 전력 소비가 증가할 수 있다.
본 개시물은 행렬의 컨볼루션을 포함하는 신호 처리 및 기타 동작을 수행하기 위한 다양한 방법 및 시스템을 제공한다. 아래에 더 자세히 설명된 것처럼, 이러한 방법과 시스템은 두 행렬의 컨볼루션의 결정을 가능하게 한다. 예로서, 본 개시 내용의 실시예는 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템을 제공한다. 여기에 설명된 방법과 시스템은 이미지 처리, 패턴 분석, 서명 인식, 추천, 언어 처리 등에 유용한 시스템을 포함한 다양한 컴퓨터 시스템(computational systems)에 적용될 수 있다. 이전 접근 방식과 비교하여, 본 개시 내용에 설명된 방법 및 시스템을 사용하면, 다양한 이점 또는 장점이 달성될 수 있다. 예를 들어, 본 개시 내용의 실시예는, 광학 도메인(optical domain)에서 푸리에 변환을 수행하기 위해 광학 시스템을 사용함으로써, 계산 부하(computational loads) 및 메모리 요구 사항(memory requirement)을 상당히 감소시키면서 행렬의 컨벌루션을 계산할 수 있다. 본 개시 내용의 다양한 실시예의 추가 특징, 이점 및 장점은 아래에서 더 자세히 설명된다.
아래 논의에서는 종종 광학 시스템이 컨볼루션 신경망에 대한 컨볼루션을 수행하는 데 사용된다고 가정할 수 있지만, 이는 단지 예시와 설명을 위한 것일 뿐이다. 본 개시물에 설명된 방법 및 시스템은 임의의 적합한 목적을 위해 임의의 원하는 행렬의 컨볼루션을 수행하는 데 사용될 수 있다. 결과적으로, 본 개시물에 설명된 방법 및 시스템은 콘볼루션 신경망에 대한 행렬의 컨볼루션을 수행하는 데 사용될 수 있지만, 본 개시물에 설명된 방법 및 시스템은 임의의 다른 적합한 애플리케이션에 사용될 수 있다.
도 1은 푸리에 도메인에서 컨볼루션을 수행하는 예시적인 프로세스(process)(100)를 도시한다. 즉, 도 1의 프로세스(100)는 주파수 영역에서 컨볼루션을 수행하는 데 사용된다. 도 1에 도시된 바와 같이, 컨볼루션을 수행하는 프로세스(100)는 일반적으로 입력 특징 맵(input feature map)(105) 및 가중치 맵(weight map)(110)을 사용하여 동작한다. 입력 특징 맵(105)은 일반적으로 하나 이상의 이미지, 오디오 샘플 또는 기타 입력 데이터의 특징과 같이 처리되는 입력 데이터와 연관된 특징의 컬렉션(collection)을 나타낸다. 입력 특징 맵(105)은 특징 추출기(feature extractor)를 사용하여 생산되는 경우가 많으며, 이는 특정 작업과 관련된 것으로 결정된 특징을 추출하도록 훈련된 기계 학습 모델(machine learning model)의 적어도 일부를 나타낼 수 있다. 가중치 맵(weight map)(110)은 일반적으로 입력 특징 맵(105)에 적용될 가중치들의 컬렉션(collection)을 나타낸다. 가중치 맵(110)의 가중치는, 기계 학습 모델의 훈련(training) 중에 가중치가 결정되는 경우와 같이, 임의의 적절한 방식으로 결정될 수 있다.
도 1에서 볼 수 있는 바와 같이, 입력 특징 맵(105)은 제로-패딩된 입력 특징 맵(zero-padded input feature map)(115)을 형성하기 위해 제로-패딩될 수 있고, 가중치 맵(110)은 제로-패딩된 가중치 맵(zero-padded weight map)(120)을 형성하기 위해 제로-패딩될 수 있다. 여기서 제로-패딩 동작(zero-padding operations)은 입력 특징 맵(105)과 가중치 맵(110)의 항목 주위에 "0" 값을 포함하는 추가 항목을 추가하는 것을 포함할 수 있다. 무엇보다도, 입력 특징 맵(105)과 가중치 맵(110)이 주기적이라고 가정되지 않기 때문에, 제로-패딩은 푸리에 변환 프로세스의 결과로 발생하는 에일리어싱(zero-padding can be used to address aliasing)을 해결하는 데 사용될 수 있다. 제로-패딩은 원래의 입력 특징 맵(105) 및 가중치 맵(110)에 비해 제로-패딩된 입력 특징 맵(115) 및 제로-패딩된 가중치 맵(120)의 데이터 크기를 증가시킬 수 있다. 그러나, 그 영향은 작은 가중치 맵(110)에 대해 영향은 일반적으로 작으며(테플리츠 행렬과 행렬 곱셈을 사용하는 전통적인 컨볼루션 방법에 비해), 경계가 폐기되면 구현되지 않을 수 있다.
제로-패딩된 입력 특징 맵(115) 및 제로-패딩된 가중치 맵(120)은 각각 제1 2차원(2D) 이산 푸리에 변환(DFT) 유닛(first two-dimensional (2D) discrete Fourier transform (DFT) unit)(125) 및 제2 2D 이산 푸리에 변환 유닛(130)에 공급될 수 있다. 이산 푸리에 변환 유닛(discrete Fourier transform units)(125, 130)은 각각, 제로-패딩된 입력 특징 맵(115)과 제로-패딩된 가중치 맵(120)을 푸리에 영역(주파수 영역)으로 변환하도록 동작한다. 어떤 경우에는 가중치 맵(110 또는 120)에 대해 수행된 2D 이산 푸리에 변환이 디지털 방식으로 수행되어 메모리에 저장될 수 있다는 점에 유의한다. 이는 많은 애플리케이션에서 가중치 행렬이 다른 입력 특징 맵(105)에 대해 동일하기 때문이다. 이러한 실시예에서, 가중치 맵(110 또는 120)에 대해 수행된 2D 이산 푸리에 변환의 결과는 메모리로부터 검색되고 추가적인 입력 특징 맵(105)이 얻어지고 처리될 때마다 사용될 수 있다.
제로-패딩된 입력 특징 맵(115)과 제로-패딩된 가중치 맵(120)이 푸리에 도메인으로 변환되면, 이들 맵(이제 주파수 도메인에 있음)은 하다마드 곱셈기(Hadamard multiplier)(135)에 공급될 수 있다. 하다마드 곱셈기(135)는 일반적으로 두 개의 주파수 영역 맵의 요소-단위 곱셈(element-wise multiplication)을 수행하도록 동작한다. 하다마드 곱셈기(135)에 의해 생성된 결과를 다시 공간 영역으로 변환하기 위해, 하다마드 곱셈기(135)의 출력은 2D 역 이산 푸리에 변환(IDFT) 유닛(2D inverse discrete Fourier transform (IDFT) unit)(140)에 공급될 수 있다. 역 이산 푸리에 변환 유닛(inverse discrete Fourier transform unit)(140)은 하다마드 곱셈기(135)에서 생성된 결과를 공간 영역(spatial domain)으로 변환한다. 역 이산 푸리에 변환 유닛(140)의 출력은 입력 특징 맵(105)과 가중치 맵(110)의 컨볼루션을 나타내는 출력 행렬(output matrix)(145)이다.
이러한 방식으로, 도 1에 도시된 프로세스(100)는 푸리에 영역에서 컨볼루션을 구현하는 데 사용될 수 있다. 푸리에(주파수) 영역에서 컨벌루션을 수행하면 기존 행렬 곱셈 접근 방식에 비해 컨벌루션의 복잡성을 줄이는 데 도움이 될 수 있다. 예를 들어, 푸리에 영역에서 컨볼루션을 수행하면 컨볼루션의 순환 이동 곱셈-덧셈 동작이 푸리에 영역에서 하다마드 곱셈(요소-단위 곱셈) 동작이 된다. 그러나, 이산 푸리에 변환 유닛(125, 130)을 사용하여 2D 이산 푸리에 변환을 수행하는 것뿐만 아니라 역 이산 푸리에 변환 유닛(140)을 사용하여 2D 이산 푸리에 변환을 수행하는 것은, 종래 기술을 사용하므로 계산적으로 비용이 많이 든다. 일반적으로 주문형 집적 회로(application specific integrated circuits)(ASIC)를 사용하여 구현될 수 있는 그래픽 처리 장치(graphics processing units (GPUs)를 사용하는 접근 방식도 높은 계산 부하로 인해 어려움을 겪을 수 있다. 보다 효과적인 방식으로 푸리에 영역 컨볼루션을 구현하기 위해, 도 1에 도시된 프로세스(100)의 요소는 계산 비용 및 메모리 자원의 감소를 제공하는 하나 이상의 광학 시스템을 사용하여 수행될 수 있다.
도 2는 본 개시에 따라 하이브리드 2D 이산 푸리에 변환을 수행하기 위한 예시적인 프로세스(200)를 도시한다. 도 2에 도시된 바와 같이, 2D 이산 푸리에 변환은 두 개의 계단식 1차원(1D) 이산 푸리에 변환을 사용하여 구현될 수 있다. 이 예에서, 입력 특징 맵(input feature map)(205)(위에서 설명한 입력 특징 맵(105) 또는 제로-패딩된 입력 특징 맵(115)을 나타낼 수 있음)은 MxN 크기의 행렬이며, 이는 입력 특징 맵(205)이 M 개의 행 및 N 열의 행렬 요소를 갖는다는 것을 의미한다. 여기서 입력 특징 맵(205)은 열-단위 벡터(column-wise vectors)(210)의 세트로 분해될 수 있다. 즉, 입력 특징 맵(205)의 각각의 열은 열-단위 벡터(column-wise vectors)(210)의 세트에서 별도의 벡터(210)를 형성하는 데 사용될 수 있다.
1D 이산 푸리에 변환(M-포인트 1D 이산 푸리에 변환과 같은)은, 예를 들어, 제1 1D 이산 푸리에 변환이 열-단위 벡터(210)의 세트의 각각의 벡터(210)에 대해 수행되는 것 같이, 입력 특징 맵(205)의 첫 번째 차원에 걸쳐 수행될 수 있다. 따라서 제1 1D 이산 푸리에 변환은 도 2에서 "M-포인트 DFT1D"로 표시된다. 여기서, 주어진 열의 값은 M-포인트 이산 푸리에 변환을 수행하는 데 사용되며, 이는 주어진 열의 모든 행의 값이 이산 푸리에 변환에 사용되므로 "행 DFT"라고도 할 수 있다. 제1 1D 이산 푸리에 변환의 출력은 행-단위 벡터(row-wise vectors)(215)의 세트로 배치될 수 있다. 예를 들어, 제1 1D 이산 푸리에 변환의 출력으로 획득된 각각의 열 벡터의 제1 요소는, 제1 행-단위 벡터(first row-wise vector)(215)로 그룹화되고, 후속 행-단위 벡터(215)는, 제1 1D 이산 푸리에 변환의 출력으로서 획득된 열 벡터 각각의 제n 요소를 그룹화함으로써 획득될 수 있다.
제2 1D 이산 푸리에 변환(N-포인트 1D 이산 푸리에 변환과 같은)은, 제2 1D 이산 푸리에 변환이 행-단위 벡터의 세트(215)에서 각각의 벡터(215)에 대해 수행되는 경우와 같이, 행-단위 벡터 세트(215)의 제2 차원에 걸쳐 수행될 수 있다. 따라서 제2 1D 이산 푸리에 변환은 도 2에서 "N-포인트 DFT1D"로 표시되며, 주어진 행의 값은 N-포인트 이산 푸리에 변환을 수행하는 데 사용된다. 이는 입력 특징 맵(205)의 2D 이산 푸리에 변환의 생성을 완료한다.
도 2에 도시된 프로세스(200)에 기초하여, 광학 영역에서 하이브리드 2D 이산 푸리에 변환을 수행하는 것이 가능하다. 아래에서 더 자세히 논의되는 바와 같이, 하나 이상의 광학 시스템은, 입력 특징 맵(205)의 N 열에 대한 1D 이산 푸리에 변환과 함께 입력 특징 맵(205)의 M 행에 대한 1D 이산 푸리에 변환을 수행하는 데 사용될 수 있다. 이러한 유형의 접근 방식은 처리 및 메모리 리소스 측면에서 행렬 컨볼루션의 결정을 훨씬 더 효율적으로 만드는 데 도움이 될 수 있다.
도 3a 및 도 3b는 본 개시에 따라 1D 이산 푸리에 변환을 계산하기 위한 예시적인 수학적 구성(mathematical construct)(300)과 1D 이산 푸리에 변환을 구현하는 예시적인 광학 시스템(optical system)(320)을 도시한다. 도 3a에 도시된 바와 같이, 수학적 구성(300)은 입력 벡터(input vector)(305)를 사용하여 수행된 1D 이산 푸리에 변환을 나타낸다. 일부 경우에, 입력 벡터(305)는 처리 중인 입력 특징 맵(205)과 연관된 열-단위 벡터(210)를 나타낼 수 있다. M 개의 총 포인트를 사용하는 1D 이산 푸리에 변환은 MxM 크기의 유니터리 행렬(unitary matrix)(310)(유니터리 변환(unitary transform)이라고도 함)로 표현될 수 있다. 따라서 유니터리 행렬(310)의 크기는, 입력 벡터(305)의 요소와 연관된 값에 의해 정의되는 것과는 반대로, 입력 벡터(305)의 길이 M 에 의해 정의될 수 있다. 입력 벡터(305)에 적용된 1D 이산 푸리에 변환의 출력인 출력 벡터(315)를 생성하기 위해 유니터리 행렬(310)이 입력 벡터(305)에 적용될 수 있다. 일부 경우에, 출력 벡터(315)는 행-단위 벡터(215)를 나타낼 수 있다. 여기서, 출력 벡터(315)는 입력 벡터(305)의 푸리에 도메인 표현이다.
유니터리 행렬(310)은 도 3b에 도시된 바와 같이 광학 시스템(320)에 매핑될 수 있다. 도 3b에 도시된 바와 같이, 광학 시스템(320)은 도 3a에 도시된 1D 이산 푸리에 변환을 구현하도록 구성된다. 광학 시스템(320)은 복수의 입력 포트(input ports)(325), 복수의 입력 포트(325)에 연결되는 복수의 광학 커플러(optical couplers)(330), 및 복수의 광학 커플러(optical couplers)(330)에 연결되는 복수의 출력 포트(output ports)(335)를 포함하는 패시브 광학 네트워크(passive optical network)일 수 있다. 일부 경우에, 광학 시스템(320)은 "커플링 네트워크"로 지칭될 수 있다. 광학계(320)는 복수의 광학 커플러(330)를 구성하는 미리 결정된 또는 다른 특정 개수의 광학 커플러(330)를 포함한다. 여기서 광학 커플러(330)는 광학 커플러(330)의 2D 어레이를 형성하도록 배치된다. 유니터리 행렬(310)의 크기는 입력 벡터(305)의 길이 M에 의해 정의되는 반면, 광학 시스템(320)의 광학 네트워크의 크기는 다른 값을 갖는 요소를 갖는 다른 입력 벡터(305)에 대해 동일할 수 있다. 일부 실시예에서, 광학 시스템(320)의 광학 커플러(330)의 수는 (M-1)/2xM 과 동일하다. 또한, 일부 실시예에서, 광학 커플러(330)는 소멸파 결합(evanescent wave coupling), 다중 모드 간섭(multimode interference) 등을 활용하는 50/50 광학 커플러(optical couplers)이다.
본 개시의 실시예는 DFT 행렬의 크기를 축소하는 것과 같이 패시브 광학 네트워크에 의해 활용되는 입력 크기를 변경하기 위한 여러 옵션을 제공한다. 예를 들어, 도 1에 표시된 제로-패딩이 입력 행렬의 입력 크기를 변경하기 위해 활용될 수 있다. 다른 예로서, 복수의 광학 커플러(330) 중 광학 커플러(330) 간의 결합 비율은 더 작은 크기의 입력 행렬을 제공하기 위해 재구성될 수 있다. 경우에 따라, 재구성은 결합 비율을 0으로 줄이는 것을 포함할 수 있다. 당업자는 다양한 변형, 수정 및 대안을 인식할 것이다.
광학 시스템(320)은 대응하는 도파관을 사용하여 복수의 입력 포트(325)에 광학적으로 결합된 광원(light source)(340)으로부터 광학 신호를 수신할 수 있다. 일부 실시예에서, 광원(340)은 적어도 하나의 레이저, 발광학 다이오드(LED), 펄스 소스 등을 나타낸다. 복수의 입력 포트(325)에 입력 벡터(305)의 요소의 값을 로딩하기 위해, 입력 벡터(305)의 요소의 값(예: x[0, 0], x[1, 0], x[2, 0], ?, x[M - 1, 0])은 대응하는 변조기(345)를 제어하는 데 사용된다. 대응하는 요소의 값(x[0, 0], x[1, 0], x[2, 0], ?, x[M - 1, 0])에 의해 제어되는 각각의 변조기(345)는 대응하는 도파관(캐리어 신호를 나타냄)을 복수의 광학 커플러(330)에 연결한다. 예를 들어, 각각의 변조기(345)는 변조기(345)에 제공되는 광학 전력(캐리어 신호)의 진폭과 위상을 변조하는 데 사용될 수 있다. 따라서, 입력 벡터(305)에 대응하는 전기 신호는 광원(340)에 의해 제공되는 광학 신호를 변조하는 데 사용될 수 있다. 일부 실시예에서, 입력 벡터(305)에 대응하는 전기 신호는 샘플 간 간섭을 방지하기 위해 펄스화될 수 있으며, 여기서 전기 신호의 펄스 지속 시간은 전기 신호의 샘플 주기보다 짧다. 또한, 일부 실시예에서, 광원(340)은 샘플간 간섭을 방지하기 위해 펄스화될 수 있으며, 여기서 광학 전력의 펄스 폭은 전기 신호의 샘플 주기보다 짧다. 아래에서 더 자세히 설명되는 바와 같이, 복수의 광학 커플러(330) 각각의 출력은 디멀티플렉서에 제공되는 광학 신호이다. 일부 실시예에서, 전기 출력은 코히어런트 수신기의 어레이에 의해 제공되어 전기 입력 및 전기 출력을 갖춘 시스템이 된다.
일부 경우에, 입력 포트(input ports)(325)는 광원(340)으로부터 고정되고 동일한 광학 전력을 수신할 수 있다. 특정 예로서, 광원(340)으로 사용되는 105밀리와트 레이저 또는 LED는 복수의 입력 포트(325) 각각에 1밀리와트를 제공하는 데 사용될 수 있다. 이 특정 예에서, 각각의 변조기(345)에 들어가는 광학 전력(optical power)의 변조는, 특정 변조기(345)와 연관된 입력 벡터(305)의 요소의 값에 따라, 0밀리와트에서 1밀리와트까지 변하는 각각의 변조기(345)로부터의 출력을 초래할 수 있다. 각각의 변조기(345)에서 나가는 광학 전력은 특정 변조기(345)와 연관된 입력 벡터(305)의 요소의 값에 대응한다. 이에 따라, 입력 벡터(305)의 요소들의 값은 1차원 이산 푸리에 변환을 수행하는 광학계(320)의 광학 네트워크에 로딩된다.
복수의 광학 커플러(330)에서 나오는 광학 신호는 출력값 X0[0], X1[0], X2[0], ?, XM-1[0]으로 표현된다. 이들 값은 푸리에 영역으로 변환된 후의 입력 벡터(305)의 값을 나타낸다. 결과적으로, 복수의 출력 포트(335)에 존재하는 광학 신호는 입력 벡터(305)의 푸리에 변환인 출력 벡터(315)를 검색하기 위해 액세스될 수 있다.
도 2에 도시된 제1 1D 이산 푸리에 변환은, 도 2에 도시된 제1 열-단위 벡터(210)의 요소의 값을 열-단위 벡터(210)의 대응하는 요소와 연관된 변조기(345)로 로드함으로써, 광학 시스템(320)을 사용하여 계산될 수 있다. 나머지 열-단위 벡터(210)의 1D 이산 푸리에 변환을 계산하기 위해, 각각의 나머지 열-단위 벡터(210)의 요소의 값은 각각의 나머지 열-단위 벡터(210)의 대응하는 요소와 연관된 변조기(345)에 로드된다. 따라서, 도 2에 도시된 M x N 입력 특징 맵(205)에 대한 N 사이클 후에, 도 2의 M- 포인트 DFT1D로 표현된 1D 이산 푸리에 변환이 수행된다. 유사하게, 도 2에 도시된 제2 1D 이산 푸리에 변환은 도 2에 도시된 제1 행-단위 벡터(215)의 요소의 값을 행-단위 벡터(215)의 대응하는 요소와 연관된 변조기(345)에 로딩함으로써 광학 시스템(320)을 사용하여 계산될 수 있다. 나머지 행-단위 벡터(215)의 1D 이산 푸리에 변환을 계산하기 위해, 각각의 나머지 행-단위 벡터(215)의 요소의 값은 각각의 나머지 행-단위 벡터(215)의 대응하는 요소와 연관된 변조기(345)에 로드된다.
이러한 방식으로, 광학 시스템(320)을 사용하여, 광학 시스템(320)이 복수의 광학 커플러(330)에 연결된 변조기(345)를 사용하여 동기식으로 로드되는 값의 이산 푸리에 변환을 계산하는 1D 이산 푸리에 변환의 물리적 구현이 제공된다. 복수의 광학 커플러(330)를 통해 빛이 전파됨에 따라, 복소수(실수부 및 허수부 포함)의 이산 푸리에 변환 계수(X0[0], X1[0], X2[0] 등)의 어레이가 복수의 출력 포트(output ports)(335)에 존재하는 광학 신호의 형태로 계산된다. 위에서 언급한 바와 같이, 본 개시의 실시예는 입력 벡터(305)의 요소의 값과 관계없이 정적으로 유지되는 물리적 네트워크(예: 복수의 광학 커플러(330))를 활용한다. 따라서, 가중치가 변경됨에 따라 변조기(345)에서 출력되는 광학 신호의 전력은 변경되지만, 복수의 광학 커플러(330)의 크기 및 레이아웃은 변경되지 않는다. 입력 특징 맵의 열 또는 행을 광학 시스템(320)에 순차적으로 로드함으로써, 입력 특징 맵에 대해 1D 이산 푸리에 변환이 계산된다.
도 4a 및 도 4b는 본 개시에 따른 광학 시스템(400) 및 2D 이산 푸리에 변환과 연관된 예시적인 주파수 스펙트럼(420)을 사용하는 예시적인 2D 이산 푸리에 변환 계산을 도시한다. 도 4a에 도시된 바와 같이, 입력 특징 맵(예: 입력 특징 맵(205))의 열(예: 열-단위 벡터(210))에 있는 요소의 값은 변조기(345)를 사용하여 순차적으로 로드될 수 있으며, 이는 도 3b를 참조하여 위에서 설명한 것과 동일하거나 유사한 방식으로 발생할 수 있다. 결과적으로, 시계열 세트(time series set)(405) 내의 요소의 값의 시계열이 각각의 변조기(345)에 제공될 수 있다. 입력 특징 맵의 열에 있는 요소의 값은, 시간T0에서 시계열 세트(405)의 제1 열에 있는 M 값, 시간 T1에서 시계열 세트(405)의 제2 열에 있는 M 값, 및 시간 TN-1 에서 시계열 세트(405)의 제N 열에 있는 M 값까지 계속되는 것으로 도시된다.
도 4a에서 볼 수 있듯이, 2D 입력 특징 맵(도 1의 입력 특징 맵(105) 또는 제로-패딩된 입력 특징 맵(115)과 같은)의 행에 걸쳐 이산 푸리에 변환을 계산하기 위해, 입력 특징 맵의 각각의 열은, 시계열 세트(405)를 생산기 위해 샘플링 기간 TS와 같이 시계열화된다. 시계열 세트(405)의 값은 행 DFT 블록(410)의 복수의 입력 포트에 공급된다. 여기서 행 DFT 블록(410)은 도 3b에 도시되고 위에서 설명된 다양한 광학 커플러(330)에 의해 형성된 광학 네트워크를 나타낸다. 각 기간TS후에 입력 특징 맵의 각각의 열을 따라 1D 이산 푸리에 변환 계수가 생성된다. 이는 시계열 세트(415)의 각각의 열에 대한 1D 푸리에 계수의 시계열을 생산한다. 시계열 세트(405) 내의 1D 푸리에 계수의 시계열은 시간 T0, T1, T2, ?, TN-1.과 연관되는 것으로 예시된다.
1D 푸리에 계수의 시계열 세트(415)에서 1D 푸리에 계수의 각각의 시계열이 함수 y0(t)로 간주되면, 시계열의 푸리에 변환은 주파수 스펙트럼 Y0(ω)(420)을 갖는다. 주파수 스펙트럼(420)은 도 4b에 예시되어 있다. 따라서, 시계열 세트(415)의 각각의 시계열의 주파수 스펙트럼(420)은 (입력 특징 맵의 행과 같은) 제2 차원을 따른 푸리에 변환을 나타낸다. 이에 따라 시계열의 단기 푸리에 변환을 계산하여, 입력 특징 맵의 2차원 이산 푸리에 변환을 계산한다.
도 3b 및 4a에는 단일 광원(340)이 도시되어 있으며, 일부 경우에는 단일 파장 또는 단일 좁은 파장 범위 내에서 입력 광을 제공할 수 있다는 점에 유의한다. 그러나 아래에 설명된 것처럼 다중 파장 소스를 활용하여 시계열의 단기 푸리에 변환을 수행할 수도 있다.
도 5a 내지 도 5e는 본 개시에 따른 광학 시스템(500) 및 2D 이산 푸리에 변환과 연관된 예시적인 주파수 스펙트럼(520a-520m)을 사용하는 또 다른 예시적인 2D 이산 푸리에 변환 계산을 도시한다. 도 5a에 도시된 바와 같이, 단기 푸리에 변환(short-time Fourier transform)을 디지털 방식으로 계산하는(전력 소비를 증가시킬 수 있는) 대신, 함수 y0(t)로 표현되는 1D 푸리에 계수를 주파수 스펙트럼 Y0(ω)으로의 제2 1D 이산 푸리에 변환은 위상-코히어런트 캐리어 어레이를 사용한 코히어런트 검출을 통한 물리적 푸리에 분해(physical Fourier decomposition)에 의해 수행될 수 있다. 이 예에서는 MxN 입력 특징 맵(input feature map)(예: 입력 특징 맵(105) 또는 제로-패딩된 입력 특징 맵(115))에 대해 N-톤 캐리어 어레이(N-tone carrier array)(505)이 사용되며, 이는 일부 경우에 Δ와 동일한 반송파 주파수 간격을 갖는 주파수 콤(505a)에 의해 제공될 수 있다. 즉, 주파수 콤(505a)은 Δ만큼 동일한 간격을 갖는 주파수를 갖는 N개의 광학 신호를 생성할 수 있다(콤의 주파수 간격이 서로 다를 수도 있음). 여기에서 캐리어 어레이(505)/주파수 콤(505a)은 위에서 논의된 광원(340) 대신에 입력 광원으로서 사용될 수 있다. N-톤 캐리어 어레이(505)의 각각의 캐리어 신호(carrier signal)는 동일한 입력 값(예: 입력 특징 맵의 열-단위 벡터(210)의 동일한 요소)을 변조하는 데 사용될 수 있으며, 그에 의해 행 DFT 블록(row DFT block)(410)에서 계산된 이산 푸리에 변환 계수(discrete Fourier transform coefficients)를 N 개의 스펙트럼적으로 구별되는 사본으로 복제한다. 예를 들어, 도 5b에 도시된 바와 같이, (N개의 사본 중) 주파수 스펙트럼(420)의 6개 사본이 주파수 도메인 시그니처(frequency domain signature)(주파수 스펙트럼(520a))로 도시되어 있다. 이 예에서, 6개 사본의 인접한 각각의 쌍 사이의 간격은 캐리어 주파수 간격 Δ와 같다.
입력 벡터에 대한M값이 동기적으로 입력되기 때문에, 시계열 세트(415)의 각각의 시계열을 제공하기 위해 계산된 이산 푸리에 변환 계수가 동기적으로 생산된다. 따라서, 도 5c 내지 5e에 도시된 바와 같이, X1(nTs)에 대응하는 주파수 스펙트럼의 6개 사본은 주파수 영역 시그니처(주파수 스펙트럼 520b)에 포함되고, X2(nTs)에 대응하는 주파수 스펙트럼의 6개 사본은 주파수 도메인 시그니처(주파수 스펙트럼 520c)에 포함되며, XM-1(nTs)에 대응하는 주파수 스펙트럼의 6개 사본은 주파수 도메인 시그니처(주파수 스펙트럼 520m)에 포함된다. 여기서, 이산 푸리에 변환 계수의 각각의 시계열에 대한 주파수 스펙트럼의 N개의 스펙트럼적으로 구별되는 사본이 M개의 주파수 영역 시그니처(520a-520m)의 세트에 제공된다.
다시 도 5a를 참조하면, 열 DFT 블록(510)은 N / TS의 등가 대역폭을 갖는 코히어런트 검출기 어레이(coherent detector array 620)(저속 코히어런트 검출기 어레이와 같은)를 구현하는 데 사용될 수 있다. 열 DFT 블록(510)은 국부 발진기(LO) 어레이 또는 뱅크(bank)(515a)로부터 오프셋 주파수 간격(offset frequency spacing)이 δ = N / TS 인 위상-코히어런트 캐리어 어레이(515)와 함께 사용된다. 따라서, 위상-코히어런트 캐리어 어레이(515)의 광학 신호는 Δ +δ 만큼 균등하게 간격을 둔 주파수를 갖는다(이러한 광학 신호가 다른 주파수 간격을 갖는 것이 가능하더라도). 이 배치에서, 각각의 코히어런트 검출기 세트의 출력은 이산 푸리에 변환 시계열의 단기 푸리에 변환 계수를 나타내므로, 제2 1D 이산 푸리에 변환이 계산되고, 출력으로 입력 특징 맵의 2D 이산 푸리에 변환이 제공된다.
이에 대한 예로서, 도 5b에 도시된 바와 같이, LO 어레이 또는 뱅크(515a)로부터 위상-코히어런트 캐리어 어레이(515)에 제공된 제1 주파수(525)는, 제1 주파수 도메인 시그니처에 존재하는 주파수 스펙트럼(스펙트럼 520a)의 N 개의 스펙트럼적으로 구별되는 사본의 제1 주파수 스펙트럼(530)을 샘플링하는 데 사용될 수 있다. 제2 주파수(535)는 제1 주파수 영역 시그니처(스펙트럼(520a))에 존재하는 주파수 스펙트럼의 N 개의 스펙트럼적으로 구별되는 사본의 제2 주파수 스펙트럼(540)을 샘플링하는 데 사용될 수 있다. 따라서, LO 어레이 또는 뱅크(515a)에 의해 제공되는 캐리어들 사이의 캐리어 주파수 간격은 Δ +δ 와 동일하기 때문에, LO 어레이 또는 뱅크(515a)에 의해 제공되는 주파수는 주파수 스펙트럼의 폭에 걸쳐 주파수 스펙트럼을 샘플링하는 데 사용될 수 있다. 따라서, 열 이산 푸리에 변환 블록(510)의 출력은 샘플링된 푸리에 계수 세트이다. 따라서, LO 어레이 또는 뱅크(515a)를 사용하여 샘플링된 푸리에 계수는 원하는 단기 푸리에 변환 계수이다.
도 4a 및 4b에 도시된 예에서, 제1 주파수 영역 시그니처의 샘플링된 출력은 주파수 스펙트럼 Y0(ω)에 대응한다. 모든 M 열이 동기식으로 로드되기 때문에, M 열 각각과 연관된 주파수 스펙트럼이 도 5a에서 동기식으로 생tks되어, 입력 특징 맵의 2D 이산 푸리에 변환이 출력으로 생성된다. 여기서 열 DFT 블록(510)이 행 DFT 블록(410)을 따르는 반면, DFT 블록(410 및 510)의 위치는 뒤바뀌어 행 DFT와 열 DFT의 순서를 효과적으로 교환할 수 있다는 점에 유의한다. 결과적으로, 동작 순서가 수정될 수 있으며, 도 5a에 도시된 특정 구현은 단지 하나의 가능한 예시 구현일 뿐이다.
도 6은 본 개시에 따른 열 DFT 블록(510)의 예시적인 구현을 도시한다. 도 5a와 관련하여 전술한 바와 같이, 열 DFT 블록(510)은 제2 1D 이산 푸리에 변환(또는 DFT 블록(410 및 510)이 반전된 경우 제1 1D 이산 푸리에 변환)을 수행하는 데 사용된다. 도 6에 도시된 바와 같이, 시계열(600)(시계열 세트(415)의 시계열 중 하나를 나타낼 수 있음)은 스펙트럼적으로 구별되는 사본으로 분할되는 디멀티플렉서(DMUX)(605)에 공급될 수 있다(도 5b에 도시된 주파수 스펙트럼(520a)에 포함된 N개의 스펙트럼적으로 구별되는 사본과 같이). 따라서, 도 5b의 제1 주파수 스펙트럼(530) 및 제2 주파수 스펙트럼(540)에 의해 예시된 스펙트럼적으로 구별되는 사본 각각은 주파수 스펙트럼의 개별 사본을 제공하기 위해 디멀티플렉싱될 것이다.
디멀티플렉서(605)의 출력(주파수 스펙트럼(420)의 스펙트럼적으로 구별되는 사본)은 코히어런트 검출기 어레이(coherent detector array 620)(620)에 대한 입력으로 제공된다. 도 6에 도시된 바와 같이, 코히어런트 검출기 어레이(620)는 코히어런트 수신기로도 지칭될 수 있는 복수의 코히어런트 검출기(625a-625n)를 포함한다. LO 어레이 또는 뱅크(515a)로부터의 신호(610)(예: 위상-코히어런트 캐리어 어레이(515))는 디멀티플렉서(615)에 공급될 수 있으며, 이는 LO 어레이 또는 뱅크(515a)에 의해 제공되는 제1 주파수를 제1 코히어런트 검출기(625a)에 공급하고, LO 어레이 또는 뱅크(515a)에 의해 제공되는 제2 주파수를 제2 코히어런트 검출기(625b)에 공급하고, 그리고 기타 LO 어레이 또는 뱅크(515a)에 의해 제공되는 제N 주파수를 통해 제N 코히어런트 검출기(625n)로 계속된다. 따라서, 도 5b의 제1 주파수(525) 및 제2 주파수(535)에 의해 예시된 주파수 각각은 위상-코히어런트 캐리어 어레이(515)에 존재하는 주파수를 제공하기 위해 디멀티플렉싱될 수 있다. 일부 경우에, N-톤 캐리어 어레이(N-tone carrier array)(505)의 캐리어 신호의 수, 위상-코히어런트 캐리어 어레이(515)의 캐리어 신호의 수, 및 코히어런트 검출기 어레이(coherent detector array)(620)의 코히어런트 검출기(coherent detectors)(625a-625n)의 수는 동일하다.
코히어런트 검출기 어레이(620)의 코히어런트 검출기들(625a-625n) 각각은 디멀티플렉서(605)에 의해 출력된 주파수 스펙트럼을 디멀티플렉서(615)에 의해 출력된 주파수와 곱할 수 있다. 코히어런트 검출기(625a-625n)는 대역 제한된 수신기이기 때문에, 이러한 곱셈은 사실상 디멀티플렉서(615)에 의해 출력된 특정 주파수와 연관된 좁은 주파수 범위에 걸쳐 주파수 스펙트럼의 통합이다. 따라서, 주파수 스펙트럼(630a)과 주파수(635a), 주파수 스펙트럼(630b)과 주파수(635b), 그리고 주파수 스펙트럼(630n)과 주파수(635n)로 예시된 바와 같이, LO 어레이 또는 뱅크(515a)에 의해 제공되는 주파수는 주파수 스펙트럼(420)의 폭에 걸쳐 주파수 스펙트럼(420)을 샘플링하고 단기 푸리에 변환 계수를 생산하는 데 사용될 수 있다. 도 5a에 도시된 바와 같이 행 DFT 블록(410)에서 열 DFT 블록(510)으로 들어오는 M개의 총 시계열이 있으므로, 도 6의 프로세스는M x N 입력 특징 맵의 2D 이산 푸리에 변환을 완료하기 위해 M 회 반복될 수 있다. 일부 실시예에서, 도 6에 도시된 구조는 시계열 세트(415)의 M 개의 시계열이 동시에 처리될 수 있도록 M 회 복제될 수 있다. 그러한 실시예에서, 디멀티플렉서(605)의 어레이, 디멀티플렉서(615)의 어레이, 및 다수의 코히어런트 검출기 어레이(620)가 있을 수 있다.
도 7은 본 개시에 따른 가중치를 통합하는 열 DFT 블록(510)의 예시적인 구현을 도시한다. 도 6과 관련하여 논의된 열 DFT 블록(510)의 확장으로서, 2D 컨볼루션은, LO 어레이 또는 뱅크(515a)에 의해 제공되는 각 주파수를 사전 계산되거나 달리 지정된 가중치 행렬의 푸리에 등가로 변조함으로써, 열 DFT 블록(510)의 코히어런트 검출기 어레이(620) 내에서 추가로 계산될 수 있다(도 1에 예시된 가중치 맵(110) 또는 제로-패딩된 가중치 맵(120)과 같은).
도 7에 도시된 바와 같이, 디멀티플렉서(615)에서 출력되는 주파수는 대응하는 가중치 계수와 곱해지고, 이에 따라 각각의 2차원 이산 푸리에 변환 계수와 대응하는 가중치 계수가 곱해진다. 일부 실시예에서, 가중치 계수는 푸리에 공간 가중치(Fourier space weights)이다. 도 7에 도시된 예에서, LO 어레이 또는 뱅크(515a)에 의해 제공되는 제1 주파수는 제1 코히어런트 검출기(625a)로 전달되기 전에 제1 가중 요소(first weighting elements)(710a)를 사용하여 제1 가중치W0,0에 의해 가중되고, 제2 주파수는 LO 어레이 또는 뱅크(515a)는 제2 코히어런트 검출기(625b)로 전달되기 전에 제2 가중 요소(second weighting elements) (710b)를 사용하여 제2 가중치 W0,1에 의해 가중되고, 그리고 기타 LO 어레이 또는 뱅크(515a)에 의해 제공되는 제N 주파수가 제N 코히어런트 검출기(625n)로 전달되기 전에 제N 가중 요소(710n)를 사용하여 제N 가중치 W0N-1에 의해 가중될 때까지 계속된다. 일부 실시예에서, 가중 요소(710a-710n)는 조정 가능한 광학 감쇠기(tunable optical attenuators), 위상 시프터(phase shifters) 등을 사용하여 구현될 수 있거나, 또는 디멀티플렉서(615)에 의해 출력되는 주파수의 위상 및/또는 진폭을 수정하는 요소로서 구현될 수 있다. 이러한 방식으로, LO 어레이 또는 뱅크(515a)에 의해 제공되는 주파수는, 대응하는 가중치를 사용하여 샘플링에 가중치를 부여하면서 주파수 스펙트럼(420)의 폭에 걸쳐 주파수 스펙트럼(420)을 샘플링하는 데 사용될 수 있으며, 그에 따라W0와 동일한 N 개의 출력은 W0,0ХX0,0, W0,1ХX0,1, ..., W0,N-1ХX0,N-1.와 동일하다. 다시, 일부 실시예에서, 도 7에 도시된 구조는 시계열 세트(415)의 M 개의 시계열이 동시에 처리될 수 있도록 M 회 복제될 수 있다. 이러한 실시예에서, 디멀티플렉서(demultiplexers)(605)의 어레이, 디멀티플렉서(615)의 어레이, 다중 코히어런트 검출기 어레이(coherent detector arrays)(620), 및 가중 요소(weighting elements)(710a-710n)의 다중 컬렉션이 있을 수 있다. 따라서 예를 들어 가중치 W1,0-W1,N-1은 시계열 X1,0-X1,N-1와 함께 사용되고, 가중치 WN-1,0-WN-1,N-1은 시계열 XN-1,0-XN-1,N-1와 함께 사용된다.
가중치는 상대적으로 안정적일 수 있으므로, 일부 실시예에서는 가중치의 2D 이산 푸리에 변환이 한 번 수행될 수 있고 결과는 나중에 설명된 시스템의 다양한 실시예에서 사용하기 위해 저장될 수 있다. 따라서, 행 DFT 블록(410) 및 열 DFT 블록(510)은 푸리에 공간 가중치 맵을 생성하는 데 활용될 수 있고, 푸리에 공간 가중치 맵의 계수는 나중에 사용하기 위해 저장될 수 있다. 대안적으로, 가중치는 상대적으로 안정적이기 때문에, 기존 시스템은, 메모리에 저장할 수 있는 푸리에 공간 가중치 맵을 계산하기 위해 활용될 수 있다. 도 7에서, 도시된 가중치 W0,0, W0,1, ..., W0,N-1은 도 1에 도시된 제2 2D 이산 푸리에 변환 유닛(130) 의 출력에 존재하는 푸리에 공간 가중치 맵에 대응한다. 따라서, 코히어런트 검출기 어레이(620)에 의해 제공되는 출력은 도 1에 예시된 하다마드 곱셈기(135)의 출력에 대응한다.
코히어런트 검출기 어레이(620)에 의해 제공되는 결과적인 컨벌루션 곱은 코히어런트 검출기 어레이(620)의 출력을 제2 광학 시스템(optical system)(640)에 전달하는 것과 같이 푸리에 공간에서 실제 공간으로 변환될 수 있다. 제2 광학 시스템(second optical system)(640)은 가중치 행렬이 없는 도 5a의 완전한 광학 시스템과 같이 도 5a 및 도 6에 설명된 것과 유사할 수 있다. 제2 광학 시스템(640)은 그에 따라 입력을 회전시키는 것과 같이 역 2차원 이산 푸리에 변환을 수행할 수 있다. 당업자는 다양한 변형, 수정 및 대안을 인식할 것이다.
설명된 접근 방식의 사용 사례 중 하나의 특정한 예시로서, 본 개시 내용의 실시예를 사용하여 비디오 스트림이 수신되고 처리될 수 있다. 빠르게 변화하는 데이터를 포함하는 비디오 스트림은 하나 이상의 입력 특징 맵(105)으로 수신될 수 있다. 빠르게 변하지 않는 데이터를 포함할 수 있는 이미지 처리에 적합한 가중치 맵을 가중치 맵(110)으로 수신할 수 있다. 본 개시 내용의 실시예를 사용하면, 위에서 설명한 광학 시스템을 사용하여 비디오 스트림을 고속으로 처리하고 계산 복잡도를 낮출 수 있다. 이미지 처리 애플리케이션 외에도 신경망, 컨볼루션 네트워크 또는 기타 컨볼루션(예: 음성 분석, 서명 분석 등을 지원하는 시스템)을 활용하는 다른 애플리케이션은 위에서 설명된 실시예의 다양한 구현을 사용할 수 있다.
본 개시의 실시예는 종래의 광학 행렬 곱셈기와 비교하여 시스템 크기 및 복잡성과 관련하여 상당한 이점 또는 장점을 제공할 수 있다. 예를 들어, 64 x 64 입력 특징 맵과 3 x 3 가중치 맵의 경우, 광학 행렬 곱셈기는 4,356 x 4,356 U 행렬(9,485,190 조정 가능한 광학 커플러에 대응하는), 4,096 x 4,096 V 행렬(8,386,560 조정 가능한 광학 커플러에 대응하는), 및 64 x 64 D 행렬(64개의 가변 광학 감쇠기에 대응하는)를 활용할 수 있다. 광학 커플러 크기가 15μm x 15μm이고 검출기 크기가 범프 피치에 의해 제한되는 50μm x 105μm라고 가정하면, 광학 행렬 곱셈기의 전체 크기는 약 4,122mm2정도일 수 있다.
일부 구현에서, 동일한 기능을 제공하는 본 개시의 실시예는, 이산 푸리에 변환 및 역 이산 푸리에 변환을 각각 수행하기 위해, 2개의 66x66 이산 푸리에 변환 행렬을 구현할 수 있다. 이는, 4,290개의 고정 광학 커플러, 17,424개의 링 필터에 대응하는 4개의 66 x 66 채널 파장 분할 멀티플렉싱(wavelength division multiplexing)(WDM) 어레이(이산 푸리에 변환당 2개 및 역 이산 푸리에 변환당 2개) 및 4,356개의 복소(I/Q 등) 변조기에 대응하는 66 x 66 가중치 행렬에 대응하는할 수 있다. 15μm x 15μm의 광학 커플러 크기, 30μm x 10μm의 링 필터 크기, 범프 피치에 의해 제한된 105μm x 105μm의 코히어런트 검출기 크기를 가정하면, 이 구현의 전체 크기는 약 93.3mm2 이다. 상당한 크기 절감 외에도, 본 개시의 실시예의 전력 소비는, 본 개시의 실시예의 많은 구성요소는 수동적이기 때문에, 광학 행렬 곱셈기와 연관된 것보다 훨씬 낮다.
도 1 내지 7은 이산 푸리에 변환, 이산 푸리에 변환을 구현하는 광학 시스템, 신호 스펙트럼 및 관련 세부사항의 예를 도시하지만, 도 1 내지 7에는 다양한 변경이 이루어질 수 있다. 예를 들어, 입력 특징 맵(105, 115, 205) 및 가중치 맵(110, 120) 각각은 임의의 적합한 차원을 가질 수 있다. 또한, 광학 시스템은 도면에 도시된 임의의 적절한 수의 각각의 구성 요소를 포함할 수 있다. 또한, 도시된 각각의 광학 시스템에서는 다양한 구성요소가 결합되고, 더 세분화되고, 복제되고, 생략되거나 재배치될 수 있으며, 특정 필요에 따라 추가 구성요소가 추가될 수 있다.
도 8은 본 개시에 따른 광학 네트워크를 사용하여 컨볼루션을 수행하는 예시적인 방법(800)을 도시한다. 설명의 편의를 위해, 방법(800)은 위에서 설명된 임의의 광학 시스템을 사용하여 수행될 수 있다. 그러나 방법(800)은 본 개시에 따라 설계된 임의의 다른 적합한 광학 시스템을 사용하여 수행될 수 있다.
도 8에 도시된 바와 같이, 단계 810에서 입력 특징 맵이 획득되고, 단계 815에서 가중치 맵이 획득된다. 이는, 예를 들어, 처리 중인 입력 데이터와 연관된 입력 특징 맵(105)을 수신, 생성 또는 달리 획득하는 것 및 처리 중인 입력 데이터에 적용될 가중치 맵(110)을 수신, 생성 또는 달리 획득하는 것을 포함할 수 있다. 입력 특징 맵의 2차원 이산 푸리에 변환은 단계 820에서 푸리에-공간 입력 특징 맵을 생산하기 위해 생성된다. 이는 예를 들어 위에서 설명된 광학 네트워크 중 하나를 사용하여 입력 특징 맵(105, 205)(또는 제로-패딩된 입력 특징 맵(115))을 푸리에-공간 입력 특징 맵으로 변환하는 것을 포함할 수 있다. 단계 825에서 푸리에-공간 가중치 맵을 생산하기 위해 가중치 맵의 2차원 푸리에 변환이 생성된다. 이는, 예를 들어 위에서 설명된 임의의 광학 네트워크를 사용하여 가중치 맵(110)(또는 제로-패딩된 가중치 맵(120))을 푸리에-공간 가중치 맵으로 변환하는 것을 포함할 수 있다. 푸리에-공간 입력 특징 맵과 푸리에-공간 가중치 맵의 하다마드 곱셈이 단계 830에서 수행된다. 이는, 예를 들어 입력 특징 맵의 2D 이산 푸리에 변환을 나타내는 광학 신호를 출력하는 광학 네트워크(optical network)를 포함할 수 있다.
일부 실시예에서, 단계 835에서 하다마드 곱셈에 의해 생산된 출력의 2차원 역 이산 푸리에 변환을 수행하기 위해 제2 광학 네트워크가 사용될 수 있다. 예를 들어, 광학 시스템(640)은 2D IDFT 프로세스를 수행하는데 사용될 수 있다. 2D 역 이산 푸리에 변환의 출력은 입력 특징 맵(105)과 가중치 맵(110)의 컨볼루션을 제공할 수 있다. 또한, 일부 실시예에서, 입력 특징 맵을 생성하기 위해 입력 맵에 제로-패딩이 발생할 수 있고, 가중치 맵을 생성하기 위해 가중치 맵에 제로-패딩이 발생할 수 있다(이는 단계 810 및 단계 815 이전에 또는 도중에 발생할 수 있음). 게다가, 일부 실시예에서, 푸리에-공간 가중치 맵은 생성되어 메모리에 저장될 수 있고, 푸리에-공간 가중치 맵은 단계(825)에서 메모리로부터 검색되어 국부 발진기 캐리어에 가중치를 부여하는 데 활용될 수 있다.
도 8은 광학 네트워크를 사용하여 컨볼루션을 수행하는 방법(800)의 일례를 도시하지만, 도 8에 다양한 변경이 이루어질 수 있다. 예를 들어, 일련의 단계로 도시되어 있지만, 도 8의 다양한 단계는 겹치거나, 병렬로 발생하거나, 다른 순서로 발생하거나, 여러 번 발생할 수 있다. 또한, 도 8의 개별 단계는 개별 단계에 적절하게 다양한 순서로 수행될 수 있는 다수의 하위 단계를 포함할 수 있다. 또한, 특정 애플리케이션에 따라 방법(800)에 다양한 단계가 추가되거나 제거될 수 있다. 당업자는 다양한 변형, 수정 및 대안을 인식할 것이다.
다음은 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템을 구현하거나 이와 관련된 본 개시 내용의 예시적인 실시예를 설명한다. 그러나, 본 개시의 교시에 따라 다른 실시예가 사용될 수 있다.
제1 실시예에서, 장치는 적어도 하나의 제1 주파수 간격(first frequency spacing)을 갖는 다수의 제1 캐리어 신호(first carrier signals)를 생성하도록 구성된 주파수 콤(frequency comb)을 포함한다. 장치는 또한 제1 캐리어 신호를 변조하도록 구성된 다수의 변조기(multiple modulators)를 포함하며, 각각의 변조기는 행렬의 대응하는 부분으로부터의 시계열 값(time series of values)에 기초하여 제1 캐리어 신호 중 대응하는 하나를 변조하도록 구성된다. 또한, 장치는 변조된 제1 캐리어 신호를 사용하여 행렬 부분의 1차원(1D) 이산 푸리에 변환을 수행하도록 구성된 광학 커플러(optical couplers)의 어레이를 포함하며, 광학 커플러의 어레이는 행렬의 대응하는 부분에서 각각의 시계열 값에 대한 1D 푸리에 계수의 시계열을 출력하도록 구성된다.
다음 특징 중 임의의 단일 또는 임의의 적절한 조합이 제1, 제2 또는 제3 실시예에 사용될 수 있다. 광학 커플러의 어레이는 제1 캐리어 신호의 다른 주파수에 기초하여 1D 푸리에 계수의 각각의 시계열을 스펙트럼적으로 구별되는 다수의 사본으로 복제하도록 구성될 수 있다. 이 장치는, 제2 캐리어 신호에 기초하여 1D 푸리에 계수의 시계열을 샘플링하도록 구성된 코히어런트 검출기를 또한 포함하고, 제2 캐리어 신호는 적어도 하나의 제1 주파수 간격보다 큰 적어도 하나의 제2 주파수 간격을 가질 수 있다. 코히어런트 검출기는 1D 푸리에 계수의 시계열의 단기 푸리에 변환 계수를 출력하도록 구성될 수 있으며, 단기 푸리에 변환 계수는 행렬의 2차원 이산 푸리에 변환을 나타낼 수 있다. 장치는, 또한 광학 커플러의 어레이로부터의 1D 푸리에 계수의 시계열 각각에 대해, 1D 푸리에 계수의 시계열의 스펙트럼적으로 구별되는 다수의 사본을 분리하고, 스펙트럼적으로 구별되는 사본 중 다른 사본을 코히어런트 검출기 중 다른 검출기로 제공하도록 구성된 제1 디멀티플렉서를 포함할 수 있다. 장치는, 또한 제2 캐리어 신호를 생성하도록 구성된 국부 발진기(LO) 뱅크 또는 어레이, 및 광학 커플러의 어레이로부터의 1D 푸리에 계수의 각각의 시계열에 대해, 제2 캐리어 신호를 분리하고 제2 캐리어 신호 중 다른 신호를 코히어런트 검출기 중 다른 검출기에 제공하도록 구성된 제2 디멀티플렉서를 포함할 수 있다. 장치는 또한, 상이한 가중치들에 기초하여 제 2 캐리어 신호들을 조정하고, 조정된 제2 캐리어 신호들을 코히어런트 검출기들에 제공하도록 구성된 가중 요소들을 포함할 수 있다. 행렬은 입력 특징 맵을 포함할 수 있고, 가중치는 가중치 맵에서 나올 수 있다. 행렬의 대응 부분으로부터의 시계열 값은 행렬로부터의 열-단위 벡터에 대응할 수 있고, 코히어런트 검출기에 의해 샘플링된 광학 커플러의 어레이로부터의 1D 푸리에 계수의 시계열은 행-단위 벡터를 포함할 수 있다.
제2 실시예에서, 장치는 적어도 하나의 제1 주파수 간격을 갖는 제1 캐리어 신호를 생성하도록 구성된 주파수 콤을 포함한다. 장치는 또한 각각이 제1 캐리어 신호 중 하나의 진폭을 변조하고 변조된 캐리어 신호를 생성하도록 구성된 다수의 변조기를 포함한다. 장치는 변조된 캐리어 신호를 사용하여 제1 방향으로 1D 이산 푸리에 변환을 수행하도록 구성된 광학 커플러의 2차원(2D) 어레이(two-dimensional (2D) array)를 더 포함한다. 장치는 또한, 코히어런트 검출기(coherent detectors)의 어레이 및 광학 커플러의 어레이의 출력 및 코히어런트 검출기에 광학적으로 결합된 제1 디멀티플렉서(first demultiplexers)를 포함한다. 장치는 적어도 하나의 제1 주파수 간격과 다른 적어도 하나의 제2 주파수 간격(second frequency spacing)을 갖는 제2 캐리어 신호(second carrier signals)를 생성하도록 구성된 국부 발진기(LO) 뱅크(local oscillator (LO) bank) 또는 어레이를 더 포함한다. 또한, 장치는 LO 뱅크 또는 어레이의 출력과 코히어런트 검출기에 광학적으로 결합된 제2 디멀티플렉서(second demultiplexers)를 포함한다.
다음 특징 중 임의의 단일 또는 임의의 적절한 조합이 제2 실시예에 사용될 수 있다. 각각의 코히어런트 검출기는 푸리에 계수를 생성하기 위해 제1 디멀티플렉서 중 하나의 출력과 제2 디멀티플렉서 중 하나의 출력을 수신하도록 구성될 수 있다. 코히어런트 검출기의 어레이는 장치의 입력에 대한 2D 이산 푸리에 변환을 완료하기 위해 제2 방향으로 제2 1D 이산 푸리에 변환을 출력하도록 구성될 수 있다. 광학 커플러는 50/50 광학 커플러를 포함할 수 있다. 제1 캐리어 신호의 개수, 제2 캐리어 신호의 개수, 그리고 코히어런트 검출기의 어레이의 코히어런트 검출기의 개수는 동일할 수 있다. 장치는 또한 가중치 행렬에 따라 제 2 캐리어 신호들을 변조하도록 구성된 가중 요소들을 포함할 수 있다. 가중치 행렬의 푸리에 등가 가중치 행렬은 장치에 의해 미리 계산되어 저장될 수 있다.
세 번째 실시예에서, 방법은 입력 특징 맵을 획득하는(obtaining) 단계 및, 광학 네트워크를 사용하여 푸리에-공간 입력 특징 맵을 생산하기 위해 입력 특징 맵의 2D 이산 푸리에 변환(2D discrete Fourier transform)을 생성하는(generating) 단계를 포함한다. 또한, 이 방법은, 가중치 맵(weight map)에 기초하여 푸리에-공간 가중치 맵(Fourier-space weight map)을 획득하는 단계 및 푸리에-공간 입력 특징 맵(Fourier-space input feature map)과 푸리에-공간 가중치 맵(Fourier-space weight map)의 하다마드 곱셈(Hadamard multiplication)을 수행하는(performing) 단계를 포함한다.
다음 특징 중 임의의 단일 또는 임의의 적절한 조합이 제3 실시예에 사용될 수 있다. 방법은 또한, 제2 광학 네트워크를 사용하여, 하다마드 곱셈의 출력의 2D 역 이산 푸리에 변환을 생성하는 단계를 포함할 수 있다. 2차원 역 이산 푸리에 변환의 출력은 입력 특징 맵과 가중치 맵의 컨볼루션을 포함할 수 있다. 방법은 또한, 광학 네트워크를 사용하여, 푸리에-공간 가중치 맵을 생산하기 위해 가중치 맵의 2D 이산 푸리에 변환을 생성하는(generating) 단계 및 푸리에-공간 가중치 맵의 계수를 저장하는(storing) 단계를 포함할 수 있다. 방법은 또한, 입력 특징 맵을 생산하기 위한 입력 맵 및 가중치 맵을 제공하기 위한 가중치 맵을 제로-패딩하는(zero-padding) 단계를 포함할 수 있다. 방법은 또한 푸리에-공간 가중치 맵을 수신하는(receiving) 단계, 푸리에-공간 가중치 맵을 저장하는(storing) 단계, 저장소로부터 푸리에-공간 가중치 맵을 검색하는(retrieving) 단계, 및 LO 캐리어 신호에 가중치를 부여하기 위해 푸리에-공간 가중치 맵을 활용하는(utilizing) 단계를 포함할 수 있다.
일 실시예에서, 본 특허 문서에 기술된 다양한 기능은, 컴퓨터 판독가능 프로그램 코드(computer readable program code)로부터 형성되고 컴퓨터 판독가능 매체(computer readable medium)에 내장된 컴퓨터 프로그램에 의해서 구현되고 지원된다. "컴퓨터 판독가능 프로그램 코드(computer readable program code)"라는 문구는 소스 코드, 목적 코드 및 실행 가능(executable) 코드를 포함하는 임의의 유형의 컴퓨터 코드(computer code)를 포함한다. "컴퓨터 판독가능 매체"라는 문구는 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 하드 디스크 드라이브(HDD), 콤팩트 디스크(CD), 디지털 비디오 디스크(DVD) 또는 임의의 다른 유형의 메모리와 같은 컴퓨터에 의해 액세스 될 수 있는 임의의 유형의 매체를 포함한다. "비일시적(non-transitory)" 컴퓨터 판독가능 매체는 일시적인 전기 또는 다른 신호들을 전송하는 유선, 무선, 광학, 또는 다른 통신 링크들을 제외한다. 비일시적 컴퓨터 판독가능 매체는 재기록 가능한 광학 디스크 또는 소거 가능한 저장 디바이스와 같이 데이터가 영구적으로 저장될 수 있는 매체 및 데이터가 저장되고 나중에 덮어쓸 수 있는 매체를 포함한다.
본 특허 문서 전반에 걸쳐 사용된 특정 단어 및 문구의 정의를 명시하는 것이 유리할 수 있다. "응용 프로그램" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어, 컴포넌트, 인스트럭션들의 세트, 절차(procedures), 기능(functions), 객체, 클래스, 인스턴스, 관련 데이터, 또는 적절한 컴퓨터 코드(소스 코드, 목적 코드, 또는 실행 가능 코드 포함)로 구현하기 위해 적용된 이들의 일부를 나타낸다. "통신하다"라는 용어 및 그 파생어는 직접 및 간접 통신을 모두 포함한다. "포함하다(include)" 및 "포함하다(comprise)"라는 용어와 그 파생어는 제한 없이 포함됨을 의미한다. "또는"이라는 용어는 포괄적이며, 및/또는을 의미한다. "연관된"이라는 어구 및 이의 파생어는 '포함하다, 포함되다, 상호 연결하다, 함유하다, 함유되다, 연결하다, 커플링하다, 소통하다, 협력하다, 끼우다, 병치하다, 근접하다, ~에 속박되다, 소유하다, ~의 속성을 갖다, ~와 관계를 맺다 등'을 의미한다. "적어도 하나"라는 문구는 항목들의 리스트와 함께 사용될 때 나열된 항목들 중 하나 이상의 다른 조합들이 사용될 수 있으며 리스트에서 하나의 항목만 필요할 수 있음을 의미한다. 예를 들어, "다음 중 하나 이상: A, B, C"는 다음 조합을 포함한다: A, B, C, A 및 B, A와 C, B 및 C, 및 A와 B와 C.
본 개시의 설명은 임의의 특정 요소, 단계 또는 기능이 청구 범위에 포함되어야 하는 필수 또는 중요한 요소라고 암시하는 것으로 해석되어서는 안 된다. 특허 대상의 범위는 허용된 청구범위에 의해서만 정의된다. 또한, "~를 위한 수단" 또는 "~를 위한 단계"라는 정확한 단어가 특정 청구항에 명시적으로 사용된 후 기능을 식별하는 분사구가 뒤따르지 않는 한, 첨부된 청구항 또는 청구항 요소와 관련하여 어떠한 청구항도 35 U.S.C. § 112(f)를 원용하지 않는다. 청구항 내의 "기구", "모듈", "기기", "유닛", "구성요소", "요소", "부재", "장치", "기계", "시스템", "프로세서" 또는 "제어기" 등의 용어 사용(이에 국한되지 않음)은 청구항 자체의 특징에 의해 추가로 수정되거나 강화된 관련 기술 분야의 당업자에게 알려진 구조를 지칭하는 것으로 이해되고 의도되며, 35 U.S.C. § 112(f)를 원용하는 것으로 의도되지 않는다.
본 명세서는 특정 실시예 및 일반적으로 연관된 방법을 설명했지만, 이들 실시예 및 방법의 변경 및 치환(permutation)은 당업자에게 명백할 것이다. 따라서, 실시 예들의 예시의 위의 설명은 본 개시를 정의하거나 제한하지 않는다. 다음의 청구범위에 정의된 바와 같이, 본 개시의 정신 및 범위를 벗어나지 않고 다른 변경, 대체 및 개조 또한 가능하다.

Claims (20)

  1. 장치에 있어서,
    적어도 하나의 제1 주파수 간격을 갖는 다수의 제1 캐리어 신호를 생성하도록 구성된 주파수 콤,
    상기 제1 캐리어 신호를 변조하도록 구성된 다수의 변조기, 및
    상기 변조된 제1 캐리어 신호를 사용하여 행렬의 일부에 대한 1차원(1D) 이산 푸리에 변환을 수행하도록 구성된 광학 커플러의 어레이
    를 포함하고,
    각각의 변조기는,
    상기 행렬의 대응하는 부분으로부터의 시계열 값에 기초하여 상기 제1 캐리어 신호 중 대응하는 하나를 변조하도록 구성되고,
    상기 광학 커플러의 어레이는,
    상기 행렬의 대응하는 부분으로부터 각각의 시계열 값에 대한 1D 푸리에 계수의 시계열을 출력하도록 구성되는,
    장치.
  2. 제1항에 있어서,
    상기 광학 커플러의 어레이는,
    상기 제1 캐리어 신호의 다른 주파수에 기초하여 1D 푸리에 계수의 각각의 시계열을 스펙트럼적으로 구별되는 다수의 사본으로 복제하도록 구성되는,
    장치.
  3. 제1항에 있어서,
    제2 캐리어 신호에 기초하여 1D 푸리에 계수의 시계열을 샘플링하도록 구성된 코히어런트 검출기
    를 더 포함하고,
    상기 제2 캐리어 신호는,
    상기 적어도 하나의 제1 주파수 간격보다 큰 적어도 하나의 제2 주파수 간격을 가지고,
    상기 코히어런트 검출기는,
    1D 푸리에 계수의 시계열의 단기 푸리에 변환 계수를 출력하도록 구성되고,
    상기 단기 푸리에 변환 계수는,
    상기 행렬의 2차원(2D) 이산 푸리에 변환을 나타내는,
    장치.
  4. 제3항에 있어서,
    상기 광학 커플러의 어레이로부터의 1D 푸리에 계수의 시계열 각각에 대해, 1D 푸리에 계수의 시계열의 스펙트럼적으로 구별되는 다수의 사본을 분리하고,
    상기 스펙트럼적으로 구별되는 사본 중 다른 사본을 상기 코히어런트 검출기 중 다른 검출기로 제공하도록 구성된, 제1 디멀티플렉서
    를 더 포함하는,
    장치.
  5. 제4항에 있어서,
    상기 제2 캐리어 신호를 생성하도록 구성된 국부 발진기(LO) 뱅크 또는 어레이, 및
    상기 광학 커플러의 어레이로부터의 1D 푸리에 계수의 시계열 각각에 대해, 상기 제2 캐리어 신호를 분리하고, 상기 제2 캐리어 신호 중 다른 신호를 상기 코히어런트 검출기 중 다른 검출기에 제공하도록 구성된, 제2 디멀티플렉서
    더 포함하는,
    장치.
  6. 제5항에 있어서,
    다른 가중치에 기초하여 상기 제2 캐리어 신호를 조정하고,
    상기 조정된 제2 캐리어 신호를 상기 코히어런트 검출기에 제공하도록 구성된, 가중 요소
    를 더 포함하는,
    장치.
  7. 제6항에 있어서,
    상기 행렬은,
    입력 특징 맵
    을 포함하고, 및
    상기 가중치는,
    가중치 맵으로 부터 오는,
    장치.
  8. 제1항에 있어서,
    상기 행렬의 대응하는 부분의 시계열 값은,
    상기 행렬로부터의 열-단위 벡터에 대응하고, 및
    코히어런트 검출기에 의해 샘플링된 상기 광학 커플러의 어레이의 1D 푸리에 계수의 시계열은,
    행-단위 벡터를 포함하는,
    장치.
  9. 장치에 있어서,
    적어도 하나의 제1 주파수 간격을 갖는 제1 캐리어 신호를 생성하도록 구성된 주파수 콤,
    상기 제1 캐리어 신호 중 하나의 신호의 진폭을 변조하고, 변조된 캐리어 신호를 생성하도록 각각 구성된 다수의 변조기,
    상기 변조된 캐리어 신호를 이용하여 제1 방향으로 1차원(1D) 이산 푸리에 변환을 수행하도록 구성된 2차원(2D) 광학 커플러의 어레이,
    코히어런트 검출기의 어레이,
    상기 광학 커플러의 어레이의 출력 및 상기 코히어런트 검출기에 광학적으로 결합된 제1 디멀티플렉서,
    상기 적어도 하나의 제1 주파수 간격과 다른 적어도 하나의 제2 주파수 간격을 갖는 제2 캐리어 신호를 생성하도록 구성된 국부 발진기(LO) 뱅크 또는 어레이, 및
    상기 LO 뱅크 또는 어레이의 출력과 상기 코히어런트 검출기에 광학적으로 연결된 제2 디멀티플렉서
    를 포함하는,
    장치.
  10. 제9항에 있어서,
    각각의 코히어런트 검출기는,
    상기 제1 디멀티플렉서 중 하나의 출력과 상기 제2 디멀티플렉서 중 하나의 출력을 수신하고 푸리에 계수를 생성하도록 구성되고, 및
    상기 코히어런트 검출기의 어레이는,
    상기 장치의 입력에 대한 2D 이산 푸리에 변환을 완료하기 위해 제2 방향으로 제2 1차원(1D) 이산 푸리에 변환을 출력하도록 구성되는,
    장치.
  11. 제9항에 있어서,
    상기 광학 커플러는,
    50/50 광학 커플러
    를 포함하는,
    장치.
  12. 제9항에 있어서,
    상기 제1 캐리어 신호의 개수, 상기 제2 캐리어 신호의 개수, 및 상기 코히어런트 검출기의 어레이의 코히어런트 검출기의 개수가,
    동일한,
    장치.
  13. 제9항에 있어서,
    가중치 행렬에 따라 상기 제2 캐리어 신호를 변조하도록 구성된 가중 요소
    를 더 포함하는,
    장치.
  14. 제13항에 있어서,
    상기 가중치 행렬의 푸리에 등가 가중치 행렬은,
    상기 장치에 의해 미리 계산되어 저장되는,
    장치.
  15. 방법에 있어서,
    입력 특징 맵을 획득하는 단계,
    광학 네트워크를 사용하여, 푸리에-공간 입력 특징 맵을 생산하기 위해 상기 입력 특징 맵의 2차원(2D) 이산 푸리에 변환을 생성하는 단계,
    가중치 맵에 기초하여 푸리에-공간 가중치 맵을 획득하는 단계, 및
    상기 푸리에-공간 입력 특징 맵과 상기 푸리에-공간 가중치 맵의 하다마드 곱셈을 수행하는 단계
    를 포함하는,
    방법.
  16. 제15항에 있어서,
    제2 광학 네트워크를 사용하여, 상기 하다마드 곱셈의 출력의 2D 역 이산 푸리에 변환을 생성하는 단계
    를 더 포함하는,
    방법.
  17. 제16항에 있어서,
    상기 2D 역 이산 푸리에 변환의 출력은,
    상기 입력 특징 맵과 상기 가중치 맵의 컨볼루션
    을 포함하는,
    방법.
  18. 제17항에 있어서,
    상기 광학 네트워크를 사용하여, 상기 푸리에-공간 가중치 맵을 생산하기 위해 상기 가중치 맵의 2D 이산 푸리에 변환을 생성하는 단계, 및
    상기 푸리에-공간 가중치 맵의 계수를 저장하는 단계
    를 더 포함하는,
    방법.
  19. 제15항에 있어서,
    상기 입력 특징 맵을 생산하기 위한 입력 맵 및 가중치 맵을 제공하기 위한 가중치 맵을 제로-패딩하는 단계
    를 더 포함하는,
    방법.
  20. 제15항에 있어서,
    상기 푸리에-공간 가중치 맵을 수신하는 단계,
    상기 푸리에-공간 가중치 맵을 저장하는 단계,
    상기 푸리에-공간 가중치 맵을 저장소에서 검색하는 단계, 및
    국부 발진기(LO) 캐리어 신호에 가중치를 부여하기 위해 상기 푸리에-공간 가중치 맵을 활용하는 단계
    를 더 포함하는,
    방법.
KR1020247015130A 2021-11-29 2022-11-21 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템 KR20240090341A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163283951P 2021-11-29 2021-11-29
US63/283,951 2021-11-29
PCT/US2022/050619 WO2023096871A1 (en) 2021-11-29 2022-11-21 Methods and systems for performing convolutions using optical networks

Publications (1)

Publication Number Publication Date
KR20240090341A true KR20240090341A (ko) 2024-06-21

Family

ID=84887266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247015130A KR20240090341A (ko) 2021-11-29 2022-11-21 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템

Country Status (6)

Country Link
US (1) US20240256849A1 (ko)
EP (1) EP4441660A1 (ko)
KR (1) KR20240090341A (ko)
CA (1) CA3239357A1 (ko)
TW (1) TW202321951A (ko)
WO (1) WO2023096871A1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020102204A1 (en) * 2018-11-12 2020-05-22 Massachusetts Institute Of Technology Large-scale artificial neural-network accelerators based on coherent detection and optical data fan-out

Also Published As

Publication number Publication date
WO2023096871A1 (en) 2023-06-01
US20240256849A1 (en) 2024-08-01
TW202321951A (zh) 2023-06-01
CA3239357A1 (en) 2023-06-01
EP4441660A1 (en) 2024-10-09

Similar Documents

Publication Publication Date Title
Onose et al. Scalable splitting algorithms for big-data interferometric imaging in the SKA era
Smirnov et al. Radio interferometric gain calibration as a complex optimization problem
Rahman et al. Universal linear intensity transformations using spatially incoherent diffractive processors
Amey et al. Neural network interpretation using descrambler groups
Polat et al. Design and implementation of 256‐point radix‐4 100 Gbit/s FFT algorithm into FPGA for high‐speed applications
US9128885B2 (en) Computationally efficient finite impulse response comb filtering
Bouvier et al. Phase-based order separation for Volterra series identification
CN114565091A (zh) 光学神经网络装置、芯片及神经网络计算的光学实现方法
Davis et al. Bilateral Laplace transforms on time scales: convergence, convolution, and the characterization of stationary stochastic time series
Han et al. Frame phase-retrievability and exact phase-retrievable frames
KR20240090341A (ko) 광학 네트워크를 사용하여 컨볼루션을 수행하기 위한 방법 및 시스템
AU2006325384A1 (en) Correlation apparatus
LaCasse et al. Spectral density response functions for modulated polarimeters
Tamura et al. Matrix multiplication using coherent optical techniques
JP7110823B2 (ja) 光信号処理装置
Aizenberg et al. Discrete generalized Fresnel functions and transforms in an arbitrary discrete basis
Psaltis et al. General formulation for optical signal processing architectures
Pijpers Unbiased image reconstruction as an inverse problem
Shi et al. A domain decomposition Fourier continuation method for enhanced L 1 regularization using sparsity of edges in reconstructing Fourier data
Davis et al. Multichannel optical correlator/convolver utilizing the magnetooptic spatial light modulator
Jerônimo da Silva et al. Constructing Fast Algorithms by Expanding a Set of Matrices into Rank-1 Matrices
Decusatis et al. Hybrid optical implementation of discrete wavelet transforms: a tutorial
Huang et al. Preprocessing pipeline on FPGA
Fernández-Fabeiro et al. A multi-device version of the HYFMGPU algorithm for hyperspectral scenes registration
Shi A dual domain approach to graph signal processing