CN109308517A - 面向二值神经网络的二值化装置、方法及应用 - Google Patents

面向二值神经网络的二值化装置、方法及应用 Download PDF

Info

Publication number
CN109308517A
CN109308517A CN201811041101.8A CN201811041101A CN109308517A CN 109308517 A CN109308517 A CN 109308517A CN 201811041101 A CN201811041101 A CN 201811041101A CN 109308517 A CN109308517 A CN 109308517A
Authority
CN
China
Prior art keywords
binaryzation
value
data
input data
neural network
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201811041101.8A
Other languages
English (en)
Other versions
CN109308517B (zh
Inventor
韩银和
闵丰
许浩博
王颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201811041101.8A priority Critical patent/CN109308517B/zh
Publication of CN109308517A publication Critical patent/CN109308517A/zh
Application granted granted Critical
Publication of CN109308517B publication Critical patent/CN109308517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种面向二值神经网络的二值化装置,包括:数据接收单元,用于接收神经网络待二值化的非二值输入数据和预设的二值化参数,其中,所述非二值输入数据是神经元数据和/或权值数据;二值化计算单元,用于针对所述输入数据执行二值化计算;数据输出单元,用于输出所述二值化计算单元获得的二值化结果。

Description

面向二值神经网络的二值化装置、方法及应用
技术领域
本发明涉及计算领域,特别涉及一种面向二值神经网络的计算装置及方法。
背景技术
神经网络是人工智能领域具有高发展水平的感知模型之一,因广泛的应用和出色的表现使其成为了学术界和工业界的研究热点。神经网络通过模拟人类大脑的神经连接结构来建立模型结构,为大规模数据(例如图像、视频或音频)处理任务带来了突破性进展,该模型结构是一种由大量节点通过网状互联结构构成的运算模型,其中的节点被称为神经元,每两个节点间的连接强度都代表通过该连接信号在这两个节点间的加权值,被称为权重,对应于人类神经网络中的记忆。
二值神经网络是指在一般神经网络的基础上,将其权重矩阵中的权值和/或神经元数据进行了二值化得到的一种新型神经网络。因其具有精简的数据规模以及简便的运算方式,一经出现就成为了学者们的重点研究对象,但是,在现有技术中还没有在神经网络加速器上实现面向二值神经网络的专用二值化装置,这对二值神经网络的推广使用十分不利。
因此,需要一种特别适用于二值神经网络的低成本且高灵活性的二值化装置及方法。
发明内容
本发明提供一种面向二值神经网络的计算装置及方法,包括:
数据接收单元,用于接收神经网络待二值化的非二值输入数据和预设的二值化参数,其中,所述非二值输入数据是神经元数据和/或权值数据和/或卷积运算结果;
二值化计算单元,用于针对所述输入数据执行二值化计算;
数据输出单元,用于输出所述二值化计算单元获得的二值化结果。
优选的,所述二值化计算单元包括比较模块和赋值模块,所述比较模块用于将非二值输入数据与二值化参数相比较并获得比较结果;所述赋值模块根据所述比较结果将所述非二值输入数据的数据值对应转化为二值数据值。
优选的,所述二值化参数为预设的阈值,所述比较模块将所述非二值输入数据的每一个数值分别与所述阈值相比较,若所述非二值输入数据的数值大于或等于所述阈值,则所述赋值模块将所述数值对应转化为1,反之则为0。
优选的,所述赋值模块根据所述非二值输入数据每一个数值的正负对所述非二值输入数据进行转化;其中,若所述非二值输入数据的数值为正或为0,则对应转化为1;若所述非二值输入数据的数值为负,则对应转化为0。
优选的,所述二值化参数根据所述非二值输入数据的值域范围进行预设。
优选的,所述二值化参数根据所述非二值输入数据的分布规律进行预设。
根据本发明的另一个方面,还提供一种面向二值神经网络的联合装置,包括如上所述的二值化装置和与所述二值化装置相连的参数调节单元,所述参数调节单元与所述数据接收单元相连,用于调节所述数据接收单元接收的所述预设的二值化参数。
根据本发明的另一个方面,还提供一种面向二值神经网络的联合装置,包括如上所述的二值化装置和与所述二值化装置相连的激活单元,所述激活单元与所述数据接收单元相连,用于针对神经网络中待激活的向量运算结果执行激活运算,并将激活运算结果传输至所述数据接收单元。
根据本发明的另一个方面,还提供利用上述二值化装置对二值神经网络进行二值化的方法,包括以下步骤:
接收神经网络的待二值化的非二值输入数据和预设的二值化参数;
将所述非二值输入数据与所述预设二值化参数相比较并获得比较结果;
根据所述比较结果,将所述非二值输入数据转化为二值数据并输出。
优选的,将所述非二值输入数据与所述预设二值化参数相比较并获得比较结果进一步包括:
将所述非二值输入数据的每一位数值分别与预设的二值化参数值进行比较。
相对于现有技术,本发明取得了如下有益技术效果:本发明提供的面向二值神经网络的二值化装置及方法,利用预设的二值化参数与非二值神经网络数据相比较,从而获得具有特征的二值化数据,操作方式灵活,运算方式简单,且适用广泛,不仅能够根据实际应用随机调整预设的二值化参数,还能够普遍适用于一般的浮点型神经网络的二值化。
附图说明
图1是本发明提供的面向二值神经网络的二值化装置结构示意图。
图2是本发明优选实施例提供的二值化计算过程示意图。
图3是本发明优选实施例提供的激活/二值化联合运算示意图。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图,对根据本发明的实施例中提供的面向二值神经网络的二值化装置及方法进一步详细说明。
二值神经网络通常具有二值化后的神经元数据和/或权值数据,但是这些数据即使在二值化后仍然具有很强的表达能力,不仅能够在检索中表达出良好的效果,相比于非二值神经网络,还将数学运算转换为简单的位操作,节省了大量的运算空间和时间,拓展了应用范围,因此,设计出面向二值神经网络的专用二值化装置具有重要的意义。
特别是在对二值神经网络的数据处理过程中,针对数据的二值化过程属于其中的高频率操作,因此,为了提高二值神经网络的数据处理效率,发明人特别提出了一种专门适用于二值神经网络的二值化装置及方法,下面将结合附图进行详细说明。
图1是本发明提供的面向二值神经网络的二值化装置示意图,如图1所示,该二值化装置10包括用于接收并传递输入数据的数据接收单元101;与该数据接收单元101相连,用于从数据接收单元101接收输入数据,并执行二值化运算的计算单元104;与该计算单元104相连,用于输出从计算单元104获得的二值化结果的数据输出单元107。
数据接收单元101包括用于接收并传递神经网络中待执行二值化运算的数据的第一数据接口102和用于接收并传递二值化参数值的第二数据接口103。其中,该第一传输接口102接收的待执行二值化运算的数据可包括神经网络中的神经元数据、权值数据以及向量运算时获得的中间结果。
二值化计算单元104包括用于执行比较操作的比较模块105和执行赋值操作的赋值模块106。其中,比较模块105可以用于将数据接收单元101的第一数据接口102接收的非二值数据,与第二数据接口103接收的二值化参数进行比较,赋值模块106可以根据比较模块105获得的比较结果进行赋值,从而将从数据接收单元101接收的非二值数据转化为对应的二值数据并传输至数据输出单元107进行输出。
在本发明的一个实施例中,上述二值化装置10中可以包含一个或多个可并行执行的二值化计算单元104。
图2是本发明优选实施例提供的二值化计算过程示意图,如图2所示,假设数据接收单元101的第二传输接口103接收到的二值化参数为1bit的阈值“0”,其第一传输接口101接收的待二值化数据为8bit的非二值权值数据{0,0.50,-0.50,0.96,0.13,-0.08,0.25,-0.18},利用上述二值化计算单元104执行计算时,首先利用比较模块105将8bit的非二值数据的每一位分别与1bit的二值化参数0进行比较,即判断非二值数据的每一位数值的正负,若数值为正或0,则赋值模块106会在二值化的输出数据的相应位置输出大小为1bit的1;若数值为负,则赋值模块106会在二值化的输出数据的相应位置输出大小为1bit的0,从而可获得对应的二值化数据{1,1,0,1,1,0,1,0},再利用数据输出单元107将该二值化权值数据输出至上述计算装置10的外部。
在本发明的一个实施例中,上述二值化参数值是预设的用于在执行二值化运算时提供参考的数值,该参数值可以自动或者手工设置,也可以综合考虑神经网络的计算精度和计算速度等方面进行预设。除了根据上述非二值输入数据的正负来进行二值化之外,例如,还可以根据待二值化数据的值域和分布规律进行概率统计,再根据统计结果设定二值化参数,从而减少在针对数据的二值化过程中的特征损失,使二值神经网络的精度损失达到最小。
在本发明的一个实施例中,上述二值化装置10还可以与神经网络运算中的激活运算装置构成联合装置,图3a和图3b是本发明优选实施例提供的激活/二值化联合运算示意图,如图3a所示,该联合装置包括激活单元和连接于激活单元的上述二值化装置10,其中,激活单元连接于二值化装置10的数据接收单元101,数据接收单元101利用第一数据接口102接收来自于激活单元的非二值数据。在利用上述联合装置执行神经网络的激活和二值化运算时,首先将神经网络中待执行激活操作的数据(即向量运算结果)传输至激活单元利用激活函数f(x)执行激活操作;待激活完成后,激活运算单元将获得的非二值数据传输至二值化装置10执行针对上述非二值数据的二值化操作,从而实现针对神经网络的激活与二值的联合操作。
在本发明的一个实施例中,可直接利用二值化装置10和与所述二值化装置10连接的参数调节单元(图3b中未示出)实现上述联合装置的运算功能。如图3b所示,利用参数调节单元调整参数接收单元101利用第二数据接口103接收的预设二值化参数,从而代替上述联合装置中的激活单元所执行的激活操作,即将神经网络中待激活的非二值向量运算结果直接输入至二值化装置10,在执行二值化时,通过实时调整二值化参数值,来获得与上述先执行激活操作后二值化操作等效的二值化结果,从而实现激活与二值化的联合操作。例如,假设在执行针对神经网络的卷积运算时,作为二值化装置10输入值的非二值向量运算结果为{150、324、-258、642、-541、-10、24、13},预设的二值化参数值为100,将输入的非二值向量运算结果的每一个数值分别与预设的二值化参数进行比较,当输入数值小于100时输出为0,当输入数值大于或等于100时,输出为1。则上述卷积运算结果的输入序列经过该联合装置后的输出结果为{1、1、0、1、0、0、0、0}。
在本发明的一个实施例中,上述二值化参数可以是预先设定的参数值,也可以是根据概率统计获得的经验值。
尽管在上述实施例中,采用了固定的二值化参数为例来对本发明提供的面向二值神经网络的二值化装置进行了举例说明,但本领域普通技术人员应理解,除了以神经网络的非二值数据本身的正负来进行二值化之外,还可以根据其它方式来预设二值化参数进行比较,例如,可以根据待二值化数据本身的取值范围,或者概率分布,或经验值等。
相对于现有技术,在本发明实施例中所提供的面向二值神经网络的二值化装置及方法,通过与预设的二值化参数值进行比较的方式对神经网络的非二值输入数据进行二值化,操作方式灵活,运算资源较低,并且提高了计算效率。
虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

Claims (10)

1.一种面向二值神经网络的二值化装置,包括:
数据接收单元,用于接收神经网络待二值化的非二值输入数据和预设的二值化参数,其中,所述非二值输入数据是神经元数据和/或权值数据和/或卷积运算结果;
二值化计算单元,用于针对所述输入数据执行二值化计算;
数据输出单元,用于输出所述二值化计算单元获得的二值化结果。
2.根据权利要求1所述的二值化装置,其特征在于,所述二值化计算单元包括比较模块和赋值模块,所述比较模块用于将非二值输入数据与二值化参数相比较并获得比较结果;所述赋值模块根据所述比较结果将所述非二值输入数据的数据值对应转化为二值数据值。
3.根据权利要求2所述的二值化装置,其特征在于,所述二值化参数为预设的阈值,所述比较模块将所述非二值输入数据的每一个数值分别与所述阈值相比较,若所述非二值输入数据的数值大于或等于所述阈值,则所述赋值模块将所述数值对应转化为1,反之则为0。
4.根据权利要求3所述的二值化装置,其特征在于,所述赋值模块根据所述非二值输入数据每一个数值的正负对所述非二值输入数据进行转化;其中,若所述非二值输入数据的数值为正或为0,则对应转化为1;若所述非二值输入数据的数值为负,则对应转化为0。
5.根据权利要求3所述的二值化装置,其特征在于,所述二值化参数根据所述非二值输入数据的值域范围进行预设。
6.根据权利要求3所述的二值化装置,其特征在于,所述二值化参数根据所述非二值输入数据的分布规律进行预设。
7.一种面向二值神经网络的联合装置,包括如权利要求1至6任一项所述的二值化装置和与所述二值化装置相连的参数调节单元,所述参数调节单元与所述数据接收单元相连,用于调节所述数据接收单元接收的所述预设的二值化参数。
8.一种面向二值神经网络的联合装置,包括如权利要求1至6任一项所述的二值化装置和与所述二值化装置相连的激活单元,所述激活单元与所述数据接收单元相连,用于针对神经网络中待激活的向量运算结果执行激活运算,并将激活运算结果传输至所述数据接收单元。
9.一种利用如权利要求1-6任一项所述的二值化装置针对二值化神经网络进行二值化的方法,包括以下步骤:
接收神经网络的待二值化的非二值输入数据和预设的二值化参数;
将所述非二值输入数据与所述预设二值化参数相比较并获得比较结果;
根据所述比较结果,将所述非二值和输入数据对应转化为二值数据并输出。
10.根据权利要求9所述的二值化方法,其特征在于,将所述非二值输入数据与所述预设二值化参数相比较并获得比较结果进一步包括:
将所述非二值输入数据的每一位数值分别与预设的二值化参数值进行比较。
CN201811041101.8A 2018-09-07 2018-09-07 面向二值神经网络的二值化装置、方法及应用 Active CN109308517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811041101.8A CN109308517B (zh) 2018-09-07 2018-09-07 面向二值神经网络的二值化装置、方法及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811041101.8A CN109308517B (zh) 2018-09-07 2018-09-07 面向二值神经网络的二值化装置、方法及应用

Publications (2)

Publication Number Publication Date
CN109308517A true CN109308517A (zh) 2019-02-05
CN109308517B CN109308517B (zh) 2021-08-24

Family

ID=65224841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811041101.8A Active CN109308517B (zh) 2018-09-07 2018-09-07 面向二值神经网络的二值化装置、方法及应用

Country Status (1)

Country Link
CN (1) CN109308517B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944545A (zh) * 2017-11-10 2018-04-20 中国科学院计算技术研究所 应用于神经网络的计算方法及计算装置
WO2022088441A1 (zh) * 2020-10-26 2022-05-05 生物岛实验室 健康监测设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3675246B2 (ja) * 1999-08-13 2005-07-27 Kddi株式会社 正誤答判定機能を有するニューラルネットワーク手段
CN105654176A (zh) * 2014-11-14 2016-06-08 富士通株式会社 神经网络系统及神经网络系统的训练装置和方法
CN106326939A (zh) * 2016-08-31 2017-01-11 深圳市诺比邻科技有限公司 卷积神经网络的参数优化方法及系统
CN106611216A (zh) * 2016-12-29 2017-05-03 北京旷视科技有限公司 基于神经网络的计算方法及装置
US20180039886A1 (en) * 2016-08-05 2018-02-08 Xilinx, Inc. Binary neural networks on progammable integrated circuits
CN108010515A (zh) * 2017-11-21 2018-05-08 清华大学 一种语音端点检测和唤醒方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3675246B2 (ja) * 1999-08-13 2005-07-27 Kddi株式会社 正誤答判定機能を有するニューラルネットワーク手段
CN105654176A (zh) * 2014-11-14 2016-06-08 富士通株式会社 神经网络系统及神经网络系统的训练装置和方法
US20180039886A1 (en) * 2016-08-05 2018-02-08 Xilinx, Inc. Binary neural networks on progammable integrated circuits
CN106326939A (zh) * 2016-08-31 2017-01-11 深圳市诺比邻科技有限公司 卷积神经网络的参数优化方法及系统
CN106611216A (zh) * 2016-12-29 2017-05-03 北京旷视科技有限公司 基于神经网络的计算方法及装置
CN108010515A (zh) * 2017-11-21 2018-05-08 清华大学 一种语音端点检测和唤醒方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944545A (zh) * 2017-11-10 2018-04-20 中国科学院计算技术研究所 应用于神经网络的计算方法及计算装置
CN107944545B (zh) * 2017-11-10 2020-07-31 中国科学院计算技术研究所 应用于神经网络的计算方法及计算装置
WO2022088441A1 (zh) * 2020-10-26 2022-05-05 生物岛实验室 健康监测设备

Also Published As

Publication number Publication date
CN109308517B (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
He et al. Multi-task zipping via layer-wise neuron sharing
WO2022042182A1 (zh) 下行信道估计方法、装置、通信设备和存储介质
Shao et al. Branchy-GNN: A device-edge co-inference framework for efficient point cloud processing
CN109743356B (zh) 工业互联网数据采集方法及装置、可读存储介质和终端
JP2023510566A (ja) ニューラル・ネットワークのための適応的探索方法および装置
CN111091278A (zh) 机械设备异常检测的边缘检测模型构建方法及装置
CN109308517A (zh) 面向二值神经网络的二值化装置、方法及应用
US20160342887A1 (en) Scalable neural network system
CN111931917A (zh) 前向计算的实现方法及装置、存储介质、电子装置
CN110929862B (zh) 定点化的神经网络模型量化装置和方法
CN114282678A (zh) 一种机器学习模型的训练的方法以及相关设备
CN113673260A (zh) 模型处理方法、装置、存储介质和处理器
CN112884146A (zh) 一种训练基于数据量化与硬件加速的模型的方法及系统
Wang et al. Selective and compressive sensing for energy-efficient implantable neural decoding
KR102469871B1 (ko) 반복 사이클을 보유한 기계장비에 대한 이상 탐지 장치
CN109299487A (zh) 神经网络模型、加速器、建模方法及装置、介质及系统
Ling et al. TaiJiNet: Towards partial binarized convolutional neural network for embedded systems
CN109542513B (zh) 一种卷积神经网络指令数据存储系统及方法
CN108197702B (zh) 一种基于评价网络与循环神经网络的产品设计的方法
Erdeljan et al. IP core for efficient zero-run length compression of CNN feature maps
CN109190755A (zh) 面向神经网络的矩阵转换装置及方法
Killedar et al. Sparsity driven latent space sampling for generative prior based compressive sensing
Chung et al. A binary weight convolutional neural network hardware accelerator for analysis faults of the CNC machinery on FPGA
CN111916049B (zh) 一种语音合成方法及装置
CN114595816A (zh) 一种基于边缘计算的神经网络模型训练方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant