Skip to main content

充分利用算力的精度


我们都知道现在的深度神经网络有大量的信息是冗余的,利用这个冗余进行提高效率的计数有,稀疏计算、低精度量化等等技术。

  1. 乘法本来就是一种数学上的定义,可以理解成一种最简单的信息处理方法、公式
  2. 硬件实现FP32单元实际上是按照数学定义的浮点计算去等价,
  3. 神经网络不像科学计算,其在算法设计上就不需要这么高的精度表达
  4. 神经网络算法本身就没有办法用到这么高的精度

可以从两个方面来看一下这个问题

  1. 硬件为什么FP32就是浪费?
  2. 为什么科学计算就是需要FP32甚至是FP64,而神经网络是没有办法?还是没有必要?

再进行一下推倒,

  1. 深度神经网络使用乘法,是因为主要使用线性变换梯度下降这两个关键的数学支撑的计算方法
  2. 线性变换本质上是在变换信息,梯度下降是在求解、回归

那么问题来了,有没有一种更适合硬件电路,数字电路特点的数学模型?