具有不同激活函数的神经网络层的矢量运算

时间:2017-11-15 13:58:32

标签: neural-network vectorization

不缩

在神经网络的前向传递中,任何一层的神经元u都在做两个连续的操作

  1. 将所有权重乘以输入,然后将结果[MAC阶段]累加到缩放器值net_u
  2. 应用F_act(net_u),其中F_act是神经元激活功能。结果是将由后继神经元消耗的缩放器out_v
  3. 神经元的框图可以表示为以下图像source

    enter image description here

    问题

    现在假设需要的应用程序每层具有不同激活功能的神经网络。这样,在每个前向通道中,每一层都将具有此层中所有神经元的vector输出net,以及在此向量中对每个元素应用f_act的时间。 / p>

    • 如果所有图层共享相同的激活功能,则应用激活功能应映射到单个向量操作 SIMD
    • 但是如果每个神经元[或一组神经元]确实有自己的激活功能呢?这种情况比单一激活功能案例要慢得多吗?

    我相信它会慢一些,因为无论何时应用f_act,我们都需要调用多个向量操作[每个f_act一个]。

    我说得对吗?或者为每个f_act调用向量运算的开销非常小,可以忽略不计?

0 个答案:

没有答案
相关问题