中国建设银行网站查工资,宾馆在什么网站做推广效果好,做网站费用 优帮云,网页版崩坏星穹铁道文章目录 0. 前言1. 网络结构2. VanillaNet非线性表达能力增强策略2.1 深度训练2.2 扩展激活函数 3. 总结4. 参考 0. 前言
随着人工智能芯片的发展#xff0c;神经网络推理速度的瓶颈不再是FLOPs或参数量#xff0c;因为现代GPU可以很容易地进行计算能力较强的并行计算。相比… 文章目录 0. 前言1. 网络结构2. VanillaNet非线性表达能力增强策略2.1 深度训练2.2 扩展激活函数 3. 总结4. 参考 0. 前言
随着人工智能芯片的发展神经网络推理速度的瓶颈不再是FLOPs或参数量因为现代GPU可以很容易地进行计算能力较强的并行计算。相比之下神经网络复杂的设计和较大的深度阻碍了它们的速度。在此背景下华为诺亚提出了极简网络架构VanillaNet在ImageNet数据集上深度为6的网络即可取得76.36%的精度深度达到13时便能取得83.1%的精度
1. 网络结构 深度为6的VanillaNet结构如上图所示一共包括三个部分
stem部分一个4×4卷积 激活层body部分由3个卷积模块组成每个卷积模块由“1×1卷积MaxPool激活层”构成head部分由“1×1卷积 激活 1×1卷积”组成
虽然VanillaNet的体系结构简单且相对较浅但其微弱的非线性限制了其性能因此作者们从训练策略和激活函数这两个角度来解决该问题。
2. VanillaNet非线性表达能力增强策略
2.1 深度训练
简单来说就是将激活函数 A ( x ) A(x) A(x)替换为 A ′ ( x ) A^{\prime}(x) A′(x)如下式 其中 λ e E \lambda \frac{e}{E} λEe e e e表示当前epoch E E E表示总epoch数。因此在训练开始时 λ 0 \lambda0 λ0此时 A ′ ( x ) A ( x ) A^{\prime}(x)A(x) A′(x)A(x)网络具有很强的非线性当训练结束时 λ 1 \lambda1 λ1此时 A ′ ( x ) x A^{\prime}(x)x A′(x)x意味着两个卷积层中间没有激活函数满足线性条件可以通过重参数化转换为单个卷积层从而减小网络深度。
2.2 扩展激活函数
改善神经网络非线性表达能力的方法有两种叠加非线性激活层或增加每个激活层的非线性而现有网络的趋势是选择前者当并行计算能力过剩时会导致较高的延迟。提高网络非线性的一个直接思想是堆激活函数的连续叠加是深度网络的关键思想。在VanillaNet中作者们独辟蹊径转向并行地堆叠激活函数如下式 其中 n n n为并行激活函数的数量 a i a_i ai和 b i b_i bi分别为尺度因子和偏执以避免简单地累加。为进一步丰富表达能力参考BNET作者为其引入了全局信息学习能力此时激活函数表示如下 这部分建议直接看代码实现起来就是relu激活后接depthwise卷积padding设置为并行激活的数量 n n n
3. 总结
如果能够将深度训练和重参数化合理地结合起来就是模型压缩利器大有文章可做挖个坑~
4. 参考
VanillaNet: the Power of Minimalism in Deep Learning