CN109308517B - 面向二值神经网络的二值化装置、方法及应用 - Google Patents
面向二值神经网络的二值化装置、方法及应用 Download PDFInfo
- Publication number
- CN109308517B CN109308517B CN201811041101.8A CN201811041101A CN109308517B CN 109308517 B CN109308517 B CN 109308517B CN 201811041101 A CN201811041101 A CN 201811041101A CN 109308517 B CN109308517 B CN 109308517B
- Authority
- CN
- China
- Prior art keywords
- data
- binarization
- binary
- input data
- value
- 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.)
- Active
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/04—Architecture, e.g. interconnection topology
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
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 (5)
1.一种面向二值神经网络的联合装置,包括:
数据接收单元,用于接收神经网络待二值化的非二值输入数据和预设的二值化参数,其中,所述非二值输入数据是神经元数据和/或权值数据和/或卷积运算结果;
二值化计算单元,用于针对所述输入数据执行二值化计算,所述二值化计算单元包括比较模块和赋值模块,其中,所述比较模块用于将非二值输入数据的每一位数值分别与所述预设的二值化参数相比较并获得比较结果,所述赋值模块根据所述比较结果将所述非二值输入数据的数据值对应转化为二值数据值;
数据输出单元,用于输出所述二值化计算单元获得的二值化结果;
激活单元,所述激活单元与所述数据接收单元相连,用于针对神经网络中待激活的向量运算结果执行激活运算,并将激活运算结果传输至所述数据接收单元;
参数调节单元,所述参数调节单元与所述数据接收单元相连,用于动态调节所述数据接收单元接收的所述预设的二值化参数以实现等效激活运算,其中,所述二值化参数根据所述非二值输入数据的值域范围进行预设,或根据所述非二值输入数据的分布规律进行预设。
2.根据权利要求1所述的联合装置,其特征在于,所述二值化参数为预设的阈值,所述比较模块将所述非二值输入数据的每一位 数值分别与所述阈值相比较,若所述非二值输入数据的数值大于或等于所述阈值,则所述赋值模块将所述数值对应转化为1,反之则为0。
3.根据权利要求2所述的联合装置,其特征在于,所述赋值模块根据所述非二值输入数据每一位 数值的正负对所述非二值输入数据进行转化;其中,若所述非二值输入数据的数值为正或为0,则对应转化为1;若所述非二值输入数据的数值为负,则对应转化为0。
4.一种利用如权利要求1-3任一项所述的联合装置针对二值化神经网络进行二值化的方法,包括以下步骤:
接收神经网络的待二值化的非二值输入数据和预设的二值化参数,其中所述待二值化的非二值输入数据能够被执行激活运算,所述预设的二值化参数能够被动态调节以实现等效激活运算,所述预设的二值化参数根据所述非二值输入数据的值域范围进行预设,或根据所述非二值输入数据的分布规律进行预设;
将所述非二值输入数据与所述预设二值化参数相比较并获得比较结果;
根据所述比较结果,将所述非二值和输入数据对应转化为二值数据并输出。
5.根据权利要求4所述的二值化方法,其特征在于,将所述非二值输入数据与所述预设二值化参数相比较并获得比较结果进一步包括:
将所述非二值输入数据的每一位数值分别与预设的二值化参数值进行比较。
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 CN109308517A (zh) | 2019-02-05 |
CN109308517B true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107944545B (zh) * | 2017-11-10 | 2020-07-31 | 中国科学院计算技术研究所 | 应用于神经网络的计算方法及计算装置 |
CN112263261A (zh) * | 2020-10-26 | 2021-01-26 | 生物岛实验室 | 健康监测设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3675246B2 (ja) * | 1999-08-13 | 2005-07-27 | Kddi株式会社 | 正誤答判定機能を有するニューラルネットワーク手段 |
CN105654176B (zh) * | 2014-11-14 | 2018-03-27 | 富士通株式会社 | 神经网络系统及神经网络系统的训练装置和方法 |
US10089577B2 (en) * | 2016-08-05 | 2018-10-02 | 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 | 北京旷视科技有限公司 | 基于神经网络的计算方法及装置 |
CN108010515B (zh) * | 2017-11-21 | 2020-06-30 | 清华大学 | 一种语音端点检测和唤醒方法及装置 |
-
2018
- 2018-09-07 CN CN201811041101.8A patent/CN109308517B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109308517A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176929B (zh) | 一种面向边缘联邦学习的高能效计算通信联合优化方法 | |
CN113537514B (zh) | 一种高能效的基于数字孪生的联邦学习框架 | |
CN110417456B (zh) | 基于无人机的信息传输方法 | |
CN109308517B (zh) | 面向二值神经网络的二值化装置、方法及应用 | |
Shao et al. | Branchy-GNN: A device-edge co-inference framework for efficient point cloud processing | |
CN109743356B (zh) | 工业互联网数据采集方法及装置、可读存储介质和终端 | |
CN110798227B (zh) | 模型预测优化方法、装置、设备及可读存储介质 | |
CN108345934B (zh) | 一种用于神经网络处理器的激活装置及方法 | |
CN111626408A (zh) | 哈希编码方法、装置、设备及可读存储介质 | |
US20230299872A1 (en) | Neural Network-Based Communication Method and Related Apparatus | |
WO2023273449A1 (zh) | 基于生成对抗网络的测试用例生成方法及装置 | |
CN114418121A (zh) | 模型训练方法、对象处理方法及装置、电子设备、介质 | |
CN113595993A (zh) | 边缘计算下模型结构优化的车载感知设备联合学习方法 | |
WO2022246986A1 (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113191504B (zh) | 一种面向计算资源异构的联邦学习训练加速方法 | |
CN112884146B (zh) | 一种训练基于数据量化与硬件加速的模型的方法及系统 | |
CN114169506A (zh) | 一种基于工业物联网平台的深度学习边缘计算系统框架 | |
Gündüz et al. | Timely and massive communication in 6G: Pragmatics, learning, and inference | |
CN111582229A (zh) | 一种网络自适应半精度量化的图像处理方法和系统 | |
CN110647396A (zh) | 端云协同低功耗带宽受限智能应用实现方法 | |
WO2022151900A1 (zh) | 一种基于神经网络的信道估计方法及通信装置 | |
CN112738225B (zh) | 基于人工智能的边缘计算方法 | |
CN106603976B (zh) | 一种智能微波频段无线电监测控制系统 | |
CN113033795B (zh) | 基于时间步的二值脉冲图的脉冲卷积神经网络硬件加速器 | |
CN115965062A (zh) | 一种bert中层归一化非线性函数的fpga加速方法 |
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 |