[发明专利]用于二元神经网络的概率性训练在审
申请号: | 201910589028.6 | 申请日: | 2019-07-02 |
公开(公告)号: | CN110674920A | 公开(公告)日: | 2020-01-10 |
发明(设计)人: | J.彼得斯;M.韦林;T.格内魏因 | 申请(专利权)人: | 罗伯特·博世有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08 |
代理公司: | 72001 中国专利代理(香港)有限公司 | 代理人: | 毕铮;杨美灵 |
地址: | 德国斯*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 人工神经网络 神经网络 损失函数 权重 输出 神经元 终止标准 概率性 阈值化 应用 使用权 激活 评定 更新 配置 | ||
提供了用于二元神经网络的概率性训练。一种用于训练被至少部分地实现为二元神经网络(2)的人工神经网络(1)的方法(100),包括:●接收(110)针对人工神经网络(1)的输入xi的训练输入值(11),●处理(120)训练输入值(11)以获得输出值(12),●将损失函数(13)应用(130)于所获得的输出值(12);●更新(140)训练权重wlj,并且往回分支(150)到处理(120),直到损失函数(13)进行的评定(13a)满足预定的终止标准(160);以及●根据最终获得的训练权重wlj来配置(170)实际人工神经网络(1,2),其中处理(120)包括:●针对层(21‑23)中的每个神经元l,使用权重wlj的分布Wlj确定(121)预激活al的分布Al;以及●通过将预定阈值化函数g应用于分布A1来确定(122)输出值hl的分布Hl。
技术领域
本发明涉及用于被至少部分地实现为二元神经网络的神经网络的改进训练方法,在所述二元神经网络中全部内部参数只能具有两个可能值中的一个。
背景技术
深度神经网络已成为用于具有诸如图像、视频或音频数据之类的复杂的高维度输入的现代机器学习任务的标准工具。在较不昂贵且较不耗费功率的硬件上实现深度神经网络是合期望的,尤其是对于移动、嵌入式或汽车应用而言。
为此,在最近的科学文献中已经提出了二元神经网络。在这些网络中,被用作内部参数的权重以及神经元的输出激活都是二元的,即,它们只能具有两个可能值中的一个(通常为-1和+1)。这些网络的优点在于在完全连接和卷积层中的最常见的计算操作(即与层的输入和权重矩阵或权重张量之间的矩阵乘法相对应的乘法累加(MAC))可以通过使用逐位XNOR运算与逐位求和相组合来非常高效地计算。然后产生最终输出的非线性可以使用符号函数带来。
这样的二元神经网络不要求用于浮点乘法的硬件单元。而是,按位XNOR、位计数和符号函数可以在快速且节能的硬件中实现。在WO 2018/026560 A1中给出了示例性硬件实现。
用于训练这样的网络的现有技术方法在软件中复制二元神经网络的处理链,并且为每个二元权重分配全精度“阴影权重”。当反向传播损失函数的反馈时,更新该“阴影权重”。但是无论何时使用“阴影权重”——其是用于在网络中实行计算或是用于最终的二元神经网络中——它都会被舍入为二元权重。
发明内容
发明人已经开发了一种用于训练被至少部分地实现为二元神经网络的人工神经网络的方法。在这样的网络中,与至少一层相关联的权重和至少一层的输出二者只能具有两个可能值中的一个,例如,-1或+1。
该方法包括:接收针对人工神经网络或其一部分的输入的训练输入值。例如,该方法可以作为整体在神经网络上、在神经网络的个体二元层上或在若干这样的二元层的堆栈上实行。具体地,有可能使用包括全精度层和二元层两者的混合神经网络。例如,在其中难以二元化输入的应用中,输入层可以是全精度层。在其中需要对最终层进行多于单个位激活的应用中(例如,在回归任务中),最终层可以是全精度层。其他层可以是二元层。在这样的混合网络中,全精度第一层和/或最终层仅对参数的总数量和计算的总数量略有贡献。因此,这样的网络仍然可以在下述硬件上高效地实现:与用于全精度神经网络的标准硬件相比,该硬件于是不是完全无乘法的,而是可以具有非常少数量的浮点乘法累加单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于罗伯特·博世有限公司,未经罗伯特·博世有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910589028.6/2.html,转载请声明来源钻瓜专利网。