KR102404388B1 - 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법 - Google Patents

트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법 Download PDF

Info

Publication number
KR102404388B1
KR102404388B1 KR1020200028796A KR20200028796A KR102404388B1 KR 102404388 B1 KR102404388 B1 KR 102404388B1 KR 1020200028796 A KR1020200028796 A KR 1020200028796A KR 20200028796 A KR20200028796 A KR 20200028796A KR 102404388 B1 KR102404388 B1 KR 102404388B1
Authority
KR
South Korea
Prior art keywords
unit
matrix
weight
input
signal
Prior art date
Application number
KR1020200028796A
Other languages
English (en)
Other versions
KR102404388B9 (ko
KR20210113722A (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 (주)그린파워
Priority to KR1020200028796A priority Critical patent/KR102404388B1/ko
Publication of KR20210113722A publication Critical patent/KR20210113722A/ko
Application granted granted Critical
Publication of KR102404388B1 publication Critical patent/KR102404388B1/ko
Publication of KR102404388B9 publication Critical patent/KR102404388B9/ko

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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

Landscapes

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

Abstract

본 발명에 따른, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부의 가중치가 m×n 매트릭스를 구성하는 가중치 매트릭스부; 정전파 동작 시에 입력단으로부터 m개의 제1 신호를 각각 입력받아 소정의 신호로 각각 변환하는 m개의 신호 변환부를 포함하는 제1 입출력부; 및 정전파 동작 시에 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부 각각의 출력을 합산하여 적분하고, 대응되는 출력단으로 n개의 제2 신호를 출력하는 n개의 미적분부를 포함하는 제2 입출력부를 포함하는 것을 특징으로 한다.
이에 따라, 본 발명에 따른, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 가중치의 전치 기능과 가중치의 역수 기능을 동시에 구비한 하드웨어적인 매트릭스 곱셈방식을 제공함으로써, 뉴럴 네트워크를 이용한 인공지능 알고리즘에서 수행되는 모든 매트릭스 연산을 고속으로 수행하고 연산 비용을 낮출 수 있는 효과가 있다.

Description

트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법{Matrix multiplier structure and multiplying method capable of transpose matrix multiplication}
본 발명은 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법에 관한 것으로, 더욱 상세하게는 가중치의 전치 기능과 가중치의 역수 기능을 동시에 구비한 하드웨어적인 매트릭스 곱셈방식을 제공함으로써, 뉴럴 네트워크를 이용한 인공지능 알고리즘에서 수행되는 모든 매트릭스 연산을 고속으로 수행하고 연산 비용을 낮출 수 있는, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법에 관한 것이다.
뉴럴 네트워크를 이용하는 인공지능 알고리듬은 지도학습, 비지도 학습 및 강화학습에 범용으로 사용되는 알고리듬이다. 현재까지 GPU, TPU등을 사용하는 매트릭스 곱셈기는 8×8 비트 수준으로서 그 이상의 계산을 수행할 경우 연산량이 기하급수로 증가하여 인공지능 수행 속도가 감소하게 된다.
예를 들어 CNN(convolutional neural network)을 수행하여 패턴을 인식하기 위해서는 정밀한 패턴의 경우, 적어도 16×16 비트를 휴대용 기기 수준에서 실시간으로 처리할 수 있는 기능이 필요하다. CNN을 포함하는 뉴럴 네트워크에서 수행되는 연산 중에는 MAC(multiply-accumulate) 계산이 대부분을 차지하며 이 MAC을 수행할 때 가장 큰 비용이 소모된다. 특히, 컨볼루션(convolution)으로 영상을 처리한 후 회복하는 과정에서 MAC이 필요한데 연산비용을 줄이기 위해 하드웨어 연산기, 즉 MAC 엔진을 개발해야 한다.
도 1은 CNN에 사용하는 알고리듬을 나타내는 것으로, 도 1을 참조하면 정전파(forwardpropagation)에 의한 정방향 컨볼루션에 사용한 필터의 커넬(kernel)에서 결정하는 가중치에 의해 피처맵(feature map)의 크기가 줄어든다. 이 맵으로 완전연결된 뉴럴 네트워크로 학습을 마무리하면 그 학습 결과로 정보를 유추, 예측 또는 분류할 수 있다. 완전연결된 뉴럴 네트워크로 학습할 때 가중치들을 최적화하기 위해 역전파(backpropagation) 알고리듬을 사용하는데 이 때 가중치들을 보정하기 위해 역전파를 할 때는 전치된 가중치 매트릭스를 사용한다.
한편, 컨볼루션 과정에서 피처맵의 크기와 해상도가 작아지면서 위치 정보 등이 소실될 수 있어서 컨볼루션 시에 사용했던 커넬의 필터(가중치)의 매트릭스를 전치(트랜스포즈, transpose)시켜 연산함으로써 정보를 업샘플링하여 원래 크기로 키운다. 이것이 트랜스포즈 컨볼루션(transposed convolution)이다. 이 방법은 맵 크기는 복원되지만 영상은 복원되지 않고 특징 정보들이 보존된다.
영상을 원래대로 복원하고자 할 때에는 축소된 피처맵에 커넬의 가중치의 역수 매트릭스를 전치시켜 계산해 가면 원래 값들이 복원된다. 이것을 역컨볼루션(deconvolution)으로 정의한다.
따라서 하드웨어 MAC이 가중치의 전치 기능과 가중치의 역수 기능을 동시에 구비한다면 CNN을 포함하여 뉴럴 네트워크에 필요한 모든 매트릭스 연산을 수행할 수 있다.
따라서 본 발명은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 가중치의 전치 기능과 가중치의 역수 기능을 동시에 구비한 하드웨어적인 매트릭스 곱셈방식을 제공함으로써, 뉴럴 네트워크를 이용한 인공지능 알고리즘에서 수행되는 모든 매트릭스 연산을 고속으로 수행하고 연산 비용을 낮출 수 있는, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법을 제공하는 데에 그 목적이 있다.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부를 포함하고, 상기 복수의 단위 가중치부의 가중치가 m×n 매트릭스를 구성하는 가중치 매트릭스부; 정전파 동작 시에 입력단으로부터 m개의 제1 신호를 각각 입력받아 소정의 신호로 각각 변환하는 m개의 신호 변환부를 포함하고, 상기 신호 변환부는 상기 변환된 신호를 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부의 각각으로 제공하는 제1 입출력부; 및 정전파 동작 시에 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부 각각의 출력을 합산하여 제공받고 상기 합산된 출력을 적분하여 대응되는 출력단으로 n개의 제2 신호를 출력하는 n개의 미적분부를 포함하는 제2 입출력부를 포함하고, 상기 제1 입출력부는, 역전파 동작 시에 상기 신호 변환부 각각이 상기 가중치 매트릭스부로부터 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부 각각의 출력을 합산하여 제공받아, 상기 합산된 출력을 상기 제1 신호로 변환하여 출력하고, 상기 제2 입출력부는, 역전파 동작 시에 상기 미적분부 각각이 상기 n개의 제2 신호를 입력받고, 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부의 각각으로 상기 제2 신호를 미분한 출력을 제공하는 것을 특징으로 한다.
삭제
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 신호 변환부 각각은, 정전파 동작 시에 컨덕턴스로 동작하고, 역전파 동작 시에 전달 임피던스로 동작할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 신호 변환부 각각은, 일단이 상기 입력단에 연결되고, 타단이 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부에 연결되는 저항부; 입력 측이 상기 저항부의 타단과 연결되는 제1 증폭기; 및 일단이 상기 입력단에 연결되고, 타단이 상기 제1 증폭기의 출력 측에 연결되는 제1 선택스위치를 포함하고, 상기 제1 선택스위치는, 정전파 동작 시에는 상기 신호 변환부가 컨덕턴스로 동작하고, 역전파 동작 시에는 상기 신호 변환부가 전달 임피던스로 동작하도록 제어될 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 미적분부 각각은, 정전파 동작 시에 적분유닛으로 동작하고, 역전파 동작 시에 미분유닛으로 동작할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 미적분부 각각은, 일단이 출력단에 연결되고, 타단이 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부에 연결되는 커패시터; 입력 측이 상기 커패시터의 타단과 연결되는 제2 증폭기; 및 일단이 상기 출력단에 연결되고, 타단이 상기 제2 증폭기의 출력 측에 연결되는 제2 선택스위치를 포함하고, 상기 제2 선택스위치는, 정전파 동작 시에는 상기 미적분부가 적분유닛으로 동작하고, 역전파 동작 시에는 상기 미적분부가 미분유닛으로 동작하도록 제어될 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 단위 가중치부 각각은, 상기 단위 가중치부의 행에 대응되는 신호 변환부와 상기 단위 가중치부의 열에 대응되는 미적분부 사이를 소정의 시간 동안 도통시키는 펄스폭 제어부를 포함할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 정전파로 동작하고, 상기 제1 신호와 가중치의 곱에 비례하는 상기 제2 신호를 출력하도록 정전파 매트릭스 곱셈을 수행하고, 상기 정전파 매트릭스 곱셈을 이용하여 컨볼루션을 수행할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 정전파로 동작하고, 상기 제1 신호와 가중치의 곱에 비례하는 상기 제2 신호를 출력하도록 트랜스포즈 매트릭스 곱셈을 수행하되, 상기 트랜스포즈 매트릭스 곱셈에서의 상기 가중치의 매트릭스는 상기 정전파 매트릭스 곱셈에서의 가중치의 매트릭스를 트랜스포즈시킨 매트릭스이고, 상기 트랜스포즈 매트릭스 곱셈을 이용하여 트랜스포즈 컨볼루션을 수행할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 역전파로 동작하고, 상기 제2 신호와 가중치의 곱에 비례하는 상기 제1 신호를 출력하도록 역전파 매트릭스 곱셈을 수행하고, 상기 역전파 매트릭스 곱셈을 이용하여 역컨볼루션을 수행할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 역전파 매트릭스 곱셈에서의 제2 신호는 상기 정전파 매트릭스 곱셈에서의 제2 신호가 기준값에 대하여 갖는 오차값이고, 상기 역전파 매트릭스 곱셈을 이용하여 가중치의 보정을 수행할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 제2 입출력부로부터 입력받은 상기 제2 신호를 소정의 신호로 변환하여 상기 제1 입출력부에 상기 제1 신호로서 제공하거나, 상기 제1 입출력부로부터 입력받은 상기 제1 신호를 소정의 신호로 변환하여 상기 제2 입출력단에 제2 신호로서 제공하는 신호 순환부를 더 포함할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 저항부는, 각각의 그룹이 서로 동일한 저항값을 갖는 하나 이상의 저항을 포함하고, 상기 하나 이상의 저항의 일단이 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부에 공통 연결되는 하나 이상의 저항 그룹; 및 일단이 상기 저항 그룹의 저항의 타단에 각각 연결되고, 타단이 공통으로 상기 입력단에 전기적으로 연결되는 하나 이상의 스위치 소자를 포함하는 저항 선택스위치를 포함하고, 서로 다른 저항 그룹에 포함된 저항들은 상이한 저항값을 가질 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상기 서로 다른 저항 그룹에 포함된 저항들은 서로 등비수열을 이루고, 상기 저항 선택스위치는, 상기 저항부의 컨던턴스가 소정의 값이 되도록 제어될 수 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈방법은, 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부를 포함하고, 상기 복수의 단위 가중치부의 가중치가 m×n 매트릭스를 구성하는 가중치 매트릭스부를 제공하는 단계; 상기 복수의 단위 가중치부 중에서 행의 단위 가중치부에 각각 대응되는 m개의 신호 변환부를 포함하고, 상기 신호 변환부가 입력되는 신호를 변환하도록 입력단과 상기 가중치 매트릭스부 사이에 배치되는 제1 입출력부를 제공하는 단계; 및 상기 복수의 단위 가중치부 중에서 열의 단위 가중치부에 각각 대응되는 n개의 미적분부를 포함하고, 상기 미적분부가 입력되는 신호를 미분 또는 적분하도록 출력단과 상기 가중치 매트릭스부 사이에 배치되는 제2 입출력부를 제공하는 단계를 포함하고, 상기 제1 입출력부는, 역전파 동작 시에 상기 신호 변환부 각각이 상기 가중치 매트릭스부로부터 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부 각각의 출력을 합산하여 제공받아, 상기 합산된 출력을 변환하여 출력하고, 상기 제2 입출력부는, 역전파 동작 시에 상기 미적분부 각각이 상기 출력단으로부터 신호를 입력받고, 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부의 각각으로 상기 입력받은 신호를 미분한 출력을 제공하는 것을 특징으로 한다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈방법은, 정전파 매트릭스 곱셈 단계를 더 포함하고, 상기 정전파 매트릭스 곱셈 단계는, 상기 제1 입출력부가 상기 입력단으로부터 m개의 제1 신호를 입력받는 단계; 상기 제1 입출력부에서 상기 제1 신호를 전류로 각각 변환하여 상기 복수의 단위 가중치부에서 대응되는 행의 단위 가중치부에 각각 제공하는 단계; 상기 변환된 전류가 입력되는 상기 단위 가중치부에 설정된 가중치에 대응하도록 상기 변환된 전류를 소정의 시간폭으로 상기 미적분부로 제공하는 단계; 상기 미적분부 각각이 상기 복수의 단위 가중치부에서 대응되는 열의 단위 가중치부에서 제공된 상기 전류를 합산하여 적분하는 단계; 및 상기 제2 입출력부가 출력단으로 n개의 제2 신호를 출력하는 단계를 포함할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈방법은, 상기 입력단에서 입력된 신호와 상기 가중치의 곱에 비례하는 신호를 출력단으로 출력하는 정전파 매트릭스 곱셈 단계; 및 트랜스포즈 매트릭스 곱셈 단계를 더 포함하고, 상기 트랜스포즈 매트릭스 곱셈 단계는, 상기 제1 입출력부가 상기 입력단으로부터 m개의 제1 신호를 입력받는 단계; 상기 제1 입출력부에서 상기 제1 신호를 전류로 각각 변환하여 상기 복수의 단위 가중치부에서 대응되는 행의 단위 가중치부에 각각 제공하는 단계; 상기 변환된 전류가 입력되는 상기 단위 가중치부에 설정된 가중치에 대응하도록 상기 변환된 전류를 소정의 시간폭으로 상기 미적분부로 제공하는 단계; 상기 미적분부 각각이 상기 복수의 단위 가중치부에서 대응되는 열의 단위 가중치부에서 제공된 상기 전류를 합산하여 적분하는 단계; 및 상기 제2 입출력부가 출력단으로 n개의 제2 신호를 출력하는 단계를 포함하되, 상기 트랜스포즈 매트릭스 곱셈 단계에서의 상기 가중치의 매트릭스는 상기 정전파 매트릭스 곱셈 단계에서의 가중치의 매트릭스를 트랜스포즈시킨 매트릭스일 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈방법은, 상기 입력단에서 입력된 신호와 상기 가중치의 곱에 비례하는 신호를 출력단으로 출력하는 정전파 매트릭스 곱셈 단계; 및 역전파 매트릭스 곱셈 단계를 더 포함하고, 상기 역전파 매트릭스 곱셈 단계는, 상기 제2 입출력부가 상기 출력단으로부터 n개의 제2 신호를 입력받는 단계; 상기 제2 입출력부에서 상기 제2 신호를 미분하여 상기 복수의 단위 가중치부에서 대응되는 열의 단위 가중치부에 각각 제공하는 단계; 상기 미분된 제2 신호가 입력되는 상기 단위 가중치부에 설정된 가중치에 대응하도록 상기 미분된 제2 신호를 소정의 시간폭으로 상기 신호 변환부로 제공하는 단계; 상기 신호 변환부 각각이 상기 복수의 단위 가중치부에서 대응되는 행의 단위 가중치부에서 제공된 상기 미분된 제2 신호를 합산하여 전압으로 변환하는 단계; 및 상기 제1 입출력부가 입력단으로 m개의 제1 신호를 출력하는 단계를 포함할 수 있다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈방법은, 상기 역전파 매트릭스 곱셈에서의 제2 신호는 상기 정전파 매트릭스 곱셈 단계에서의 출력단의 신호가 기준값에 대하여 갖는 오차값이고, 상기 역전파 매트릭스 곱셈 단계을 이용하여 가중치를 보정하는 단계를 더 포함할 수 있다.
본 발명에 따른, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법은, 가중치의 전치 기능과 가중치의 역수 기능을 동시에 구비한 하드웨어적인 매트릭스 곱셈방식을 제공함으로써, 뉴럴 네트워크를 이용한 인공지능 알고리즘에서 수행되는 모든 매트릭스 연산을 고속으로 수행하고 연산 비용을 낮출 수 있는 효과가 있다.
또한, 본 발명에 따른, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법은, 컴퓨터의 연산에만 의존하지 않고 하드웨어적으로 가중치 폭을 증가시키고 입력 값을 증가시킴으로써 MAC 기능을 향상시킬 수 효과가 있다.
또한, 본 발명에 따른, 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법은, 입력값, 출력값 및 가중치들은 각 은닉층(hidden layer)에 대응하여 MAC 외부에 저장하되, 정전파 시에 출력되는 값을 차기 은닉층의 입력값으로 사용하는 순환방식에 의하여 은닉층을 한 개만 사용함으로써 MAC 칩의 크기를 최소화 할 수 있는 효과가 있다.
도 1은 종래에 CNN을 수행하는 방법을 설명하는 개념도이다.
도 2는 매트릭스 곱셈을 수행하는 원리도이다.
도 3은 본 발명에 따른 매트릭스 곱셈기의 블록도이다.
도 4는 도 3의 본 발명에 따른 매트릭스 곱셈기에 순환방식을 적용한 블록도이다.
도 5는 제1 입출력부의 신호 변환부를 도시한 회로도이다.
도 6은 제2 입출력부의 미적분부를 도시한 회로도이다.
도 7은 정전파 및 역전파 시에 동작하는 1×1 매트릭스 곱셈기의 등가 회로도이다.
도 8은 가중치 매트릭스부에 대하여 본 발명에 따른 매트릭스 곱셈기를 도시한 회로도이다.
도 9는 2×3 가중치 매트릭스부에 대하여 본 발명에 따른 매트릭스 곱셈기를 도시한 회로도이다.
도 10은 본 발명에 따른 신호 변환부의 저항부를 예시적으로 도시한 회로도이다.
본 발명의 바람직한 실시예를 첨부된 도면에 의하여 상세히 설명하면 다음과 같다. 이하의 상세한 설명은 예시적인 것에 지나지 않으며, 본 발명의 바람직한 실시예를 도시한 것에 불과하다.
뉴럴 네트워크를 이용한 인공지능 알고리즘은 컨볼루션, 트랜스포즈 컨볼루션, 가중치 보정 및 역컨볼루션 등을 이용하여 학습, 예측, 군집(clustering) 및 분류를 수행한다.
도 1에 의하면, 영상인식을 위해 사용하는 CNN 학습 알고리즘은 피처맵을 완전연결된 뉴럴 네트워크로 데이터에 학습시켜서 영상을 유추하거나 분류한다. 완전연결된 뉴럴 네트워크에서 가중치(W)를 보정하여 최적화하기 위해서는 역전파를 사용하는데 이 때는 정전파 시에 출력단에 나타난 오차를 역전파시키면서 각 레이어 별로 가중치를 보정해 간다. 역전파 시의 가중치 매트릭스(W)는 정전파 시의 가중치 매트릭스의 트랜스포즈(전치) 매트릭스(WT)가 된다.
또한, 역컨볼루션은 완전연결된 뉴럴 네트워크 없이 역방향으로 영상을 복원해 가는 방법으로서 인코딩-디코딩과 유사하다.
또한, 트랜스포즈 컨볼루션은 정방향 전파이면서 가중치를 전치 매트릭스로 적용하는 방식이다. 이 방식은 피처맵에 비하여 영상의 정보 소실이 최소화되는 특징이 있다.
이하에서, 정방향 전파 또는 정전파는 입력단에 입력된 신호가 출력단으로 전송되면서 가중치와 매트릭스 연산이 이루어지는 것을 말하고, 역방향 전파 또는 역전파는 출력단에 입력된 신호가 입력단으로 전송되면서 가중치와 매트릭스 연산이 이루어지는 것을 말한다.
도 2는 본 발명에 따른 매트릭스 곱셈기를 설명하기 위하여 매트릭스 곱셈을 수행하는 원리를 도시한 도면이다.
도 2는 매트릭스 곱셈을 수행하는 원리를 보여주는 것으로 입력(xi)과 출력(hj)은 벡터이고 가중치(wij)는 매트릭스를 형성하는 구조로서, 입력 신호가 가중치를 거쳐 출력으로 나갈 때의 관계를 매트릭스 식으로 표현한 것이다. 일반적으로 가중치 매트릭스는 m×n 행렬이고, 입력 xi은 m개, 출력 hj은 n개일 수 있으나, 여기에서는 이해를 돕기 위해 2×3 행렬을 예로 들었다.
도 2의 구성에 대하여 행렬식은 수학식 1과 같이 표현될 수 있으므로, 출력은 수학식 2와 같이 입력과 가중치의 곱으로 표현될 수 있다.
[수학식 1]
Figure 112020024469876-pat00001
Figure 112020024469876-pat00002
[수학식 2]
Figure 112020024469876-pat00003
위와 같이, 정전파 컨볼루션을
Figure 112020024469876-pat00004
로 표현되도록 회로를 구성한다면 역컨볼루션은
Figure 112020024469876-pat00005
로 회로가 구성되어야 하고 트랜스포즈 컨볼루션은
Figure 112020024469876-pat00006
로 회로를 구성해야 한다. 역전파는
Figure 112020024469876-pat00007
로 회로를 구성하고 각 단계별로 가중치를 보정하는 것이 가능하나 역컨볼루션 회로를 이용해도 가중치 보정이 이루어지도록 하는 것도 가능하다.
이와 같은 원리에 기초하여 본 발명에 따른 매트릭스 곱셈기를 도출할 수 있다.
도 3은 본 발명에 따른 매트릭스 곱셈기의 블록도이다.
도 3을 참조하면, 본 발명에 따른 매트릭스 곱셈기는, 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부(110)가 m×n 가중치 매트릭스를 구성하는 가중치 매트릭스부(100)와, 복수의 단위 가중치부(110) 중에서 대응되는 행의 단위 가중치부(110)에 각각 연결되는 m개의 신호 변환부(210)를 포함하는 제1 입출력부(200)와, 복수의 단위 가중치부(110) 중에서 대응되는 열의 단위 가중치부(110) 각각에 연결되는 n개의 미적분부(310)를 포함하는 제2 입출력부(300)를 포함하는 것을 특징으로 한다.
여기에서 가중치 매트릭스부(100)는, 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부(110)를 포함하고, 복수의 단위 가중치부(110)의 가중치(wij)는 m×n 가중치 매트릭스(W)의 가중치 성분을 구성하도록 단위 가중치부(110)가 배치될 수 있다. 가중치 매트릭스부(100)는 임의의 행과 열로 구성될 수도 있으나, m과 n이 동일한 정방형의 매트릭스 구조일 수도 있다.
가중치 매트릭스부(100)는 매트릭스 구성이기 때문에 복수의 단위 가중치부(110) 중에서 동일 행의 단위 가중치부(110)는 일단이 공통 연결되어 제1 입출력부(200)의 대응하는 신호 변환부(210)에 연결되고, 복수의 단위 가중치부(110) 중에서 동일 열의 단위 가중치부(110)는 타단이 공통 연결되어 제2 입출력부(300)의 대응하는 미적분부(310)에 연결된다.
제1 입출력부(200)는, 정전파 동작 시에 입력단으로부터 m개의 제1 신호(x1, x2, …, xm)를 각각 입력받아 소정의 신호로 각각 변환하는 m개의 신호 변환부(210)를 포함하고, 신호 변환부(210)는 변환된 신호를 복수의 단위 가중치부(110) 중에서 대응되는 행의 단위 가중치부(110)의 각각으로 제공할 수 있다. 또한, 제1 입출력부(200)는, 역전파 동작 시에는 신호 변환부(210) 각각이 가중치 매트릭스부(100)로부터 복수의 단위 가중치부(110) 중에서 대응되는 행의 단위 가중치부(110) 각각의 출력을 합산하여 제공받고, 합산된 출력을 제1 신호(x1, x2, …, xm)로 변환하여 입력단으로 출력한다.
제2 입출력부(300)는, 정전파 동작 시에 복수의 단위 가중치부(110) 중에서 대응되는 열의 단위 가중치부(110) 각각의 출력을 합산하여 제공받는 n개의 미적분부(310)를 포함하고, n개의 미적분부(310) 각각은 정전파 동작 시에 합산된 출력을 적분하여 대응되는 출력단으로 n개의 제2 신호(h1, h2, …, hn)를 출력한다. 또한, 제2 입출력부(300)는, 역전파 동작 시에는 미적분부(310) 각각이 n개의 제2 신호(h1, h2, …, hn)를 출력단으로부터 입력받아 미분하고, 제2 신호(h1, h2, …, hn)를 미분한 신호를 복수의 단위 가중치부(110) 중에서 대응되는 열의 단위 가중치부(110)의 각각으로 제공한다. 즉, 미분된 값이 입력으로 사용된 제1 신호(x1, x2, …, xm) 측으로 출력된다.
본 발명에 따른 매트릭스 곱셈기는 인공지능 알고리즘 수행시 사용되는 은닉층을 한 층만 제작하기 위하여 순환방식을 사용할 수 있다. 도 4에는 본 발명에 따른 매트릭스 곱셈기에 순환방식을 적용한 블록도이다.
도 4를 참조하면, 본 발명에 따른 매트릭스 곱셈기는, 제2 입출력부(300)로부터 입력받은 제2 신호(h1, h2, …, hn)를 소정의 신호로 변환하여 제1 입출력부(200)에 제1 신호(x1, x2,…,xm)로서 제공하거나, 제1 입출력부(200)로부터 입력받은 제1 신호(x1, x2,…,xm)를 소정의 신호로 변환하여 제2 입출력단에 제2 신호(h1, h2, …, hn)로서 제공하는 신호 순환부(400)를 더 포함할 수 있다.
순환방식을 적용하여 인공지능 칩의 크기를 최소화하기 위하여 은닉층을 한층만 제작할 수 있다. 이를 위하여 입력 조건값, 출력값 및 가중치값들은 각 은닉층에 대응하여 MAC 외부에 저장하여 사용하되, 정전파 시에 출력되는 값을 변환하여 차기 은닉층의 입력 값으로 사용하는 순환방식을 적용한다. 또한, 역전파 때에는 출력 값이 출력에 입력되고 입력으로 역출력 되는 값을 다시 출력으로 역입력시키는 순환방식을 적용할 수 있다. 순환부를 통하여 입력신호와 출력신호를 상호 교환할 때에는 신호를 적절한 형태로 변환하여 사용할 수 있다.
상술한 바와 같이 뉴럴 네트워크에서의 각 레이어를 모두 제작할 경우 칩 사이즈가 커질 것이므로 싱글 레이어를 제작하여 여기에 입력되는 값과 출력되는 값을 순환시키는 구조를 도입한다. 예를 들어 입력 노드 100개, 출력 노드 100개인 레이어에 10,000개의 가중치를 갖는 가중치 매트릭스부(100)를 제작하여 이 범위 내에서 입력 값과 출력 값들을 적용할 수 있다. 이 때, 이 싱글 레이어는 트랜스포즈 매트릭스와 트랜스포즈 역수 매트릭스가 가능하도록 회로를 제작하는 것이 바람직하다.
본 발명에 따른 매트릭스 곱셈기는, 입력 값과 가중치 값의 곱셈을 위하여 전하량=전류×시간 즉, Q=IΔτ=GVΔτ 개념을 도입하여 컨덕턴스 G와 일정 전압의 곱인 GV, 즉 전류를 입력에 대응시키고 GV가 인가되는 시간 Δτ를 가중치에 대응시킴으로써 GV와 Δτ의 곱으로 출력되는 전하량 Q를 검출하는 회로로 구성된다. 물론, 필요에 따라 VΔτ를 입력에 대응시키고, 컨덕턴스 G를 가중치에 대응시키도록 회로를 구성하는 것도 가능하나, 이하에서는 전자의 경우에 한정하여 설명한다.
가중치에 대응시킨 시간폭 Δτ는 일정 전압의 펄스폭으로 제어하는 것이 가능하고 컨덕턴스 G는 저항를 이용하여 설정할 수 있다. 컨덕턴스는 저항의 역수 개념으로서 표현 상의 차이만 있을 뿐 의미가 상통하는 개념이라 할 수 있다.
컨덕턴스 G는 가변적으로 설정하기 위하여 제어가 가능한 가변저항으로 구성될 수 있다. 그 구성예는 도 10에 도시되어 있는바 이에 관한 사항은 후술하도록 한다.
도 5는 제1 입출력부(200)의 신호 변환부(210)를 도시한 회로도이다.
도 5(a)를 참조하면, 본 발명에 따른 제1 입출력부(200)에 포함된 신호 변환부(210) 각각은, 일단이 제1 신호(x1, x2,…,xm)가 입력되는 입력단에 연결되고, 타단이 복수의 단위 가중치부(110) 중에서 대응되는 행의 단위 가중치부(110)에 연결되는 저항부(212)와, 입력 측이 저항부(212)의 타단과 연결되는 제1 증폭기(213)와, 일단이 입력단에 연결되고, 타단이 제1 증폭기(213)의 출력 측에 연결되는 제1 선택스위치(211)를 포함하여 구성될 수 있다. 이 때 제1 선택스위치(211)는, 정전파 동작 시에는 오프되어 도 5(b)에 도시된 바와 같이 신호 변환부(210)가 컨덕턴스(저항, R)로 동작하고, 역전파 동작 시에는 턴온되어 도 5(c)에 도시된 바와 같이 신호 변환부(210)가 입력되는 전류에 대하여 전압을 출력하는 회로, 즉 전달 임피던스를 갖는 회로로 동작하도록 제어될 수 있다.
이러한 신호 변환부(210)의 구성에 의하여 신호 변환부(210) 각각은, 정전파 동작 시에는 컨덕턴스로 동작하여 입력되는 전압 신호에 대하여 전류를 출력하고, 역전파 동작 시에는 전달 임피던스로 동작하여 입력되는 전류에 대하여 전압 신호를 출력할 수 있다.
도 6은 제2 입출력부(300)의 미적분부(310)를 도시한 회로도이다.
도 6(a)를 참조하면, 본 발명에 따른 제2 입출력부(300)에 포함된 미적분부(310) 각각은, 일단이 출력단에 연결되고, 타단이 복수의 단위 가중치부(110) 중에서 대응되는 열의 단위 가중치부(110)에 연결되는 커패시터(312)와, 입력 측이 커패시터(312)의 타단과 연결되는 제2 증폭기(313)와, 일단이 출력단에 연결되고, 타단이 제2 증폭기(313)의 출력 측에 연결되는 제2 선택스위치(311)를 포함하여 구성될 수 있다. 이 때 제2 선택스위치(311)는, 정전파 동작 시에는 턴온되어 도 6(b)에 도시된 바와 같이 미적분부(310)가 적분유닛으로 동작하고, 역전파 동작 시에는 오프되어 도 6(c)에 도시된 바와 같이 미적분부(310)가 입력되는 제2 신호(h1, h2, …, hn)에 대하여 미분유닛으로 동작하도록 제어될 수 있다.
이러한 미적분부(310)의 구성에 의하여 미적분부(310) 각각은, 정전파 동작 시에는 도 6(b)의 적분유닛으로 동작하여 복수의 단위 가중치부(110) 중에서 대응되는 열의 단위 가중치부(110)에서 입력되는 전류를 합산하여 적분한 제2 신호(h1, h2, …, hn)를 출력하고, 역전파 동작 시에는 도 6(c)의 미분유닛으로 동작하여 입력되는 제2 신호(h1, h2, …, hn)에 대하여 미분한 전류 신호를 가중치 매트릭스부(100)에 제공할 수 있다. 즉, 본 발명에 따른 매트릭스 곱셈기는 정전파 동작시에는 도 5(b)의 저항부(212)와 도 6(b)의 적분유닛이 결합되어 적분기로 기능하고, 역전파 동작시에는 도 5(c)의 전달 임피던스 증폭회로와 도 6(c)의 미분유닛이 결합되어 미분기로 동작한다. 이에 관한 사항은 아래에서 후술한다.
이해를 돕기 위하여 정전파 및 역전파 동작 시에 본 발명에 따른 매트릭스 곱셈기를 간략하게 도시하면 도 7과 같다. 도 7은 정전파 및 역전파 시에 본 발명에 따른 매트릭스 곱셈기의 동작을 등가적으로 도시한 회로이다.
정전파 시에 본 발명에 따른 신호 변환부(210)와 미적분부(310)는 상술한 바와 같이 컨덕턴스 및 적분유닛으로 각각 동작하도록 제어되므로 본 발명에 따른 매트릭스 곱셈기는 도 7(a)와 같은 적분기로 표현될 수 있다. 따라서 단위 가중치부(110)의 펄스폭 제어부(111)가 가중치에 대응하는 시간 동안 턴온될 때 본 발명의 매트릭스 곱셈기는 제1 신호(X, {x1, x2,…,xm})에 대하여 적분기로서 기능을 하고 제1 신호를 적분한 제2 신호(H, {h1, h2, …, hn})를 출력단 쪽으로 출력한다.
또한, 역전파 시에 본 발명에 따른 신호 변환부와 미적분부는 상술한 바와 같이 전달 임피던스 앰프 및 미분유닛으로 각각 동작하도록 제어되므로 본 발명에 따른 매트릭스 곱셈기는 도 7(b)와 같은 미분기로 표현될 수 있다. 따라서 단위 가중치부의 펄스폭 제어부가 가중치에 대응하는 시간 동안 턴온될 때 본 발명의 매트릭스 곱셈기는 제2 신호(H, {h1, h2, …, hn})에 대하여 미분기로서 기능을 하고 제2 신호(H, {h1, h2, …, hn})를 적분한 제1 신호(X, {x1, x2,…,xm})를 입력단 쪽으로 출력한다.
도 8은 1×1 가중치 매트릭스부(100)에 대하여 본 발명에 따른 매트릭스 곱셈기를 상세히 도시한 회로도이다.
도 8에 따르면, 본 발명에 따른 매트릭스 곱셈기는, 제1 입출력부(200)와, 제2 입출력부(300)와, 소정의 가중치로 설정되는 단위 가중치부(110)를 포함하는 가중치 매트릭스부(100)를 포함하여 구성될 수 있다. 여기에서 단위 가중치부(110) 각각은, 단위 가중치부(110)의 행에 대응되는 신호 변환부(210)와 단위 가중치부(110)의 열에 대응되는 미적분부(310) 사이를 소정의 시간 동안 도통시키는 펄스폭 제어부(111)를 포함할 수 있다. 또한, 단위 가중치부(110)는 가중치 매트릭스의 행 단위별로 연산을 수행하기 위하여 행라인 스위치(112)를 더 포함할 수 있다. 펄스폭 제어부(111)의 도통 시간은 워드라인에 의하여 제어되고, 행라인 스위치(112)는 행라인에 인가되는 신호에 의하여 제어된다.
본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 정전파로 동작하고, 제1 신호와 가중치의 곱에 비례하는 제2 신호를 출력하도록 정전파 매트릭스 곱셈을 수행하고, 이러한 정전파 매트릭스 곱셈을 이용하여 컨볼루션을 수행할 수 있다.
또한, 본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 역전파로 동작하고, 제2 신호와 가중치의 곱에 비례하는 제1 신호를 출력하도록 역전파 매트릭스 곱셈을 수행하고, 이러한 역전파 매트릭스 곱셈을 이용하여 역컨볼루션을 수행할 수 있다. 이하에서는 도 8의 회로를 이용하여 정전파 매트릭스 곱셈과 역전파 매트릭스 곱셈이 수행되는 원리를 설명한다.
도 8(a)는 정전파 시의 매트릭스 곱셈 동작을 보여주고, 도 8(b)는 역전파 시의 매트릭스 곱셈 동작을 보여주는 도면이다.
도 8(a)를 기초로 정전파 매트릭스 곱셈 원리를 살펴보면, 정전파 시에 신호 변환부(210)는 컨덕턴스로 동작하고, 미적분기는 적분유닛으로 동작하도록 제어되기 때문에, 입력단에 DC 전압(VDC)을 인가하면 미적분기 출력에서는 펄스폭 제어부(111)가 도통되는 시간(Δτ)에 정비례해서 증가하는 출력 전압을 얻을 수 있다. 이때, 출력 전압은 제2 신호에 해당하며 아래 수학식 3과 같이 표현된다.
[수학식 3]
Figure 112020024469876-pat00008
이와 반대로 도 8(b)를 기초로 역전파 동작을 살펴보면, 역전파 시에 신호 변환부(210)는 전달 임피던스로 동작하고, 미적분기는 미분유닛으로 동작하도록 제어된다. 따라서 출력단에 시간에 따라 전압이 일정하게 증가하는 신호를 입력하면 입력단 쪽에서는 원래의 입력 전압이 검출된다. 이때, 입력 전압은 제1 신호에 해당하며 아래 수학식 4과 같이 표현된다.
[수학식 4]
Figure 112020024469876-pat00009
수학식 4는 수학식 3과 역수 관계가 되므로 역전파 시의 회로는 역컨볼루션 기능을 하는 회로로 볼 수 있다. 다시 말하면, 도 8(a)의 회로는 정전파 시에 정전파 출력은 가중치 에 비례하도록 매트릭스 곱을 수행하고, 반대로 도 8(b) 회로는 정전파 시에 역전파 출력은 가중치의 역수에 비례하므로 역컨볼루션이 가능하다.
또한, 본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 정전파로 동작하고, 제1 신호와 가중치의 곱에 비례하는 제2 신호를 출력하도록 트랜스포즈 매트릭스 곱셈을 수행할 수 있다. 이때, 트랜스포즈 매트릭스 곱셈에서의 가중치의 매트릭스는 정전파 매트릭스 곱셈에서의 가중치의 매트릭스를 트랜스포즈시킨 매트릭스이고, 이러한 트랜스포즈 매트릭스 곱셈을 이용하여 트랜스포즈 컨볼루션을 수행할 수 있다.
CNN에서 트랜스포즈 컨볼루션을 수행하는 것은 전치된 가중치 매트릭스를 사용하는 것으로 지속적으로 정전파를 진행하되 가중치를 전치시켜 연산을 하는 방법이다. 이는 상술한 정전파 매트릭스 곱셈을 수행하되 가중치 매트릭스를 전치시킨 트랜스포즈 가중치 매트릭스를 이용함으로써 트랜스포즈 컨볼루션이 가능하다.
또한, 본 발명에 따른 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기는, 상술한 역전파 매트릭스 곱셈에서의 제2 신호를 정전파 매트릭스 곱셈에서의 제2 신호가 기설정된 기준값에 대하여 갖는 오차값으로 설정할 수 있고, 이러한 역전파 매트릭스 곱셈을 이용하여 가중치의 보정을 수행하는 것도 가능하다.
역전파의 경우는 가중치 값을 보정할 때 사용하는 방법으로 단계적으로 가중치를 보정하기 때문에 정전파에서의 출력, 즉 제2 신호가 기설정된 기준값에 대하여 오차를 가질 때 이 오차 값을 역으로 제2 입출력단에 입력하면서 가중치 매트릭스부(100)의 가중치 값들을 보정할 수 있다. 따라서, 도 8의 회로를 이용하여 역방향으로 전파 하면서 원래의 입력 값, 즉 제1 신호와 역전파된 입력 값을 확인하면서 가중치들을 보정하면 역전파 알고리듬에 의한 가중치 보정과 등가되는 기능을 수행할 수 있다.
이상에서는 이해의 편의를 위하여 본 발명의 매트릭스 곱셈기를 가중치 매트릭스부(100)가 1×1 행렬일 때를 예로 들어 설명하였으나, 이를 확장하여 이하에서는 가중치 매트릭스부(100)가 2×3 행렬인 경우에 대하여 설명한다. 일반적인 m×n 행렬의 가중치 매트릭스부(100)에 대해서는 동일한 동작과 원리가 적용된다.
도 9는 2×3 가중치 매트릭스부(100)에 대하여 본 발명에 따른 매트릭스 곱셈기를 도시한 회로도이다. 도 9에서 도 9(a)는 정전파 시의 전류의 흐름을 도시하고 있고, 도 9(b)는 역전파 시의 전류의 흐름을 도시하고 있다.
도 9는 상술한 인공지능 알고리즘의 곱셈 연산 기능을 수행할 수 있는 회로와 작동을 나타내는 회로로서 이해를 돕기 위해 2x3 가중치 매트릭스를 사용하였다. 정방향 전파는 신호 변환부(210)의 제1 선택스위치(ST1, ST2)를 오프하고 미적분부(310)의 제2 선택스위치(ST11, ST11, ST13)는 턴온 상태로 수행된다. 역방향 전파 때는 신호 변환부(210)의 제1 선택스위치(ST1, ST2)를 턴온하고 미적분부(310)의 제2 선택스위치(ST11, ST11, ST13)는 오프로 유지한다. 역방향 전파는 역컨볼루션과 가중치(Δτij) 보정에 유효하다. 가중치 보정을 레이어 별로 수행할 때는 레이어 별로 저장된 가중치 정보와 출력 값을 패치하여 사용한다.
또한, 트랜스포즈 컨볼루션을 수행하려면 출력된 값을 다시 입력 값으로 전환(또는 환산)하여 입력시키는데 이 때는 가중치 매트릭스를 전치시켜 계산을 수행한다.
도 9(a)는 정전파 시에 미적분부(310)를 적분유닛으로 사용하는 회로로서, 입력의 크기는 저항부(212)의 가변저항으로 결정하고 가중치는 펄스폭 제어부(111)의 트랜지스터를 턴온시키는 시간, 즉 펄스폭으로 결정할 수 있다. 또한, 도 9(b)는 역전파 시에 미적분부(310)를 미분유닛으로 사용하는 회로로서, 출력단에서 입력하는 신호는 시간에 따라 일정하게 증가하거나 감소하는 선형 전압일 수 있다.
도 9(a)를 참조하여 정전파 매트릭스 곱셈 방법을 설명하면, 먼저 제1 입출력부(200)가 입력단으로부터 2개의 제1 신호를 입력받을 수 있다. 이때, 제1 신호는 소정의 크기를 갖는 정전압일 수 있다. 정전파 매트릭스 곱셈에서 신호 변환부(210)는 컨덕턴스로 동작하기 때문에 제1 입출력부(200)의 신호 변환부(210)는 제1 신호를 전류(i1, i2)로 각각 변환하여 복수의 단위 가중치부(110)에서 대응되는 행의 단위 가중치부(110)에 각각 제공한다.
단위 가중치부(110)의 펄스폭 제어부(111)는, 변환되어 입력된 전류가 해당 단위 가중치부(110)에 설정된 가중치에 대응하도록 변환된 전류를 소정의 시간폭으로 미적분부(310)로 도통시킨다. 가중치 매트릭스의 제1열을 기준으로 볼 때, 제1행의 펄스폭 제어부(111)는 전류 i1을 Δτ11 만큼 도통시킨 전류 i11을 제1열의 미적분부(310)로 도통시키고, 제2행의 펄스폭 제어부(111)는 전류 i2을 Δτ21 만큼 도통시킨 전류 i21을 제1열의 미적분부(310)로 도통시킨다.
미적분부(310)는, 정전파 매트릭스 곱셈에서 적분유닛으로 동작하도록 제어되기 때문에 각각이 복수의 단위 가중치부(110)에서 대응되는 열의 단위 가중치부(110)에서 제공된 전류를 합산하여 적분한다. 결국 제1열의 미적분부(310)는 전류 i11과 i21을 합산한 전류를 적분하여 출력단으로 제2 신호를 출력하게 된다. 이상의 동작은 다른 열의 단위 가중치부(110) 및 미적분부(310)에 대해서도 동일하게 적용된다.
도 9(a)를 참조하여 트랜스포즈 매트릭스 곱셈 방법을 설명하면, 트랜스포즈 매트릭스 곱셈 방법은, 앞에서 설명한 정전파 매트릭스 곱셈 방법과 동일한 방법으로 수행될 수 있다. 다만, 트랜스포즈 매트릭스 곱셈 단계에서의 가중치 매트릭스부(100)를 구성하는 가중치의 매트릭스는 정전파 매트릭스 곱셈 단계에서의 가중치의 매트릭스를 트랜스포즈시킨 매트릭스일 수 있다. 물론, 트랜스포즈 매트릭스 곱셈은 역전파를 통해서도 수행될 수 있다.
또한, 도 9(b)를 참조하여 역전파 매트릭스 곱셈 방법을 설명하면, 먼저 제2 입출력부(300)가 출력단으로부터 3개의 제2 신호를 입력받을 수 있다. 이때, 제2 신호는 소정의 기울기를 갖는 선형 전압일 수 있다. 역전파 매트릭스 곱셈에서 미적분부(310)는 미분유닛으로 동작하기 때문에 제2 입출력부(300)의 미적분부(310)는 제2 신호의 기울기에 대응하는 전류로 각각 미분하여 해당 행의 단위 가중치부(110)에 대응하는 신호 변환부(210)로 제공한다.
이때, 단위 가중치부(110)의 펄스폭 제어부(111)는, 미분되어 입력된 전류가 해당 단위 가중치부(110)에 설정된 가중치에 대응하도록 미분된 전류를 소정의 시간 동안 제1 입출력부(200)의 신호 변환부(210)로 도통시킨다. 가중치 매트릭스의 제1행을 기준으로 볼 때, 제1열의 펄스폭 제어부(111)는 미분된 전류를 Δτ11 만큼 도통시킨 전류 iΔτ11을 제1행의 신호 변환부(210)로 도통시키고, 제2열의 펄스폭 제어부(111)는 미분된 전류를 Δτ12 만큼 도통시킨 전류 iΔτ12를 제2행의 신호 변환부(210)로 도통시키고, 제3열의 펄스폭 제어부(111)는 미분된 전류를 Δτ13 만큼 도통시킨 전류 iΔτ13을 제3행의 신호 변환부(210)로 도통시킨다.
신호 변환부(210)는, 역전파 매트릭스 곱셈에서 전달 임피던스로 동작하도록 제어되기 때문에 각각이 복수의 단위 가중치부(110)에서 대응되는 행의 단위 가중치부(110)에서 제공된 전류를 합산하여 적분한다. 결국 제1행의 신호 변환부(210)는 전류 iΔτ11, iΔτ12와 iΔτ13을 합산한 전류를 저항부(212)의 저항값에 비례하는 전압으로 변환하여 입력단으로 제1 신호를 출력하게 된다. 이상의 동작은 다른 행의 단위 가중치부(110) 및 신호 변환부(210)에 대해서도 동일하게 적용될 수 있다.
이상의 역전파 매트릭스 곱셈 방법을 이용하여 역컨볼루션을 수행할 수 있다. 또한, 본 발명에 따른 매트릭스 곱셈기는, 상술한 역전파 매트릭스 곱셈에서의 제2 신호는 정전파 매트릭스 곱셈 방법에서의 출력단의 신호가 소정의 기준값에 대하여 갖는 오차값으로 설정될 수 있다. 이를 통하여 역전파 매트릭스 곱셈 단계을 이용하여 가중치 매트릭스를 구성하는 가중치들을 보정하여 최적화할 수 있다.
본 발명에 따른 신호 변환부(210)에 포함되는 저항부(212)는 필요에 따라 저항값 또는 컨덕턴스를 가변할 수 있는 가변저항일 수 있다.
도 10은 본 발명에 따른 신호 변환부(210)의 저항부(212)를 예시적으로 도시한 회로도이다.
도 10을 참조하면, 저항부(212)는, 각각의 그룹이 서로 동일한 저항값을 갖는 하나 이상의 저항을 포함하는 하나 이상의 저항 그룹(2121)과, 저항 그룹(2121)의 저항에 각각 연결되고 해당 저항을 선택적으로 도통시키는 하나 이상의 스위치 소자를 포함하는 저항 선택스위치(2122)를 포함하여 구성될 수 있다.
이때, 서로 다른 저항 그룹(2121)에 포함된 저항들은 저항 그룹(2121) 별로 상이한 저항값을 가질 수 있다. 특히, 서로 다른 저항 그룹(2121)에 포함된 저항들은 저항 그룹(2121) 별로 서로 등비수열을 이루도록 구성될 수 있다. 각각의 저항에 연결된 스위치 소자들은 저항부(212)의 컨던턴스가 소정의 값이 되도록 제어될 수 있다.
저항 그룹(2121)은 2진법, 10진법 또는 다른 진법에 해당하는 배수로 등비수열을 이룰 수 있다. 예를 들어, 2진법인 경우에는 각각의 저항 그룹(2121)은 하나의 저항만을 포함하고, 제1 저항 그룹(2121)의 컨덕턴스가 Go일 때 제2 저항 그룹(2121) 및 제3 저항 그룹(2121)에 포함되는 저항 소자는 각각 2Go, 22Go일 수 있다.
도 10에서는 저항 그룹(2121)이 10진수에 의한 등비수열을 이루는 구성을 예시하고 있다. 도 10에 따르면, 각각의 저항 그룹(2121)은 Go, 10Go, 100Go, 1000Go 의 컨덕턴스를 갖는 저항 소자를 포함하도록 구성된다. 저항 선택스위치(2122)는 저항부(212)의 총 컨덕턴스가 원하는 값이 되도록 각 저항 그룹(2121)의 저항을 선택할 수 있다. 예를 들어, 1,000Go 저항을 d개 선택할 수 있고 100Go 저항체는 c개, 10Go 저항체를 b개, 1Go저항체를 a개 선택할 수 있는 예를 도시하였다. 또 다른 실시예로서 10,000Go 저항체를 e개 제작할 수도 있다.
더욱 구체적으로는, 10진법으로 표현할 경우에 16비트 해상도를 갖는 저항부(212)는, 기본 컨덕턴스 Go를 갖는 저항체를 9개, 10Go를 갖는 저항체를 9개, 100Go를 갖는 저항체를 9개, 1,000Go를 갖는 저항체 66개(또는 1,000Go를 갖는 저항체를 9개, 10,000Go를 갖는 저항체를 6개)를 제작할 수 있다. 이 경우에 16비트(65,535)의 가중치를 지정하고자 한다면, 1,000Go 저항체를 65개 선택하고 100Go 저항체 5개, 10Go 저항체 3개, 그리고 1Go 저항체 6개를 선택한다. 저항 소자는 CMOS 공정으로 제작하되 Go 값의 저항체를 기준으로 병렬 제작함으로써 10배, 100배, 1000배의 컨덕턴스 저항체를 제작할 수 있다.
제1 입출력단에 구성되는 각 저항부(212)는 트랜지스터가 많은 공간을 차지하게 되므로 은닉층을 한 층만 제작하여 순환 계산을 하도록 한다. 순환 곱셈 계산에 따른 입력 값, 가중치 값, 출력 값들은 해당 은닉층 순서에 따라 각 정보를 곱셈기 외부의 저장매체에 저장하고, 학습이 완료된 후 최적화된 저장 정보들은 인공지능을 수행할 때마다 패치하여 MAC 회로에 적용할 수 있다.
이상에서는, 본 발명의 원리를 예시하기 위한 바람직한 실시 예를 기초로 본 발명을 설명하고 도시하였지만, 본 발명은 그와 같이 도시되고 설명된 그대로의 구성 및 작용으로 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 기술자는 본 발명의 기술적 사상이나 필수적 특징을 변경하지 않고서도 본 발명이 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 가중치 매트릭스부 110: 단위 가중치부
111: 펄스폭 제어부 112: 행라인 스위치
200: 제1 입출력부 210: 신호 변환부
211: 제1 선택스위치 212: 저항부
2121: 저항 그룹 2122: 저항 선택스위치
213: 제1 증폭기 300: 제2 입출력부
310: 미적분부 311: 제2 선택스위치
312: 커패시터 313: 제2 증폭기
400: 신호 순환부
X: 입력신호 벡터 H: 출력신호 벡터
W: 가중치 매트릭스 x1, x2,…,xm: 제1 신호
h1, h2,…,hn: 제2 신호 w11, w12,…, wmn: 가중치 성분
WL: 워드라인 RL: 행라인

Claims (19)

  1. 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부를 포함하고, 상기 복수의 단위 가중치부의 가중치가 m×n 매트릭스를 구성하는 가중치 매트릭스부;
    정전파 동작 시에 입력단으로부터 m개의 제1 신호를 각각 입력받아 소정의 신호로 각각 변환하는 m개의 신호 변환부를 포함하고, 상기 신호 변환부는 상기 변환된 신호를 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부의 각각으로 제공하는 제1 입출력부; 및
    정전파 동작 시에 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부 각각의 출력을 합산하여 제공받고 상기 합산된 출력을 적분하여 대응되는 출력단으로 n개의 제2 신호를 출력하는 n개의 미적분부를 포함하는 제2 입출력부를 포함하고,
    상기 제1 입출력부는, 역전파 동작 시에 상기 신호 변환부 각각이 상기 가중치 매트릭스부로부터 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부 각각의 출력을 합산하여 제공받아, 상기 합산된 출력을 상기 제1 신호로 변환하여 출력하고,
    상기 제2 입출력부는, 역전파 동작 시에 상기 미적분부 각각이 상기 n개의 제2 신호를 입력받고, 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부의 각각으로 상기 제2 신호를 미분한 출력을 제공하는 것을 특징으로 하는 매트릭스 곱셈기.
  2. 삭제
  3. 제1항에 있어서,
    상기 신호 변환부 각각은, 정전파 동작 시에 컨덕턴스로 동작하고, 역전파 동작 시에 전달 임피던스로 동작하는 것을 특징으로 하는 매트릭스 곱셈기.
  4. 제3항에 있어서,
    상기 신호 변환부 각각은,
    일단이 상기 입력단에 연결되고, 타단이 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부에 연결되는 저항부;
    입력 측이 상기 저항부의 타단과 연결되는 제1 증폭기; 및
    일단이 상기 입력단에 연결되고, 타단이 상기 제1 증폭기의 출력 측에 연결되는 제1 선택스위치를 포함하고,
    상기 제1 선택스위치는, 정전파 동작 시에는 상기 신호 변환부가 컨덕턴스로 동작하고, 역전파 동작 시에는 상기 신호 변환부가 전달 임피던스로 동작하도록 제어되는 것을 특징으로 하는 매트릭스 곱셈기.
  5. 제1항에 있어서,
    상기 미적분부 각각은, 정전파 동작 시에 적분유닛으로 동작하고, 역전파 동작 시에 미분유닛으로 동작하는 것을 특징으로 하는 매트릭스 곱셈기.
  6. 제5항에 있어서,
    상기 미적분부 각각은,
    일단이 출력단에 연결되고, 타단이 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부에 연결되는 커패시터;
    입력 측이 상기 커패시터의 타단과 연결되는 제2 증폭기; 및
    일단이 상기 출력단에 연결되고, 타단이 상기 제2 증폭기의 출력 측에 연결되는 제2 선택스위치를 포함하고,
    상기 제2 선택스위치는, 정전파 동작 시에는 상기 미적분부가 적분유닛으로 동작하고, 역전파 동작 시에는 상기 미적분부가 미분유닛으로 동작하도록 제어되는 것을 특징으로 하는 매트릭스 곱셈기.
  7. 제1항에 있어서,
    상기 단위 가중치부 각각은, 상기 단위 가중치부의 행에 대응되는 신호 변환부와 상기 단위 가중치부의 열에 대응되는 미적분부 사이를 소정의 시간 동안 도통시키는 펄스폭 제어부를 포함하는 것을 특징으로 하는 매트릭스 곱셈기.
  8. 제1항에 있어서,
    정전파로 동작하고, 상기 제1 신호와 가중치의 곱에 비례하는 상기 제2 신호를 출력하도록 정전파 매트릭스 곱셈을 수행하고,
    상기 정전파 매트릭스 곱셈을 이용하여 컨볼루션을 수행하는 것을 특징으로 하는 매트릭스 곱셈기.
  9. 제8항에 있어서,
    정전파로 동작하고, 상기 제1 신호와 가중치의 곱에 비례하는 상기 제2 신호를 출력하도록 트랜스포즈 매트릭스 곱셈을 수행하되, 상기 트랜스포즈 매트릭스 곱셈에서의 상기 가중치의 매트릭스는 상기 정전파 매트릭스 곱셈에서의 가중치의 매트릭스를 트랜스포즈시킨 매트릭스이고,
    상기 트랜스포즈 매트릭스 곱셈을 이용하여 트랜스포즈 컨볼루션을 수행하는 것을 특징으로 하는 매트릭스 곱셈기.
  10. 제8항에 있어서,
    역전파로 동작하고, 상기 제2 신호와 가중치의 곱에 비례하는 상기 제1 신호를 출력하도록 역전파 매트릭스 곱셈을 수행하고,
    상기 역전파 매트릭스 곱셈을 이용하여 역컨볼루션을 수행하는 것을 특징으로 하는 매트릭스 곱셈기.
  11. 제10항에 있어서,
    상기 역전파 매트릭스 곱셈에서의 제2 신호는 상기 정전파 매트릭스 곱셈에서의 제2 신호가 기준값에 대하여 갖는 오차값이고,
    상기 역전파 매트릭스 곱셈을 이용하여 가중치의 보정을 수행하는 것을 특징으로 하는 매트릭스 곱셈기.
  12. 제1항에 있어서,
    상기 제2 입출력부로부터 입력받은 상기 제2 신호를 소정의 신호로 변환하여 상기 제1 입출력부에 제1 신호로서 제공하거나, 상기 제1 입출력부로부터 입력받은 상기 제1 신호를 소정의 신호로 변환하여 상기 제2 입출력부에 제2 신호로서 제공하는 신호 순환부를 더 포함하는 것을 특징으로 하는 매트릭스 곱셈기.
  13. 제4항에 있어서,
    상기 저항부는,
    각각의 그룹이 서로 동일한 저항값을 갖는 하나 이상의 저항을 포함하고, 상기 하나 이상의 저항의 일단이 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부에 공통 연결되는 하나 이상의 저항 그룹; 및
    일단이 상기 저항 그룹의 저항의 타단에 각각 연결되고, 타단이 공통으로 상기 입력단에 전기적으로 연결되는 하나 이상의 스위치 소자를 포함하는 저항 선택스위치를 포함하고,
    서로 다른 저항 그룹에 포함된 저항들은 상이한 저항값을 갖는 것을 특징으로 하는 매트릭스 곱셈기.
  14. 제13항에 있어서,
    상기 서로 다른 저항 그룹에 포함된 저항들은 서로 등비수열을 이루고,
    상기 저항 선택스위치는, 상기 저항부의 컨던턴스가 소정의 값이 되도록 제어되는 것을 특징으로 하는 매트릭스 곱셈기.
  15. 각각이 소정의 가중치로 설정되는 복수의 단위 가중치부를 포함하고, 상기 복수의 단위 가중치부의 가중치가 m×n 매트릭스를 구성하는 가중치 매트릭스부를 제공하는 단계;
    상기 복수의 단위 가중치부 중에서 행의 단위 가중치부에 각각 대응되는 m개의 신호 변환부를 포함하고, 상기 신호 변환부가 입력되는 신호를 변환하도록 입력단과 상기 가중치 매트릭스부 사이에 배치되는 제1 입출력부를 제공하는 단계; 및
    상기 복수의 단위 가중치부 중에서 열의 단위 가중치부에 각각 대응되는 n개의 미적분부를 포함하고, 상기 미적분부가 입력되는 신호를 미분 또는 적분하도록 출력단과 상기 가중치 매트릭스부 사이에 배치되는 제2 입출력부를 제공하는 단계를 포함하고,
    상기 제1 입출력부는, 역전파 동작 시에 상기 신호 변환부 각각이 상기 가중치 매트릭스부로부터 상기 복수의 단위 가중치부 중에서 대응되는 행의 단위 가중치부 각각의 출력을 합산하여 제공받아, 상기 합산된 출력을 변환하여 출력하고,
    상기 제2 입출력부는, 역전파 동작 시에 상기 미적분부 각각이 상기 출력단으로부터 신호를 입력받고, 상기 복수의 단위 가중치부 중에서 대응되는 열의 단위 가중치부의 각각으로 상기 입력받은 신호를 미분한 출력을 제공하는 것을 특징으로 하는 매트릭스 곱셈방법.
  16. 제15항에 있어서,
    정전파 매트릭스 곱셈 단계를 더 포함하고,
    상기 정전파 매트릭스 곱셈 단계는,
    상기 제1 입출력부가 상기 입력단으로부터 m개의 제1 신호를 입력받는 단계;
    상기 제1 입출력부에서 상기 제1 신호를 전류로 각각 변환하여 상기 복수의 단위 가중치부에서 대응되는 행의 단위 가중치부에 각각 제공하는 단계;
    상기 변환된 전류가 입력되는 상기 단위 가중치부에 설정된 가중치에 대응하도록 상기 변환된 전류를 소정의 시간폭으로 상기 미적분부로 제공하는 단계;
    상기 미적분부 각각이 상기 복수의 단위 가중치부에서 대응되는 열의 단위 가중치부에서 제공된 상기 전류를 합산하여 적분하는 단계; 및
    상기 제2 입출력부가 출력단으로 n개의 제2 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 매트릭스 곱셈방법.
  17. 제15항에 있어서,
    상기 입력단에서 입력된 신호와 상기 가중치의 곱에 비례하는 신호를 출력단으로 출력하는 정전파 매트릭스 곱셈 단계; 및
    트랜스포즈 매트릭스 곱셈 단계를 더 포함하고,
    상기 트랜스포즈 매트릭스 곱셈 단계는,
    상기 제1 입출력부가 상기 입력단으로부터 m개의 제1 신호를 입력받는 단계;
    상기 제1 입출력부에서 상기 제1 신호를 전류로 각각 변환하여 상기 복수의 단위 가중치부에서 대응되는 행의 단위 가중치부에 각각 제공하는 단계;
    상기 변환된 전류가 입력되는 상기 단위 가중치부에 설정된 가중치에 대응하도록 상기 변환된 전류를 소정의 시간폭으로 상기 미적분부로 제공하는 단계;
    상기 미적분부 각각이 상기 복수의 단위 가중치부에서 대응되는 열의 단위 가중치부에서 제공된 상기 전류를 합산하여 적분하는 단계; 및
    상기 제2 입출력부가 출력단으로 n개의 제2 신호를 출력하는 단계를 포함하되,
    상기 트랜스포즈 매트릭스 곱셈 단계에서의 상기 가중치의 매트릭스는 상기 정전파 매트릭스 곱셈 단계에서의 가중치의 매트릭스를 트랜스포즈시킨 매트릭스인 것을 특징으로 하는 매트릭스 곱셈방법.
  18. 제15항에 있어서,
    상기 입력단에서 입력된 신호와 상기 가중치의 곱에 비례하는 신호를 출력단으로 출력하는 정전파 매트릭스 곱셈 단계; 및
    역전파 매트릭스 곱셈 단계를 더 포함하고,
    상기 역전파 매트릭스 곱셈 단계는,
    상기 제2 입출력부가 상기 출력단으로부터 n개의 제2 신호를 입력받는 단계;
    상기 제2 입출력부에서 상기 제2 신호를 미분하여 상기 복수의 단위 가중치부에서 대응되는 열의 단위 가중치부에 각각 제공하는 단계;
    상기 미분된 제2 신호가 입력되는 상기 단위 가중치부에 설정된 가중치에 대응하도록 상기 미분된 제2 신호를 소정의 시간폭으로 상기 신호 변환부로 제공하는 단계;
    상기 신호 변환부 각각이 상기 복수의 단위 가중치부에서 대응되는 행의 단위 가중치부에서 제공된 상기 미분된 제2 신호를 합산하여 전압으로 변환하는 단계; 및
    상기 제1 입출력부가 입력단으로 m개의 제1 신호를 출력하는 단계를 포함하는 것을 특징으로 하는 매트릭스 곱셈방법.
  19. 제18항에 있어서,
    상기 역전파 매트릭스 곱셈에서의 제2 신호는 상기 정전파 매트릭스 곱셈 단계에서의 출력단의 신호가 기준값에 대하여 갖는 오차값이고,
    상기 역전파 매트릭스 곱셈 단계을 이용하여 가중치를 보정하는 단계를 더 포함하는 것을 특징으로 하는 매트릭스 곱셈방법.

KR1020200028796A 2020-03-09 2020-03-09 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법 KR102404388B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200028796A KR102404388B1 (ko) 2020-03-09 2020-03-09 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200028796A KR102404388B1 (ko) 2020-03-09 2020-03-09 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법

Publications (3)

Publication Number Publication Date
KR20210113722A KR20210113722A (ko) 2021-09-17
KR102404388B1 true KR102404388B1 (ko) 2022-06-02
KR102404388B9 KR102404388B9 (ko) 2023-04-12

Family

ID=77924234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200028796A KR102404388B1 (ko) 2020-03-09 2020-03-09 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법

Country Status (1)

Country Link
KR (1) KR102404388B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI807539B (zh) * 2017-05-17 2023-07-01 美商谷歌有限責任公司 用於執行矩陣乘法之方法、硬體電路、運算系統及電腦儲存媒體
KR20200022386A (ko) * 2017-11-10 2020-03-03 가부시키가이샤 아라야 정보 처리 장치 및 정보 처리 방법
KR102218740B1 (ko) * 2018-05-23 2021-02-23 포항공과대학교 산학협력단 트랜스포즈가 가능한 가중치 셀 및 이의 어레이

Also Published As

Publication number Publication date
KR102404388B9 (ko) 2023-04-12
KR20210113722A (ko) 2021-09-17

Similar Documents

Publication Publication Date Title
US11409438B2 (en) Peripheral circuit and system supporting RRAM-based neural network training
CN110796241B (zh) 基于忆阻器的神经网络的训练方法及其训练装置
US11501141B2 (en) Shifting architecture for data reuse in a neural network
AU2020274862B2 (en) Training of artificial neural networks
US11922169B2 (en) Refactoring mac operations
CN111125616B (zh) 一种二维离散傅里叶变换运算电路及运算方法
CN111478703A (zh) 基于忆阻交叉阵列的处理电路及输出电流的补偿方法
KR102404388B1 (ko) 트랜스포즈 매트릭스 곱셈이 가능한 매트릭스 곱셈기 및 곱셈방법
US20220101085A1 (en) Non-Volatile Memory Accelerator for Artificial Neural Networks
US11200948B1 (en) System for a flexible conductance crossbar
CN115879530B (zh) 一种面向rram存内计算系统阵列结构优化的方法
US11868893B2 (en) Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
US20230113627A1 (en) Electronic device and method of operating the same
KR102398449B1 (ko) 뉴런 회로 및 이의 제어 방법
CN116523011B (zh) 基于忆阻的二值神经网络层电路及二值神经网络训练方法
KR102311659B1 (ko) 컨볼루션 신경망 모델에 기초한 컴퓨팅 장치 및 그 동작 방법
WO2023171406A1 (ja) 演算回路ユニット、ニューラルネットワーク演算回路、および、ニューラルネットワーク演算回路の駆動方法
KR102672586B1 (ko) 인공신경망의 훈련 방법 및 장치
CN117610636A (zh) 一种存内计算存储器人工神经网络的片上训练方法
CN115796250A (zh) 权重部署方法及装置、电子设备和存储介质
Zhang et al. Software and Hardware Techniques for Reducing the Impact of Quantization Errors in Memristor Crossbar Arrays

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
G170 Re-publication after modification of scope of protection [patent]