人工智能是一个工程问题,而不是魔法!






4.94/5 (15投票s)
系列文章的第一部分,旨在揭开人工智能(AI)的神秘面纱并使其民主化。
引言
我不知道你怎么想。我一直对主流媒体使用“人工智能”(AI)这个词感到不自在,而如今无处不在的销售和营销人员最近开始随意使用它,这只会加剧我对此的普遍焦虑。当我们谈论人工智能时,对许多人来说,这会让人联想到杀人机器人、反乌托邦的未来以及被大型企业奴役(天哪,这难道已经发生了?!)。除此之外,普遍存在一种误解,认为你需要博士学位才能使用这些技术,更不用说理解它们了。对于以上所有说法,我只想说——胡说八道,好先生!胡说八道!

我最近深入研究了人工智能领域,(再次)参与了一些大学课程的学习。从工程的角度来看,即使没有扎实的数学背景,看到这个领域对于像我一样每天都在处理应用技术解决方案的人来说是多么容易入门,这真的令人鼓舞。这将是我打算写的一系列文章的第一篇,一个简短的介绍。目的是逐步建立对不同人工智能领域的知识,并提供足够的背景信息,以便您了解事物的工作原理以及如何在实践层面实现它们。如果您对基础知识有合理的掌握,那么您很快就能处于这样一个位置,您将
- 知道如何用人工智能解决方案来应对不同的工程问题
- 识别哪一类人工智能最适合给定的问题(有一些很棒的备忘单可以帮助您!)。
- 知道要使用哪些库,以及需要将哪些内容串联起来以构建一个稳健的专业解决方案。
在我们开始深入之前,让我们先对人工智能进行界定……我们现在拥有的人工智能,它确实能做一些(虽然有限但)很棒的事情,被称为“狭义人工智能”。这意味着它能够在一个特定的领域做得非常出色,可能比人类做得更好、更快,但仅此而已,仅此而已。
我们今天拥有的人工智能并不是许多人认为的那个无所不知、意图统治世界的超级统治者,而且除非您从事的行业不是一个相对知识密集型的行业,否则您的工作目前 pretty much 是安全的(稍后会详细介绍)。
当我们想提及那个可怕的、无所不知的超级统治者时,我们说的是另一种人工智能——那种人工智能是“通用人工智能”,而根据我们这个星球上一些最顶尖的头脑的说法,我们离那还很远。
那么,人工智能究竟是什么?
“人工智能(AI)是计算机科学中设计智能计算机系统的部分,也就是说,系统能够表现出我们与人类行为中的智能相关的特征——理解语言、学习、推理、解决问题等等。”(Barr & Feigenbaum,1981)
人工智能包含许多子领域,有些很广泛,有些则非常深入和高度专业化。为了更好地理解,你可以说机器学习之于人工智能,正如微积分之于数学。
人工智能的一些不同领域如下:
- 机器学习
- 神经网络
- 进化计算
- 视觉
- 机器人/物联网
- 专家系统
- 语音处理
- 自然语言处理
- 规划
与大多数科学领域一样,它既有理论领域,也有应用领域。理论旨在检查和识别关于知识表示、学习、规则系统、搜索等方面的内容,解释各种真实的智能。另一方面,应用工程的重点是利用人工智能技术在自然语言处理、规则与决策系统、搜索等领域解决现实世界的问题。
我认为,像我一样,本网站的绝大多数读者会比关注理论更关注人工智能的实际应用。现在,这里有一点……对于您今天作为工程师在使用人工智能时需要做的大多数事情,大部分理论部分已经被那些聪明的家伙们研究出来了——而这确实是您在该领域取得成功的关键。您*不需要*博士学位就能实现人工智能解决方案,但与任何工程问题一样,您需要了解足够多的知识,才能知道*使用什么工具*来解决*什么类型*的问题,然后*如何使用*这些工具。
作为开发者,当我们进行日常工作时,我们会经历一个分析、设计、构建、测试和部署的过程。构建一个人工智能系统也是完全一样的——只是使用我们可能还不熟悉的工具。当我们向打印机发送数据、连接到 Web 服务、编写移动应用程序时,我们使用 API——在人工智能领域,我们做的事情完全一样……可以认为这就像您习惯的那样,只是终结点不同而已!
一切都归结为数字……
我们几乎在人工智能中所做的一切都是使用数学来完成的,但*不要惊慌!*……即使您(几乎)在学校的数学 101 课上不及格,作为一名开发人员,您仍然可以使用那些在这方面很擅长的人提供的预构建库/API/等。您实际上不需要了解 CPU 或内存分配是如何工作的就可以编写相当复杂的东西——事实上,我们大多数人每天都在不知不觉中这样做。同样,日益完善的抽象层消除了人工智能的复杂性和细节,使我们这些凡人工程师能够像年轻的哈利·波特一样运用算法!
我们举个例子……
塔尼娅在一家在线商店购物,并在一段时间内购买了十本书。其中八本书是关于历史乐器(我知道,这很小众!),另外两本是关于烹饪的。阿布谢克也在同一家在线商店购物。他购买了两本关于历史乐器的书,和一本关于古代烹饪的书。下一次塔尼娅访问这家商店时,您猜怎么着,我们推荐了阿布谢克购买的那本关于古代烹饪的书——原因很简单,这两个顾客之间的共同点(内连接?!)是烹饪和乐器——因此,我们可以很好地猜测塔尼娅也会喜欢关于古代/历史烹饪技巧的书。我们做到这一点的方式是创建一个“模型”(可以看作是一个剪切模板),当我们收到新数据时,我们会查看它是否符合模型,如果不完全符合,那么它符合得有多好。如果它在预定义的参数的某个限制范围内,那么我们就可以根据数据与模型/模板的接近程度来预测准确性。
通常,我们会将字母转换为数字,然后使用这些数字进行计算。我将在另一篇文章中更深入地探讨原因。
另一个例子……
如果我们正在销售房产,并且有一份已售房产的价格列表和建筑面积,我们可以很好地猜测(1)购买一个特定建筑面积的房产需要多少钱(2)反过来,给定一笔钱可以得到多少建筑面积。
让我们看一下建筑面积与成交价格的列表——它们非常基础
如果我们绘制这些数据图,我们可以看到一个趋势——在这个超级简单的例子中,房产的建筑面积越大,价格越高。
我们可以添加一条趋势线,使其更清晰地显示……
现在为了演示我们如何进行预测,让我们叠加另一条线(绿色)……
如果我们有一个建筑面积约为 1250 的房产,我们可以合理地预期在市场上卖出大约 27,000。另一方面,我们可以说如果我们有 27,000 块钱,我们可以用它来购买 1250 的建筑面积。从视觉上看,这很容易理解——在幕后,使用机器学习算法,我们将通过计算 X/Y 轴上元素之间的距离来得出结果。当然,这是一个非常简化的例子——现在想象一下,当有多个变量和元素出现在画面中时,这会如何运作……房产的位置、房间数量、附近学校的数量等等。这时我们就会涉及矩阵乘法等内容,并会研究一些疯狂的黑箱事物,如神经网络/深度学习。
在我们继续这个系列文章的过程中,我们将更多地关注数字——这并不难——如果我能做到,那么您也能做到。:)
看看一些人工智能魔法领域
让我们来看看人工智能的一些领域,看看它们是如何工作的——请记住,这是软件工程,各位,不是哈利·波特的世界!
自然语言处理
通常被称为“NLP”,这个领域致力于理解人类语言及其组成的词语。语言可能是一件很混乱的事情,而我们拥有几种语言更是加剧了这个问题。NLP 已经被应用于许多您已经熟悉但可能不一定实际使用过的领域,或者在日常网络使用中。
一些例子是
-
情感分析
当我们看这两句话时,我们可以看到一句带有积极的语气,而另一句则是讽刺/消极的。
“谢谢你的啤酒,鲍勃,太棒了!”
与
“谢谢你的温啤酒,鲍勃,这……很特别?”
-
聊天机器人问题解析
当您与自助在线机器人互动时,幕后会有大量工作,将您说的话解析成对您请求的理解,生成合适的回复,并创建一个可操作的工作流程。这可能涉及 NLP 和基于 AI 的规划。
“请为我推荐一双鞋,搭配我下周二参加活动时要穿的带有蝴蝶印花的长款蓝色衬衫,并告诉我附近有哪家店可以试穿?”
-
在线翻译
在线翻译不仅要处理解析和翻译部分,还要识别上下文和情感,这两者都会影响翻译的有效性。
下图显示了某些 NLP 解析的幕后情况——请记住,在大多数情况下,我们会将单词转换为数字并分析这些表示——稍后会详细介绍。
像所有这些事物一样,一旦您知道了如何操作,它就会变得有意义且不难!
参考:https://stanfordnlp.github.io/CoreNLP/
面部识别(视觉)
当人工智能“看”到鲍勃时,它并不是像您和我一样看到鲍勃——一个可爱的绿色吉祥物……相反,大致会发生以下情况:
- 由于它期望人类的身体有一个中线,两侧各有两个对称的器官,人工智能首先分析图像并选择某些起始点——通常是眼睛。(见图 2,下方),同时,它会隔离面部区域,因为它只关心这个区域,并将其转换为灰度。
- 一旦有了起始点,它就会在图像周围移动,选择它期望*大致*位于眼睛附近对比度点。它通过这些点,找到嘴巴、下巴、颧骨、鼻子等,直到形成一个包含面部主要点的特定“地图”(见图 4,下方)。
- “地图”代表图像空间中的一组点,以及它们之间的距离。其他数据指标将根据图像对比度添加——这些数据可以帮助识别脸部的阴影,这些阴影通常表明阴影/凸起/曲线等……
- 收集到的“地图”数据就是未来用于二次识别某个人的依据……即:再次获取一个“地图”,然后在数据库中搜索与其最匹配的地图。
参考:https://www.eff.org/wp/law-enforcement-use-face-recognition
扫描图像并尝试识别它们可能很困难,因此,会使用许多技术来加快速度。其中一种技术是降低图像的分辨率,这样“噪声”就会减少,只有在低分辨率下匹配成功时,才会提高到更高的分辨率。下图是来自解释深度循环网络模型的流程图,其中显示了这种技术的使用——从左到右观看。
机器学习
人工智能的另一个类别是机器学习。我们都习惯于基于规则的系统;这些系统实际上由一个或多个简单或复杂的“IF THEN | BRANCH
”逻辑组成。基于规则的系统的一个缺点是它们不太容易扩展,当决策的细微之处进入混合时,它们可能会变得非常复杂。机器学习比基于规则的系统有了巨大的改进——您不必每次都制定新规则,而是需要为系统提供一个不同的选项来考虑,您需要提供新的数据,并说——“这里有一些您以前没见过的新东西,但它和 X 是一样的……”。而基于规则的系统采取“命令→动作”的方法,机器学习则采取不同的路径。其核心在于,机器学习通过获取数据,将其与(某物的)“模型”进行比较,如果模型匹配,则采取行动。
让我们来看一个例子。假设我们将“蓝莓松饼”定义为颜色浅、体积小、顶部呈圆形、带有深色点(蓝莓)混合其中(好吃,我喜欢蛋糕!)……好吧,这看起来很简单——现在,请记住松饼的描述,看看下面的图片……

所以,并没有想象中那么容易!
机器学习的类别
机器学习有三个大类:监督学习、无监督学习和强化学习,每个类别都有其特定的用途/擅长之处。
监督学习
这是最容易理解的。我们给算法提供一系列示例,并告诉它这些示例是什么。
这是一个绿色的球,这是另一个绿色的球,这是一个红色的球,这是另一个绿色的球,这是一个蓝色的球……等等。
当我们向算法呈现一个新球时,它已经有许多示例可供参考,因此可以判断“这是一个蓝色的球!”或者“哎呀,我卡住了!”也许是因为它没有见过某个特定的例子。如果它卡住了,那么您只需告诉它这个新球是什么(它是黑色的!),下次它就能识别出黑色的球以及其他球了。所以,正如包装上所说的那样,我们是在监督算法,在需要时对其进行训练。
无监督学习
这种算法经常出现在聚类识别中。这时,我们给算法大量数据,并告诉算法数据的哪些部分是有趣的(或者有时不是,我们也可以“盲目尝试”)。例如,我们可以说——这是过去五年大伦敦地区房屋购买数据的 CSV 文件,请将数据聚类成不同价格区间的房产集群。
强化学习
在最后一个领域,我们不向算法提供示例(如在监督学习中),而是为它提供一种方法,通过某种奖励指标来检查和量化其学习性能。如果我们想让算法学会玩游戏,我们可能会在游戏开始时给它 5 分,如果它做对了某事,再给它加一分(是的,我得了 6 分!!),但如果做错了,我们就会扣分(太 sad 了)。
我们将在后续文章中更深入地探讨并提供许多您可以自己尝试的示例。
混合搭配——您已经在这样做了……
就像我们在日常工程工作中将不同的技术联系起来为最终用户提供解决方案一样,在人工智能领域我们也这样做。如果我们考虑我在“我们来造个机器人”一文中提出的机器人,它能够移动并感知周围环境,这是通过组合不同的人工智能实现的。
- 面部识别——用于识别人员
- 视觉对象检测——用作导航的一部分
- 语音识别——用于将语音命令转换为逻辑指令
- 传感器数据分析——用作导航和规划的一部分
这些技术/人工智能本身很有趣且有用,但将它们串联起来,它们会呈现出更强大的力量,超越了部分之和。
看看这张来自 Standard 的图片,展示了 NLP 和图像识别的结合
参考:https://nlp.stanford.edu/projects/DeepLearningInNaturalLanguageProcessing.shtml
轻松入门——开始上手
新的 AI 系统和服务层出不穷。从应用工程的角度来看,最有趣的是那些抽象了复杂性,并使技术消费者(也就是您和我)能够尽可能无缝地利用人工智能的系统。微软在为开发人员提供优秀工具方面拥有悠久的历史,使他们能够轻松地使用复杂技术,而 Azure 云也延续了这一点。要开始使用人工智能,我总是建议大家看看认知服务——这是一个无需经过大量的学习曲线就能体验人工智能“Hello World”的简单方法。请查看下方图片中的特定链接以获取每项服务的更多详细信息。





附件/链接
两点
- 我附上了一份由微软准备的极其有用且精心制作的人工智能备忘单——它用很好的例子解释了我们到目前为止所讨论的许多内容——请下载!
- 这是一个很棒、很精彩、很惊人、超赞的***必看***的人工智能/数据科学概念可视化展示——这是一个必须经常访问的地方,才能将这些概念植入您的脑海!
接下来...
在下一篇文章中,我们将探讨
- 算法何时成为人工智能?
- 伦理在其中扮演的角色
- 如何快速开始将基本人工智能集成到您的解决方案中,让您的老板刮目相看,结交新朋友,并给敌人留下深刻印象:)
学习资料
如果您是阅读型的人,我*强烈*推荐以下短篇书籍——它们都写得非常好,清晰易懂(即使您一想到数学就发抖!)。
快速阅读/基础知识
- 书籍 - NumSense - Data science for layman。亚马逊 美国/英国/印度
- 书籍 - Machine Learning for Absolute Beginners。亚马逊 美国/英国/印度
- 书籍 - Data Smart - Learn the basics using only excel! 亚马逊 美国/英国/印度
历史
- 2018年12月31日:版本 1