赞
踩
目录
笔者一直从事软件工程师和AI工程师相关工作,和大家说说软件工程师与AI工程师的区别,希望能帮助大家。
软件开发和人工智能模型的不同之处在于执行的方式
图片来源:Differences between machine learning and software engineering — Futurice
如上图所示,以人工智能中的机器学习为例,机器学习是以数据和预期结果为输入,通过计算得出一个程序,也就是一个算法模型,也就是找到一个适合数据的程序。而软件开发是针对问题提出一个解决方案,并将其写成计算机可以执行的精确程序,也就是通过写程序实现任务自动化。开发机器学习应用的过程,比做软件开发更具反复性和探索性,存在一定不确定性,也就是需要多次实现,整个过程通俗地被称为“炼丹"。如果你数学基础较好又喜欢探索胜过研究业务逻辑,能乐观对待不确定性,也许做AI工程师更合适。如果你喜欢研究业务逻辑胜过数学理论,喜欢确定性多于不确定性,也许做软件工程师更好。
从这个角度,可以看到,人工智能软件是无法取代传统的软件开发的,但是人工智能软件可以挖掘规则作为组件补充传统的软件开发,特别是在那些无法用手写规则实现的复杂情况下,人工智能有着非常大的作用。
从程序开发的角度来看,AI的代码相对来说比较简单,只要熟悉了所用的框架,如Pytorch,Keras等等,写代码不是一件难事,主要的工作在于通过多次调整模型的超参数得出理想的算法模型,而应用软件的代码通常基于现有框架开发需要考虑各种逻辑,相对来说复杂些。当然要取得优秀的算法模型需要扎实的理论基础和优秀的动手能力。
以下是三个层次的要求
初级
中级
高级
关于机器学习和人工智能,欢迎阅读我的小文。【学习资料汇总】探索人工智能的奥秘
欢迎留言,一起交流软件开发和人工智能学习。
笔者写于上海浦东新区封控区。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。