机器视觉(AOI)之网络压缩(network compression)

发布时间:2021-05-18

机器视觉(AOI)之网络压缩(network compression)
广东吉洋视觉:SMT AOI,LED AOI,焊线AOI,焊线检测AOI。尽管深度神经网络取得了优异的功能,但巨大的核算和存储开销成为其布置在实践应用中的应战。有研讨表明,神经网络中的参数存在很多的冗余。因此,有许多工作致力于在保证准确率的同时下降网路复杂度。
低秩近似  用低秩矩阵近似原有权重矩阵。例如,能够用SVD得到原矩阵的最优低秩近似,或用Toeplitz矩阵合作Krylov分化近似原矩阵。
剪枝(pruning)  在练习结束后,能够将一些不重要的神经元衔接(可用权重数值大小衡量合作丢失函数中的稀少约束)或整个滤波器去除,之后进行若干轮微调。实践运行中,神经元衔接等级的剪枝会使成果变得稀少,不利于缓存优化和内存拜访,有的需要专门规划配套的运行库。相比之下,滤波器等级的剪枝可直接运行在现有的运行库下,而滤波器等级的剪枝的关键是怎么衡量滤波器的重要程度。例如,可用卷积成果的稀少程度、该滤波器对丢失函数的影响、或卷积成果对下一层成果的影响来衡量。
量化(quantization)  对权重数值进行聚类,用聚类中心数值代替原权重数值,合作Huffman编码,详细可包含标量量化或乘积量化。但假如只考虑权重本身,简略造成量化差错很低,但分类差错很高的状况。因此,Quantized CNN优化目标是重构差错最小化。此外,能够使用哈希进行编码,即被映射到同一个哈希桶中的权重同享同一个参数值。
下降数据数值范围  默认状况下数据是单精度浮点数,占32位。有研讨发现,改用半精度浮点数(16位)简直不会影响功能。谷歌TPU使用8位整型来表明数据。极点状况是数值范围为二值或三值(0/1或-1/0/1),这样仅用位运算即可快速完成一切核算,但怎么对二值或三值网络进行练习是一个关键。通常做法是网络前馈进程为二值或三值,梯度更新进程为实数值。
此外,有研讨以为,二值运算的表明才能有限,因此其使用一个额外的浮点数缩放二值卷积后的成果,以提高网络表明才能。
精简结构规划  有研讨工作直接规划精简的网络结构。例如,
瓶颈(bottleneck)结构及1×1卷积。这种规划理念已经被广泛用于Inception和ResNet系列网络规划中。
分组卷积。
扩张卷积。使用扩张卷积能够保持参数量不变的状况下扩大感受野。
知识蒸馏(knowledge distillation)  练习小网络以迫临大网络,但应该怎么去迫临大网络仍没有定论。

软硬件协同规划  常用的硬件包含两大类:(1). 通用硬件,包含CPU(低延迟,拿手串行、复杂运算)和GPU(高吞吐率,拿手并行、简略运算)。(2). 专用硬件,包含ASIC(固定逻辑器件,例如谷歌TPU)和FPGA(可编程逻辑器件,灵活,但效率不如ASIC)。

郑重声明:
1、部分内容来源于网络,本文版权归原作者所有,转载文章仅为传播更多信息之目的。
2、本文仅供学术交流,非商用。如果某部分不小心侵犯了大家的利益,请联系删除。


上一篇:机器视觉(AOI)之深度学习中的图画切割:方法和运用 下一篇:机器视觉(AOI)之工业相机定标简介
  广东吉洋视觉技术有限公司 所有版权
  技术支持【东莞网站建设