作者丨花花,OLDPAN

来源丨知乎问答

编辑丨极市平台

【导读】众所周知,Transformer 已经日常在CV学术领域“杀疯了”,那么在工业领域情况如何呢?

来源链接:https://www.zhihu.com/question/463585564/answer/1927466979

# 回答一

作者:花花

阿里巴巴高级技术专家

来源链接:https://www.zhihu.com/question/463585564/answer/1927466979

分类任务:transformer在分类任务上超过cnn让大家欣喜若狂,用pretrain进行finetune是一件合理的事情,但可能大家也有意识到,imagenet-1k, imagenet-21k等pretrain的跨domain问题。
其次,实际项目中,包括模型转化,量化,SDK集成直到模型上线仍然有很大量的工作,链条不完善的情况下,不太容易落地,同时在inference速度上当前没有足够好的优化,也是一个劣势。

检测任务:说完分类再来考虑检测,目前两套思路,一种是换掉backbone,以pretrain的方式进行下游任务,部署难度和分类任务一样;另一种是类似DETR这种训练方式,想要取得较好的精度需要更大量的数据,对于实际项目并不容易获取,且训练相较于普通检测方法多了5到10倍的时间,在没有取得很明显的提升的情况下,也不太适合盲目进行落地。

值得一提的几点:
1. 在public dataset 上杀疯了并不代表在实际业务数据上就能很好的work,这点就不展开了,做过落地的都明白。
2. 当前另外一个方向是自监督+transformer(SSL+Transformer),个人认为非常有潜力,包括微软的swin-ssl,Facebook的dino等,都是这方面的尝试
3. 落地场景不同,情况就不同,人脸上亿量级的数据如果要train from scratch,要直接硬上transformer,计算资源是非常非常可观的。

个人一点不成熟的观点,轻喷:
我认为现在transformer还处于不成熟的阶段,大部分的工作都在分类任务上进行尝试,因为训练成本较高,部分paper的实验结果并不solid,提点也有限,虽然百花齐放但还没有一个较为统一的认知和共识,下游任务(detection,segmentation)的验证也不是很solid。同时底层硬件,CUDA,训练框架对transformer的优化也不够完善。

类比CNN的发展历程,我认为目前transformer在CV领域应该还处于AlexNet阶段,距ResNet阶段还有一定的距离,一方面是research这条线继续推陈出新,另一方面是工程部署这条线的持续跟进(可以看到很多社区的框架也在多分布式训练,transformer训练进行优化和加速)。

  1. 需要另一个里程碑来统一大家的认知

  2. 落地是肯定要落地的,大家一起加油。

# 回答二

作者:OLDPAN

来源链接:

https://www.zhihu.com/question/463585564/answer/1940309173

这个问题问得好呀,说不定楼主都已经踩过坑了 。

在我们组的CV中,识别组大部分的结构都包含transformer,也有一些LSTM和attention,其中有部分模型可以转化为tensorrt然后使用triton部署。相比原生的TensorFlow server要快些。不过仍有提升空间。

而检测组则没有使用transformer,一方面是因为原先的结构比较好部署(ssd,centernet,fcos等结构)比较熟悉,二是cv检测上的transformer结构还不是很成熟,没有比较通用性的backbone可以替换之前使用的resnet这类的通用backbone。

如果之后会使用transformer,我会考虑:

  • 精度提升有多大,对于检测任务来说。如果不是质的提升(十分之一),尽量不考虑

  • 速度能有多快,相比resnet50,同等精度或者高于这个精度能有多快

  • 还是那句话,好不好部署,能否转化为tensorrt,转化后支不支持动态尺寸 这都是问题

其实也简单尝试了一下swin transformer,目前可以转化为tensorrt但只支持固定尺寸,在分类任务上,swin最小结构的精度比res50要高些,但速度嘛,慢了一倍多 ,唉性价比瞬间降低了。

对于我们来说,用不用transformer,关键还是取决于精度和速度能否超过之前的backbone,性价比高不高。不高的话,大概率不会用……

如果觉得有用,就请分享到朋友圈吧!

推荐阅读

  • 【重磅】斯坦福李飞飞《注意力与Transformer》总结,84页ppt开放下载!

  • 分层级联Transformer!苏黎世联邦提出TransCNN: 显著降低了计算/空间复杂度!

  • 清华姚班教师劝退文:读博,你真的想好了吗?

  • 2021李宏毅老师最新40节机器学习课程!附课件+视频资料

  • 最强通道注意力来啦!金字塔分割注意力模块,即插即用,效果显著,已开源!

  • 登上更高峰!颜水成、程明明团队开源ViP,引入三维信息编码机制,无需卷积与注意力

  • 常用 Normalization 方法的总结与思考:BN、LN、IN、GN

  • 注意力可以使MLP完全替代CNN吗? 未来有哪些研究方向?

  • 清华鲁继文团队提出DynamicViT:一种高效的动态稀疏化Token的ViT

  • 并非所有图像都值16x16个词--- 清华&华为提出一种自适应序列长度的动态ViT

重磅!DLer-计算机视觉&Transformer群已成立!

大家好,这是计算机视觉&Transformer论文分享群里,群里会第一时间发布最新的Transformer前沿论文解读及交流分享会,主要设计方向有:图像分类、Transformer、目标检测、目标跟踪、点云与语义分割、GAN、超分辨率、视频超分、人脸检测与识别、动作行为与时空运动、模型压缩和量化剪枝、迁移学习、人体姿态估计等内容。

进群请备注:研究方向+学校/公司+昵称(如Transformer+上交+小明)

???? 长按识别,邀请您进群!

2021年,作为算法工程师的你们会在CV业务落地上用Transformer吗?相关推荐

  1. 2021年,作为算法工程师的你们会在CV业务上用Transformer吗?

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者丨花花,OLDPAN 来源丨知乎问答 编辑丨极市平台 AI博士笔记系列推荐 周志华<机器学习> ...

  2. 2021年后一个算法工程师的门槛有多高?

    链接:https://www.zhihu.com/question/437429362 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 想知道2021年后一个算法工程师的门槛有多高,现在我在读研 ...

  3. 2021年,算法工程师必备的能力是什么?

    到底算法工程师需要具备什么样的能力?才能满足"越来越卷"的要求 近年来,关于算法岗位"越来越卷"的声音持续热烈. 我们经常收到一些同学提问:算法岗位听说人才过剩 ...

  4. 算法工程师面试题【集锦cv/ml/dl】

    (一)            机器学习方面 SVM 1.  支撑平面---和支持向量相交的平面:::分割平面---支撑平面中间的平面(最优分类平面) 2.  SVM不是定义损失,而是定义支持向量之间的 ...

  5. 算法工程师落地_模型的更新升级能力

    20210728 https://mp.weixin.qq.com/s/lAJV1QPy_ZWJeQ1cIpUdEg 2021年,算法工程师必备的能力是什么? 数据分析和代码编写,java的能力 20 ...

  6. 从杉数到滴滴——未入门算法工程师工作日记(快手篇)

    大家好!好久不见了!今天猹哥迎来了自己的23岁生日,也迎来了自己人生的第一个在职场赶项目ddl度过的生日(泪).祝自己生日快乐的同时,也加班加点的把<从杉数到滴滴>系列又更新了一篇- 熟悉 ...

  7. 算法工程师的三观测试

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 文 | 小戏 编 | 小轶 如果我在谷歌输入"How to improve ...

  8. 算法工程师研发技能表

    算法工程师 Author:louwill Machine Learning Lab 由于算法工程师这个岗位根据不同的业务场景和应用方向,各自的工作差异相对较大.所以很难有一个一概而论的算法工程师技术栈 ...

  9. 2021.1.22平安科技面经--算法工程师实习生

    2021.1.22平安科技面经–算法工程师实习生 岗位:算法工程师实习生 自我介绍(这个地方我自己需要去提炼一下) 机器学习,人工智能了解得多吗? 那你是怎么自学机器学习,深度学习呢? 那什么是过拟合 ...

最新文章

  1. Java访问Redis
  2. 线下门店场景化互动类产品浅析
  3. hdu 5124(线段树区间更新+lazy思想)
  4. Python高级编程(三)
  5. 禁止普通账户将主机加入域控
  6. 如何在VB6.0里动态使用具有事件的对象
  7. 《Google C++ 编码规范》小结
  8. Python 设计模式-- 命令模式
  9. OSChina 周一乱弹 ——我后悔让爸妈用微信了!
  10. 如何自学通过PMP?
  11. 火车票软件哪个好用_买火车票的软件哪个最好
  12. d6u android,天敏D6U_Android4.4.2_SONY BRAVIA_精简优化双启动版
  13. 17AHU排位赛2 E题(树上最大匹配,树形DP)
  14. 1.Attach(E-UTRAN Initial)
  15. 后端修行 - java中PO、VO、BO、POJO、DAO、DTO、TO、QO的理解
  16. 软件设计师上午真题及参考答案
  17. Android程序员生活就是这么朴实无华,那真是穷的喝自来水
  18. NET CORE读取Excel.xlsx单元格内的图片,并关联当前业务ID推送图片到指定服务器...
  19. VSYNC与HSYNC与PCLK与什么有关系
  20. STM32的SPI外设片选只有一个怎么破?

热门文章

  1. 两步改动CentOS主机名称
  2. 图书管理系统需求说明书
  3. c语言中描述y是奇数,4章选择结构程序设计C语言入门习题
  4. linux6 yum安装mysql_linux CentOS6.5 yum安装mysql5.6
  5. android canvas 保存图片,ionic3 html5 video 抓图保存到手机相册,解决Android手机不支持Canvas drawImage问题...
  6. nginx 修改html header,nginx 安全笔记 (修改nginx的header信息和错误显示版本号)
  7. 字符串数组-获取两个字符串中最大的相同子串(最大相同子串有且只有一个)
  8. 怎么禁止/开启Ubuntu自动更新升级_豆豆技术派的博客-CSDN博客_ubuntu 自动更新
  9. Python map() 函数
  10. python * 与 ** 分别代表元组和字典