大家好啊,我是董董灿。
前几天,听到两个同事在沟通某个神经网络中一处算法的实现。
因为下面的一段对话,让我突然感觉到,搞AI算法,是真的在搬砖盖楼!
对话
A:“这个卷积后面的 tensor ,需要通过维度拆解(split)加维度转置(transpose)进行才行!”
B:“硬件对于低维拆解是不友好的,数据需要低维对齐,调用转置指令的话,性能也不见得会有多好。”
A:“那如果不用 split 和 transpose 来实现,有其他更好的办法么?”
B:“让我想想,把我的图纸拿来!”
A:“图纸,什么图纸?”
B:“网络结构图,我要开始搬砖了。”
于是,同事 B 找来图纸,手里拿着铅笔,开始写写画画,进行算法替换的推导!
...
AI算法工程师
AI算法攻城狮,大致分为两类。
第一类是搞全网优化的算法攻城狮
他们基于整个神经网络做算法实现和优化。主要的手段大致为:数据量化、网络剪枝、模型调参(炼丹)、图融合、指令调度等等。
目的是使得整个AI神经网络有更好的性能,也就是经常可以听到的,做神经网络的优化!
经常会看到某某公司推出了一个新模型,无论识别精度,还是运行性能,都吊打其他公司,这里的性能,其实就是大量的网络优化后,取得的效果。
第二类是搞单个算法优化的算法攻城狮
他们往往只局限于某一个或一类算法进行持续的优化。
最常见的就是卷积和矩阵乘法优化的攻城狮门,也是各大AI算法公司抢手的香饽饽。
但是,不论哪种算法攻城狮,都离不开对于网络结构的了解。
可以说,整个神经网络是一座大厦,卷积这种重要算法是承重墙,其余算法是砖、水泥、钢筋和混凝土,哪里需要搬哪里。
Resnet50全貌
之前一直在写的resnet50这一网络,就是用大量的卷积来搭起来的,下面是 resnet50这一网络的全貌,长图预警。
看完,或许你真的会有一个感觉,从头到尾用代码去实现这样一个神经网络,真的和搬砖盖楼,没有区别!
Resnet50 这一网络,总共由几十层的算法拼接而成,而且有 图像识别(五)| 春天花开却不识?打开百度识图,残差和卷积带你识遍路边野花_董董灿是个攻城狮的博客-CSDN博客这里面提到的残差结构。
攻城狮们要对着上面的图纸,以及算法参数,一层层的去实现,一层层的去优化,一层层的去计算。
总之,AI算法攻城狮,现代农民工,真代码搬砖人!
One More Thing
之前写了一些CNN的科普。
像上面那么多层的卷积层,是如何将图像数据一层层传递到下面的,最终识别出一张图片物体是什么的呢?
这里介绍一个网站,或许是最形象的入门学习CNN的网站了。
网址:CNN可视化。
如果被墙了登不上去,那就想办法吧,毕竟,没有什么东西,可以墙的住一个攻城狮!
这个网站可以十分形象的展示在一个CNN网络中,数据的流向以及计算,更重要的,可视化做的非常好。
比如,像下面这样,点击其中一个卷积层,就会看到,对原始图像 RGB 通道的卷积操作,卷积核一步步的滑窗,最终计算出一个杯子的轮廓。
往期文章推荐:
图像识别(一)| 从像素说起_董董灿是个攻城狮的博客-CSDN博客
图像识别(二)| 图像的色彩空间_董董灿是个攻城狮的博客-CSDN博客
图像识别(三)| 初识卷积_董董灿是个攻城狮的博客-CSDN博客
图像识别(四)| 卷积的核心,特征提取_董董灿是个攻城狮的博客-CSDN博客_卷积图像特征提取
图像识别(五)| 春天花开却不识?打开百度识图,残差和卷积带你识遍路边野花_董董灿是个攻城狮的博客-CSDN博客
更多信息,请查看专栏
v v v v v v
**本文为作者原创,请勿转载,转载请联系作者。**
**点击下方卡片,关注我的公众号,有最新的文章和项目动态。**
v v v v v v