机器学习已迫在眉睫——李烨

作者:李烨,高级软件工程师,现就职于微软(Microsoft),曾在易安信(EMC)和太阳微系统(Sun Microsystems)任软件工程师。先后参与聊天机器人、大数据分析平台等项目的开发。

引言

谈到人工智能、深度学习,相信目前 IT 互联网领域的从业者应该都是耳熟能详的。但是大家都知道人工智能早已出现,为什么等到本世纪初又再度火起来呢?

首先,来看一下当前机器学习领域招聘市场的行情。

enter image description here

上面表格中所有带有“算法”、“人工智能”、“数据挖掘”、“视觉”字样的职位,都需要懂机器学习。

在产品和服务中应用机器学习模型,已经逐步成为了互联网行业的通行方法。甚至很多传统软件企业,也开始尝试应用机器学习。说得更直接一点,人工智能正处在炙手可热的风口浪尖上,作为程序员不会机器学习都不好意思去找工作了。

很多技术开发者迫切希望快速进入人工智能领域从事工程或者算法等相关工作。那么,机器学习将会应用在哪几方面?

AI 技术岗位求职知识储备

如果大家有意投身到人工智能领域做技术性工作,那么经过技术笔试、面试是前提。在面试中被要求从头解释某一个机器学习模型的运行原理、推导过程和优化方法,是目前常见的一种测试方法。机器学习模型虽然很多,但是经典、常用的有限。

触类旁通各大模型与算法

各种机器学习模型的具体形式和推导过程虽然有很大差别,但却在基础层面却有许多共性。掌握共性之后,再去学新的模型、算法,就会高效得多。要想真正理解个中含义,须得要以若干具体模型为载体,从问题发源,到解决方案,再到解决方案的数学抽象,以及后续数学模型求解的全过程,了解体味。

扫描二维码关注公众号,回复: 3672725 查看本文章

极简版实例体验实际应用

运用到实践中去,是我们学习一切知识的目的。机器学习本身更是一种实操性很强的技术,学习它,原本就是为了应用。反之,应用也能够促进知识的深化理解和吸收。机器学习以原理为核心,但也同样包含了:划分数据集、从源数据中提取特征、模型训练过程、模型的测试和评估、方法工具等知识。

遇到“人工智能产品”,能够根据自己的知识,去推导:How it works——

  • 它背后有没有用到机器学习模型?

  • 如果有的话是有监督模型还是无监督模型?

  • 是分类模型还是回归模型?

  • 选取的特征是哪些?

  • 如果由你来解决这个问题,有没有更好的方法?

我们自己用来判断万事万物的“观点”、“看法”、“洞察”,实际上都是我们头脑中一个个“模型”对所闻所见(输入数据)进行“预测”的结果。这些模型自身的质量,直接导致了预测结果的合理性。

借鉴机器学习认识客观规律的过程,可以知道,模型是由数据和算法决定的。对应到人脑,数据是我们经过见过的万事万物,而算法则是我们的思辨能力。

对机器学习的掌握,能为我们认识客观现实带来下面这些帮助:

一、破除迷信

enter image description here

在这个人工智能看起来要席卷一切的年代,不光是正在或者立志于在 AI 领域做技术工作的人,任何人都有必要从原理角度了解一下机器学习是干什么的,如何发挥作用的。

作为一个带有神秘色彩的热点概念,人工智能(AI)被热炒被歪曲被妖魔化是难免的。

人工智能是一个学术研究领域,目前在工业界有一定的应用和探索。AI 归根到底是个技术问题,可学、可用、可研究亦可质疑,而不是只能顶礼膜拜的法术神功。

具备最基本的判断能力,才有可能不会被“神话”迷惑,不被“鬼话”恐吓。

知道 ML/DL 模型是如何工作的,总不至于看了篇《AI 专业毕业生年薪50万》就慌慌忙忙报个2万块的培训班,学了 pip install tensorflow 和 C&P 代码运行几个习题数据集,就以为能够找份年薪50万的工作了。

知道 AI 有哪些落地点和局限,就不至于瞟了几眼《XX 职业要消失了》,《XXX 岗位将被人工智能取代》之类的网文就骤然开始仇视社会,好像自己明天就没有活路了似的。

除了判断事,判断人可能更重要一些

了解一件事的原理,自己要有个基本的是非标准,再去看别人对它的评论,就不难看出评论者的“斤两”。也就不至于被其所说内容之外的语气、措辞,或者刻意的态度所误导。

二、追本溯源

enter image description here

人工智能从提出到现在几十年,已经数度沉浮。这些年间,模型、算法、实现技术更迭了几代,如今和当年已经是天壤之别。

但所有的发展都不是凭空出现的,新的方法、技术都是在原有基础上的创新。每一个具体的进步,都仅仅是向前的一小步而已。

最容易创新的是技巧和细节,越“大”的创新,出现的频率越低。而原理所揭示的,就是这种“大”的、相对稳定的东西。机器学习最经典的那几个模型,历史都不短,长则半世纪,短的也快20年了。

深度学习,早年是从属于机器学习的神经网络,因为运算能力不够而被束之高阁多年,近些年来借助计算机硬件和分布式计算的发展而大放异彩。

虽然技术本身和应用结果产生了巨大的飞跃,但从根本的原理层面,却是有着紧密的传承。

了解一件事是如何运行的;明晰事物发展的客观规律;知道从最简单的原理学起逐层推进,比从一个已经很复杂的状态入手一下子纠缠在各种不得要领的细节中要高效得多。

有了这样的认识,也就不会被一些名词所局限。不会仅仅因为人家做了一些细节改变,或者换了个说法就以为天翻地覆了。

具体到 AI 领域,真的了解了支柱技术的基本原理,总不至于:

看了一篇《当这位70岁的 Hinton 老人还在努力推翻自己积累了30年的学术成果……》,便宣布再也不学 CNN、DNN、RNN 了(好像真的学过一样)。

或者:

因为《深度学习已死,可微分编程万岁!》刷屏,就以为目前在视觉、语音、NLP 这些领域已经在创造价值的 DL 工具瞬间消失无用了。

三、精进看待世界的方法

enter image description here

相较于仍然处于经验(“炼丹”)阶段的深度学习,传统的统计学习模型和方法已经具备了相对完善的理论基础。

我强烈建议:即使目标岗位是“深度学习工程师”,也应该从统计学习方法学起。

一方面深度学习与机器学习具有传承的关系,学习后者对于直观地理解前者有极大帮助。

另一方面,统计学习方法建立在将概念“数字化”(向量化)的基础上,以数学公式和计算来表达概念之间的关联及转化关系。机器学习是一种认识世界的工具,借助它,我们可以从一个新的角度来看待世间万物。

换句话说,当我们知道机器是怎样通过学习事物特征的概率分布和转换来掌握事物规律的时候,我们就有可能反过来审视自己看待世界的方法,发现其中不合理的部分,并主动优化自己的思维模型。

比如,我在学习机器学习原理的过程中,对人类的思维方式产生了一些思考:

人类的道德标准实际是一种社会层面的极大似然估计。

遗忘是学习的一个步骤,是一种对信息的过滤方法,也是人类在脑力有限的情况下对自身大脑的一种保护机制。

人类的偏见是一种长期训练的结果,在信息极其匮乏的情况下,对人们做决定往往是有正向帮助的。信息越丰富,偏见的负面影响也就越严重。

大多数人最常用的思维模型是 KV Pair,有些人似乎终身只有这一种思维模型。

一般人往往默认一类事物的所有个体在概率空间是均匀分布的。在考虑某一个事物个体时,对其在同类事物中所处的位置——是小概率事件还是常态?发生概率相对之前是稳定、上升还是下降?——通常毫不在意,而一概认为被提及的个体很重要。

对于原因和结果的关系,多数人根本没想过去探究其转换模型,而直接默认是线性关系。比如:A 地的年均 PM2.5 指数是 B 地的10倍,PM2.5 被认为与肺癌发病率有关,于是想当然以为 A 地肺癌发病率是 B 地10倍。

当一件事物比较复杂,涉及多个方面的时候,要对它有一个全面的评价,目前最常用的方法是构建一个线性回归模型:选定一些特征,针对每个特征独立打分,最终加权求和(例如大学排名之类)。

线性回归是一个非常简单的模型,往往无法达到很好的效果。但即使这样简单的模型,很多人还是无法掌握。

面对一项事物,既不能列举出其主要特征,也不知道如何评估每个特征,更不要提再加权求和。多数人最常用的全面评价标准,如果是一手资料则一般以某(几)个个例的某个特征来代替全集;如果是二手资料,则一般选择相信自己最先接触到的他人结论。

以上只是一些还没研究验证的初级想法。我分享出来只是想说明:机器学习的原理和公式推导,并非只是做一些无聊的数字变换。很可能由此为我们打开一扇窗,让我们从新的角度看待世界,并为日常决定的思考过程提供更加可量化的方法

alt text

猜你喜欢

转载自blog.csdn.net/valada/article/details/83149858