充分利用算力的精度 我们都知道现在的深度神经网络有大量的信息是冗余的,利用这个冗余进行提高效率的计数有,稀疏计算、低精度量化等等技术。 乘法本来就是一种数学上的定义,可以理解成一种最简单的信息处理方法、公式 硬件实现FP32单元实际上是按照数学定义的浮点计算去等价, 神经网络不像科学计算,其在算法设计上就不需要这么高的精度表达 神经网络算法本身就没有办法用到这么高的精度 可以从两个方面来看一下这个问题 硬件为什么FP32就是浪费? 为什么科学计算就是需要FP32甚至是FP64,而神经网络是没有办法?还是没有必要? 再进行一下推导为什么是数学乘法 计算首先需要把信号进行量化,使用“数“来表示信号的量 深度神经网络使用乘法,是因为主要使用 线性变换 和 梯度下降 这两个关键的数学支撑的计算方法 线性变换本质上是在变换信息,梯度下降是在求解、回归 计算精度对于神经网络模型的作用? 思维更敏感了 映射空间的精细度更高了,表达的信息更丰富了 如果提高计算精度是一个方向,那么为什么不采用? 效率问题 精度的利用率是有上限的,边际效应,越高的精度越难以触碰/利用 利用多个低精度的计算进行等价是不是更高效? 更难以训练和收敛 那么问题来了,有没有一种更适合硬件电路,数字电路特点的数学模型? 使用 状态 ,替代 量 使用 映射表 替代 计算 使用 模仿、逻辑推理 来替代 梯度下降