KR102318219B1 - 1비트 신경망 학습 방법 - Google Patents

1비트 신경망 학습 방법 Download PDF

Info

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
Application number
KR1020190062919A
Other languages
English (en)
Other versions
KR20200137122A (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 KR1020190062919A priority Critical patent/KR102318219B1/ko
Publication of KR20200137122A publication Critical patent/KR20200137122A/ko
Application granted granted Critical
Publication of KR102318219B1 publication Critical patent/KR102318219B1/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/08Learning methods
    • 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)
  • 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비트 신경망 학습 방법{Method for Training 1-Bit Neural Networks}
본 발명은 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]
Figure 112021051740969-pat00043

Figure 112021051740969-pat00049

Figure 112021051740969-pat00045
여기서, m은 신경망의 출력층 개수,
Figure 112020119654372-pat00002
은 신경망층, L은 총 신경망층 수,
Figure 112020119654372-pat00003
는 신경망의 가중치,
Figure 112020119654372-pat00004
는 이전 층의 출력 값,
Figure 112020119654372-pat00008
는 신경망의 입력값이다.
상기 이진 양자화는 1Bit 연산을 의미하며 수학식 1에서
Figure 112019055004705-pat00009
Figure 112019055004705-pat00010
가 하기 수학식 2를 통해 -1 또는 +1로 양자화된 값을 통해 수학식 1과 같이 연산을 한다.
[수학식 2]
Figure 112019055004705-pat00011
본 발명에서는 양자화가 적용되지 않는 첫 번째 층, 두 번째 층, 마지막 층을 제외하고는 비선형 활성화 함수
Figure 112020119654372-pat00012
를 적용하지 않는다.
삭제
삭제
또한, 본 발명에서는 하기 수학식 4, 5와 같이 신경망의 각 층의 분포가 평균이 0 분산이 1이 되도록 정규화한다.
[수학식 4]
Figure 112019055004705-pat00015
[수학식 5]
Figure 112019055004705-pat00016
그리고, 본 발명에서는 이진 양자화에 따른 오차를 보정하기 위해 하기 수학식 6과 같이 scale값을 구하여 1-Bit 연산이 적용되는 층에 곱한다. 즉, 신경망의 해당 층의 가중치의 절대값을 모두 더해서 개수만큼 나눈 값을 곱하여 보정한다.
[수학식 6]
Figure 112019055004705-pat00017
여기서, 2차원 합성곱 신경망의 경우
Figure 112019055004705-pat00018
는 출력 채널의 개수,
Figure 112019055004705-pat00019
는 입력 채널의 개수,
Figure 112019055004705-pat00020
는 합성곱 신경망의 필터 세로 크기,
Figure 112019055004705-pat00021
는 합성곱 신경망의 필터 가로 크기이다.
이때, 1-Bit 양자화 신경망의 가중치를 갱신하기 위해서 양자화된 입력의 미분값인
Figure 112019055004705-pat00022
을 계산하고, 수학식 7과 같이 출력 층으로부터 계산된 미분 값을 그대로 전달한다.
[수학식 7]
Figure 112019055004705-pat00023
상기 수학식 3의 sign 함수의 미분은 불가능하지만 본 발명에서는 입력 값이 과 사이이면 출력 층의 미분 값을 그대로 전달하고, 그 외에는 전달하지 않는 함수를 적용한다. 이를 수학식 8과 같이 나타낼 수 있다.
[수학식 8]
Figure 112019055004705-pat00024
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (3)

  1. 컴퓨터로 첫 번째 층과 두 번째 층을 8~32Bit로 계산하는 단계;
    총 N개의 인공 신경망 층에서 세 번째 층부터 N-1번째의 층까지는 이진 양자화를 적용하는 단계; 및
    컴퓨터로 N번째 층은 8~32Bit로 계산하는 단계;를 포함하되,
    상기 이진 양자화는 1-Bit 연산으로 하기 수학식 1에서
    Figure 112021051740969-pat00025
    Figure 112021051740969-pat00026
    가 하기 수학식 2를 통해 -1 또는 +1로 양자화된 값을 통해 연산하는 것을 특징으로 하는 1비트 신경망 학습 방법.
    [수학식 1]
    Figure 112021051740969-pat00046

    Figure 112021051740969-pat00050

    Figure 112021051740969-pat00048

    [수학식 2]
    Figure 112021051740969-pat00028

    여기서, m은 신경망의 출력층 개수,
    Figure 112021051740969-pat00029
    은 신경망층, L은 총 신경망층 수,
    Figure 112021051740969-pat00030
    는 신경망의 가중치,
    Figure 112021051740969-pat00031
    는 이전 층의 출력값,
    Figure 112021051740969-pat00035
    는 신경망의 입력값임.
  2. 삭제
  3. 제1항에 있어서,
    상기 이진 양자화에 따른 오차를 보정하기 위해 하기 수학식과 같이 scale값을 구하여 1-Bit 연산이 적용되는 해당 층의 가중치의 절대값을 모두 더해서 개수만큼 나눈 값을 곱하여 보정하는 것을 특징으로 하는 1비트 신경망 학습 방법.
    Figure 112019055004705-pat00036

    여기서,
    Figure 112019055004705-pat00037
    는 출력 채널의 개수,
    Figure 112019055004705-pat00038
    는 입력 채널의 개수,
    Figure 112019055004705-pat00039
    는 합성곱 신경망의 필터 세로 크기,
    Figure 112019055004705-pat00040
    는 합성곱 신경망의 필터 가로 크기,
    Figure 112019055004705-pat00041
    는 가중치의 절대값임.
KR1020190062919A 2019-05-29 2019-05-29 1비트 신경망 학습 방법 KR102318219B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102452951B1 (ko) * 2017-08-23 2022-10-11 삼성전자주식회사 뉴럴 네트워크의 컨볼루션 연산을 수행하는 방법 및 장치
KR102082293B1 (ko) * 2017-12-12 2020-04-28 한국항공대학교산학협력단 컨볼루션 신경망의 이진화 연산 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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