KR102685742B1 - 저항 요소를 포함하는 수학 문제 해결 회로 - Google Patents
저항 요소를 포함하는 수학 문제 해결 회로 Download PDFInfo
- Publication number
- KR102685742B1 KR102685742B1 KR1020207012273A KR20207012273A KR102685742B1 KR 102685742 B1 KR102685742 B1 KR 102685742B1 KR 1020207012273 A KR1020207012273 A KR 1020207012273A KR 20207012273 A KR20207012273 A KR 20207012273A KR 102685742 B1 KR102685742 B1 KR 102685742B1
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- matrix
- input
- terminal
- elements
- Prior art date
Links
- 239000004020 conductor Substances 0.000 claims abstract description 54
- 230000015654 memory Effects 0.000 claims abstract description 37
- 239000011159 matrix material Substances 0.000 claims description 118
- 239000013598 vector Substances 0.000 claims description 26
- 238000012417 linear regression Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 10
- 238000007477 logistic regression Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 11
- 239000002470 thermal conductor Substances 0.000 description 7
- 230000000946 synaptic effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06G—ANALOGUE COMPUTERS
- G06G7/00—Devices in which the computing operation is performed by varying electric or magnetic quantities
- G06G7/12—Arrangements for performing computing operations, e.g. operational amplifiers
- G06G7/32—Arrangements for performing computing operations, e.g. operational amplifiers for solving of equations or inequations; for matrices
- G06G7/34—Arrangements for performing computing operations, e.g. operational amplifiers for solving of equations or inequations; for matrices of simultaneous equations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2213/00—Indexing scheme relating to G11C13/00 for features not covered by this group
- G11C2213/70—Resistive array aspects
- G11C2213/77—Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Amplifiers (AREA)
- Complex Calculations (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Measurement Of Current Or Voltage (AREA)
Abstract
복수의 행 도체(L±), 복수의 열 도체(Cj), 및 행 도체와 열 도체 사이에 각각 연결되는 복수의 아날로그 저항 메모리(Gij), 및 복수의 연산 증폭기(OA±)를 포함하되, 각각의 연산 증폭기는 각각의 행 도체(Li)에 연결되는 제 1 입력 단자(INu), 접지 단자(GR)에 연결되는 제 2 입력 단자(IN2i)를 포함하고, 복수의 연산 증폭기 중 적어도 하나(OAi)는 각각의 제 1 입력 단자(INu)를 가상 접지로 향하게 한다.
Description
본 발명은 저항 요소를 사용하는 전자 회로에 의해 수행되는 수학적 계산 분야에 관한 것이다.
저항 메모리는 종종 수학적 계산 전자 회로에서 응용을 찾는다. 이 문제와 관련하여, 문서 US-A-9152827은, 크로스포인트 매트릭스로 구성되고 x = Ab 타입의 매트릭스-벡터 곱 연산을 수행하도록 구조화된, 저항 메모리를 제공하는 회로를 기술하고, 여기서 x는 전류 벡터이고, A는 컨덕턴스 매트릭스, 및 b는 크로스포인트 매트릭스의 각 행에 인가된 전압의 벡터이다.
문헌 US-A-2017/0040054는 계산 가속기, 특히 방정식 시스템의 해결 및 반복적인 숫자 기술에 의한 저항 메모리의 매트릭스를 기술한다. 이러한 솔루션은 수렴치를 얻기 위해 여러 번 반복해야한다는 것이 관찰되었다.
문헌 US-A-2017-0040054에 개시된 것과 유사한 접근법은 혼합 정밀 솔루션을 위한 상변화 메모리의 매트릭스를 조합함으로써 반복적 접근법(Krylov 서브스페이스)에 의한 선형 시스템의 해를 구하는 문제에 직면하는 "Mixed-Precision Memcomputing", M. Le Gallo et al., ArXiv: 1701.04279 [cs.ET]에서 찾아 볼 수 있다.
출원인은 종래 기술의 계산 방법이 대수 문제를 해결할 가능성과 관련하여 실행 가능한 계산 연산의 유형(즉, 단순한 곱셈)과 관련하여 그리고 계산 부하와 관련하여 한계를 나타내는 것을 관찰 하였다.
본 발명의 제 1 목적은 독립 청구항 1에 기재된 수학적 문제 해결 회로이다. 특정 실시예는 종속 청구항 2 내지 15에 기재되어있다.
본 발명은 다음의 도면들에서 단지 예시적인 방식으로 주어진 비 제한적인 예들을 참조하여 다음에 설명될 것이다. 이들 도면은 본 발명의 상이한 양태 및 실시 형태를 나타내고, 적절한 경우 상이한 도면에서의 유사한 구조, 구성 요소, 재료 및/또는 요소는 동일한 참조 번호로 표시된다.
도 1은 수학 문제 해결 회로의 예를 도시한다.
도 2는 제곱 방정식 시스템을 푸는 제 1 회로의 예를 도시한 도면.
도 3은 예를 들어, 제곱 방정식 시스템을 푸는 제 2 회로를 도시한다.
도 4는 고유 벡터를 계산하기 위한 제 1 회로의 예를 도시한 도면.
도 5는 고유 벡터를 계산하기 위한 제 2 회로의 예를 도시한 도면.
도 6은 3-단자 저항 요소를 사용하는 실시예에서 제곱 방정식 시스템을 푸는 제 1 회로를 도시한 도면.
도 7은 저항 메모리와 결합된 3-단자 저항 요소를 사용하는 실시예에서 제곱 방정식 시스템을 푸는 제 1 회로를 도시한 도면.
도 8은 개방 루프 연산 증폭기를 포함하는 실시예에서 고유 벡터를 계산하기 위한 제 1 회로를 도시한 도면.
도 9는 선형 회귀 가속기 회로의 예를 도시한 도면.
도 10은 선형 회귀 가속기 회로를 사용하여 학습된 신경망의 예를 보여준다.
도 1은 수학 문제 해결 회로의 예를 도시한다.
도 2는 제곱 방정식 시스템을 푸는 제 1 회로의 예를 도시한 도면.
도 3은 예를 들어, 제곱 방정식 시스템을 푸는 제 2 회로를 도시한다.
도 4는 고유 벡터를 계산하기 위한 제 1 회로의 예를 도시한 도면.
도 5는 고유 벡터를 계산하기 위한 제 2 회로의 예를 도시한 도면.
도 6은 3-단자 저항 요소를 사용하는 실시예에서 제곱 방정식 시스템을 푸는 제 1 회로를 도시한 도면.
도 7은 저항 메모리와 결합된 3-단자 저항 요소를 사용하는 실시예에서 제곱 방정식 시스템을 푸는 제 1 회로를 도시한 도면.
도 8은 개방 루프 연산 증폭기를 포함하는 실시예에서 고유 벡터를 계산하기 위한 제 1 회로를 도시한 도면.
도 9는 선형 회귀 가속기 회로의 예를 도시한 도면.
도 10은 선형 회귀 가속기 회로를 사용하여 학습된 신경망의 예를 보여준다.
본 발명은 상이한 변형 및 대안적인 구성에 영향을 받을 수 있지만, 각각의 예시된 실시예가 도면에 도시되어 있으며, 이하에서 구체적으로 설명될 것이다. 어쨌든, 본 발명을 특정 예시된 실시예로 제한하려는 의도는 없으며, 반대로, 본 발명은 청구범위에서 정의된 바와 같이 본 발명의 범위에 속하는 모든 변형, 대안적 구성 및 등가물을 포함하고자한다.
도 1은 수학 문제(100)를 해결하기 위한 회로의 예를 언급한다. 해결 회로(100)는 복수의 행 도체 Li, 복수의 열 도체 Cj 및 각각의 행 도체 Li 및 각각의 열 도체 Cj 사이에 각각 연결된 복수의 아날로그 저항 메모리 Gij를 포함하는 크로스포인트 매트릭스 MG를 포함한다. .
본 발명의 목적을 위해, 저항 메모리(memristor라고도 함)는 가능한 새로운 구성이 될 때까지 유지되는 값을 취하도록 구성될 수 있는 컨덕턴스를 갖는 2 개의 단자(즉, 쌍극자)를 갖는 회로 소자이다. 예를 들어, 다음 장치는 저항 메모리이다: RRAM(Resistive Random Access Memories), CBRAM(Conductive Bridging Random Access Memories), PCM(Phase Change Memories), 다른 유형의 자기 저항 랜덤 액세스 메모리(MRAM), 상이한 유형의 강유전성 랜덤 액세스 메모리(FeRAM), 유기 재료 메모리, 또는 전기, 자기장, 열, 광학, 기계적 동작 또는 임의의 다른 유형의 동작, 또는 이들의 조합으로 인해 컨덕턴스를 변경할 수 있는 기타 장치가 이에 해당한다.
상술한 저항 메모리(Gij)는 바람직하게는 아날로그 타입이며, 이는 작동 범위에서 연속 컨덕턴스 값을 취할 수 있음을 의미하고; 그러나, 이는 디지털 타입의 저항 메모리 Gij의 가능성을 배제하지 않으며, 이는 유한 값 세트에 속하는 컨덕턴스 값을 취할 수 있음을 의미한다.
도시된 특정 예는 행 도체 Li의 수 N = 3, 열 도체 Cj의 수 N = 3 및 이들의 컨덕턴스 Gij로 표시되는 아날로그 저항 메모리의 수 N × N = 3 × 3을 예시한다.
또한, 회로(100)는 폐-루프 구성을 갖는 복수의 연산 증폭기(A0i)를 포함하고, 각각은 각각의 행 도체(Li)에 연결된 제 1 입력 단자(IN1i), 접지 단자(GR)에 연결된 제 2 입력 단자(IN2i) 및 출력 단자 OUi를 갖는다. 특히, 제 1 입력 단자(IN1i)는 각각의 연산 증폭기(OAi)의 반전 단자이고, 제 2 입력 단자(IN2i)는 각각의 연산 증폭기(OAi)의 비-반전 단자이다.
각 연산 증폭기(OAi)의 출력 단자(OUi)는 각각의 열(Cj)에 연결된다. 구체적으로, 도 1에 따르면, 각각의 출력 단자(OUi)는 열 Cj의 단부에 연결되며, 여기서 j = i이다. 설명된 예에 따르면, 도 1은 3 개의 연산 증폭기 OAi(OA1, OA2, OA3)를 도시하며, 따라서, 3 개의 제 1 입력 단자 IN1i(IN11, IN12, IN13), 3 개의 제 2 입력 단자 IN2i(IN21, IN22, IN23) 및 3 개의 출력 단자 OUi(OU1, OU2, OU3)가 표시된다.
네거티브 피드백으로 인해, 각각의 연산 증폭기(A0i)는 각각의 제 1 입력 단자(IN1i)를 가상 접지로 취하기 위해, 다시 말해서, 제 2 입력 단자(IN2i)에 의해 가정되는 접지 GR 중 하나에 가까운(이론적으로 동일한) 전압 값을 취하도록, 동작할 수 있는 것으로 관찰된다. 가상 접지는 무한 이득을 갖는 연산 증폭기에 의해 이론적으로 가정되는 것으로 관찰된다. 특히, 각각의 연산 증폭기(AOi)는 반전 구성을 갖는다.
해결될 수학적 문제를 참조하면, 복수의 저항 메모리(Gij)는 각각의 컨덕턴스 값(Gij로 또한 표시됨)에 의해 수학적 문제의 알려진 복수의 알려진 제 1 값을 나타내도록 구성될 수 있다.
또한, 회로(100)는 해결될 수학 문제의 제 2 알려진 값 또는 제 2 복수의 알려진 값을 나타내도록 구성될 수 있는 회로 자체의 복수의 전기 크기를 검출할 수 있다. 이 제 2의 복수의 알려진 값은, 예를 들어, 각각의 행 도체에 주입된 전류의 값을 포함하거나, 또는 알려진 값은 복수의 연산 증폭기(AO1)에 연결될 수 있는 추가 전기 부품의 컨덕턴스(또는 다른 파라미터) 일 수 있다.
복수의 연산 증폭기(AO1)는 수학 문제를 해결하는 복수의 값을 나타내는 복수의 출력 전압(Vi)(각 출력 단자(OUi)에서 측정 가능)을 정의한다.
특정 실시예에 따르면, 해결 회로(solving circuit)(100)는 선형 대수 문제의 대략적인 해법에 사용될 수 있으며, 그 중에서 다음이 예시적으로 열거된다:
- 매트릭스 형태로 표현할 수 있는 방정식의 제곱 시스템의 해;
- 실제 스퀘어 매트릭스의 역전;
- 고유 벡터의 계산.
해결 회로(100)는 전압 값 Vi(도시되지 않음)를 측정하기 위한 적어도 하나의 장치를 더 포함할 수 있다. 이러한 측정 장치는 아날로그(즉, 전위차계) 또는 디지털일 수 있으므로 전압 값 Vi를 아날로그에서 디지털로 변환해야한다.
본 설명에서, 동일하거나 유사한 회로 구성 요소는 도면에서 동일한 식별 기호로 표시될 것으로 관찰된다.
제곱 방정식 시스템의 해
도 2는 상술한 회로(100)의 제 1 실시예를 참조하고, 일례로서, 제곱 방정식 시스템을 푸는 제 1 회로(200)를 도시한다.
제 1 시스템 해결 회로(200)는 다음의 매트릭스 형태로 표현될 수 있는 제곱 방정식 시스템을 해결할 수 있다:
Ax = b (1)
여기서:
A: 차원 N x N을 갖는 실수 계수의 매트릭스이고;
x: 미지의 벡터이며, 길이는 N이고;
b: 실수 요소의 벡터이며, 길이는 N이다.
저항 메모리(Gij)는 최소값(Gmin)과 최대 값(Gmax) 사이의 범위 내에서 미리 결정된 값(불확실성 마진을 제외하고)을 취하도록 구성될 수 있는 것으로 관찰된다.
매트릭스(1)의 저항 메모리의 각 컨덕턴스 값(Gij)은 매트릭스(A)의 원소(Aij)와 동일하거나 비례한다. 특히, 도 2에 도시된 제곱 방정식 시스템을 푸는 제 1 회로(200)는 매트릭스 A의 원소(Aij)를 지칭하며, 이들 모두 양의 값이다.
제 1 시스템 해결 회로(200)에는 또한 예를 들어 행 도체 Li의 제 1 단부에 각각 연결된 복수의 전류 발생기 Ii가 제공된다. 각각의 연산 증폭기 AOi는 예를 들어, 전류 생성기(Ii)에 연결된 제 1 단부와 반대인 제 2 단부에서, 각각의 행 도체 Li에 연결된 것으로 관찰된다. 이 예에 따르면, 저항 메모리(Gij)는 특정 행 도체(Li)의 제 1 및 제 2 단부 사이에 포함된 노드(nij)에서 대응하는 행 도체에 연결된 각각의 단자를 나타낸다.
전류 생성기 Ii는 각각의 행 도체에 전류 Ii(I1, I2, I3)를 주입하도록 구성되며, 그 값은 매트릭스 시스템의 알려진 벡터 b의 요소와 동일하거나 비례하도록 선택된다(1). 전류 Ii는 일정 또는 펄스 전류이다.
동작에서, 행 도체 Li에 공급되는 전류 Ii는 각각의 연산 증폭기 AOi의 제 1 입력 단자 INi(즉, 가상 접지 단자 IN1i)로 흐른다. 전압들(Vi)은 각각의 출력 단자(OUi)와 접지(GR) 사이에서 평가된다.
도 2에서 옴 및 키르히호프 법칙에 따라 다음 방정식을 작성할 수 있다.
V1G11 + V2G12 + V3G13 = -I1
V1G21 + V2G22 + V3G23 = -I2 (2)
V1G31 + V2G32 + V3G33 = -I3
식(2)는 식(3)과 같이 간단한 방식으로 다시 작성할 수 있다.
∑jVjGij = -Ii (3)
또한 대수 표기법으로 다음 매트릭스 방정식(4)에 의해 표현될 수 있다.
AV = -I (4)
여기서 A는 컨덕턴스 Gij의 매트릭스이고, I는 알려진 벡터 -b이며, 전압 V의 벡터는 (1)에 의해 이미 표현된 바와 같이 선형 시스템 Ax = b를 해결한다.
동작에서, 전술한 바와 같이, 컨덕턴스 Gij의 값이 구성되고 제 1 회로(200)는 미리 결정된 전류 값 Ii에 의해 공급된다.
연산 증폭기(AOi)는 각각의 제 1 입력 단자(INi)(반전 단자) 및 모든 행 도체(L1)를 접지로 가져가고, 결과적으로 출력 단자(OUi)에서 전압(Vi)은 관계식 (4)에 의해 표현되는 바와 같이 최종 값을 가정한다.
고 이득 연산 증폭기(OAi)를 선택하면 가상 접지에 매우 빠르게 도달할 수 있으며, 전압은 결정될 값(Vi)으로 빠르게 수렴된다. 특히, 이 실시예 및 다른 실시예에 대해, 105보다 큰 공칭 이득을 갖는 연산 증폭기가 선택될 수 있다.
제 1 시스템 해결 회로(200)에서 도달된 전압 값 Vi(구체적으로 V1, V2 및 V3)를 측정하면 벡터 x의 요소를 얻을 수 있고 결과적으로 방정식 시스템(1)을 풀 수 있다.
도 2의 제 1 시스템 해결 회로(200)는 양의 요소만을 포함하는 계수 A의 매트릭스를 지칭한다. 양수 요소와 음수 요소를 모두 포함하는 계수 A1의 매트릭스를 고려하여, 다음의 방정식 시스템의 솔루션
A1 x = b (1a)
를 도 3의 실시예에 의해 얻을 수 있으며, 이는 계수 매트릭스 A1의 치수가 N = 3 인 특정 예에서, 방정식(300)의 스퀘어 시스템을 해결하기 위한 제 2 회로의 예를 도시한다.
제 2 시스템 해결 회로(300)는 둘 모두 양의 요소만을 포함하는 제 1 매트릭스(A+)와 제 2 매트릭스(A-)의 차이로서 매트릭스(A1)가 표현될 수 있음을 관찰함으로써 구성된다:
A1 = A+ - A- (5)
특히, 제 2 매트릭스(A-)는 매트릭스(A1)의 음의 요소의 절대 값을 포함한다.
식(5)에 따르면, 제 2 시스템 해결 회로(300)는 도 2의 매트릭스(MG)와 유사한 제 1 크로스포인트 매트릭스(MG+)를 포함하고, 이의 저항 메모리는 제 1 매트릭스(A+) 및 제 2 크로스포인트매트릭스 MG-(제 1 매트릭스와 구조적으로 유사함)의 요소에 대응하는 컨덕턴스(Gij+)를 가지며, 그 저항 메모리는 제 2 매트릭스 A-의 요소에 대응하는 컨덕턴스 Gij-를 갖는다.
2 개의 크로스포인트 매트릭스는 동일한 열 도체 Cj를 가지며, 이들 각각을 따라(저항 메모리 Gij+와 저항 메모리 Gij- 사이에서) 각각의 반전 장치 Invi(도시된 예에서: Inv1, Inv2, Inv3)이 개재되어, 관계식(5)에 의해 표시된 차이에 대응하도록 전압의 부호를 입구에서 출력으로 반전시키도록 구성된다.
제 1 크로스포인트 매트릭스(MG+)는 N = 3 개의 행 도체 Li+ (L1+, L2+, L3+)를 포함하고, 이들 각각은 대응하는 전류 생성기(Ii)에 연결된 각각의 공급 노드 Ni(N1, N2, N3)에 연결된 단부를 갖는다.
본 예의 제 2 크로스포인트 매트릭스(MG-)는 N = 3 개의 행 도체 Li(L1-, L2-, L3-)를 포함하고, 이들 각각은 공급 노드 Ni(N1, N2, N3) 중 하나에 연결된 단부를 갖는다.
특히, 제 2 시스템 해결 회로(300)의 연산 증폭기(OAi)는 가상 접지를 참조하여 전술한 바와 같이 동작하고, 특히, 가상 접지 노드로 작용하는 공급 노드(N1, N2, N3)에서 각각의 행 도체 Li+ 및 Li-에 연결된 각각의 반전 입력 단자(IN1i)를 갖는다.
알려진 각 전류(I1, I2 및 I3)는 공급 노드 N1, N2 및 N3 중 하나에서 두 가지 항, 즉 Ii+ 및 Ii-로 나뉜다:
Ii = Ii+ + Ii- (6)
첫 번째 크로스포인트 매트릭스 MG+를 참조하면 다음 방정식이 유효하다.
∑jVjGij+ = -Ii+ (7)
여기서 Vj는 전압 벡터 V1, V2, V3을 나타낸다.
두 번째 크로스포인트 매트릭스 MG-를 참조하면 다음 방정식이 유효하다.
-∑jVjGij- = -Ii- (8)
방정식(7)과(8)을 서로 합하면 다음과 같이 얻을 수 있다.
∑Vj(Gij+ -Gij-) = -Ii+ -Ii- = -I (9)
관계식 (5)를 기반으로, 다음을 얻을 수 있다:
(Gij+ - Gij-) =(A+ - A) = -A1 (10)
따라서 다음과 같이(8)을 다시 쓸 수 있다:
(A+ - A-) x = A1 x = -I = b (11)
전류(Ii)를 알려진 벡터(b)의 값으로 변경함으로써, 전압(Vj)을 측정하는 것은 음의 요소와 양의 요소를 포함하는 계수(A1)의 매트릭스에 대해서도 방정식(1a)의 시스템을 해결할 수 있게 한다.
스퀘어 매트릭스 반전
더욱이, 도 2 및 도 3의 실시예에서도 문제 해결 회로(100)는 스퀘어 매트릭스(정방 행렬)를 반전시키기 위해, 즉, 매트릭스 A의 역 매트릭스 A-1을 계산하기 위해 사용될 수 있음이 관찰된다.
역매트릭스 A-1은 다음 관계를 충족한다.
AA-1 = U (12)
여기서 U는 1의 등가의 대각선 요소를 제외하고 요소가 모두 null 인 항등 매트릭스이다.
역매트릭스 A-1을 결정하기 위해서는 다음 방정식 시스템을 풀어야한다.
AAi -1 = Ui (13)
여기서:
- Ai -1은 역매트릭스 A-1의 i 번째 열이다.
- Ui는 항등 매트릭스 U의 i 번째 열이다.
매트릭스 A의 크기가 N x N 인 경우, (13)에 따라 N개의 시스템을 풀어야한다. 이 경우, 식(200)의 시스템을 해결하기 위한 제 1 회로는 식(13)의 시스템 중 하나를 참조하여 다음과 같이 구성될 수 있다:
- 크로스포인트 매트릭스(MG)는 반전될 매트릭스(A)의 값과 동일한 컨덕턴스(Gij)를 가지며;
- 전류 Ii는 항등 매트릭스 U의 i 번째 열의 값 Ui를 취한다.
이러한 조건 하에서, 도 2를 참조하여 지시된 것과 동일한 방식으로, 전압 Vj의 값은 역매트릭스 A-1의 열 Ai -1을 나타낸다.
도 3을 참조하여 설명된 모드를 사용함으로써, 음의 요소 및 양의 요소를 포함하는 매트릭스를 반전시킬 수 있다.
고유 벡터 계산
전술한 바와 같이, 회로(100)는 예를 들어 제 1 고유 벡터 계산 회로(400)를 나타내는 도 4에 도시된 바와 같이 고유 벡터를 계산하는데 사용될 수 있다.
해결해야할 문제는 다음 관계로 표현할 수 있다.
Ax = λx (14)
여기서:
- A는 알려진 원소로 구성된 N x N 매트릭스이다.
- x는 알려지지 않은, 매트릭스 A의 고유 벡터이다.
- λ는 알려진, 매트릭스 A의 (스칼라) 고유 값이다.
제 1 고유 벡터 계산 회로(400)에서, 연산 증폭기(AOi)는 트랜스-임피던스 구성을 가지며, 특히 제 1 입력 단자(IN1i)(반전된 하나의 "-")는 λG0과 동일한 컨덕턴스를 갖는 피드백 저항 각각에 의해 각각의 연산 증폭기(OAi)의 출력 단자(OUi)에 연결된다(여기서 G0은 알려진 값이며 기준 컨덕턴스 임).
특히, 각각의 피드백 저항(λG0)(저항 메모리에 의해 구현 가능)은 각각의 연산 증폭기(OAi)의 반전 단자에 각각 연결된 입력 노드(INi)(예에서 IN1, IN2, IN3)와 출력 단자(OUi) 사이에 연결된다.
연산 증폭기(AO1)의 출력 단자(OUi)는 폐-루프 구성을 얻기 위해 각각의 인버터(INV1, INV2 및 INV3)에 의해 행 도체(Li)에 연결된다.
도 4의 예는 양의 요소만을 포함하는 매트릭스 A에 대한 N = 3의 경우를 참조한다.
각각의 연산 증폭기의 입력 노드(INi)로 흐르는 전류(I1, I2 및 I3)는 다음과 같이 표현될 수 있다.
I1 = V1G11 + V2G12 + V3G13
I2 = V1G21 + V2G22 + V3G23 (15)
I3 = V1G31 + V2G32 + V3G33
일반 값 N의 경우, 시스템(15)을 다음과 같이 다시 작성할 수 있다.
Ii = ∑jVjGij (16)
또는 다음과 같은 방식으로 매트릭스 표기법으로
I = GV (17)
전류 I의 벡터는 트랜스-임피던스 구성을 갖는 연산 증폭기 OAi에 의해 전압 벡터 V로 변환된다:
V = I/GTIA (18)
관계식(18)에 의해 표현된 변환은 트랜스-임피던스 증폭기로서 동작하는 각각의 연산 증폭기(OAi)에 의해, 그리고 각각의 인버터(INVi)에 의해 가능해진다.
GTIA는 피드백 저항의 컨덕턴스이다.
GTIA = λG0 (19)
여기서 λ는 고유 값이고 G0은 기준 컨덕턴스이다.
따라서 다음과 같이 쓸 수 있다.
GV = G0λV (20)
후자를 관계식 Ax = λx와 비교하면 다음을 얻을 수 있다.
A = G/G0, x = V (21)
따라서, 도 4의 회로(400)에서, 크로스포인트 매트릭스(MG)의 저항 메모리의 컨덕턴스(Gij)는 기준 컨덕턴스(G0)의 값에 곱해진 매트릭스(A)의 요소 중 하나와 동일한 값을 갖는다.
피드백 저항 GTIA는 고유 값 λ와 기준 컨덕턴스 G0의 곱에 의해 주어진다. 전압 Vi(V1, V2 및 V3)의 측정된 값은 요청된 고유 벡터 x에 해당한다. 고유 값, 즉 피드백 저항 GTIA의 값을 수정함으로써 고유 벡터 x의 완전한 세트가 얻어진다는 것이 관찰된다.
제 1 고유 벡터 계산 회로(400)의 가능한 적용은 순위 알고리즘(예를 들어, 구글의 경우)의 링크 매트릭스에서 발견되며, 여기서 고유 값은 각 페이지의 중요도 점수를 나타낸다. 따라서, 기술된 해결책은 인터넷 페이지의 순위를 높이고 일반적으로 "빅 데이터"를 분석하는데 매우 유리한 것으로 보인다.
제 1 고유 벡터 계산 회로(400)는 또한 미분 방정식의 근사 숫자 솔루션에 적용될 수 있다. 미분 방정식이 유한 차분 방정식으로 변환될 때, 그것은 다시 매트릭스 형태 Ax = λx를 갖는다. 예를 들어, 슈뢰딩거 방정식이 이러한 형태를 취하는데, A가 반-대각 매트릭스이고, λ는 에너지의 고유 값이며, x는 문제의 솔루션 고유 함수이다.
고유 벡터를 찾는 매트릭스 A가 양수 요소와 음수 요소를 모두 포함하는 경우, 문제는 도 5에 예시 적으로 도시된 제 2 고유 벡터 계산 회로(500)에 의해 해결될 수 있다(여전히 N = 3 임).
제 2 고유 벡터 계산 회로(500)는 표기법에 따라 양의 요소를 포함하는 매트릭스 G+ 및 G-에 각각 대응하는 제 1 크로스포인트 매트릭스 MG+ 및 제 2 크로스포인트 매트릭스 MG-를 포함한다:
A =(G+ - G-)/G0 (22)
2 개의 크로스포인트 매트릭스는 동일한 열 도체 Cj를 가지며, 이들 각각을 따라 (저항 메모리 Gij+와 저항 메모리 Gij- 사이에) 각각의 반전 장치 Invj(Inv4, Inv5, Inv6)가 개재되어, 입력으로부터 출력까지의 전압의 부호를 반전시키도록 구성된다.
제 1 크로스포인트 매트릭스(MG+)는 N = 3의 행 도체 Li+(L1+, L2+, L3+)를 포함하고, 이들 각각은 각각의 연결 노드 NiA(N1A, N2A, N3A)에 연결된 단부를 갖는다. 예의 제 2 크로스포인트 매트릭스(MG-)는 N = 3의 행 도체 Li-(L1-, L2-, L3-)를 포함하고, 이들 각각은 연결 노드 NiA(N1A, N2A, N3A) 중 하나에 연결된 단부를 갖는다. .
특히, 제 2 시스템 해결 회로(300)의 연산 증폭기(OAi)는 가상 접지를 참조하여 전술한 바와 같이 동작하고, 특히 접점 노드(N1A, N2A, N3A)에서 각 행 도체 Li+ 및 Li-에 연결된 각각의 입력 노드(INi)를 가지며, 가상 접지 노드로 작동한다.
도 5의 회로에서, 제 1 크로스포인트 매트릭스 MG+의 행 도체에 있는 전류 Ii+(I1+, I2+, I3+)를 참조하면 다음과 같은 간단한 방정식이 유효하다.
Ii+ = ∑jVjGij+ (23)
제 2 크로스포인트 매트릭스 MG-의 행 도체에 흐르는 전류 Ii+(I1+, I2+, I3+)를 참조하면 다음과 같은 간단한 방정식이 유효하다.
Ii- = -∑jVjGij- (24)
Kirchhoff 법칙에 따라 전류 Ii+ 및 Ii-는 각 연결 노드 N1A, N2A 및 N3A에서 서로 합산되어 다음을 얻는다.
Ii = Ii+ + Ii (25)
결과적으로 전류 벡터 I는 다음과 같이 대수 표기법으로 표현될 수 있다.
I = GV (26)
여기서:
Gij = Gij+ - Gij- (27)
전류 벡터 I는 트랜스-임피던스 연산 증폭기 OAi와 각 인버터 InVi에 의해 전압 벡터 V로 변환된다.
V = I/GTIA (28)
여기서, 도 4의 전술한 회로에 있어서, GTIA는 피드백 저항의 컨덕턴스이다:
GTIA = λG0 (29)
관계식 Ax = λx를 고려하고 관계식(29)와 비교하면 다음과 같이 얻을 수 있다.
A = G/G0, x = V (30)
이는 도 4의 회로 식(21)과 유사하다.
제 1 고유 벡터 계산 회로(400)의 각각의 연산 증폭기(AOi)는 그 자신의 포지티브 및 네거티브 공급을 갖는 능동 회로 인 것으로 관찰된다. 제 1 고유 벡터 계산 회로(400)의 행 및 열 도체에서, 문제의 해결책을 결정하는 옴 및 키르히호프 법칙을 만족시키기 위해 전류/전압이 생성된다. 다른 도시된 도면의 회로에 대해서도 유사한 고려가 유효하다.
다른 실시예
전술한 모든 회로의 컨덕턴스 값(Gij)은 저항 메모리(즉, 멤 리스터)를 사용하는 것뿐만 아니라, 요구되는 컨덕턴스(Gij)의 각 값에 대해, 예를 들어, 전계 효과 트랜지스터, 부동 게이트 트랜지스터, 플래시 메모리, 전하 트래핑 메모리와 같은 3 개 이상의 단자를 갖는 (바람직하게는 재구성가능한 종류의) 저항 요소를 사용함으로써 달성될 수 있는 것으로 관찰된다. 예를 들어, 전하-트랩핑 메모리로서, MONOS(metal-oxide-nitride-oxide-semiconductor) 구조를 갖는 장치가 사용될 수 있다.
이를 위해, 도 6은 도 2를 참조하여 전술한 바와 같이 방정식(200)의 스퀘어 시스템을 해결하기 위한 제 1 회로의 제 1 실시예(200A)를 도시하며, 각각의 MONOS-형 디바이스 Dij에 의해 컨덕턴스 Dij가 얻어진다.
각 디바이스 Dij의 게이트 전압 Vg,ij는 각각의 텐션 생성기(도시되지 않음)에 의해 제어되며, 예를 들어, 열의 또는 행의 모든 게이트 단자들을 전압 생성기 자체에 연결함으로써, 연결의 수를 제한하기 위해 서로에 대해 부분적으로 단락될 수 있다. 도 6의 동일 회로가 부동-게이트 트랜지스터와 함께, 또는, 간단한 전계-효과 트랜지스터와 함께, 또는, 다른 유형의 3-단자 요소와 함께 사용될 수 있다.
더욱이, 3-단자 저항 요소가 2-단자 요소(가령, 멤리스터) 및 3-단자 요소의 적절한 조합을 또한 포함할 수 있다는 것이 관찰된다. 도 7은 방정식(200)의 스퀘어 시스템을 해결하기 위한 제 1 회로의 제 2 실시예(200B)를 예시적으로 보여주며, 각각의 컨덕턴스 Gij는 트랜지스터 디바이스 TRij 및 멤리스터 디바이스 MRij를 포함하는 3-단자 요소를 적절히 구성함으로써 획득된다.
컨덕턴스 값 Gij를 획득하기 위해 사용가능한 저항 요소들을 참조하여 기술된 것은 제 1 고유 벡터 계산 회로(400)를 참조하여 기술된 컨덕턴스 값 Gij에 대해서도 유효하다.
더욱이, 일정 컨덕턴스 저항 요소, 다시 말해서, 논-리컨피규어러블 요소를 이용함으로써, 기술된 모든 실시예가 동작할 수 있음이 관찰된다.
이제, 상술한 상이한 실시예들에서 연산 증폭기 OAi의 폐-루프 구성이 이제 참조된다. 추가 실시예에 따르면, 연산 증폭기 OAi 중 하나가 개-루프 구성에 놓이고 그 출력 단자 OUi는 열 도체 Ci에 연결되지 않는다.
예를 들어, 도 8은 제 1 고유 벡터 계산 회로(400)의 상이한 실시예(400B)를 도시하며, 연산 증폭기 OA1의 출력 단자 OU1이 제 1 열 도체 C1에 연결되지 않고 따라서 (찾고자하는 고유 벡터 V의 요소로서) 측정될 전압 V1'은 연산 증폭기 OA1에 의해(각자의 반전 디바이스 Inv1에 의해) 구동되는 단자 TOU1에서 가용하다. 도 8의 예에 따르면, 제 1 열 C1은 전압 생성기 GEN에 의해 생성된 전압 V1에 의해 공급된다. 또한, 크로스포인트 매트릭스 MG 내의 다른 지점에서, 도 8에 도시된 것에 대한 대안으로서, 또는 이에 추가하여, 제 1 열 도체 C1이 오픈되어 있을 가능성이 또한 존재한다.
수학적 문제 해결 회로(100)의, 그리고 상술한 실시예의 적용은, 예를 들어, 웹 페이지의 순위 페이지를 계산하는 것과 같이, 빅 데이터의 분석으로 구성된다는 것이 관찰된다. 다른 적용예는 예를 들어 슈뢰딩거 방정식과 같은 미분 방정식, 및 기타 계측, 금융, 생물학 문제, 등의 적절한 해를 포함한다.
수학 문제 해결 회로(100) 및 그 상술한 실시예들은 저항 메모리의 구성가능한 값에 관하여 어느 정도의 불확정성이 존재하기 때문에 개략적 해를 전달한다. 이러한 근사성은 회로 자체의 적용의 더 큰 부분에 대해 수용가능하다.
수학 문제 해결 회로(100) 및 그 상술한 실시예들은 연산적으로 간단한 장점을 가진다: 연산이 곱셈 및 덧셈 연산없이 단 하나의 클럭으로 이루어진다. 따라서, 기술되는 회로는 대수 연산 가속기로 작용한다.
도 9는 선형 회귀 가속기 회로(1000)로, 수학 문제 해결 회로의 다른 예를 지칭한다.
선형 회귀 가속기 회로(1000)는 제 2 회로(700)(또는 출력 회로)에 연결된 제 1 회로(600)(또는 입력 회로)를 포함한다. 제 1 회로(600)는 도 1에서 기술된 수학 문제 해결 회로(100)와 유사하며, 단지 복수의 아날로그 저항 메모리가 Gij 대신에 기준 Xij로 표시되는 점에 차이가 있다. 제 2 입력 회로(700)는 도 1에 기술된 수학 문제 해결 회로(100)와 또한 유사하다.
특히, 제 1 회로(600)의 연산 증폭기 OAi는 3-임피던스 구성을 가지며, 구체적으로, 제 1 입력 단자 IN1i(반전 1 "-")는 G0의 컨덕턴스를 가진 각각의 피드백 저항에 의해 각각의 연산 증폭기 OAi의 출력 단자 OUi에 연결되며, G0는 알려진 값이고 기준 컨덕턴스이다.
각각의 연산 증폭기(OAi)의 출력 단자(OUi)는 출력 크로스포인트 매트릭스(MGou)를 포함하는 제 2 회로(700)에 연결된다. 출력 크로스포인트 매트릭스(MGou)는 크로스포인트 매트릭스(MG)와 동일한 치수를 가지며, 제 1 회로(600)의 크로스포인트 매트릭스(MG)와 동일한 값 및 회로 위치를 갖는 아날로그 저항 메모리(Xij)를 포함한다.
도 9의 예에서, 크로스포인트 매트릭스 MG 및 출력 크로스포인트 매트릭스 MGou는 직사각형 매트릭스이다. 특히, 열 수가 행 수보다 적다(예: 한 단위만큼).
제 1 회로(600)의 각각의 연산 증폭기(OAi)의 출력 단자(OUi)는 출력 크로스포인트 매트릭스(MGou)의 각각의 행 도체(Li)에 연결된다. 출력 크로스포인트 매트릭스(MGou)의 각 열 도체(Cuj)는 각각의 출력 연산 증폭기(OAoui)에 연결된다. 각각의 출력 연산 증폭기(OAoui)는 각각의 열 전도체(Coj)에 연결된 각각의 비-반전 입력 단자 "+" 및 접지 GR에 연결된 각각의 반전 입력 단자 "-"를 갖는다.
각각의 출력 연산 증폭기(OAoui)에는 제 1 회로(600)의 크로스포인트 매트릭스(MG)의 각각의 열 도체(Cj)에 연결된 각각의 출력 단자(OUPj)가 제공된다. 각각의 출력 연산 증폭기(OAoui)는 폐-루프 회로(1000)에 연결된다.
또한, 선형 회귀 가속 회로(1000)는, 예를 들어, 크로스포인트 매트릭스(MG)의 행 도체(Li)에 각각 연결되는, 그리고 컨덕턴스(G0)가 연결된 각각의 단자에서 전압(-yi)을 갖는, 전압 발생기(VGi)에 의해 공급된다. 각각의 연산 증폭기 AOi의 출력 단자 OUi에서의 전압은 참조 Vi로 표시된다. 출력 연산 증폭기(OAoui)의 출력 단자(OUPj)에서의 전압은 기호 wj(예시 w1 및 w2)로 표시된다.
선형 회귀 문제와 관련하여, 회귀는 무한한 가설적 모집단에서 추출한 샘플링 날짜를 기준으로 측정된 변수 간의 기능적 관계 문제를 공식화하고 해결한다는 것을 기억해야 한다. 예를 들어, 이는 m 포인트이고(입력-출력 쌍이 고려 됨)이고, 각각은 n개의 입력 변수:
(x1, x2,…, xn) (31)
및 출력 좌표 y를 갖는다.
i 번째 입력-출력 쌍의 경우 선형 회귀 관계가 있다.
(32)
여기서 i는 1 내지 m의 모든 정수를 포함한다.
전체를 매트릭스 형태로 표현하면 다음과 같이 얻을 수 있다.
(33)
여기서: W는 (결정될) 계수의 매트릭스이고, ε은 근사 오차이다:
근사 오차 ε을 최소화하기 위해 벡터 ε의 놈(norm)이 최소화되고, 따라서, 다음과 같이 표현된다.
(34)
변수 w에 대해 식(34)의 도함수를 0으로 설정하여 놈의 최소값을 결정할 수 있다.
이는 다음과 같다.
(35)
따라서 계수 w의 매트릭스는 다음과 같이 주어진다.
(36)
여기서(XT X)-1XT는 매트릭스 X의 의사 역수이다.
선형 회귀 회로(1000)를 다시 참조하면, 관계식(36)을 해결함으로써 2 차 오차(34)를 최소화하는데 사용될 수 있다.
실제로, 연산 증폭기(OAi)의 출력 전압 Vi(벡터 V)(트랜스-임피던스 구성으로 동작하도록되어 있음)는 다음 관계로 표현될 수 있다.
(37)
여기서 X는 컨덕턴스 Xij의 매트릭스이고 G0는 이전에 정의되었다.
출력 연산 증폭기(OAouj)는, 연산 증폭기(OAi)를 참조하여 설명한 것과 유사하게, 각각의 비-반전 입력 단자를 가상 접지에 연결하도록 구성되어:
(38)
매트릭스 G0는 컨덕턴스 X의 매트릭스 단위이므로 식(38)은 다음과 같은 형식을 취한다.
(39)
이것은 방정식(36)과 같다.
알려진 값들에 기초하여 회로(1000)를 정확하게 치수화하고 일단 전압 발생기들(VGi)에 의해 공급 전압을 인가한 후에, 회로(1000)는 출력 연산 증폭기들(OAouj)의 출력 단자들이 (수식(36)에서와 같이) 추구하는 솔루션을 나타내는 각각의 전압(wj)을 갖도록 동작할 것이다. 이전 실시예들에서 수행된 것과 유사하게, 선형 회귀 가속기 회로(1000)에 대해서도, 곱셈 및 합산 연산을 요구함없이 하나의 클록으로만 계산이 수행된다. 따라서, 설명된 선형 회귀 회로(1000)는 대수 연산 가속기로서 동작한다.
전술한 바와 같이 선형 회귀 가속기 회로(1000)의 배열은 로지스틱 회귀 가속기로서 사용되도록 또한 적응가능하다. 알려진 바와 같이, 로지스틱 회귀는 y- 의존 변수가 낮은 값(예: -1)과 높은 값(예: +1)으로 묶인 이분법 유형인 특별한 경우이며, 모든 변수가 두 개의 값만 취할 수 있다(예: 참 또는 거짓).
로지스틱 회귀 가속기를 구현하기 위해, 이분법 값 -1(낮은 값) 및 1(높은 값)을 나타내는 전압(또는 전류) 공급 생성기로 도 9의 회로(1000)의 레이아웃을 수정하는 것이 제공된다. 얻어진 벡터(w)는 두 개의 부류의 점들을 높은 y와 낮은 y로 선형적으로 분리할 수 있게하는 식(32)의 계수를 식별한다.
또한, 선형 회귀 가속기 회로(1000)는 신경망의 계수 wj를 계산하는데 사용될 수 있으며, 이는 예를 들어 역-전파 방법에 따라 반복 트레이닝을 수행하는 것을 방지한다.
예를 들어, 도 10은 입구 층(801), 은닉층(802) 및 출구 층(803)을 포함하는 신경망(800)을 개략적으로 도시한다.
도 10의 예에서, 입구 층은 N1 = 14x14 = 196 뉴런을 포함하고, 은닉층은 N2 = 784 뉴런을 포함하고, 마지막으로 출력 또는 분류 층은 N3 = 10 뉴런을 포함한다.
입력 층(801)에 관련되는 신경망(800)의 가중치는 매트릭스 W(1)(예를 들어, 치수 N1 x N2 = 196 x 784 인 W(1))으로 표현될 수 있고, 은닉층(804)의 가중치는 매트릭스 W(2)(예를 들어, 치수 N2 x N3 = 784 x 10 인 W(2))로 표현될 수 있다.
신경망(800)은 예를 들어 입력량을 확인/분류하는데 사용될 수 있다. 특정 예에 따르면, 상술한 것과 같은 신경망은 손으로 쓴 숫자(0 내지 9)를 확인하는데 사용될 수 있다. 예를 들어, N1 입력 값(픽셀)의 매트릭스로 표현된 MNIST 데이터 세트 표준의 단일 숫자는 시냅스 가중치의 값을 설정하기 위해 신경망(800)을 적절히 훈련시킴으로써 0부터 9까지 수치로 신경망에 의해 분류될 수 있다.
신경망(800)을 훈련시키는 연산은 로지스틱 회귀 연산이며, 가중치는 뉴런의 이분법적 출력을 더 선형적으로 분리하는 계수를 나타낸다는 것이 관찰된다.
결과적으로, 신경망은 전술한 로지스틱 회귀 알고리즘에 따라 동작되는 도 9의 선형 회귀 회로(1000)에 의해 훈련될 수 있다. 이를 위해, 제 1 뉴런 층(801)과 숨겨진 뉴런 층(802) 사이의 시냅스 가중치 W(1)는 예를 들어 가중치 랜덤 분포에 따라 임의로 설정된다. 또한, 제 1 층(801)의 뉴런에 제공될 결정된 수의 N1 입력 값의 지정된 M개 세트에 의해 형성된 트레이닝 데이터 세트가 사용된다. 회로(1000) 내부에서 사용될 매트릭스 X는 그 후, 상이한 M개의 프레젠테이션 상에서 숨겨진 신경망의 출력 값에 의해 형성될 것이다.
모든 M * N 개의 제시된 입력 값을 포함하는 매트릭스 I을 정의함으로써, 매트릭스 I는 예를 들어 다음과 같이 얻어진다:
(40)
여기서 sigmoid 함수는 일반 뉴런과 관련하여 가능한 비선형 함수이다. 매트릭스의 치수는 M * N2 인 것으로 관찰된다. 도 9의 벡터 yi는 i번째 분류 뉴런(i의 경우 1에서 N3까지 변화함)을 참조하는 레이블의 매트릭스("true" 레이블의 경우 +1, "false" 레이블의 경우 -1)로 얻은 것과 반대이다. 따라서, i번째 뉴런을 참조하는 시냅스 가중치는 선형 회귀에 의해 다음과 같이 얻어진다:
(41)
따라서, 은닉층(802)의 가중치 W(2)의 값은 선형 회귀 가속기 회로(1000)를 사용하여, 매트릭스 식(41)이 상기 논의된 매트릭스 식(36)과 유사하다는 것을 관찰함으로써, 얻을 수 있다. 연산은 각 분류 뉴런마다 하나씩 N3 번 반복되어야한다. 각 연산은 i 번째 출력 뉴런을 참조하여 N2 시냅스 가중치를 얻을 수 있다. 이러한 방식으로, 반복적인 연산은 은닉층과 출력 층 사이의 모든 N2 x N3 시냅스 가중치 W(2)를 얻을 수 있게한다.
선형 회귀 가속기(1000) 및 그의 상술된 특정 실시예는 데이터 과학에서 매우 유용하며, 상이한 과학 및 기술 분야, 가령, 경제학, 금융학, 생물학, 물리학, 자동 교육, 로봇 공학, 등에서 가능한 응용예를 발견하고 있다.
Claims (15)
- 수학 문제 해결 회로로서,
복수의 행 도체(Li), 복수의 열 도체(Cj; Couj), 및 행 도체와 열 도체 사이에 각각 연결되는 복수의 저항 요소(Gij; Xij)를 포함하는 크로스포인트 매트릭스(MG; MGou);
각각의 행 도체(Li)에 연결된 제 1 입력 단자(IN1i; "+"), 접지 단자(GR)에 연결된 제 2 입력 단자(IN2i; "-"), 및 각각의 열에 연결된 출력 단자(OUi; OUPj)를 갖는 복수의 연산 증폭기(OAi; OAouj) - 상기 복수의 연산 증폭기 각각(OAi; OAouj)은 폐-루프 구성으로서, 상기 폐-루프 구성을 수행하도록 각각의 행 도체에 연결된 각각의 열 도체(Cj; Couj)에 연결된 각각의 출력 단자(OUi; OUPj)를 포함하고, 각각의 제 1 입력 단자(IN1i; "+")를 가상 접지로 향하게 함 - 를 포함하되,
복수의 저항 요소는 각각의 컨덕턴스 값(Gij; Xij)에 의해 수학 문제의 제 1 복수의 알려진 값을 나타내고;
수학 문제의 적어도 하나의 제 2 알려진 값을 나타내는 적어도 하나의 구성 가능한 전기량(Ii; λG0; Go)은 상기 회로와 관련되며;
상기 복수의 연산 증폭기(OAi; OAouj)는 수학 문제의 복수의 솔루션 값을 나타내는 복수의 출력 전압(Vi; wi)을 각각의 출력 단자(OUi; OUPj)로부터 정의하고, 상기 회로는 상기 제1 입력 단자(IN1i; "+")가 가상 접지를 가정할 때 복수의 솔루션 값을 나타내는 복수의 출력 전압(Vi; wi)이 가정되도록 구성되는, 회로. - 제 1 항에 있어서, 상기 복수의 저항 요소는 저항 메모리, 3-단자 저항 요소(Dij, TRij), 저항 메모리(MRij) 및 3-단자 저항 요소(TRij)의 조합의 그룹에 속한 적어도 하나의 소자인, 회로.
- 제 1 항에 있어서, 상기 적어도 하나의 제 2 알려진 값은 제 2 복수의 알려진 값을 포함하고, 상기 회로는 상기 복수의 행 도체 중 하나의 행 도체(Li)에 각각 연결된, 그리고, 상기 제 2 복수의 알려진 값 중 하나의 알려진 값에 대응하는 전류를 생성하도록 구성되는, 복수의 전류 생성기(Ii)를 더 포함하는, 회로.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 각각의 연산 증폭기(OAi)의 제 1 입력 단자(IN1i)는 반전 단자이고, 각각의 연산 증폭기(OAi)의 제 2 입력 단자(IN2i)는 비-반전 단자인, 회로.
- 제 1 항에 있어서, 매트릭스 형태로 표현될 수 있는 스퀘어 방정식 시스템; 실수 스퀘어 매트릭스의 반전; 고유 벡터의 계산; 미분 방정식의 해로 구성되는 그룹에 속한 수학 문제를 해결하도록 구성되는, 회로.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 크로스포인트 매트릭스(MG+)의 상기 복수의 저항 요소는 각각의 컨덕턴스 값(Gij+)에 의해 제 1 복수의 알려진 값을 나타내도록 구성되고, 상기 제 1 복수의 알려진 값 중 이러한 알려진 값은 양의 값인, 회로.
- 제 6 항에 있어서,
추가의 복수의 행 도체(Li-)와, 추가의 복수의 행 도체 중 하나의 행 도체(Li-)와 상기 복수의 열 도체(Cj)의 각각의 열 도체 사이에 각각 연결되는 추가의 복수의 저항 요소(Gij-)를 포함하는 추가의 크로스포인트 매트릭스(MG-) - 상기 추가의 크로스포인트 매트릭스는 수학 문제에 관한 제 2 복수의 알려진 음의 값의 절대 값을, 각각의 컨덕턴스 값(Gij-)에 의해 나타내도록 구성됨;
각각의 열 도체 상에 각각 배치되고, 상기 크로스포인트 매트릭스와 상기 추가의 크로스포인트 매트릭스 사이에 각각 개재되는, 복수의 전압 인버터(Inv1, Inv2, Inv3)를 포함하되,
상기 추가의 복수의 행 도체(Li-)의 각각의 행 도체는 가상 접지를 가정하기 위해 각각의 연산 증폭기(OAi)의 제 1 입력 단자(IN1i)에 연결되는, 회로. - 제 1 항에 있어서, 상기 연산 증폭기(OAi)는 트랜스-임피던스 구성을 갖고 있고, 각각의 출력 단자(OUi)와 상기 제 1 입력 단자(INi) 사이에 배치된 피드백 저항(λG0)을 포함하며, 상기 피드백 저항은 상기 적어도 하나의 제 2 알려진 값과 관련된 컨덕턴스 값을 갖는, 회로.
- 제 3 항 또는 제 5 항에 있어서, 상기 회로는 다음의 매트릭스 형태로 표현될 수 있는 스퀘어 방정식 시스템을 해결하도록 구성되고,
Ax = b
- A는 알려진 요소의 매트릭스이고, 크로스포인트 매트릭스(MG)의 상기 컨덕턴스 값은 상기 매트릭스 A의 알려진 요소와 관련되며,
- b는 알려진 요소의 벡터이고, 상기 복수의 전류 생성기(Ii)는 각각의 전류 생성기가 상기 벡터 b의 알려진 요소에 대응하는 전류를 생성하도록 구성되며,
- x는 미지의 요소로 구성된 벡터이고, 복수의 출력 전압(Vi)은 상기 미지의 요소를 나타내는, 회로. - 제 5 항에 있어서, 상기 회로는 아래의 방정식 시스템에 따라, 반전될 스퀘어 매트릭스 A의 역 매트릭스 A-1을 결정하도록 구성되고,
AA-1 = U
- 반전될 매트릭스 A는 알려진 요소들을 포함하고 크로스포인트 매트릭스(MG)의 상기 컨덕턴스 값들은 상기 알려진 요소들과 관련되며;
- U는 항등 매트릭스이고, 상기 복수의 전류 생성기(Ii)는 상기 항등 매트릭스 U의 벡터의 값에 대응하는 값의 전류를 생성하도록 구성되며;
- 역 매트릭스 A-1은 미지의 요소의 복수의 벡터를 포함하고, 복수의 출력 전압(Vi)은 역 매트릭스 A-1의 미지의 요소의 상기 벡터 중 하나를 나타내는, 회로. - 제 5 항 또는 제 8 항에 있어서, 상기 회로는 아래 관계식에 의해 표현될 수 있는 스퀘어 매트릭스의 고유 벡터 및 고유 값 문제를 해결하도록 구성되고:
Ax = λx
- A는 각각의 알려진 요소를 포함하는 스퀘어 매트릭스이고, 크로스포인트 매트릭스(MG)의 상기 컨덕턴스 값은 스퀘어 매트릭스 A의 상기 알려진 요소와 관련되며;
- λ는 상기 트랜스-임피던스 저항(λG0)의 컨덕턴스 값과 관련된 알려진 고유 값이며;
- x는 알려지지 않은 고유 벡터이며, 복수의 출력 전압(Vi)은 상기 알려지지 않은 고유 벡터를 나타내는, 회로. - 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 회로는 일정 전류 또는 펄스 전류에 의해 공급되도록 구성되는, 회로.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 회로는 상기 복수의 출력 전압(Vi)을 측정하기 위한 적어도 하나의 장치를 포함하는, 회로.
- 제 1 항에 있어서, 상기 회로는 입력 컴퓨팅 회로(600) 및 출력 컴퓨팅 회로(700)를 포함하고, 상기 입력 컴퓨팅 회로(600)는:
복수의 입력 행 도체(Li), 복수의 입력 열 도체(CjCj), 및 입력 행 도체와 입력 열 도체 사이에 각각 연결된 복수의 입력 저항 요소(Xij)를 포함하는 입력 크로스포인트 매트릭스(MG);
각각 트랜스-임피던스 구성을 갖는 복수의 입력 연산 증폭기(OAi) - 각각의 입력 연산 증폭기는 각각의 행 도체(Li)에 연결된 각각의 제 1 입력 단자(IN1i), 접지 단자(GR)에 연결된 각각의 제 2 입력 단자(IN2i), 및 각각의 출력 단자(OUi; OUPj)를 가지고 있고, 복수의 입력 연산 증폭기(OAi)는 각각의 제 1 입력 단자(IN1i)를 가상 접지로 향하게 함;
그리고, 상기 출력 컴퓨팅 회로(700)는:
상기 크로스포인트 매트릭스(MGou) 및 복수의 연산 증폭기(OAouj)를 포함하고, 상기 복수의 입력 연산 증폭기(OAi)는 크로스포인트 매트릭스(MGou)의 상기 행 도체에 연결된 각각의 출력 단자(OUi)를 가지며,
상기 연산 증폭기(OAouj)는 크로스포인트 매트릭스(MGou)의 대응하는 열 도체(Couj)에 연결된 제 1 입력 단자("+")와, 입력 크로스포인트 매트릭스(MG)의 대응하는 입력 열 도체(Cj)에 연결된 제 1 출력 단자(OUPj)를 갖는, 회로. - 제 1 항 또는 제 14 항에 있어서, 상기 회로는 선형 회귀 가속기; 로지스틱 회귀 가속기 중 하나에 따라 동작하도록 구성되는, 회로.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102017000108281 | 2017-09-27 | ||
IT102017000108281A IT201700108281A1 (it) | 2017-09-27 | 2017-09-27 | "circuito di risoluzione di problemi matematici comprendente elementi resistivi." |
PCT/IB2018/057487 WO2019064215A1 (en) | 2017-09-27 | 2018-09-27 | MATHEMATICAL PROBLEM SOLVING CIRCUIT COMPRISING RESISTIVE ELEMENTS |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200062278A KR20200062278A (ko) | 2020-06-03 |
KR102685742B1 true KR102685742B1 (ko) | 2024-07-16 |
Family
ID=61187624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207012273A KR102685742B1 (ko) | 2017-09-27 | 2018-09-27 | 저항 요소를 포함하는 수학 문제 해결 회로 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11314843B2 (ko) |
EP (1) | EP3688622B1 (ko) |
JP (1) | JP7345859B2 (ko) |
KR (1) | KR102685742B1 (ko) |
CN (1) | CN111133431B (ko) |
IT (1) | IT201700108281A1 (ko) |
WO (1) | WO2019064215A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11366876B2 (en) * | 2020-06-24 | 2022-06-21 | International Business Machines Corporation | Eigenvalue decomposition with stochastic optimization |
KR20230012882A (ko) | 2021-07-16 | 2023-01-26 | 삼성전자주식회사 | 자기 저항체를 포함하는 프로세싱 장치 |
CN114925641B (zh) * | 2022-04-21 | 2024-07-26 | 深圳市比昂芯科技有限公司 | 一种基于谐波平衡的电路仿真方法、装置及存储介质 |
CN115628761B (zh) * | 2022-09-30 | 2023-10-13 | 华南理工大学 | 一种低功耗抗扰动的电阻式传感器及可穿戴设备 |
CN118504501B (zh) * | 2024-07-18 | 2024-09-17 | 南京师范大学 | 一种动力学系统的流形电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170040054A1 (en) * | 2015-08-05 | 2017-02-09 | University Of Rochester | Resistive memory accelerator |
WO2017052598A1 (en) * | 2015-09-25 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Crossbar arrays for calculating matrix multiplication |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2244230A1 (en) * | 1973-09-13 | 1975-04-11 | Labo Electronique Physique | Resistance coupled matrix circuits - operational amplifier sampling circuits suppress parasitic currents |
JP2005032227A (ja) * | 2003-05-22 | 2005-02-03 | Kinoshita Harumi | 電気信号線路の波形計算法、電気信号線路疑似回路、電気信号線路の測定方法、電気信号線の製造方法、マトリクス型電子デバイス装置の波形解析方法、マトリクス型電子デバイス装置の駆動方法、マトリクス型表示装置の駆動方法、マトリクス型表示装置、マトリクス型デバイスの測定方法、マトリクス型表示装置の測定方法 |
CN102789811B (zh) * | 2012-06-15 | 2015-02-18 | 中国人民解放军国防科学技术大学 | 面向纳米交叉杆结构的多值忆阻器自适应编程电路及方法 |
WO2014121138A2 (en) * | 2013-01-31 | 2014-08-07 | The Regents Of The University Of California | Method and apparatus for solving an optimization problem using an analog circuit |
KR20170074234A (ko) * | 2014-10-23 | 2017-06-29 | 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 | 내적을 결정하기 위한 멤리스티브 크로스바 어레이 |
US10109348B2 (en) * | 2014-10-30 | 2018-10-23 | Hewlett Packard Enterprise Development Lp | Double bias memristive dot product engine for vector processing |
CN107533862B (zh) * | 2015-08-07 | 2021-04-13 | 慧与发展有限责任合伙企业 | 交叉阵列、图像处理器及计算设备 |
JP6702596B2 (ja) * | 2016-01-18 | 2020-06-03 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 多層rramクロスバー・アレイに基づくメモリデバイス、およびデータ処理方法 |
US10621267B2 (en) * | 2016-01-28 | 2020-04-14 | Hewlett Packard Enterprise Development Lp | Memristor crossbar array for performing a fourier transformation |
US10664271B2 (en) * | 2016-01-30 | 2020-05-26 | Hewlett Packard Enterprise Development Lp | Dot product engine with negation indicator |
US10529418B2 (en) * | 2016-02-19 | 2020-01-07 | Hewlett Packard Enterprise Development Lp | Linear transformation accelerators |
US9910827B2 (en) * | 2016-07-01 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Vector-matrix multiplications involving negative values |
US10878317B2 (en) * | 2017-09-11 | 2020-12-29 | Samsung Electronics Co., Ltd. | Method and system for performing analog complex vector-matrix multiplication |
-
2017
- 2017-09-27 IT IT102017000108281A patent/IT201700108281A1/it unknown
-
2018
- 2018-09-27 JP JP2020517172A patent/JP7345859B2/ja active Active
- 2018-09-27 KR KR1020207012273A patent/KR102685742B1/ko active IP Right Grant
- 2018-09-27 US US16/650,883 patent/US11314843B2/en active Active
- 2018-09-27 CN CN201880062718.XA patent/CN111133431B/zh active Active
- 2018-09-27 EP EP18792481.6A patent/EP3688622B1/en active Active
- 2018-09-27 WO PCT/IB2018/057487 patent/WO2019064215A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170040054A1 (en) * | 2015-08-05 | 2017-02-09 | University Of Rochester | Resistive memory accelerator |
WO2017052598A1 (en) * | 2015-09-25 | 2017-03-30 | Hewlett Packard Enterprise Development Lp | Crossbar arrays for calculating matrix multiplication |
Also Published As
Publication number | Publication date |
---|---|
US20200233922A1 (en) | 2020-07-23 |
CN111133431A (zh) | 2020-05-08 |
EP3688622B1 (en) | 2022-08-10 |
JP2020537219A (ja) | 2020-12-17 |
EP3688622A1 (en) | 2020-08-05 |
JP7345859B2 (ja) | 2023-09-19 |
IT201700108281A1 (it) | 2019-03-27 |
CN111133431B (zh) | 2023-12-12 |
WO2019064215A1 (en) | 2019-04-04 |
US11314843B2 (en) | 2022-04-26 |
KR20200062278A (ko) | 2020-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102685742B1 (ko) | 저항 요소를 포함하는 수학 문제 해결 회로 | |
Wijesinghe et al. | An all-memristor deep spiking neural computing system: A step toward realizing the low-power stochastic brain | |
US11727258B2 (en) | Multi-bit, SoC-compatible neuromorphic weight cell using ferroelectric FETs | |
US8275728B2 (en) | Neuromorphic computer | |
Di Marco et al. | Memristor standard cellular neural networks computing in the flux–charge domain | |
CN110945535B (zh) | 一种在人工神经网络ann中实现的方法 | |
Ascoli et al. | A class of versatile circuits, made up of standard electrical components, are memristors | |
US20230297839A1 (en) | Deep learning in bipartite memristive networks | |
US20220051053A1 (en) | Noise-Driven Coupled Dynamic Pattern Recognition Device for Low Power Applications | |
US11216728B2 (en) | Weight matrix circuit and weight matrix input circuit | |
Shamsi et al. | Modular neuron comprises of memristor-based synapse | |
Jaiswal et al. | On robustness of spin-orbit-torque based stochastic sigmoid neurons for spiking neural networks | |
Corinto et al. | Cellular nonlinear networks with memristor synapses | |
Cao et al. | Parasitic-aware modelling for neural networks implemented with memristor crossbar array | |
Kotov et al. | Generation of the conductivity matrix | |
Kotov et al. | Data representation in all-resistor systems | |
Agarwal et al. | The energy scaling advantages of RRAM crossbars | |
Kotov et al. | Specifics of crossbar resistor arrays | |
Slavova | Dynamics of a new hysteresis memristor CNN | |
Ganguly et al. | A complete set of spintronic hardware building blocks for low power, small footprint, high performance neuromorphic architectures | |
US20230053948A1 (en) | Apparatus and method with in-memory computing | |
Huijzer | Networks of Memristive Devices as Building Blocks for Neuromporhic Computing | |
Sarmiento-Reyes et al. | Memristive Grid for Maze Solving | |
Slipko et al. | Switching Synchronization and Metastable States in 1D Memristive Networks | |
Bhowmik | Design of Artificial Neural Networks (ANN) with Domain-Wall Synapse Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |