KR102556506B1 - 뉴로모픽 연산 장치 및 그것의 동작 방법 - Google Patents
뉴로모픽 연산 장치 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR102556506B1 KR102556506B1 KR1020190005447A KR20190005447A KR102556506B1 KR 102556506 B1 KR102556506 B1 KR 102556506B1 KR 1020190005447 A KR1020190005447 A KR 1020190005447A KR 20190005447 A KR20190005447 A KR 20190005447A KR 102556506 B1 KR102556506 B1 KR 102556506B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bits
- subtotal
- multiplication
- weight
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title claims description 4
- 238000012544 monitoring process Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 21
- 210000002569 neuron Anatomy 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 11
- 230000001537 neural effect Effects 0.000 description 9
- 210000000225 synapse Anatomy 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101000600488 Pinus strobus Putative phosphoglycerate kinase Proteins 0.000 description 2
- 101000617728 Homo sapiens Pregnancy-specific beta-1-glycoprotein 9 Proteins 0.000 description 1
- 102100021983 Pregnancy-specific beta-1-glycoprotein 9 Human genes 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- 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/15—Correlation function computation including computation of convolution operations
-
- 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/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
- G06F7/575—Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4814—Non-logic devices, e.g. operational amplifiers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Logic Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
도 2는 본 발명의 하나의 실시 예에 따른 뉴로모픽 연산 장치를 보여주는 블록도이다.
도 3a는 도 2의 뉴로모픽 연산 장치로 입력되는 특징 데이터의 예시를 보여준다.
도 3b는 도 2의 뉴로모픽 연산 장치로 입력되는 가중치 데이터의 예시를 보여준다.
도 4는 본 발명의 실시 예에 따른 부분합 데이터의 예시를 보여주는 도면이다.
도 5는 도 2의 입력 모니터링 회로의 하나의 예시를 보여주는 도면이다.
도 6은 도 2의 입력 모니터링 회로의 하나의 예시를 보여주는 도면이다.
도 7은 도 2의 뉴로모픽 연산 장치의 하나의 예시를 보여주는 블록도이다.
도 8은 도 7의 아날로그 디지털 컨버터의 동작의 하나의 예시를 보여주는 타이밍도이다.
도 9는 도 2의 뉴로모픽 연산 장치의 동작의 예시를 보여주는 순서도이다.
도 10은 도 2의 뉴로모픽 연산 장치에 따른 연산 동작의 생략 횟수의 예시를 보여주는 표이다.
110: 부분합 데이터 생성기
111: 곱셈 레지스터
112: 디지털 아날로그 컨버터
113: 샘플 홀드 회로
114: 아날로그 디지털 컨버터
120: 시프트 덧셈기
130: 입력 레지스터
200: 입력 모니터링 회로
1000: 뉴로모픽 연산 장치
Claims (15)
- 복수의 특징 데이터 및 복수의 가중치 데이터 중 적어도 하나의 제1 자릿수의 제1 비트들이 모두 0인 것을 감시하여 감시 결과를 출력하도록 구성된 입력 모니터링 회로;
상기 복수의 특징 데이터 및 상기 복수의 가중치 데이터를 기반으로 복수의 부분합 데이터를 생성하는 연산 동작을 수행하되, 상기 감시 결과에 응답하여 상기 복수의 부분합 데이터 중 상기 제1 비트들에 대응하는 제1 부분합 데이터를 생성하는 연산 동작을 생략(skip)하도록 구성된 부분합 데이터 생성기; 및
상기 제1 부분합 데이터를 0 값으로 생성하고, 상기 복수의 부분합 데이터 중 상기 제1 부분합 데이터를 제외한 나머지 제2 부분합 데이터 및 상기 0 값으로 생성된 제1 부분합 데이터를 기반으로 결과 데이터를 생성하도록 구성된 시프트 덧셈기를 포함하는 뉴로모픽 연산 장치. - 제 1 항에 있어서,
상기 입력 모니터링 회로는 상기 제1 자릿수의 상기 제1 비트들을 입력들로 수신하는 OR 게이트를 포함하는 뉴로모픽 연산 장치. - 제 1 항에 있어서,
상기 입력 모니터링 회로는 상기 제1 자릿수의 상기 제1 비트들 각각을 게이트 단자들로 수신하는 모스펫들을 포함하고, 상기 모스펫의 일단은 접지 전압에 연결되고 타단은 전원 전압에 연결되는 뉴로모픽 연산 장치. - 제 1 항에 있어서,
상기 부분합 데이터 생성기는,
상기 복수의 특징 데이터의 제2 자릿수의 제2 비트들과 상기 복수의 가중치 데이터의 제3 자릿수의 제3 비트들을 기반으로 곱셈 비트들을 생성하도록 구성된 곱셈 레지스터;
상기 곱셈 비트들의 합에 대응하는 아날로그 신호를 생성하도록 구성된 디지털 아날로그 컨버터;
상기 아날로그 신호를 샘플링하도록 구성된 샘플 홀드 회로; 및
상기 샘플링된 아날로그 신호를 디지털 신호로 변환하여 상기 제2 부분합 데이터를 생성하도록 구성된 아날로그 디지털 컨버터를 포함하는 뉴로모픽 연산 장치. - 제 4 항에 있어서,
상기 곱셈 레지스터는 상기 제2 비트들 중 하나의 비트와 상기 제3 비트들 중 하나의 비트를 곱하여 상기 곱셈 비트들 중 하나를 생성하는 뉴로모픽 연산 장치. - 제 4 항에 있어서,
상기 곱셈 레지스터는 상기 제1 비트들을 기반으로 곱셈 비트들을 생성하는 동작을 생략하도록 더 구성된 뉴로모픽 연산 장치. - 제 4 항에 있어서,
상기 제2 비트들 중 적어도 하나는 1이고, 상기 제3 비트들 중 적어도 하나는 1인 뉴로모픽 연산 장치. - 제 1 항에 있어서,
상기 제1 비트들 각각은 부호를 나타내는 비트가 아닌 뉴로모픽 연산 장치. - 제 1 항에 있어서,
상기 결과 데이터는 상기 복수의 특징 데이터 및 상기 복수의 가중치 데이터의 합성곱 결과에 대응하는 뉴로모픽 연산 장치. - 뉴로모픽 연산 장치의 동작 방법에 있어서,
복수의 특징 데이터 및 복수의 가중치 데이터 중 적어도 하나의 제1 자릿수의 제1 비트들이 모두 0인 것으로 감시하여 감시 결과를 출력하는 단계;
상기 복수의 특징 데이터 및 상기 복수의 가중치 데이터를 기반으로 복수의 부분합 데이터를 생성하는 단계로서, 상기 감시 결과에 응답하여 상기 제1 비트들에 대응하는 제1 부분합 데이터를 생성하는 연산 동작을 생략하는 단계;
상기 제1 부분합 데이터의 값을 0으로 처리하는 단계; 및
상기 0으로 처리된 제1 부분합 데이터 및 상기 복수의 부분합 데이터 중에서 상기 제1 부분합 데이터를 제외한 나머지 부분합 데이터를 기반으로 뉴로모픽 연산의 결과 데이터를 생성하는 단계를 포함하는 동작 방법. - 제 10 항에 있어서,
상기 나머지 부분합 데이터는 제2 부분합 데이터를 포함하고,
상기 복수의 특징 데이터의 제2 자릿수의 제2 비트들과 상기 복수의 가중치 데이터의 제3 자릿수의 제3 비트들을 기반으로 상기 제2 부분합 데이터를 산출하는 단계를 더 포함하고,
상기 결과 데이터는 상기 제1 부분합 데이터 및 상기 제2 부분합 데이터를 기반으로 생성되는 동작 방법. - 제 11 항에 있어서,
상기 제2 부분합 데이터를 산출하는 단계는,
상기 제2 비트들과 상기 제3 비트들을 기반으로 곱셈 비트들을 생성하는 단계;
상기 곱셈 비트들의 합에 대응하는 아날로그 신호를 생성하는 단계;
상기 아날로그 신호를 샘플링하는 단계; 및
상기 샘플링된 아날로그 신호를 디지털 신호로 변환하여 상기 제2 부분합 데이터를 생성하는 단계를 포함하는 동작 방법. - 제 11 항에 있어서,
상기 제2 비트들 중 적어도 하나는 1이고, 상기 제3 비트들 중 적어도 하나는 1인 동작 방법. - 제 10 항에 있어서,
상기 제1 비트들 각각은 부호를 나타내는 비트가 아닌 동작 방법. - 제 10 항에 있어서,
상기 결과 데이터는 상기 복수의 특징 데이터 및 상기 복수의 가중치 데이터의 합성곱 결과에 대응하는 동작 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005447A KR102556506B1 (ko) | 2019-01-15 | 2019-01-15 | 뉴로모픽 연산 장치 및 그것의 동작 방법 |
US16/742,808 US11494630B2 (en) | 2019-01-15 | 2020-01-14 | Neuromorphic arithmetic device and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190005447A KR102556506B1 (ko) | 2019-01-15 | 2019-01-15 | 뉴로모픽 연산 장치 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200088955A KR20200088955A (ko) | 2020-07-24 |
KR102556506B1 true KR102556506B1 (ko) | 2023-07-19 |
Family
ID=71516691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190005447A KR102556506B1 (ko) | 2019-01-15 | 2019-01-15 | 뉴로모픽 연산 장치 및 그것의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11494630B2 (ko) |
KR (1) | KR102556506B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102642528B1 (ko) * | 2020-11-18 | 2024-03-04 | 한국전자통신연구원 | 인공 지능 시스템의 그것의 인공 신경망 학습 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5371023A (en) * | 1991-06-11 | 1994-12-06 | Hitachi, Ltd. | Gate circuit, semiconductor integrated circuit device and method of fabrication thereof, semiconductor memory and microprocessor |
KR0170505B1 (ko) | 1995-09-15 | 1999-03-30 | 양승택 | 다층퍼셉트론 신경회로망의 n비트 데이타 표현에 의한 학습방법 |
US8275727B2 (en) | 2009-11-13 | 2012-09-25 | International Business Machines Corporation | Hardware analog-digital neural networks |
US20160358069A1 (en) * | 2015-06-03 | 2016-12-08 | Samsung Electronics Co., Ltd. | Neural network suppression |
EP3289477B1 (en) * | 2016-01-30 | 2021-08-25 | Hewlett Packard Enterprise Development LP | Dot product engine with negation indicator |
US20170344876A1 (en) * | 2016-05-31 | 2017-11-30 | Samsung Electronics Co., Ltd. | Efficient sparse parallel winograd-based convolution scheme |
US11423289B2 (en) * | 2016-06-14 | 2022-08-23 | Samsung Electronics Co., Ltd. | Accelerator for deep neural networks |
US11003985B2 (en) | 2016-11-07 | 2021-05-11 | Electronics And Telecommunications Research Institute | Convolutional neural network system and operation method thereof |
KR101827779B1 (ko) | 2016-12-05 | 2018-02-09 | 포항공과대학교 산학협력단 | 디지털-아날로그 변환기와 아날로그-디지털 변환기를 이용한 비트 직렬 곱셈누적 연산기 |
US10241971B2 (en) * | 2016-12-15 | 2019-03-26 | Hewlett Packard Enterprise Development Lp | Hierarchical computations on sparse matrix rows via a memristor array |
US20180253636A1 (en) | 2017-03-06 | 2018-09-06 | Samsung Electronics Co., Ltd. | Neural network apparatus, neural network processor, and method of operating neural network processor |
KR102390379B1 (ko) | 2017-03-06 | 2022-04-26 | 삼성전자주식회사 | 뉴럴 네트워크 프로세서, 뉴럴 네트워크 프로세서의 동작 방법, 및 뉴럴 네트워크 장치 |
US10817260B1 (en) * | 2018-06-13 | 2020-10-27 | Amazon Technologies, Inc. | Reducing dynamic power consumption in arrays |
-
2019
- 2019-01-15 KR KR1020190005447A patent/KR102556506B1/ko active IP Right Grant
-
2020
- 2020-01-14 US US16/742,808 patent/US11494630B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20200088955A (ko) | 2020-07-24 |
US20200226456A1 (en) | 2020-07-16 |
US11494630B2 (en) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010662B2 (en) | Massively parallel neural inference computing elements | |
EP3637325B1 (en) | Processing method and accelerating device | |
Yang et al. | Design space exploration of neural network activation function circuits | |
CN112114776B (zh) | 一种量子乘法运算方法、装置、电子装置及存储介质 | |
Lotrič et al. | Applicability of approximate multipliers in hardware neural networks | |
CN112162723B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
EP3444757B1 (en) | Discrete data representation supported device and method for forward operation of artificial neural network | |
CN103092560B (zh) | 一种基于Bypass技术的低功耗乘法器 | |
JPH07248841A (ja) | 非線形関数発生装置およびフォーマット変換装置 | |
CN110222833B (zh) | 一种用于神经网络的数据处理电路 | |
CN112119407B (zh) | 由补偿指令使能的低精度深度神经网络 | |
KR101827779B1 (ko) | 디지털-아날로그 변환기와 아날로그-디지털 변환기를 이용한 비트 직렬 곱셈누적 연산기 | |
CN109478251B (zh) | 处理方法及加速装置 | |
KR102556506B1 (ko) | 뉴로모픽 연산 장치 및 그것의 동작 방법 | |
Frias et al. | A new scalable parallel adder based on spiking neural P systems, dendritic behavior, rules on the synapses and astrocyte-like control to compute multiple signed numbers | |
JP2006154992A (ja) | ニューロプロセッサ | |
Dorrance et al. | An energy-efficient Bayesian neural network accelerator with CiM and a time-interleaved Hadamard digital GRNG using 22-nm finFET | |
CN112214200B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
US11507813B2 (en) | Modulo operation unit | |
Song et al. | Research on parallel principal component analysis based on ternary optical computer | |
CN115809707B (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
US11531896B2 (en) | Neural network circuit providing for operations with bit shifting and rounded values of weight information | |
WO2023124371A1 (zh) | 数据处理装置、方法、芯片、计算机设备及存储介质 | |
CN115809706B (zh) | 量子模数倍增运算方法、装置、电子装置及模数算术组件 | |
Sarvan et al. | Implementation of ANN training module on field programmable gate arrays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190115 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20211013 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20190115 Comment text: Patent Application |
|
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20230227 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20230508 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230712 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20230713 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration |