KR102318219B1 - 1비트 신경망 학습 방법 - Google Patents
1비트 신경망 학습 방법 Download PDFInfo
- Publication number
- KR102318219B1 KR102318219B1 KR1020190062919A KR20190062919A KR102318219B1 KR 102318219 B1 KR102318219 B1 KR 102318219B1 KR 1020190062919 A KR1020190062919 A KR 1020190062919A KR 20190062919 A KR20190062919 A KR 20190062919A KR 102318219 B1 KR102318219 B1 KR 102318219B1
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- layer
- equation
- bit
- value
- Prior art date
Links
Images
Classifications
-
- 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/08—Learning methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 1-Bit 신경망 학습 방법에 관한 것으로, 첫 번째 층과 두 번째 층을 8~32Bit로 계산하는 단계; 총 N개의 인공 신경망 층에서 세 번째 층부터 N-1번째의 층까지는 이진 양자화를 적용하는 단계; 및 N번째 층은 8~32Bit로 계산하는 단계;를 포함하는 것을 특징으로 한다.
Description
본 발명은 1비트 신경망 학습 방법에 관한 것으로, 더욱 상세하게는 인공 신경망의 성능을 향상시키는 1비트 신경망 학습 방법에 관한 것이다.
일반적으로 신경망은 32-Bit 또는 16-Bit의 부동소수점 연산을 통해 결과 값을 산출한다. 대부분의 신경망 부동소수점 연산은 MAC(Multiplier-Accumulator)이며 모델의 크기가 커질수록 연산 횟수는 크게 증가한다.
연산의 병렬성을 증가시키기 위해 8-Bit 또는 1-Bit 연산으로 변경하는 방법이 있으며 이론적으로 32-Bit 연산보다 각각 4배 또는 32배 속도 향상을 기대할 수 있다.
그러나, 기존의 1-Bit(XNOR-Net)의 방법은 첫 번째 층과 마지막 층만 32-Bit로 연산하고, 중간층은 모두 1-Bit로 연산하기 때문에 두 번째 층에서 특징 표현력이 떨어져 신경망의 성능이 저하되는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 첫 번째 층만 유지했던 8~32Bit 연산을 두 번째 층까지 확장하여 신경망의 정확도 성능을 향상시키는 1비트 신경망 학습 방법을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 1-Bit 신경망 학습 방법은 첫 번째 층과 두 번째 층을 8~32Bit로 계산하는 단계; 총 N개의 인공 신경망 층에서 세 번째 층부터 N-1번째의 층까지는 이진 양자화를 적용하는 단계; 및 N번째 층은 8~32Bit로 계산하는 단계;를 포함하는 것을 특징으로 한다.
이상 같이, 본 발명에 따르면 32-Bit 신경망과 비교해서 연산 속도가 수십 배 증가하며 기존의 1-Bit 신경망보다 성능이 향상되는 장점이 있다.
도 1은 본 발명에 따른 1비트 신경망 학습 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
그러면 본 발명에 따른 1비트 신경망 학습 방법의 일실시예에 대하여 자세히 설명하기로 한다.
도 1은 본 발명에 따른 1비트 신경망 학습 방법의 순서도이다.
도 1을 참조하면, 본 발명의 1비트 신경망 학습 방법은 먼저, 컴퓨터로 첫 번째 층을 8~32Bit로 계산한다(S100).
이어서, 컴퓨터로 두 번째 층을 8~32Bit로 계산한다(S200).
다음으로, 총 N개의 인공 신경망 층에서 세 번째 층부터 N-1번째의 층까지는 이진 양자화를 적용하며(S300), 컴퓨터로 N번째 층은 8~32Bit로 계산한다(S400).
상기 8~32Bit 계산은 하기 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
[수학식 2]
삭제
삭제
또한, 본 발명에서는 하기 수학식 4, 5와 같이 신경망의 각 층의 분포가 평균이 0 분산이 1이 되도록 정규화한다.
[수학식 4]
[수학식 5]
그리고, 본 발명에서는 이진 양자화에 따른 오차를 보정하기 위해 하기 수학식 6과 같이 scale값을 구하여 1-Bit 연산이 적용되는 층에 곱한다. 즉, 신경망의 해당 층의 가중치의 절대값을 모두 더해서 개수만큼 나눈 값을 곱하여 보정한다.
[수학식 6]
[수학식 7]
상기 수학식 3의 sign 함수의 미분은 불가능하지만 본 발명에서는 입력 값이 과 사이이면 출력 층의 미분 값을 그대로 전달하고, 그 외에는 전달하지 않는 함수를 적용한다. 이를 수학식 8과 같이 나타낼 수 있다.
[수학식 8]
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (3)
- 컴퓨터로 첫 번째 층과 두 번째 층을 8~32Bit로 계산하는 단계;
총 N개의 인공 신경망 층에서 세 번째 층부터 N-1번째의 층까지는 이진 양자화를 적용하는 단계; 및
컴퓨터로 N번째 층은 8~32Bit로 계산하는 단계;를 포함하되,
상기 이진 양자화는 1-Bit 연산으로 하기 수학식 1에서 와 가 하기 수학식 2를 통해 -1 또는 +1로 양자화된 값을 통해 연산하는 것을 특징으로 하는 1비트 신경망 학습 방법.
[수학식 1]
[수학식 2]
여기서, m은 신경망의 출력층 개수, 은 신경망층, L은 총 신경망층 수, 는 신경망의 가중치, 는 이전 층의 출력값, 는 신경망의 입력값임. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190062919A KR102318219B1 (ko) | 2019-05-29 | 2019-05-29 | 1비트 신경망 학습 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190062919A KR102318219B1 (ko) | 2019-05-29 | 2019-05-29 | 1비트 신경망 학습 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200137122A KR20200137122A (ko) | 2020-12-09 |
KR102318219B1 true KR102318219B1 (ko) | 2021-10-27 |
Family
ID=73787041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190062919A KR102318219B1 (ko) | 2019-05-29 | 2019-05-29 | 1비트 신경망 학습 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102318219B1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102452951B1 (ko) * | 2017-08-23 | 2022-10-11 | 삼성전자주식회사 | 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치 |
KR102082293B1 (ko) * | 2017-12-12 | 2020-04-28 | 한국항공대학교산학협력단 | 컨볼루션 신경망의 이진화 연산 장치 및 방법 |
-
2019
- 2019-05-29 KR KR1020190062919A patent/KR102318219B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
1-Bit 합성곱 신경망을 위한 정확도 향상 기법. 임성훈, 이재흥. 한국전기전자학회. 전기전자학회논문지 22(4), 2018.12, 1115-1122(8 pages).* |
이진화된 컨벌루션 신경망의 효율적인 SIMD 구현. 김성찬, 신지훈, 박용민, 김태환. 대한전자공학회. 전자공학회논문지 55(1), 2018.1, 49-56(8 pages).* |
Also Published As
Publication number | Publication date |
---|---|
KR20200137122A (ko) | 2020-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451658B (zh) | 浮点运算定点化方法及*** | |
CN109784486B (zh) | 一种光学神经网络处理器及其训练方法 | |
CN110008952B (zh) | 一种目标识别方法及设备 | |
CN111758104B (zh) | 适合于硬件实现的神经网络参数优化方法、神经网络计算方法和装置 | |
CN111985523A (zh) | 基于知识蒸馏训练的2指数幂深度神经网络量化方法 | |
CN111695671B (zh) | 训练神经网络的方法及装置、电子设备 | |
CN109740737B (zh) | 卷积神经网络量化处理方法、装置及计算机设备 | |
CN111612147A (zh) | 深度卷积网络的量化方法 | |
JP2022502733A (ja) | ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現 | |
CN109508784B (zh) | 一种神经网络激活函数的设计方法 | |
CN107622174B (zh) | 基于影响矩阵修正的斜拉桥拉索张拉施工闭环控制方法 | |
CN114418057A (zh) | 卷积神经网络的运算方法及相关设备 | |
CN111696149A (zh) | 针对基于cnn的立体匹配算法的量化方法 | |
CN112990438A (zh) | 基于移位量化操作的全定点卷积计算方法、***及设备 | |
KR102318219B1 (ko) | 1비트 신경망 학습 방법 | |
WO2018076331A1 (zh) | 一种神经网络训练方法及装置 | |
KR950024084A (ko) | 신경망 회로 및 신경망 시스템과 이들을 이용한 계산 방법 | |
KR970017000A (ko) | 다층퍼셉트론 신경회로망의 n비트 데이타 표현에 의한 학습방법 | |
CN113902109A (zh) | 一种神经网络规则化位串行计算的压缩方法及装置 | |
US20210064976A1 (en) | Neural network circuitry having floating point format with asymmetric range | |
US11170297B2 (en) | Method of neural network training using floating-point signed digit representation | |
CN113283591B (zh) | 基于Winograd算法和近似乘法器的高效卷积实现方法及装置 | |
CN107563669B (zh) | 一种基于学习模型的公路养护决策分析方法 | |
CN110837885A (zh) | 一种基于概率分布的Sigmoid函数拟合方法 | |
WO2022247368A1 (en) | Methods, systems, and mediafor low-bit neural networks using bit shift operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |