谢邀,这个邀请的好,我确实是经常带着大家一起做点“小改进”~ :)
其实,在确保实验结果没错的情况下,很多小改动背后都有很多的研究工作和大量的实验佐证。
例如从ResNet到ReNeXt增加了group convolution,从GoogleNet到mobilenet,把传统的convolution变成了depth-wise+point-wise conv,从而大幅度降低了计算量。
讲一下组内最近两年对神经网络的一些研究和思考,由于depth-wise conv在端侧的性能很好,我们在GhostNet当中也大量使用了depth-wise,单独看GhostNet中每一个layer,其实我认为也是“小”改进,因为直观来说,只是把原来的一个conv layer拆成了一个conv layer 跟随一个 depth-wise layer然后concact到一起:
但其实,我们最初的想法是观测到神经网络中大量的冗余且有用(例如,对样后续的特征聚合和分类器的训练还是有帮助的,如果去掉对精度影响较大)的特征,提出引入更多的廉价计算的:
那这些特征之间其实是可以通过很多变换来取得的,比如放射变换、特征间的残差、平移、亮度的改变等等。但是为什么最后用depth-wise了呢?说白了还是因为depth-wise跑得快,我们各个版本都有尝试过,甚至有更高精度的模型产生,但是平衡速度和精度,depth-wise就是最合适的了,并且3x3的depth-wise也是可以学习到很多类似放射变换和滤波器的一些性质的,于是就构建了现在普遍在工业界用到的GhostNet:
最近在NeurIPS 2020上,有幸有一个新工作被接受了,还是我跟凯哥一起的工作(也感谢合作者的指导和贡献):Model Rubik's Cube: Twisting Resolution, Depth and Width for TinyNets
那问题又回来了,新工作的改进“大”还是“小”呢?这个paper,我愿意叫它“EfficientNet下”(当然谷歌的同学不一定愿意哈哈)。
EfficeintNet是一个好工作,它告诉了我们怎么把一个baseline模型放大,做到B7,做到B8,做成一系列CV骨干模型。但是,遗留问题是我们想要更小的模型怎么办?这个paper就讨论了如何从一个baseline生成一些列更小的模型,我们称之为TinyNet。在补充材料中,我们结合TinyNet当中模型缩小的技术与GhostNet,刷新了端侧小模型的性能:
上面提到这两个工作基本是说我们如何对网络结构进行“小”调整,“小”改进。接下来讲讲如何在卷积核上做“小”改动。
上面这个工作每次看到都有点小感慨,2018年,博士毕业前夕,跟着徐老师一起肝了最后一篇博士期间投稿的论文,在入职之后收到了accept。主要的motivation还是以前传统cv中的multi-support regions 用来提升keypoint matching的一个小技巧,用到卷积核中,就可以一个5x5的卷积核复用3次,进而减少计算量和内存。不过想让这个技术实用起来,还是要打架自己动手改cuda的。
另一个“小”改动就是最近一年的重点,加法神经网络:
这个改动我认为是非常小了,对比上下两个公式(注:对比原文,改了一下+-):
看起来是不是很像,上面是加法,下面是乘法。用上面的公式计算卷积的就是加法神经网络。那它的结果呢?如下:
精度略有损失,但是收益呢?来看下面这个经典的表(ISSCC 2014):
乘法的能耗和电路面积是加法的数倍,但是精度还不够啊,怎么办?NeurIPS 2020的一个工作中,我们提出了一种针对从乘法网络到加法的知识蒸馏:
加法网络的特征分布进一步得到了优化:
同时,resnet-50的top5 acc达到了93.3%已经超过了乘法的baseline (92.9%),这篇有幸被评为spotlight,area chair的meta-reviews也给了很多鼓励:
“I believe that by bridging the gap between Adder NN and CNNs this work provides a considerable contribution, allowing Adder NN to be considered among practical architecture and encouraging the community to research them further.”
最后,欢迎大家对相关paper进行讨论,基本都开源了。
争取持续为神经网络或者说人工智能做有意思的小改进~
2021/1/30更新,模型算法小改动之后,硬件上我们也做了一些小改动,大家感兴趣的可以来看看加法网络的低比特量化和FPGA实现:
首先,你得确保,你不是下面这种情况:
也就是说:
不要在测试集上训练!
不要在测试集上训练!!
不要在测试集上训练!!!
然后,如果不是的话,那你的表情应该如下:
接下来,你就可以化身为童话大王安徒生:
慢慢尝试,努力的把一个平淡的故事,讲述成传奇:
接着,用优质的图片,让读者陪你一起品味,屎一般的实验数据:
最后,写出一篇模板化的炫酷文章(已黑化):
最后,以上言论都是随便写写,开玩笑的。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有