c0d3n4m 发表于 2022-7-5 19:34

图像识别(番外1)| AI算法攻城狮左手图纸,右手搬砖的真实 ...

前几天,听到两个同事在沟通某个神经网络中一处算法的实现。
因为下面的一段对话,让我突然感觉到,搞AI算法,是真的在搬砖盖楼!
对话

A:“这个卷积后面的 tensor ,需要通过维度拆解(split)加维度转置(transpose)进行才行!”
B:“硬件对于低维拆解是不友好的,数据需要低维对齐,调用转置指令的话,性能也不见得会有多好。”
A:“那如果不用 split 和 transpose 来实现,有其他更好的办法么?”
B:“让我想想,把我的图纸拿来!”
A:“图纸,什么图纸?”
B:“网络结构图,我要开始搬砖了。”
于是,同事 B 找来图纸,手里拿着铅笔,开始写写画画,进行算法替换的推导!
...


AI算法工程师 | 盖个大房子

AI算法攻城狮,大致分为两类。
第一类是搞全网优化的算法攻城狮

他们基于整个神经网络做算法实现和优化。主要的手段大致为:数据量化、网络剪枝、模型调参(炼丹)、图融合、指令调度等等。
目的是使得整个AI神经网络有更好的性能,也就是经常可以听到的,做神经网络的优化!

经常会看到某某公司推出了一个新模型,无论识别精度,还是运行性能,都吊打其他公司,这里的性能,其实就是大量的网络优化后,取得的效果。


第二类是搞单个算法优化的算法攻城狮

他们往往只局限于某一个或一类算法进行持续的优化。
最常见的就是卷积和矩阵乘法优化的攻城狮门,也是各大AI算法公司抢手的香饽饽。


但是,不论哪种算法攻城狮,都离不开对于网络结构的了解。
可以说,整个神经网络是一座大厦,卷积这种重要算法是承重墙,其余算法是砖、水泥、钢筋和混凝土,哪里需要搬哪里。
Resnet50全貌

之前一直在写的resnet50这一网络,就是用大量的卷积来搭起来的,下面是 resnet50这一网络的全貌,长图预警。
看完,或许你真的会有一个感觉,从头到尾用代码去实现这样一个神经网络,真的和搬砖盖楼,没有区别!
由于知乎对图片长度有限制,折腾了半天也传不了图片,想看的同学,可以点击下发的链接查看。
Resnet50 这一网络,总共由几十层的算法拼接而成,而且有图像识别(五)| 春天花开却不识?打开百度识图,残差和卷积带你识遍路边野花 这里面提到的残差结构。
攻城狮们要对着上面的图纸,以及算法参数,一层层的去实现,一层层的去优化,一层层的去计算。

总之,AI算法攻城狮,现代农民工,真代码搬砖人!

One More Thing

之前写了一些CNN的科普。

像上面那么多层的卷积层,是如何将图像数据一层层传递到下面的,最终识别出一张图片物体是什么的呢?
这里介绍一个网站,或许是最形象的入门学习CNN的网站了。
网址:CNN可视化。
如果被墙了登不上去,那就想办法吧,毕竟,没有什么东西,可以墙的住一个攻城狮!
这个网站可以十分形象的展示在一个CNN网络中,数据的流向以及计算,更重要的,可视化做的非常好。
比如,像下面这样,点击其中一个卷积层,就会看到,对原始图像 RGB 通道的卷积操作,卷积核一步步的滑窗,最终计算出一个杯子的轮廓。


图像识别系列其他文章推荐

<hr/>码字不易,如果你喜欢,请关注 @董董灿是个攻城狮 或点赞关注。
近期开通个人微信公众号: 董董灿自述 | 我是一个攻城狮 每日一篇人工智能科技文章,欢迎关注。
页: [1]
查看完整版本: 图像识别(番外1)| AI算法攻城狮左手图纸,右手搬砖的真实 ...