当前位置:   article > 正文

【源码+文档】基于HLS的高效深度卷积神经网络FPGA实现方法_hls fpga实现神经网络

hls fpga实现神经网络

1.3 激活函数的选择

在进行激活函数选择前,首先引入梯度消失和梯度爆炸的概念,以便更好的解释具体的选择原因。假定有一个由三个卷积层级联而成的网络结构,每一层的输出为 gk(wk×xk+bk),而每一层的期望值为 yk(其中 k 表示第 k 层网络,g 为该层的激活函数,w 为该层的权重,b 为该层的偏置)。则每一层的误差 loss=|ykgk(wk×xk+bk)|,而当在训练过程中进行反向传播时,通常采用的是梯度下降法来更正参数,则需将 w 修改为 wk+r×△wk,其中 r 是学习率。此时△w3便等于 dloss∕dw3=(dloss∕dg3)×(dg3 ∕dg2) ×(dg2 ∕dg1)×(dg1 ∕dw1),可见其中(dg3 ∕dg2 )和(dg2 ∕sdg1 )都是激活函数 g 的导数值。因此当 g 的导数值小于 1 时,在更深的网络层,△w 将变得非常小,便造成了梯度消失,使得权重每次迭代更新甚微甚至得不到更新,导致整体网络学习缓慢或受到停滞,令最终的检测效果大大折扣不说,还浪费了很长的时间。相反,当 g 的导数值大于 1 时,则会带来梯度爆炸现象,使得权重参数异常巨大或接近零值,以至超出所使用数据类型的表示范围而出现大量的 NAN 值,给网络带来很大的不稳定性。

因此无论现在已被广泛使用的 Sigmod 函数或 Tanh 函数,都会出现梯度消失的情况(其中 Tanh 的函数及其导数图像如图 1.3 所示),因为当其输入较大或较小时,其导数均接近于零。而当将其进行硬件实现时,因 Sigmod 函数或 Tanh 函数过高的复杂度只能采用多项式拟合或查表法来近似,以便求得较小的计算延迟,但这带来了极大的资源浪费和精度损失,并且这种较小的计算延迟相比简单的加减操作来说还是太大了。而 ReLu 函数,其函数及其导数图像如图 1.4 所示,因其导数始终为一,有效避免了梯度消失和梯度爆炸的现象,并且极其易于硬件实现,仅仅相当于一个与零相比的比较器,可直接通过判断符号位来实现。因此选用 ReLu 函数作为本文设计的激活函数。

图 1.3 Tanh 的函数及其导数图像

图 1.4 ReLu 的函数及其导数图像

1.4 以步进代替池化

传统的深度卷积神经网络在其内部都是激活函数后接池化,来达到大大减少下一层参数和计算量的目的。而观察发现大多数激活函数,如 Sigmod 函数、Tanh 函数或 ReLu 函数等为单调递增函数,则卷积所得的结果经过上述激活函数后,并不会改变彼此之间的大小关系,因此当采用最大池化时,可以将激活与池化的操作顺序颠倒,利用池化降维的功效大大减少激活函数的非线性运算量,并带来速度的提升(当然,此种技巧并不适用于平均池化)。

然而此种方法所带来的运算量的减少还不够。由于池化并没有引入参数,相当于一个单纯的尺寸减小器,而在卷积操作过程中设置大于 1 的步进可以带来相同的降维效果。比如卷积步进为 2 和池化区域尺寸为 2×2 相比,输出特征图的尺寸相同,更可喜的是感受野也等效。另外,卷积步进=2 相比池化来说,可以减少 3∕4 的激活运算量的同时还可以减少 3∕4 的卷积运算量。因为在卷积核以步进为 2 进行滑动的过程中,当其在输入图像上的映射区域的中心坐标不是 2 的倍数时,可以设置条件不进行卷积运算而只进行数据的平移。

1.5 以平均池化代替全连接

全连接层可以对特征进行高度的提纯,并充当分类器的作用,但是与普通的卷积层相比,参数量过于庞大。假定需要分类的类别只有 4 种,但对于全连接层的输入图像的每一个像素都存在与之对应的 4 个权重,会带来极大的参数量,增加了硬件内部的存储以及因数据读取所造成的功耗,尤其是第一个与最后的卷积层相连的全连接层。

假设网络当中只有一个全连接层充当分类器,如果使用全局平均池化代替该全连接层,可以省去这一全连接层的全部参数。同时,假定最后一个卷积层的输出特征图的尺寸为 16×16×4,即输出通道为 4 恰为分类个数,全副图像池化相比全连接节省了 16×16×4=1024 倍的乘法运算。但如果最后一个卷积层的输出特征图的尺寸为 16 ×16×512 的话,使用该方法得到的是 512 个值,相比四分类来说个数太多,可以再接一个小的全连接层,但这样也比卷积后直接全连接去分类带来的运算量和参数量要少的多。另外,最大池化更适合提取极端特征,在池化区域尺寸较大时,会造成较多的信息丢失,而平均池化相当一个期望特征检测器,可以利用上所有的信息。经过实践验证,全副图像平均池化相比全连接,其最终的分类效果并没有带来任何减少。

 源码和文档都托管在了【WRITE-BUG数字空间】上面了,有需要的可自取~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/480972
推荐阅读
相关标签
  

闽ICP备14008679号