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

 

目录

介绍

那么,究竟什么是人工智能?

这一切都归结为数字......

看看一些AI 魔法领域

自然语言处理

情绪分析

聊天机器人问题解析

在线翻译

面部识别(视觉)

机器学习

机器学习类别

监督学习

无监督学习

强化学习

混合匹配——你已经这样做了......


介绍

我不了解你,我从未对主流媒体使用人工智能(AI)一词感到满意,而无处不在的销售和营销人员最近开始到处乱用人工智能(AI)一词的方式,只会增加我对这一切的普遍焦虑。当我们谈论人工智能时,对许多人来说,这让人联想到杀手机器人,一个反乌托邦的未来,被大公司所奴役(咕噜,这一点已经存在了吗?!!)。除此之外,人们普遍存在一种误解,即您需要是博士才能使用这些技术,更不用说了解它们。对于以上所有,我只是说 – 胡说八道好先生!胡说八道

https://www.codeproject.com/KB/AI/1273041/Balderdash.png

我最近深入了解人工智能领域,让我自己(再次)参与了一些大学的研究。从工程学的角度来看,没有严肃的数学背景,这一领域对于像我这样的人来说是多么的容易接近,每天处理应用技术解决方案是非常令人鼓舞的。这是我打算就这个主题撰写的一系列文章中的第一篇,简要介绍。目的是建立不同AI领域的知识,并提供足够的背景知识,使您能够理解事物的工作方式,以及如何在实际层面上实现它们。如果你对基础有一个合理的把握,你没有理由不能快速到达这个位置:

  • 知道如何使用AI解决方案解决不同的工程问题
  • 确定哪种类型的AI最适合给定的问题(这里有一些很棒的备忘单!)
  • 知道要使用哪些库,以及需要将哪些库链接在一起以构建可靠的专业解决方案。

在我们陷入困境之前,让我们在人工智能中划清界线......我们现在拥有的人工智能类型,我们必须承认一些精彩(但有限)的事情,被称为“ 狭窄的人工智能 ”。这意味着它能够在一个特定领域做得非常好,可能比人类更好更快,但这就是它开始的地方,以及它停止的地方。

https://www.codeproject.com/KB/AI/1273041/Overlords.jpg

我们今天拥有的人工智能并不是一个无所不知的霸主,它意图统治世界,很多人会让我们相信,除非你在一个不以知识为基础的行业工作,否则你的工作目前是相当安全的(更多的是在以后)

当我们想要提到一个非常可怕的无所不知的霸王时,我们正在讨论一种不同类型的人工智能——这种类型是通用人工智能 ',根据我们这个小星球上一些最优秀的人才的看法,我们还有相当长的路要走

那么,究竟什么人工智能?

人工智能(AI)是计算机科学中有关设计智能计算机系统的一部分,也就是说,显示出我们在人类行为中与智能相关联的特征的系统——理解语言、学习、推理、解决问题等等。 BarrFeigenbaum1981

AI包含许多子领域,一些广泛的、有深度和高度专业化的。把它放在上下文中,你可以说机器学习是人工智能,微积分是数学。

AI中的一些不同领域如下:

  • 机器学习
  • 神经网络
  • 进化计算
     
  • 视觉
  • 机器人/物联网
  • 专家系统
     
  • 语音处理
  • 自然语言处理
  • 规划

像大多数科学领域一样,既有理论领域,也有应用领域。理论试图检验和识别关于知识表示、学习、规则系统、搜索等的思想,解释各种各样的真实智能。另一方面,应用工程的重点是在自然语言处理、规则和决策系统、搜索等领域使用AI技术解决现实世界的问题。

我认为,就像我自己一样,本网站的大多数读者将更多地关注AI的实际应用方面,而不是理论方面。现在就是这样的事情......对于今天作为AI工程师你想要做的大部分事情,大部分理论部分已经由boffins解决了——这真的是你在该领域取得成功的关键。您不需要博士学位来实现AI解决方案,但是像任何工程问题一样,您需要了解足够的知识以了解应该使用哪些工具来解决什么类型的问题,以及如何使用这些工具。

作为开发人员,当我们做正常的基础工作时,我们会经历一个分析、设计、构建、测试和部署的过程。将AI系统组合在一起是完全相同的——只使用我们可能还不熟悉的工具。当我们将数据发送到打印机,挂钩到Web服务,编写移动应用程序,我们使用API——在AI中,我们做同样的事情...... 把它想象成你已经习惯了的,就像它是一个不同的终点一样!

这一切都归结为数字......

我们在人工智能中所做的一切都是用数学完成的,但是*不要惊慌!! * ......即使你(几乎)在学校的数学101考试中不及格,作为开发人员,你仍然可以使用预建的库/API /等。由擅长这种东西的人提供。实际上,你并不需要了解CPU或内存分配如何编写非常复杂的东西 ——实际上,我们大多数人每天都在不考虑它的情况下这样做事。以同样的方式,抽象越来越好,消除了人工智能的复杂性和细节,让像我们这样的凡人工程师使用算法,就像我们年轻时的哈利波特一样!

我们来举个例子......

Tania去了网上商店,并在一段时间内购买了10本书。其中八本书是关于历史乐器(利基,我知道!),另外两本是关于烹饪的。Abhishek在同一家网上商店购物。他购买了两本关于历史乐器的书,还有一本关于古代烹饪的书。下一次Tania访问商店,猜猜是什么,我们推荐Abhishek以前购买的那本关于烹饪的书——原因很简单,这两个顾客之间的交叉(内部连接?!)是烹饪和乐器——因此我们可以很好地猜测Tania也会喜欢有关古代/历史预订技巧的书籍。我们这样做的方式是创建一个模型(将其视为剪切模板),当我们获得新数据时,我们看到它是否适合模型,如果不完全适合,那么它的适合程度如何?如果它在预定义参数的某个限度内,那么我们可以根据数据与模型/模板的接近程度来预测准确性。

通常,我们将字母转换为数字并将其用于我们的计算。我将在另一篇文章中详细介绍其中的更多原因。

另一个例子 ...

如果我们出售房产,并列出房产价格和之前售出的房产的楼面面积,我们可以很好地猜测(1)购买某一楼面面积的房产需要多少钱( 2)则相反,您将期望用一笔钱获得多少楼面面积。

让我们看一下楼面面积vs价格的清单——它们非常基本:

https://www.codeproject.com/KB/AI/1273041/FloorSpaceGrid.png

如果我们绘制这些图表,我们可以看到一个趋势——显然在这个简单的例子中,房产中的楼面面积越大,价格越高。

https://www.codeproject.com/KB/AI/1273041/FloorSpaceChart.png

我们可以添加趋势线来更清楚地看到这一点....

https://www.codeproject.com/KB/AI/1273041/FloorSpaceChart1.png

现在为了演示我们如何进行预测,让我们覆盖另一条线(绿色)....

https://www.codeproject.com/KB/AI/1273041/FloorSpaceChart2.png

如果我们拥有大约1250个建筑面积的房产,我们可以合理地预计它将在市场上获得27,000个房产。另一方面,我们可以说,如果我们的手中有27,000个,我们可以用它来购买1250个占地面积。在视觉上,这很容易看出——在引擎盖下,使用机器学习算法,我们可以通过在X / Y轴上使用元素之间的距离测量来实现它。当然,这是一个非常简单的例子——现在想象一下这可能如何适用于图片中的多个变量和元素....房产的位置,房间数量,附近学校的数量等等。这就是我们参与矩阵乘法的地方,并会看到像神经网络/深度学习这样疯狂的黑盒子。

随着我们在这一系列文章中的进展,我们将更多关注数字——这并不困难——如果我能做到,那么你也可以。:)

看看一些AI 魔法领域

让我们来看看人工智能的一些领域,看看它们是如何工作的——记住,这是软件工程,不是哈利波特的乐园!

自然语言处理

这个领域通常被称为“NLP”,旨在通过人类语言和构成语言的词语来理解。语言可能是一件混乱的事情,事实上我们有很多东西只会使问题复杂化。NLP用于您已经熟悉的许多领域,如果不是在实践中,那么就在网络上的日常使用中。

一些例子是:

  • 情绪分析

当我们看这两个句子时,我们可以看到一个是积极情绪,而另一个是讽刺/负面的:

谢谢啤酒鲍勃,真棒!

谢谢温暖的啤酒鲍勃,它......不同?

  • 聊天机器人问题解析

当您与自助服务在线机器人进行交互时,会在幕后进行大量工作,将您所说的内容解析为对您的请求的理解,生成合适的响应以及创建可操作的工作流程。这可能涉及基于NLPAI的规划。

你能建议我穿一双鞋子配一件蓝色蝴蝶图案的长衫吗?请告诉我下星期二我要去哪家商店试穿?

  • 在线翻译

在线翻译不仅需要处理解析和翻译部分,还要识别上下文和情绪,这两者都会对有效翻译产生影响。

下面的两张图片显示了一些NLP解析后发生的事情的例子——请记住,在大多数情况下,我们将单词转换为数字并分析这些表示——稍后会详细介绍。

像所有这些事情一样,这是有道理的,一旦你知道怎么做就不难了!

https://www.codeproject.com/KB/AI/1273041/BobBookCollector.jpeg

https://www.codeproject.com/KB/AI/1273041/Xi-Jinping.png

参考:https://stanfordnlp.github.io/CoreNLP/

面部识别(视觉)

当人工智能(AI)“看着鲍勃时,它并没有像你我看到的那样——一个令人愉快的绿色吉祥物......相反,以下(大致)情况会发生:

  • 因为它期望人类的每样东西中的一个都在中间,每样东西的两个都在旁边,因此AI首先分析图像并选择特定的起点——通常是眼睛。(img2,下面),同时将面部区域隔离开,就像它所关心的那样,并将其转换为灰度。
  • 一旦它有一个起始点,它就会在图像周围运行,在与眼睛相关的近似位置中挑选出预期相差*或多或少*的对比点。它通过这些点,找到嘴巴、下巴、颧骨、鼻子等,直到它有一个在脸上的主要点的特定地图img4,下面)
  • 地图表示图像空间中的一组点以及它们之间的距离。其他数据指标将根据图像对比度添加——这些cna有助于识别面部相对对比度的阴影,通常表示阴影/凸起点/曲线等。
  • 地图收集的数据是将来用于第二次识别人物的数据...即:再次获取地图,然后在数据库中搜索与其最接近的匹配。

https://www.codeproject.com/KB/AI/1273041/face-off-1_1.png

参考: https://www.eff.org/wp/law-enforcement-use-face-recognition

扫描图像并尝试识别它们可能很困难,因此,使用了许多技术

加快速度。例如,其中之一就是降低图像的分辨率,以便减少噪点,只有在较低分辨率下获得匹配时才会移动到更高的分辨率。下面的图片是从解释深度循环网络模型的流程图中剪切出来的,显示了这种技术的使用——从左到右看。

https://www.codeproject.com/KB/AI/1273041/DeepRecurrentModel.png

参考: https://sites.wp.odu.edu/VisionLab/research/generalized-object-recognition-using-deep-recurrent-models/

机器学习

AI中的另一个类别是机器学习。我们都习惯于基于规则的系统这些实际上由一个或多个简单或复杂IF THEN | BRANCH的逻辑组成。关于基于规则的系统的一个问题是它们不能很好地扩展,并且当决策的细微差别进入混合时会变得非常复杂。机器学习是对基于规则的系统的巨大改进——而不是每次都必须制定新的规则,你需要为系统提供不同的选择,你给它新的数据,然后说——这是新的东西你以前没见过,但它和X一样......“。而基于规则的系统采用命令 -> 行动的方法,机器学习采用不同的路线。在它的核心,机器通过获取数据,将其与模型(某物)进行比较来工作,如果模型匹配,则需要采取行动。

我们来看一个例子。比方说,我们将'蓝莓松饼'定义为浅色、小而圆的松饼,上面有黑色的小块(蓝莓)混合在一起(呃呃,我喜欢蛋糕!!....好吧,这似乎很容易——现在记住松饼的描述,看下面的图片......

https://www.codeproject.com/KB/AI/1273041/PuppyOrMuffin.jpg

所以,并不像人们想象的那么容易!

机器学习类别

机器学习有三大类。分别是有监督的学习、无监督学习和强化学习,每个都有它们擅长的地方/事物。

监督学习

这是最容易理解的。我们给算法提供了一系列示例并说明了示例。

这是一个绿球,这是另一个绿球,这是一个红球,这是另一个绿球,这是一个蓝色的球,......等。

当我们用一个新球来呈现算法时,它已经有很多例子可以参考,因此可以说'它是一个蓝色的球!',或者糟透了,我很难过!” 也许它没有看到一个特定的例子。如果它被难倒,那么你只需告诉它这个新球是什么(它是黑色的!),下一次,它将能够识别黑球以及其他球。正如上面所说,我们正在监控算法,在需要的时候训练它。

无监督学习

在群集识别中经常可以看到这种算法。这是我们为算法提供大量数据的地方,我们告诉算法数据的哪些部分是有趣的(或者有时不是,我们也可以玩盲。例如,我们可能会说 ——这里是过去五年中伦敦大区的住房购买数据的一个大的CSV文件,将数据集中到具有一定价格范围内的房地产集群的地区。

强化学习

在最后一个领域,我们不是为算法提供示例(如在监督学习中),而是为它提供一种方法,它可以通过给出某种奖励指标来检查和量化自己在学习中的表现。如果我们想让算法学习如何玩游戏,我们可以通过给它5分来开始游戏,如果它做了正确的事情,给它另一点(是的,我给6!!,但是它错了,我们扣除积分(多么悲伤)

我们将更深入地研究,并在后面的文章中查看许多您可以与自己一起使用的示例。

混合匹配——你已经这样做了......

正如我们将不同的技术连接在一起,在我们正常的工程工作中提供最终用户解决方案一样,,我们在AI中执行相同的操作。如果我们考虑一下我在Lets build a robot一文中提出的机器人,它会四处移动,并使用不同的自动识别系统(AIS)来感知其环境:

  • 面部识别——用于识别人
  • 视觉对象检测——用作导航的一部分
  • 语音识别——用于将语音命令转换为逻辑指令
  • 传感器数据分析——用作导航和规划的一部分

就他们自己而言,这些技术/ AI是有趣且有用的,然而,它们联合在一起,它们提供的功能更强大,而不是其各个部分的总和。

从“标准”中查看此图像,以便在图像识别旁边看到NLP

https://www.codeproject.com/KB/AI/1273041/ImageAndNLP.png

参考:https://nlp.stanford.edu/projects/DeepLearningInNaturalLanguageProcessing.shtml

轻松访问——入门

有新的AI系统和服务一直在出现。从应用工程的角度来看,最有趣的是那些抽象出复杂性的人,并让技术消费者(就是你和我)能够以尽可能无摩擦的方式利用所讨论的AI的能力。Microsoft长期以来一直为开发人员提供出色的工具,使他们能够以简单的方式使用复杂的技术,并且这在Azure云中仍在继续。为了开始使用人工智能,我总是建议人们去看看认知服务——这是一种简单的方法,可以让你自己动手,而无需进行大规模的学习,即可进入AI'Hello World '。查看下面图片的具体链接,了解每个图片的更多详细信息:

https://www.codeproject.com/KB/AI/1273041/CogServices_Vision.png

https://www.codeproject.com/KB/AI/1273041/CogServices_Knowledge.png

https://www.codeproject.com/KB/AI/1273041/CogServices_Speech.png

https://www.codeproject.com/KB/AI/1273041/CogServices_Search.png

https://www.codeproject.com/KB/AI/1273041/CogServices_Language.png

 

原文地址:https://www.codeproject.com/Articles/1273041/Artificial-Intelligence-is-an-engineering-problem

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值