神经网络系统及神经网络系统的训练装置和方法_4

文档序号:9888777阅读:来源:国知局
下一层的节点;以及
[0133] 转换部分,被配置为将所述普通神经网络输出的浮点值转换为二值数据以输入到 所述二值神经网络进行处理。
[0134] 附记3、根据附记1所述的神经网络系统,其中,所述二值运算包括异或运算或者 同或运算。
[0135] 附记4、根据附记2所述的神经网络系统,其中,所述转换部分通过以下方式对所 述普通神经网络输出的浮点值进行转换:当所输出的浮点值大于或等于预定阈值时,将该 浮点值转换为第一值,当所输出的浮点值小于预定阈值时,则将该浮点值转换为第二值。
[0136] 附记5、根据附记1所述的神经网络系统,其中,在所述二值神经网络中,所述节点 的值和其对应权重进行的基本运算为:统计各个节点值与其对应的权重进行二值运算的结 果中第一值和第二值的个数,当所述第一值的个数大于所述第二值的个数时,则运算结果 是所述第一值,反之运算结果是所述第二值。
[0137] 附记6、根据附记1所述的神经网络系统,其中,所述神经网络系统是利用不同的 网络结构来构建的,包括全连接的神经网络、卷积神经网络。
[0138] 附记7、一种对根据附记1-6所述的神经网络系统进行训练的训练装置,包括:
[0139] 神经网络系统训练单元,被配置为通过梯度下降算法使用浮点数据来训练神经网 络系统,其中,在所述二值神经网络的训练过程中,将下一层节点值随当前层节点值变化的 离散函数近似为连续函数,用所述连续函数分别对当前层节点值以及对应的权重求偏导 数;
[0140] 二值转换单元,被配置为在训练结束后将得到的浮点值的各个权重转换为二值数 据。
[0141] 附记8、根据附记7所述的装置,其中,所述二值转换单元通过以下方式将浮点值 的各个权重转换为二值数据:当权重大于或等于预定阈值时,将该权重转换为第一值,当权 重小于预定阈值时,则将该权重转换为第二值。
[0142] 附记9、根据附记7所述的装置,其中,
[0143] 在所述训练过程中对浮点值进行的基本运算与用二值数据进行的基本运算的结 果保持一致。
[0144] 附记10、根据附记7所述的装置,其中,所述训练中的输出层误差为:当输出层节 点值和其对应的真值符号相同时,误差为零,当输出层节点值和其对应的真值符号不同时, 则用通用的误差计算方法来计算误差。
[0145] 附记11、根据附记10所述的装置,其中,当输出层节点值和其对应的真值符号不 同时,误差为
[0146] 附记12、根据附记7所述的装置,其中,所述神经网络系统的转换部分的训练方法 恰好与采用浮点运算的现有神经网络模型的训练方法相同。
[0147] 附记13、根据附记7所述的装置,其中,所述神经网络系统是利用不同的网络结构 来构建的,包括全连接的神经网络、卷积神经网络。
[0148] 附记14、一种对根据附记1-6所述的神经网络系统进行训练的训练方法,包括:
[0149] 通过梯度下降算法使用浮点数据来训练神经网络系统,其中,在所述二值神经网 络的训练过程中,将下一层节点值随当前层节点值变化的离散函数近似为连续函数,用所 述连续函数分别对当前层节点值以及对应的权重求偏导数;
[0150] 在训练结束后将得到的浮点值的各个权重转换为二值数据。
[0151] 附记15、根据附记14所述的方法,其中,通过以下方式将浮点值的各个权重转换 为二值数据:当权重大于或等于预定阈值时,将该权重转换为第一值,当权重小于预定阈值 时,则将该权重转换为第二值。
[0152] 附记16、根据附记14所述的方法,其中,
[0153] 在所述训练过程中对浮点值进行的基本运算与用二值数据进行的基本运算的结 果保持一致。
[0154] 附记17、根据附记14所述的方法,其中,所述训练中的输出层误差为:当输出层节 点值和其对应的真值符号相同时,误差为零,当输出层节点值和其对应的真值符号不同时, 则用通用的误差计算方法来计算误差。
[0155] 附记18、根据附记17所述的方法,其中,当输出层节点值和其对应的真值符号不 同时,误差为
[0156] 附记19、根据附记14所述的方法,其中,所述神经网络系统的转换部分元的训练 方法恰好与采用浮点运算的现有神经网络模型的训练方法相同。
[0157] 附记20、根据附记14所述的方法,其中,所述神经网络系统是利用不同的网络结 构来构建的,包括全连接的神经网络、卷积神经网络。
【主权项】
1. 一种神经网络系统,包括: 二值神经网络,所述二值神经网络被配置为当输入数据是二值数据时,将其直接输入 所述二值神经网络,其中对于所述二值神经网络的每一层,通过对该层的节点的值和其对 应的权重进行二值运算来得到下一层的节点,其中所述二值神经网络每层节点的值和其对 应的权重都是二值数据。2. 根据权利要求1所述的神经网络系统,还包括: 普通神经网络,被配置为当所述输入数据是非二值数据时,首先将其输入所述普通神 经网络,其中对于所述普通神经网络的每一层,通过对该层的节点的值和其对应的权重进 行浮点运算来得到下一层的节点;以及 转换部分,被配置为将所述普通神经网络输出的浮点值转换为二值数据以输入到所述 二值神经网络进行处理。3. 根据权利要求1所述的神经网络系统,其中,所述二值运算包括异或运算或者同或 运算。4. 根据权利要求2所述的神经网络系统,其中,所述转换部分通过以下方式对所述普 通神经网络输出的浮点值进行转换:当所输出的浮点值大于或等于预定阈值时,将该浮点 值转换为第一值,当所输出的浮点值小于预定阈值时,则将该浮点值转换为第二值。5. 根据权利要求1所述的神经网络系统,其中,在所述二值神经网络中,所述节点的值 和其对应权重进行的基本运算为:统计各个节点值与其对应的权重进行二值运算的结果中 第一值和第二值的个数,当所述第一值的个数大于所述第二值的个数时,运算结果是所述 第一值,反之运算结果是所述第二值。6. -种对根据权利要求1-5所述的神经网络系统进行训练的训练装置,包括: 神经网络系统训练单元,被配置为通过梯度下降算法使用浮点数据来训练神经网络系 统,其中,在所述二值神经网络的训练过程中,将下一层节点值随当前层节点值变化的离散 函数近似为连续函数,用所述连续函数分别对当前层节点值以及对应的权重求偏导数; 二值转换单元,被配置为在训练结束后将得到的浮点值的各个权重转换为二值数据。7. 根据权利要求6所述的装置,其中,所述二值转换单元通过以下方式将浮点值的各 个权重转换为二值数据:当权重大于或等于预定阈值时,则将该权重转换为第一值,当权重 小于预定阈值时,则将该权重转换为第二值。8. 根据权利要求6所述的装置,其中, 在所述训练过程中对浮点值进行的基本运算与用二值数据进行的基本运算的结果保 持一致。9. 根据权利要求6所述的装置,其中,所述训练中的输出层误差为:当输出层节点值和 其对应的真值符号相同时,误差为零,当输出层节点值和其对应的真值符号不同时,则用通 用的误差计算方法来计算误差。10. -种对根据权利要求1-5所述的神经网络系统进行训练的训练方法,包括: 通过梯度下降算法使用浮点数据来训练神经网络系统,其中,在所述二值神经网络的 训练过程中,将下一层节点值随当前层节点值变化的离散函数近似为连续函数,用所述连 续函数分别对当前层节点值以及对应的权重求偏导数; 在训练结束后将得到的浮点值的各个权重转换为二值数据。
【专利摘要】本发明涉及一种神经网络系统及神经网络系统的训练装置和方法。该神经网络系统包括:二值神经网络,二值神经网络被配置为当输入数据是二值数据时,将其直接输入二值神经网络,其中对于二值神经网络的每一层,通过对该层的节点的值和其对应的权重进行二值运算来得到下一层的节点,其中二值神经网络每层节点的值和其对应的权重都是二值数据。根据本发明的神经网络系统及其训练装置和方法,处理速度更快,占用存储空间更小。
【IPC分类】G06N3/08
【公开号】CN105654176
【申请号】
【发明人】王淞, 范伟, 孙俊
【申请人】富士通株式会社
【公开日】2016年6月8日
【申请日】2014年11月14日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1