神经网络(无论是否卷积)的基本操作是实现两个向量之间的内积:大量乘积之和,每个乘积将数据值与系数相乘。在典型的网络中,数据和系数都是实值,最终的总和通过非线性函数运行。在二值化网络中,情况相同,但有一个例外,即所有系数和数据值只能取值 +1.0 和 -1.0。这意味着乘积要么是 +1.0(+1.0 x +1.0,或 -1.0 x -1.0),要么是 -1.0(+1.0 x -1.0,或 -1.0 x +1.0)。乘积之和现在变成介于 +N 和 -N 之间的值,其中 N 是总和中的项数。将非线性函数应用于此总和(例如 ReLU),然后将该值映射到下一层 -1.0 或 +1.0。