二进制连接如何消除乘法?

时间:2015-11-05 22:37:27

标签: algorithm machine-learning neural-network

我正在阅读Neural Network with Few Multiplications并且我无法理解Binary或Ternary Connect如何消除乘法的需要。

他们解释说,通过随机抽样来自[-1,0,1]的权重,我们消除了乘法的需要,并且可以仅使用符号变化来计算Wx。但是,即使权重严格为-1,0和1,如何在不乘法的情况下改变x的符号?

例如。 W = [0,1,-1]且x = [0.3,0.2,0.4]。难道我还不需要将W和x相乘得到[0,0.2,-0.4]吗?或者还有其他方法可以比乘法更有效地改变符号吗?

1 个答案:

答案 0 :(得分:1)

是。自“早期”(比如1970年)以来,我所知道的所有通用处理器都有一个机器操作来获取一个数字的大小,另一个数字的大小,并返回结果。数据传输并行发生:操作的算术部分是单个机器周期。

许多高级语言都具有此功能作为内置函数。它通常以“copy_sign”之类的名称命名。