KR20210089988A - 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크 - Google Patents

트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크 Download PDF

Info

Publication number
KR20210089988A
KR20210089988A KR1020200003241A KR20200003241A KR20210089988A KR 20210089988 A KR20210089988 A KR 20210089988A KR 1020200003241 A KR1020200003241 A KR 1020200003241A KR 20200003241 A KR20200003241 A KR 20200003241A KR 20210089988 A KR20210089988 A KR 20210089988A
Authority
KR
South Korea
Prior art keywords
weight
transistor
neural network
conductance
matrix multiplication
Prior art date
Application number
KR1020200003241A
Other languages
English (en)
Other versions
KR102427975B1 (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 KR1020200003241A priority Critical patent/KR102427975B1/ko
Publication of KR20210089988A publication Critical patent/KR20210089988A/ko
Application granted granted Critical
Publication of KR102427975B1 publication Critical patent/KR102427975B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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

Landscapes

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

Abstract

본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는 워드 라인, 입력 라인 및 다이오드와 연결되는 트랜지스터와, 출력 라인, 및 트랜지스터와 연결되는 다이오드를 포함하고, 출력 라인은 선택 트랜지스터와 연결된다.

Description

트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크{CONDUCTANCE-BASED SEQUENTIAL MATRIX MULTIPLICATION NEURAL NETWORK BY CONTROLLING WEIGHTS WITH TRANSISTORS}
본 발명은 뉴럴 네트워크에 관한 것으로서, 보다 상세하게는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크에 관한 것이다.
모바일용 뉴럴 프로세서는 학습을 서버나 컴퓨터로 수행하고 학습결과를 모바일 뉴럴 프로세서에 저장하여 추론(inference)을 수행한다. 이 때 뉴럴 프로세서의 가중치에 저장되는 값은 멀티레벨이 되는 것이 바람직하나 멀티레벨 값에 한계가 있어서 학습을 수행한 후 전지 작업(pruning), 데이터 압축 등의 과정을 거쳐 작은 비트폭(small bit-width)화 한 다음 그 값을 모바일 뉴럴 프로세서 가중치로 저장한다. 이 가중치는 불휘발성 메모리 또는 휘발성 메모리에 저장할 수 있다.
서버용으로는 Google의 TPU(Tensor Processing Unit)가 있는데 가중치 값을 DRAM에 저장한 후 페치(fetch)하여 행렬 곱셈부(matrix multiply unit, MMU)로 보낸다. 출력(output) 계산 결과는 DRAM에 저장된 새로운 가중치 값과 함께 다시 행렬 곱셈부 입력(input)으로 보내어 최종 출력(output) 결과가 나올 때까지 순환시킨다.
가중치를 불휘발성 메모리에 저장하여 사용하는 경우에는 추론 속도가 빠른 장점이 있으나 은닉층(hidden layer)을 모두 제작해야 하므로 회로 오버헤드(circuit overhead)가 증가하는 단점이 있다. Google의 TPU같은 경우는 가중치 정보를 뉴럴 네트워크 외부에 저장하고, 동일한 뉴럴 네트위크를 다시 사용하면서 순차적으로 계산하기 때문에 추론 속도는 감소하지만 회로 오버헤드를 줄일 수 있다.
위 기재된 내용은 오직 본 발명의 기술적 사상들에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
뉴럴 네트워크로 데이터를 학습하고 학습한 결과를 이용하여 추론 및 예측 등을 수행하기 위해서는 가중치를 조절해야 한다. 가중치 소자를 멀티레벨로 제작한다는 것은 물리적 한계가 있기 때문에, 소프트웨어에서 사용하는 가중치 비트폭(weight bit-width)을 따라갈 수 없다. 예를 들어서 16 비트폭의 멀티레벨, 즉, 65,536 저항 레벨을 갖는 저항 메모리 소재는 현재로서는 구현하기 어렵다. 따라서 가중치 값을 소프트웨어만큼 탄력적으로 입력하면서 행렬 곱셈이 가능한 행렬 곱셈부의 구조와 작동 방법을 고안해야 한다.
가중치를 바꾸기 위해 저항값(혹은 컨덕턴스 값)을 바꾸는 방법으로는 여러가지 저항 값을 갖는 저항체를 제작하여 필요한 저항체를 선택하거나, 동일한 고정 저항 값을 갖는 저항체들을 제작한 후 그룹으로 선택하는 방법이 있다. 이러한 경우에는 회로가 복잡해지기 때문에 circuit overhead가 증가한다. 또한, 은닉층을 필요한 만큼 제작하는 것이 칩(chip) 크기에 제약을 주는 또 하나의 문제가 된다. 따라서, 메모리 소재를 가중치로 사용하는 것보다는 트랜지스터를 사용하여 트랜지스터의 채널 컨덕턴스를 멀티레벨화 하거나 트랜지스터에 흐르는 전류를 멀티레벨화 하는 방법을 고안하는 것이 바람직하다.
상기 목적을 달성하기 위하여 본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 워드 라인, 입력 라인, 및 다이오드와 연결되는 트랜지스터와; 출력 라인, 및 상기 트랜지스터와 연결되는 다이오드를 포함하고, 상기 출력 라인은 선택 트랜지스터와 연결된다.
상기 워드 라인에 인가되는 전압은 펄스 전압일 수 있다.
상기 펄스 전압의 펄스 진폭을 제어하여 가중치를 조절할 수 있다.
상기 펄스 전압의 펄스 폭을 제어하여 가중치를 조절할 수 있다.
상기 워드 라인과 상기 출력 라인은 서로 직교하여 위치할 수 있다.
상기 입력 라인은 입력과 연결되고, 상기 선택 트랜지스터는 출력과 연결될 수 있다.
상기 입력은 직류 전압이 인가되고, 상기 출력은 전하 적분기와 연결될 수 있다.
본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 제1 워드 라인, 제1 입력, 및 제1 다이오드와 연결되는 제1 트랜지스터, 및 출력 라인과 연결되는 상기 제1 다이오드를 포함하는 제1 가중치 셀과; 제2 워드 라인, 제2 입력, 및 제2 다이오드와 연결되는 제2 트랜지스터, 및 출력 라인과 연결되는 상기 제2 다이오드를 포함하는 제2 가중치 셀을 포함하고, 상기 출력 라인은 제1 선택 트랜지스터와 연결된다.
상기 제1 워드 라인과 상기 제2 워드 라인에 인가되는 전압은 서로 다른 펄스 전압일 수 있다.
상기 서로 다른 펄스 전압은 서로 다른 펄스 진폭을 가질 수 있다.
상기 서로 다른 펄스 전압의 펄스 진폭을 제어하여 상기 출력 라인으로 출력되는 가중치를 조절할 수 있다.
상기 서로 다른 펄스 전압은 서로 다른 펄스 폭을 가질 수 있다.
상기 서로 다른 펄스 전압의 펄스 폭을 제어하여 상기 출력 라인으로 출력되는 가중치를 조절할 수 있다.
상기 제1 워드 라인과 상기 제2 워드 라인은 서로 평행하게 위치하고, 상기 제1 워드 라인 및 상기 제2 워드 라인과 상기 출력 라인은 서로 직교하여 위치할 수 있다.
본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 제1 워드 라인, 제1 입력, 및 다이오드와 연결되는 제1 트랜지스터, 및 제1 출력 라인과 연결되는 상기 다이오드를 포함하는 제1 가중치 셀과; 제2 워드 라인, 제2 입력, 및 다이오드와 연결되는 제2 트랜지스터, 및 제1 출력 라인과 연결되는 상기 다이오드를 포함하는 제2 가중치 셀과; 제1 워드 라인, 제1 입력, 및 다이오드와 연결되는 제3 트랜지스터, 및 제2 출력 라인과 연결되는 상기 다이오드를 포함하는 제3 가중치 셀과; 제2 워드 라인, 제2 입력, 및 다이오드와 연결되는 제4 트랜지스터, 및 제2 출력 라인과 연결되는 상기 다이오드를 포함하는 제4 가중치 셀을 포함하고, 상기 제1 출력 라인은 제1 선택 트랜지스터와 연결되고, 상기 제2 출력 라인은 제2 선택 트랜지스터와 연결된다.
상기 제1 워드 라인과 상기 제2 워드 라인에 인가되는 전압은 서로 다른 펄스 전압일 수 있다.
상기 서로 다른 펄스 전압은 서로 다른 펄스 진폭 또는 서로 다른 펄스 폭을 가질 수 있다.
상기 서로 다른 펄스 전압의 펄스 진폭 또는 펄스 폭을 제어하여 가중치를 조절할 수 있다.
상기 제1 선택 트랜지스터와 상기 제2 선택 트랜지스터에 선택적으로 게이트 전압을 인가하여 상기 제1 출력 라인 및 상기 제2 출력 라인으로 출력되는 가중치 셀의 가중치를 선택적으로 조절할 수 있다.
상기 제1 선택 트랜지스터와 상기 제2 선택 트랜지스터에 순차로 게이트 전압을 인가하여 상기 제1 출력 라인 및 상기 제2 출력 라인으로 출력되는 가중치 셀의 가중치를 순차로 조절할 수 있다.
이와 같은 본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 가중치를 탄력적으로 조절할 수 있으며, 회로 부하를 줄일 수 있고 행렬 곱셈 유닛 칩 크기(matrix multiplication unit chip size)도 최소화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 뉴럴 네트워크를 개략적으로 나타내는 회로도이다.
도 2는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 가중치 셀을 개략적으로 나타내는 회로도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 가중치 셀의 작동 원리를 개략적으로 나타내는 회로도이다.
도 5는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 가중치 셀 어레이와 어레이에 연결된 워드 라인들, 비트 라인들, 선택 트랜지스터들 및 각각의 입력, 출력을 설명하기 위한 회로도이다.
도 6 및 도 7은 본 발명의 실시예에 따른 뉴럴 네트워크의 순차 행렬 곱셈 동작을 설명하기 위한 회로도이다.
위 발명의 배경이 되는 기술 란에 기재된 내용은 오직 본 발명의 기술적 사상에 대한 배경 기술의 이해를 돕기 위한 것이며, 따라서 그것은 본 발명의 기술 분야의 당업자에게 알려진 선행 기술에 해당하는 내용으로 이해될 수 없다.
아래의 서술에서, 설명의 목적으로, 다양한 실시예들의 이해를 돕기 위해 많은 구체적인 세부 내용들이 제시된다. 그러나, 다양한 실시예들이 이러한 구체적인 세부 내용들 없이 또는 하나 이상의 동등한 방식으로 실시될 수 있다는 것은 명백하다. 다른 예시들에서, 잘 알려진 구조들과 장치들은 다양한 실시예들을 불필요하게 이해하기 어렵게 하는 것을 피하기 위해 블록도로 표시된다.
도면에서, 레이어들, 필름들, 패널들, 영역들 등의 크기 또는 상대적인 크기는 명확한 설명을 위해 과장될 수 있다. 또한, 동일한 참조 번호는 동일한 구성 요소를 나타낸다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 그러나, 만약 어떤 부분이 다른 부분과 "직접적으로 연결되어 있다”고 서술되어 있으면, 이는 해당 부분과 다른 부분 사이에 다른 소자가 없음을 의미할 것이다. "X, Y, 및 Z 중 적어도 어느 하나", 그리고 "X, Y, 및 Z로 구성된 그룹으로부터 선택된 적어도 어느 하나"는 X 하나, Y 하나, Z 하나, 또는 X, Y, 및 Z 중 둘 또는 그 이상의 어떤 조합 (예를 들면, XYZ, XYY, YZ, ZZ) 으로 이해될 것이다. 여기에서, "및/또는"은 해당 구성들 중 하나 또는 그 이상의 모든 조합을 포함한다.
여기에서, 첫번째, 두번째 등과 같은 용어가 다양한 소자들, 요소들, 지역들, 레이어들, 및/또는 섹션들을 설명하기 위해 사용될 수 있지만, 이러한 소자들, 요소들, 지역들, 레이어들, 및/또는 섹션들은 이러한 용어들에 한정되지 않는다. 이러한 용어들은 하나의 소자, 요소, 지역, 레이어, 및/또는 섹션을 다른 소자, 요소, 지역, 레이어, 및 또는 섹션과 구별하기 위해 사용된다. 따라서, 일 실시예에서의 첫번째 소자, 요소, 지역, 레이어, 및/또는 섹션은 다른 실시예에서 두번째 소자, 요소, 지역, 레이어, 및/또는 섹션이라 칭할 수 있다.
"아래", "위" 등과 같은 공간적으로 상대적인 용어가 설명의 목적으로 사용될 수 있으며, 그렇게 함으로써 도면에서 도시된 대로 하나의 소자 또는 특징과 다른 소자(들) 또는 특징(들)과의 관계를 설명한다. 이는 도면 상에서 하나의 구성 요소의 다른 구성 요소에 대한 관계를 나타내는 데에 사용될 뿐, 절대적인 위치를 의미하는 것은 아니다. 예를 들어, 도면에 도시된 장치가 뒤집히면, 다른 소자들 또는 특징들의 "아래"에 위치하는 것으로 묘사된 소자들은 다른 소자들 또는 특징들의 "위"의 방향에 위치한다. 따라서, 일 실시예에서 "아래" 라는 용어는 위와 아래의 양방향을 포함할 수 있다. 뿐만 아니라, 장치는 그 외의 다른 방향일 수 있다 (예를 들어, 90도 회전된 혹은 다른 방향에서), 그리고, 여기에서 사용되는 그런 공간적으로 상대적인 용어들은 그에 따라 해석된다.
여기에서 사용된 용어는 특정한 실시예들을 설명하는 목적이고 제한하기 위한 목적이 아니다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다 고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 다른 정의가 없는 한, 여기에 사용된 용어들은 본 발명이 속하는 분야에서 통상적인 지식을 가진 자에게 일반적으로 이해되는 것과 같은 의미를 갖는다.
도 1은 본 발명의 일 실시예에 따른 뉴럴 네트워크를 개략적으로 나타내는 회로도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 뉴럴 네트워크(neural network)는 입력 뉴런(10), 출력 뉴런(20), 및 가중치 셀(30)을 포함한다. 시냅스(30) 소자는 입력 뉴런(10)으로부터 수평으로 연장하는 로우 라인(R)(row lines) 및 출력 뉴런(20)으로부터 수직으로 연장하는 컬럼 라인(C)(column lines)의 교차점에 배치될 수 있다. 설명의 편의를 위해 도 1에는 예시적으로 각각 네 개의 입력 뉴런(10) 및 출력 뉴런(20)이 도시되었으나, 본 발명은 이에 한정되지 않는다.
입력 뉴런(10)은 학습 모드(learning mode), 리셋 모드(reset mode), 보정 또는 읽기 모드(reading mode)에서 로우 라인(R)을 통하여 가중치 셀(30)로 전기적 펄스들(pulses)을 전송할 수 있다.
출력 뉴런(20)은 학습 모드 또는 리셋 모드 또는 보정 또는 읽기 모드에서 컬럼 라인(C)을 통하여 가중치 셀(30)로부터 전기적 펄스를 수신할 수 있다.
도 2는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 가중치 셀을 개략적으로 나타내는 회로도이다.
본 발명의 실시예에 따른 가중치 비트폭을 탄력적으로 적용하기 위하여 가중치를 새롭게 정의한다. 현재까지는 컨덕턴스를 기초로 하는 가중치에서 I=GV(전류=컨덕턴스×전압)를 적용하여 G를 멀티레벨화 하였다. 이 때 Q=IΔt 관계를 추가하여 Q=GΔtV 관계를 적용한다면 가중치는 컨덕턴스 G와 전류가 흐르는 시간 Δt로 조절할 수 있기 때문에 멀티레벨화 할 수 있는 여지가 증가한다. 따라서 가중치는 GΔt로 정의한다.
도 2를 참조하면, 본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 트랜지스터와 다이오드를 포함한다. 트랜지스터는 워드 라인(WL), 입력 라인(BL), 및 다이오드와 연결되고, 다이오드는 출력 라인 및 트랜지스터와 연결되며, 출력 라인은 선택 트랜지스터(ST)와 연결된다.
본 발명의 일 실시예에 따르면, 워드 라인(WL)에 인가되는 전압은 펄스 전압일 수 있다. 실시예로서, 펄스 전압의 펄스 진폭을 제어하여 가중치를 조절할 수 있다. 다른 실시예로서, 펄스 전압의 펄스 폭을 제어하여 가중치를 조절할 수 있다.
실시예로서, 워드 라인(WL)과 출력 라인은 서로 직교하여 위치할 수 있다. 입력 라인은 입력과 연결되고, 선택 트랜지스터(ST)는 출력과 연결될 수 있다. 입력은 직류 전압이 인가되고, 출력은 전하 적분기와 연결될 수 있다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 가중치 셀의 작동 원리를 개략적으로 나타내는 회로도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 제1 트랜지스터와 제1 다이오드를 포함하는 제1 가중치 셀 및 제2 트랜지스터와 제2 다이오드를 포함하는 제2 가중치 셀을 포함한다. 제1 트랜지스터는 제1 워드 라인, 제1 입력, 및 제1 다이오드와 연결되고, 제1 다이오드는 제1 트랜지스터 및 출력 라인과 연결된다. 제2 트랜지스터는 제2 워드 라인, 제2 입력, 및 제2 다이오드와 연결되고, 제2 다이오드는 제2 트랜지스터 및 출력 라인과 연결된다. 출력 라인은 제1 선택 트랜지스터와 연결된다. 실시예로서, 제1 워드 라인과 제2 워드 라인은 서로 평행하게 위치하고, 제1 워드 라인 및 제2 워드 라인과 출력 라인은 서로 직교하여 위치할 수 있다. 제1 선택 트랜지스터는 출력과 연결될 수 있고, 출력은 전하 적분기와 연결될 수 있다.
본 발명의 일 실시예에 따르면, 제1 워드 라인과 제2 워드 라인에 인가되는 전압은 서로 다른 펄스 전압일 수 있다. 실시예로서, 서로 다른 펄스 전압은 서로 다른 펄스 진폭을 가질 수 있다. 또한, 서로 다른 펄스 전압의 펄스 진폭을 제어하여 상기 출력 라인으로 출력되는 가중치를 조절할 수 있다. 다른 실시예로서, 서로 다른 펄스 전압은 서로 다른 펄스 폭을 가질 수 있다. 또한, 서로 다른 펄스 전압의 펄스 폭을 제어하여 상기 출력 라인으로 출력되는 가중치를 조절할 수 있다.
본 발명의 일 실시예에 따르면, 가중치 셀의 채널 컨덕턴스(혹은 트랜스 컨덕턴스)로 결정되는 전류가 펄스 폭으로 결정되는 일정 시간동안 흐르는 전하량을 출력값으로 한다. 실시예로서, 가중치 셀의 워드 라인에 인가되는 펄스는 펄스 진폭과 펄스 폭을 임의로 지정할 수 있는 전압 펄스이다. 실시예로서, 펄스 진폭은 트랜지스터의 트랜스 컨덕턴스를 멀티레벨화 할 수 있는 범위로 인가할 수 있다. 또한 펄스 폭은 주어진 채널 컨덕턴스(또는 트랜스 컨덕턴스)로 조건으로 전류가 흐를 때 전하 적분기능 소자에서 역전압이 발생하지 않는 한도까지 증가시킬 수 있다. 따라서 가중치 셀에 흐르는 최대 허용 전하량은 채널 컨덕턴스와 펄스 폭의 곱으로 결정된다. 따라서 이 최대 허용 전하량이 가중치 셀의 가중치 폭(weight bit-width)에 대응된다.
도 3 및 도 4를 참조하면, 선택 트랜지스터에 의해 가중치 셀 열이 선택되고 트랜지스터의 비트 라인에는 입력 신호에 대응되는 입력 전압을 인가하고, 워드 라인에는 셀 별로 각각의 전압을 일정한 시간만큼 인가하되 열 별로 순차로 인가한다.
출력 라인과 출력 사이에는 선택 트랜지스터가 배치되어, 선택 트랜지스터의 게이트에 게이트 전압을 인가함으로써 임의의 열이 선택되고 이 열에 연결된 가중치를 통해 흘러 나오는 전하들의 합이 출력된다.
본 발명의 실시예에 따른 뉴럴 네트워크의 각 가중치 셀에서 방출되는 전하량은 Q=GΔtV가 된다. 이 관계에서 가중치에 해당하는 GΔt와 전압 V와의 곱셈이 가능해진다. G는 워드라인에 인가되는 게이트 전압에 의해 결정되는 트랜지스터의 채널 컨덕턴스 혹은 트랜스 컨턱턴스로서, 이 컨턱턴스가 선형으로 멀티레벨이 되는 범위로 게이트 전압을 인가한다. 선형 채널 컨덕턴스에서 최저 채널 컨덕턴스가 접지(ground) 컨덕턴스 GO가 된다. 펄스 폭 Δt는 선형으로 증가하도록 기본 단위 펄스 폭 ΔtO을 정한다. 따라서 GO 및 ΔtO를 기준으로 가중치 폭(weight bit-width) 및 가중치 해상도(bit-resolution)를 조절할 수 있다.
실시예로서, 각 펄스 폭의 시간차, 각 가중치의 컨덕턴스의 차이, 입력 전압의 차이에 의해 임의의 가중치에서 출력되는 전하가 같은 열의 다른 쪽 가중치 셀을 통해 역류하는 것을 막기 위하여 출력 라인과 각 가중치 셀의 트랜지스터 사이에 다이오드를 배치할 수 있다.
실시예로서, 각각의 가중치 셀들의 가중치를 랜덤하게 조정하기 위하여 선택 트랜지스터로 열 한 개씩 선택하여 곱셈을 수행할 수 있다. 다른 실시예로서 열 한 개씩 선택하되 첫번째 열부터 마지막 열까지 순서대로 선택하거나 임의의 열을 임의의 순서로 선택할 수 있다. 또 다른 실시예로서, 가중치 셀 어레이에서 순차 곱셈을 실시할 때마다 각 열은 한 번씩 선택할 수 있다.
각 열의 출력들은 출력 라인 하나로 연결하여 출력 전하들을 모으는 전하 적분기에 연결된다.
도 5는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 가중치 셀 어레이와 어레이에 연결된 워드 라인들, 비트 라인들, 선택 트랜지스터들 및 각각의 입력, 출력을 설명하기 위한 회로도이다.
도 5를 참조하면, 본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 제1 가중치 셀, 제2 가중치 셀, 제3 가중치 셀, 제4 가중치 셀을 포함한다. 제1 가중치 셀은 제1 워드 라인, 제1 입력, 및 다이오드와 연결되는 제1 트랜지스터, 및 제1 출력 라인과 연결되는 다이오드를 포함한다. 제2 가중치 셀은 제2 워드 라인, 제2 입력, 및 다이오드와 연결되는 제2 트랜지스터, 및 제1 출력 라인과 연결되는 다이오드를 포함한다. 제3 가중치 셀은 제1 워드 라인, 제1 입력, 및 다이오드와 연결되는 제3 트랜지스터, 및 제2 출력 라인과 연결되는 다이오드를 포함한다. 제4 가중치 셀은 제2 워드 라인, 제2 입력, 및 다이오드와 연결되는 제4 트랜지스터, 및 제2 출력 라인과 연결되는 다이오드를 포함한다. 제1 출력 라인은 제1 선택 트랜지스터와 연결되고, 제2 출력 라인은 제2 선택 트랜지스터와 연결된다.
본 발명의 일 실시예에 따르면, 제1 워드 라인과 제2 워드 라인에 인가되는 전압은 서로 다른 펄스 전압일 수 있다. 서로 다른 펄스 전압은 서로 다른 펄스 진폭 또는 서로 다른 펄스 폭을 가질 수 있다. 서로 다른 펄스 전압의 펄스 진폭 또는 펄스 폭을 제어하여 가중치를 조절할 수 있다. 실시예로서, 제1 선택 트랜지스터와 제2 선택 트랜지스터에 선택적으로 게이트 전압을 인가하여 제1 출력 라인 및 제2 출력 라인으로 출력되는 가중치 셀의 가중치를 선택적으로 조절할 수 있다. 다른 실시예로서, 제1 선택 트랜지스터와 제2 선택 트랜지스터에 순차로 게이트 전압을 인가하여 제1 출력 라인 및 제2 출력 라인으로 출력되는 가중치 셀의 가중치를 순차로 조절할 수 있다.
본 발명의 일 실시예에 따르면, 출력 라인과 전하 적분기 사이에는 선택 트랜지스터(ST)가 배치된다. 실시예로서, 선택 트랜지스터의 게이트에 게이트 전압을 인가함으로써 뉴럴 네트워크의 가중치 셀들의 열이 선택된다.
도 6 및 도 7은 본 발명의 실시예에 따른 뉴럴 네트워크의 순차 행렬 곱셈 동작을 설명하기 위한 회로도이다.
도 6은 본 발명의 실시예에 따른 뉴럴 네트워크의 제1 열에 대해, 제1 선택 트랜지스터의 게이트에 전압을 인가하고 제1 열에 각각의, 그리고 임의의 펄스 진폭과 펄스 폭을 가지는 펄스 전압을 각각의 가중치 셀들의 게이트에 인가하는 회로도이다.
도 7은 본 발명의 실시예에 따른 뉴럴네트워크의 마지막 열에 대해 마지막 선택 트랜지스터의 게이트에 제 1선택 트랜지스터의 게이트 전압과 동일한 전압을 인가하고 마지막 열에 각각의, 그리고 임의의 펄스 진폭과 펄스 폭을 가지는 펄스 전압을 각각의 가중치 셀들의 게이트에 인가하는 회로도이다.
도 5, 도 6, 및 도 7을 참조하면, 본 발명의 실시예에 따른 뉴럴 네트워크는 가중치 셀을 어레이(array)로 구성하고 이를 네트워크 레이어(network layer)로 제작한 다음 가중치 셀 어레이의 열 별로 순차로 작동시키는 동시에 출력 값을 다음 은닉층의 입력 정보로 사용하는 리커런트(recurrent) 혹은 이터레이션(iteration) 방식을 적용한다.
도 6 및 도 7을 참조하면, 본 발명의 실시예에 따른 뉴럴 네트워크의 특정 열의 각 가중치 셀에 게이트 전압을 인가하는 시간은, 각 열의 가중치 셀 별로 연결된 워드 라인에 인가하는 게이트 펄스 폭으로 조절한다. 실시예로서, 행렬 곱셈은 열 별로 워드 라인에 임의의 전압을 인가하여 열 별로 순차적으로 수행하고, 각 은닉층별 가중치 정보와 입력 정보는 뉴럴 네트워크 외부의 저장 매체에 저장할 수 있다. 외부의 저장 매체에는 레이어별 가중치 정보와 입력 정보를 저장하여 추론(inference)시 순환 컴퓨팅(computing)에 사용한다.
도 6 및 도 7을 참조하면, i개의 열 중, 첫번째열과 마지막 열을 순차로 선택한 실시예를 확인할 수 있으나 본 발명은 이에 한정되지 않고 여러 열을 순위 없이 한번씩만 선택하여 매트릭스 곱을 수행할 수 있다.
전술한 바와 같은 본 발명의 실시예들에 따르면, 본 발명의 실시예에 따른 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크는, 가중치를 탄력적으로 조절할 수 있으며, 회로 부하를 줄일 수 있고 행렬 곱셈 유닛 칩 크기(matrix multiplication unit chip size)도 최소화할 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
10: 입력 뉴런 20: 출력 뉴런
30: 가중치 셀

Claims (20)

  1. 워드 라인, 입력 라인, 및 다이오드와 연결되는 트랜지스터; 및
    출력 라인, 및 상기 트랜지스터와 연결되는 다이오드를 포함하고,
    상기 출력 라인은 선택 트랜지스터와 연결되는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  2. 제 1항에 있어서,
    상기 워드 라인에 인가되는 전압은 펄스 전압인 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  3. 제 2항에 있어서,
    상기 펄스 전압의 펄스 진폭을 제어하여 가중치를 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  4. 제 2항에 있어서,
    상기 펄스 전압의 펄스 폭을 제어하여 가중치를 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  5. 제 1항에 있어서,
    상기 워드 라인과 상기 출력 라인은 서로 직교하여 위치하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  6. 제 1항에 있어서,
    상기 입력 라인은 입력과 연결되고, 상기 선택 트랜지스터는 출력과 연결되는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  7. 제 6항에 있어서,
    상기 입력은 직류 전압이 인가되고, 상기 출력은 전하 적분기와 연결되는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  8. 제1 워드 라인, 제1 입력, 및 제1 다이오드와 연결되는 제1 트랜지스터, 및 출력 라인과 연결되는 상기 제1 다이오드를 포함하는 제1 가중치 셀; 및
    제2 워드 라인, 제2 입력, 및 제2 다이오드와 연결되는 제2 트랜지스터, 및 출력 라인과 연결되는 상기 제2 다이오드를 포함하는 제2 가중치 셀을 포함하고,
    상기 출력 라인은 제1 선택 트랜지스터와 연결되는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  9. 제 8항에 있어서,
    상기 제1 워드 라인과 상기 제2 워드 라인에 인가되는 전압은 서로 다른 펄스 전압인 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  10. 제 9항에 있어서,
    상기 서로 다른 펄스 전압은 서로 다른 펄스 진폭을 가지는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  11. 제 9항에 있어서,
    상기 서로 다른 펄스 전압의 펄스 진폭을 제어하여 상기 출력 라인으로 출력되는 가중치를 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  12. 제 9항에 있어서,
    상기 서로 다른 펄스 전압은 서로 다른 펄스 폭을 가지는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  13. 제 9항에 있어서,
    상기 서로 다른 펄스 전압의 펄스 폭을 제어하여 상기 출력 라인으로 출력되는 가중치를 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  14. 제 8항에 있어서,
    상기 제1 워드 라인과 상기 제2 워드 라인은 서로 평행하게 위치하고, 상기 제1 워드 라인 및 상기 제2 워드 라인과 상기 출력 라인은 서로 직교하여 위치하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  15. 제1 워드 라인, 제1 입력, 및 다이오드와 연결되는 제1 트랜지스터, 및 제1 출력 라인과 연결되는 상기 다이오드를 포함하는 제1 가중치 셀;
    제2 워드 라인, 제2 입력, 및 다이오드와 연결되는 제2 트랜지스터, 및 제1 출력 라인과 연결되는 상기 다이오드를 포함하는 제2 가중치 셀;
    제1 워드 라인, 제1 입력, 및 다이오드와 연결되는 제3 트랜지스터, 및 제2 출력 라인과 연결되는 상기 다이오드를 포함하는 제3 가중치 셀; 및
    제2 워드 라인, 제2 입력, 및 다이오드와 연결되는 제4 트랜지스터, 및 제2 출력 라인과 연결되는 상기 다이오드를 포함하는 제4 가중치 셀을 포함하고,
    상기 제1 출력 라인은 제1 선택 트랜지스터와 연결되고, 상기 제2 출력 라인은 제2 선택 트랜지스터와 연결되는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  16. 제 15항에 있어서,
    상기 제1 워드 라인과 상기 제2 워드 라인에 인가되는 전압은 서로 다른 펄스 전압인 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  17. 제 16항에 있어서,
    상기 서로 다른 펄스 전압은 서로 다른 펄스 진폭 또는 서로 다른 펄스 폭을 가지는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  18. 제 16항에 있어서,
    상기 서로 다른 펄스 전압의 펄스 진폭 또는 펄스 폭을 제어하여 가중치를 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  19. 제 15항에 있어서,
    상기 제1 선택 트랜지스터와 상기 제2 선택 트랜지스터에 선택적으로 게이트 전압을 인가하여 상기 제1 출력 라인 및 상기 제2 출력 라인으로 출력되는 가중치 셀의 가중치를 선택적으로 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
  20. 제 15항에 있어서,
    상기 제1 선택 트랜지스터와 상기 제2 선택 트랜지스터에 순차로 게이트 전압을 인가하여 상기 제1 출력 라인 및 상기 제2 출력 라인으로 출력되는 가중치 셀의 가중치를 순차로 조절하는 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크.
KR1020200003241A 2020-01-09 2020-01-09 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크 KR102427975B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200003241A KR102427975B1 (ko) 2020-01-09 2020-01-09 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200003241A KR102427975B1 (ko) 2020-01-09 2020-01-09 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크

Publications (2)

Publication Number Publication Date
KR20210089988A true KR20210089988A (ko) 2021-07-19
KR102427975B1 KR102427975B1 (ko) 2022-08-01

Family

ID=77126073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003241A KR102427975B1 (ko) 2020-01-09 2020-01-09 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크

Country Status (1)

Country Link
KR (1) KR102427975B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120284217A1 (en) * 2009-11-18 2012-11-08 International Business Machines Corporation Area efficient neuromorphic system
KR20170034290A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 가중치 소자, 뉴럴 네트워크, 및 가중치 소자의 동작 방법
US20190034788A1 (en) * 2017-07-26 2019-01-31 International Business Machines Corporation System and method for constructing synaptic weights for artificial neural networks from signed analog conductance-pairs of varying significance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120284217A1 (en) * 2009-11-18 2012-11-08 International Business Machines Corporation Area efficient neuromorphic system
KR20170034290A (ko) * 2015-09-18 2017-03-28 삼성전자주식회사 가중치 소자, 뉴럴 네트워크, 및 가중치 소자의 동작 방법
US20190034788A1 (en) * 2017-07-26 2019-01-31 International Business Machines Corporation System and method for constructing synaptic weights for artificial neural networks from signed analog conductance-pairs of varying significance

Also Published As

Publication number Publication date
KR102427975B1 (ko) 2022-08-01

Similar Documents

Publication Publication Date Title
US10534840B1 (en) Multiplication using non-volatile memory cells
US10528643B1 (en) Vector-matrix multiplication using non-volatile memory cells
US10552510B2 (en) Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays
CN111722830B (zh) 快闪存储器的非易失性计算方法
US11222259B2 (en) Counter based resistive processing unit for programmable and reconfigurable artificial-neural-networks
US11694744B2 (en) Mixed digital-analog memory devices and circuits for secure storage and computing
TWI699711B (zh) 記憶體裝置及其製造方法
US20190318239A1 (en) Resistive processing unit architecture with separate weight update and inference circuitry
Liu et al. Fault tolerance in neuromorphic computing systems
US11301752B2 (en) Memory configuration for implementing a neural network
KR20190133532A (ko) 트랜스포즈가 가능한 가중치 셀 및 이의 어레이
US20210303982A1 (en) Neural network computing device including on-device quantizer, operating method of neural network computing device, and computing device including neural network computing device
US11437103B2 (en) Memory cells configured to generate weighted inputs for neural networks
US11056185B2 (en) Apparatus for deep learning operations on resistive crossbar array
KR102427975B1 (ko) 트랜지스터로 가중치를 조절할 수 있는 컨덕턴스 기반 순차 행렬 곱셈 뉴럴 네트워크
KR102351376B1 (ko) 가중치 비트폭을 탄력적으로 적용할 수 있는 가중치 셀
KR102448396B1 (ko) 가중치 비트폭을 탄력적으로 적용할 수 있는 커패시턴스 기반 뉴럴 네트워크
KR102503403B1 (ko) 컨덕턴스와 펄스 폭으로 가중치를 조절할 수 있는 준 벡터 행렬 곱셈 뉴럴 네트워크
KR102365470B1 (ko) 트랜지스터-커패시터 쌍으로 가중치를 조절할 수 있는 커패시턴스 기반 순차 행렬 곱셈 뉴럴 네트워크
US20240046080A1 (en) Vertical nand flash type semiconductor device and method of operating the same
US20230317124A1 (en) Memory system and operating method of memory system
KR102511526B1 (ko) 하드웨어 기반 인공 신경망 제공 장치
KR102365468B1 (ko) 펄스 횟수를 입력 신호에 대응시키고 전압으로 가중치를 조절하는 커패시턴스 기반 행렬 곱셈 뉴럴 네트워크
CN114121089B (zh) 基于忆阻器阵列的数据处理方法及装置
WO2023171683A1 (ja) ニューラルネットワーク演算回路

Legal Events

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