当前位置:网站首页>理论问题与工程问题的差异在哪里?
理论问题与工程问题的差异在哪里?
2022-08-02 07:18:00 【万里鹏程转瞬至】
理论问题与工程问题的差异有哪些,这是一个高深的问题,博主的见解不一定对,仅供参考。博主在还是硕士时,沉寂于水论文的庸俗之道中,也曾经有过很多惊艳的“创新”想法,结果上网一搜别人早就发了论文。整体来说,博主水论文是一直是围绕着理论问题在开展工作;后来博主面向工作时,则一直面向工程问题开展工作。因此,对理论问题与工程问题颇有思考,故写下这篇浅薄的博文。博主这里讨论的范围仅限于深度学习领域,其他一概不论。
1、理论问题与工程问题的联系
深度学习本就是一个及理论与工程应用的一个体系,其基于反向传播与梯度下降训练模型,为解决各种工程问题在理论上进行创造性突破,解决了行业上的回归(数值预测)、图像分类、目标检测、语义分割等等的工程问题。每解决相应的问题,在深度学习理论基石上都有创新。如从rcnn到faster-rcnn,从全卷积网络到系列语义分割模型、从attention模块到transromer模块。理论的创新为更好的解决工程问题提供了更好的指引。
同样,解决工程问题需要相应的理论基础,只是有的时候一些工程问题过于简单,依赖于一套固定的流水线操作即可解决;而有的工程问题过于复杂,需要算法工程师不断的探索新的流水线操作才能解决问题。
2、理论问题与工程问题的差异
正如上文所述,解决工程问题离不开理论基础的支持,只是有的理论基础过于夯实,所以大部分工程师都是一套流水线操作应用,而对于复杂的工程问题部分才会重构理论问题部分。正常来说,深度学习模型可分为生成式模型和判别式模型,生成式模型用于生成内容,判别式模型用于判断概率。生成式模型由vae、gan等;判别式模型较多设计图像分类、语义分割、实例分割、目标检测等。这种模型都能解决特定的工程问题。
在理论问题上只关心系统的一小部分内容,通过解决对理论进行补充完善深度学习中的某些不足。如全卷积网络提出了仅使用卷积层实现语义分割;resnet网络提出了跳跃连接的概念使训练更深层模型变成了可能;mobilenet提出了一个减少计算量的卷积模块;等等诸如此类。这些单个的理论概念使不用用到复杂工程上的,应用深度学习技术需要完整的理论体系。如使用图像分类模型,如densenet、efficientnet解决图像分类问题;用yolox,yolor、yolov7等解决目标检测问题。这其实也只是能浅显的解决一些工程问题。在实际情况中对理论技术的应用要贴合工程实际需求,理论技术只是为工程实践提供参考选项。
在工程实践中往往比较关心性能和精度,性能是指模型的运行需求和速度,精度一般指模型的acc、iou、recall等评价指标。在工程领域解决性能问题,一方面靠堆硬件,另一方面靠理论优化(如算子折叠、轻量化结构、知识蒸馏、模型量化等);在工程领域解决精度问题,这则是一个更为开放的话题。除了模型选型外,涉及到训练数据采集、数据增强方式、结果增强方式等。
理论问题大都只关注了工程应用中的一小部分,解决工程问题需要完整的系统工程思想,需要应用到多个理论技术
3、如何更好的解决工程问题
研究一切理论问题的本质,都是为了解决工程问题。这使得我们要抛开对理论技术的一些固有偏见,限定技术的使用范围。很多的深度学习算法工程师都是在理论上一知半解,在编程上一窍不通,赶鸭子上阵成了算法工程师(程序员)。对于理论的应用大都停留在表层,对技术的应用停留在表层,认为什么样的模型就只能干什么样的事情。博主工作前也曾被卡在这里,导致无法解决很多工业问题(工业问题对精度要求极高,且要求模型具备文档的泛化能力)。
因为,很多理论问题的研究都是基于特定背景下的,如图像分类技术的研究背景在于imagenet数据分类;语义分割技术的研究在于将图像的前景与背景分隔开;目标检测的研究背景是找出图像中的特定目标。虽然这些技术都貌似有着固定的应用场景,但是在工程实践中其实是可以打破这些场景限制的。因为,有些时候工程上的指标需求可能突破理论极限。比如博主曾做
过几个工业上的缺陷检测项目,顾客对缺陷样本要求的召回率就是99.99%以上。这在理论上基本就是不可能的(博主试过很多个深度学习分类模型,当时的模型没有一个能满足要求的)。
为了实现项目中克扣的精度需求,博主突破了对深度学习技术应用的偏见,将语义分割应用到了图像分类任务中【先分割出目标的特征区域,再对特征区域进行分类训练】。博主也曾将传统的图像处理方法与深度学习方法相结合,每一个方法都确保某一方面不出问题,最终实现精度需求。
经此总结:博主认为解决好工程问题的本质就是要用好理论技术,不要对技术的应用具有偏见。每一项理论技术的应用或许只是解决一小部分的工程问题,但是结合到一起就可以解决复杂的工程问题。
边栏推荐
- 查看僵尸进程
- Fatal error compiling: 无效的目标发行版: 11
- 研发创新编码器霍尔板,引领企业高质量发展
- 类型“DropDownList”的控件“ContentPlaceHolder1_ddlDepartment”必须放在具有 runat=server 的窗体标记内。
- MySQL - slow query log
- WebForm DropDownList分别绑定年月
- 2022-2023 十大应用开发趋势
- MySQL - Detailed Explanation of Database Transactions
- CollectionUtil:一个函数式风格的集合工具
- MySQL - index explanation
猜你喜欢
MySQL error 1055 solution: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains
MySQL - index explanation
Buried development process
Splunk Field Caculated 计算字段
2022-2023 十大应用开发趋势
研发创新编码器霍尔板,引领企业高质量发展
pnpm + workspace + changesets 构建你的 monorepo 工程
spark architecture
有点奇怪!访问目的网址,主机能容器却不行
Conditional constructor ~wapper
随机推荐
正则表达式
PanGu-Coder: A function-level code generation model
MySQL-慢查询日志
MySQL-底层设置
WebForm DropDownList分别绑定年月
About the SQL concat () function problem, how to splice
初探形式化方法基本原理
OC-范畴
MySQL batch update
Splunk Filed extraction field interception
LeetCode刷题(7)
spark读取文件夹数据
【Network】IP, subnet mask
Mysql报错2003 解决办法 Can‘t connect to MySQL server on ‘localhost‘ (10061)
研发创新编码器霍尔板,引领企业高质量发展
Understand Chisel language. 31. Chisel advanced communication state machine (3) - Ready-Valid interface: definition, timing and implementation in Chisel
Neural network
Control 'ContentPlaceHolder1_ddlDepartment' of type 'DropDownList' must be placed inside a form tag with runat=server.
修改apt-get源为国内镜像源
regular expression