为什么人工智能工程师被戏称为“调参侠”?
▍⇐为什么人工智能工程师被戏称为“调参侠”?
确实,现在做人工智能方向的工程师,有不少被称为“调参侠”,但也并不全是。
以我自己为例,我做cv方向(计算机视觉)的, 调参在我日常工作中占的比例并不大。
在CV这块,除了超参数外,影响模型效果的主要还是要网络结构、数据和损失函数,这三方面确定下来后,调参基本花不了多少时间。
回归正题!
调参侠,到底调什么参?
在人工智能里面,参数大致可分为2大类:
参数(parameters)/模型参数:由模型通过学习得到的变量,比如权重w和偏置b,这个多半是不能调节的,它是由神经网络自己学习出来的。
超参数:在机器学习中,超参数是在神经网络训练之前设置值的参数,而不是通过训练得到的参数数据。常见的有学习率、迭代次数、隐藏层的层数、每层神经元的个数等。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。这一般是根据经验进行设定,影响到权重w和偏置b大小的数值。
为什么会被称为“调参侠”?
主要原因有以下2个:
多半是刚入门的算法工程师做的事情,他们不是很懂神经网络的结构、数据分布等等,只能通过调整超参数,以期望获得较好的结果,这样有时候是可行的;
更重要的原因是,GitHub上开源了很多模型,并附上了预训练参数,如常用的检测、分割、分类等等,这些模型都非常成熟,大部分直接调用就可以,然后根据自己的训练数据,稍加修改,就可以得到非常好的结果。公司只要结果,不要求创新,开源项目已经可以做到这点了,所以大多数只要调参即可。
怎么避免成为“调参侠”
目前AI人才竞争越来越激烈,“调参侠”的时代已慢慢过去,这些事情其实根本不需要AI工程师来做,未来的研发工程师就可以承担这些了! 几年前如果熟练使用TensorFlow,同时掌握基本的AI算法就可以很容易找到一份高薪的工作,但现在不一样了,AI岗位的要求越来越高,对知识的深度也提出了更高的要求。
要想跟上时代,得武装自己,才能不被淘汰。
对于真正的人工智能工程师而言,他们往往是从数据和特征下手的,同时还需要丰富的行业经验。一定要记住一句行业内的谚语,数据和特征才决定算法 的上限,而选择的算法和参数只是决定了已逼近这个上限的速度。
▍➯为什么人工智能工程师被戏称为“调参侠”?
调参并不可耻,好的调参侠,非常厉害
算法工程师技术上讲,基本上只和数据和模型打交道。模型就是一个黑色魔法盒,而这个黑盒子就是通过数据和调参而来。
模型中有两类参数,一类我们叫权重,可学习的参数;一类叫超参,需要不停地实验,来确定下来。所谓调参就是调教的后者。当然这些实验,需要专业的设计技巧,不在本文范围之内,感兴趣的可以找吴恩达老师的书看看。
很多人说算法工程师是调参侠,没技术含量。同样都是xgb,为什么有人能拿冠军有人只能很弱?或许你会说特征工程做的好。但换到图像和文本领域,模型的基本就是搭积木,这种搭积木也算是超参,模型的层数,模型的维度。
一项超分辨率比赛,韩国某支队伍获冠军,把大家都认为理所当然的批标准化去掉,意外获得了冠军。
实践很重要,调参不可耻。调的好,可以拿冠军。甚至可以将调参经验写成一篇论文。谷歌当时就有一篇论文,暴力的将各种函数尝试了一遍,发表一篇论文。
有时候是先走实践,再猜测或推测出来的理论。对不对?别管黑猫白猫,能抓耗子就是好猫。目标为导向。
并不是所有的调音师能超出美妙的音乐。虽然就那么几个音符。调参技巧弄得好,可以发论文,可以提升业务指标,带来利润。
大道朝天,可能就两条路:从理论到实践,或从实践道到理论
要么理论深,可以发各种论文。通过理论指导建模,获得更好的效果。要么实践牛逼,可以拿各种数据比赛冠军。要么,都牛逼,那就是天才。比如通过实践发现一种好的方法,然后再通过理论来证明他。不幸的是,大多数人一种都做不到。
厉害的调参侠,也不是那么容易当的。关键是思考,善于思考反思的人,无论是从理论还是实践,都会比机械重复的拿来主义进步快,更容易成为大侠。
▍⇡为什么人工智能工程师被戏称为“调参侠”?
本来就是,有几个能提出来新模型,新思路的,太难了,都是炼丹师,也很难解释为什么
▍↙为什么人工智能工程师被戏称为“调参侠”?
做人工智能的人,基本都和数据模型打交道,数据模型除了数据外,还有一个就是模型参数,参数是可调节的,我们通常说的超参数就是要进行调节,去适应数据,当然调参也需要数学功底,对算法的理解,所以,简单的说人家是调参也不太礼貌,人家能做的,你未必能做到。
▍♀为什么人工智能工程师被戏称为“调参侠”?
这…
第一次看到这个称呼,不过人工智能领域确实是有点这种问题。
我们举一个简单的例子,就拿现在比较火热的人工智能方法:深度神经网络来说吧。
那么什么是深度神经网络呢?
首先要从神经网络说起。
顾名思义,神经网络就是当年科学家们用模拟人类神经元互相协调工作的办法来实现人工智能的一种理论算法。
在此再解释一句,所谓的神经元,就是人类的思维活动的承载零部件,大家在脑中的一些思维活动都需要有神经元的参与。
那什么又叫深度神经网络呢?
说白了就是几层神经网络叠加在一起。更为具体的原理,我在此就不赘述了,这个深度神经网络较为简单的说法,我们可以举一个比较形象的例子来说明:
现在我们需要解决一个问题,就是如何识别照片里的某个动物,是人还是其他的什么动物。
我们现在采用深度神经网络的办法,来对这张图片进行识别。
那么一个人他具有哪些比较醒目的特征呢?
最为常见的,那就是有一个脑袋,有躯干还有四肢。但是这里就要存在一个问题,像平时生活中常见的小猫,小狗也是有一个脑袋,有一个躯干,也有四肢。所以说我们深度神经网络的第1层问题就是需要把这个人的这个轮廓和猫狗之类的轮廓和人类相似的来区分开来。在此不得不又要引出一个概念轮廓相似,这是一个说简单一点就是拓扑学上的含义。在此就不加深入讲述了,感兴趣的话可以自行搜索拓扑学的相关内容。在使用这个深度神经网络第1层判别人和猫狗之间的区别的时候,它就会存在一个神经网络的参数问题,我们需要将这个参数调整到一个适当的程度,才能将人和动物区分开来。
当然有了第1层区分之后,我们可能还有第2层以及更多层区分,比方说这个人是不是穿了衣服,这个人的肤色这个人的毛发,比方说头发是长在头上,而不是浑身上下都有。在这个时候,这一层的神经网络又会涉及到一个参数调整的问题,将参数调整到合适的值才能让机器正确的识别是否穿衣服,毛发是否都长在头上等等等等。
总之呢,我们从这个深度神经网络的识别的这个流程可以看到现在这些人工智能,实际上就是一个对现有模型中的一些参数进行调整的过程,所以说楼主问题中的这个调参侠确实是名副其实。
------------------
推荐阅读:
亲戚要用我的身份证做贷款我不借,亲戚说我看不起他,我该怎么办?