科普乐园不要对机器学习Machin

谈到机器学习(MachineLearning),互联网时代的每个人都应该知道一些广泛的概念和术语。在日常生活,工作学习,休闲旅游,我们无时无刻不在体验“机器学习”这门技术给我们带来的改变。也不曾一次的看到或听到关于机器学习的信息。因此我们应该了解什么是机器学习?它在哪里被使用?所谓的算法是什么?以及存在的哪些类型的机器学习?

机器学习术语

以下是一些重要的机器学习专业术语的定义,当你听到其他人高谈阔论的时候,不必感到迷茫,当然,这里只是简单列出,让你有一个初步印象,如果你感兴趣,可以上机器学习的网站去更深入的学习。

机器学习:人工智能的一个领域,专注于创建算法、模型和系统来执行任务,并且通常在没有明确编程的情况下改进自己来执行该任务。

人工智能(AI):计算机科学的一个领域,专注于为计算机配备复制或受人类智能启发的技能或能力。

算法:运行处理数据并产生输出的数学过程。针对不同的机器学习问题有不同类型的算法。

语料库:书面文本的集合。

实体:独特的、单一的、定义明确的和可区分的事物或概念。你可以粗略地把它想象成一个东西或者说名词,尽管它比这更广泛一些。比如特定的某一种颜色可以是一个实体。它是唯一的和奇异的,因为没有其他任何东西与它完全相似,它是明确定义的(想想你在画图取色时遇到的颜色十六进制Hex代码,如,A52A2A代表棕色),此时它是可区分的,因为你可以将它与任何其他颜色区分开来。

模型:模型经常与算法混淆。区别其实也的确很模糊(除非你是机器学习工程师)。本质上,不同之处在于,算法只是一个产生输出值的公式,而模型是该算法在针对特定任务进行训练后产生的结果的表示。因此,当我们说“BERT模型”时,我们指的是已经为特定NLP任务训练的BERT(哪个任务和模型大小将决定哪个特定BERT模型)。

自然语言处理(NLP):描述处理基于语言的信息以完成任务的工作领域。

神经网络:一种模型架构,从大脑中获取灵感,包括一个输入层(信号进入的地方,对照人来讲,你可以类比为末梢神经发送到大脑的信号)),一些隐藏层(提供许多不同的路径,可以调整输入以产生输出)和输出层。信号进入,测试多个不同的“路径”以产生输出层,并通过编程改进隐藏层,使其产生更好的输出。

人工智能与机器学习:有什么区别?

我们经常听到人工智能和机器学习这两个词,并毫无意识地互换使用。但其实它们并不完全相同。人工智能是使机器模仿智能的领域,而机器学习是追求无需为任务明确编程即可学习的系统。也就是说人工只能比机器学习的定义范围更广,机器学习只是人工只能的一种具体实现方式。可以通过下图理解:

机器学习用在哪?

一个最主要的用途是搜索引擎的使用。不管是国内的百度,还是国外的Google或Bing,甚至我们购物用的天猫或京东,都在以一种或多种方式使用机器学习,合适的核心算法和程序也直接影响到搜索的准确度和以及用户对搜索结果的满意程度。

除此之外,我们也可以思考:

在广告中,是什么驱动了自动出价策略和广告自动化背后的系统?

在新闻中,系统如何知道对新闻进行归类分组?

在图像中,系统如何识别特定对象和对象类型?

在电子邮件中,系统如何过滤垃圾邮件?

在翻译中,系统如何处理学习新的单词和短语?如何更人性化的翻译长文

在视频中,系统如何知道接下来要推荐哪些视频?

……

你会发现,所有这些问题,都有相同的答案:机器学习。

机器学习算法和模型的类型

现在让我们来简单聊聊机器学习算法和模型的两个监督级别——监督学习和非监督学习。

-监督学习

通过监督学习,算法可以获得完全标记的训练和测试数据。这就是说,通过标记成千上万个已知事例,来训练基于可靠数据的模型。例如,在x张穿红衬衫的人的照片中标记红衬衫。从而训练系统找到这些标记的共同特征,并学习到“满足这一共同特征的就是红衬衫”。

监督学习在分类和回归问题中很有用。分类问题相当简单。确定某物是否属于某个组。

-无监督学习

在无监督学习中,系统被赋予一组未标记的数据,并让系统自行决定如何处理它。由于没有指定最终目标。所以系统可以将相似的项目聚集在一起,寻找异常值,从而找到相互关系等。就比如上面的红衬衫的例子,你可以把这x张照片直接给系统处理,它们,他们自己也会发现这些照片中红衬衫的共同点并聚类,只不过他们不知道那叫作“红衬衫”而已,这需要你来告诉它。

通常,当您拥有大量数据并且你无法或不知道应该如何使用它时,就可以使用无监督学习。

机器学习的几个算法示例

说到算法,每一种算法的提出和完善都可以作为学术论文撰写或者进行计算机顶会的报告。这里,作为基础科普性的介绍,我不打算写过于复杂的学术语言,而是希望用简单的示例帮助你了解算法,以及不同算法之间存在差别是怎么回事。鉴于Google是当今世界走在机器学习领域的前列选手,这里选择其开发和应用的一些算法作为示例。

-RankBrain

RankBrain算法于年推出,应用于谷歌搜索引擎。RankBrain帮助Google将搜索对象从文字信息扩展到事物(实体)。比如说对于兰州拉面,在此算法推出之前,兰州和拉面是两个独立的名词,即便我们写兰州拉面,系统会去寻找兰州和拉面的交集作为输出结果。但在RankBrain之后,他们将兰州拉面视为一个实体——也许是机器ID(lzlm)——因此,即使只要点击“拉面”这个词,通过查询上下文,他们也会将其视为兰州拉面。也就是说,系统“看到”的不仅仅是一个个孤立的关键字,而是像我们大脑所做的。毕竟,当你看到“我桌子上的故事书”时,脑子里反映的那样一个场景,而非去分别理解“我”是什么,“桌子”是什么,还有“故事书”是什么。

简而言之,RankBrain算法将处理的信号关联到有意义事物而不是孤立的关键字,更贴近我们大脑的思考方式。

-BERT(来自转换器的双向编码器表示)

自年,谷歌的将BERT模型引入算法,谷歌从对概念的单向理解转变为双向理解。开源的BERT模型如下图所示:

三种模型的方式比较

我们无需详细了解令牌和转换器在机器学习中的工作方式,我们只需查看三个图像中的箭头,并考虑在BERT版本中,每条语句如何从其它语句中获取信息就足够了。以前,模型只能从一个方向的去了解各语句,现在它们可以基于两个方向的语句获得上下文综合理解。

一个简单的例子可能是“汽车是红色的”。因为系统先读取汽车,然后再读取红色的,因为信息无法反方向反馈,所以红色并没有与汽车相关联。只有在应用BERT之后,读取汽车时,可以朝两个方向关联,从而可以正确的获取“汽车是红色的”这一信息。

-LaMDA

LaMDA是google在年5月的GoogleI/O上首次宣布的算法模型。它是一种会话语言模型,其重点主要有两方面:

1.提高谈话的合理性和个性化。也就是为了确保聊天中的回复是合理且具体的(不那么宽泛而空洞)。例如,对于大多数问题,“我不知道”的回答是合理的,但并没什么具体意义。另一方面,对于“你好吗?”之类的问题。如果回答“我喜欢下雨天吃麻辣牛肉拉面,喝着雪碧。”,这非常具体但又牛头不对马嘴。

2.当我们交流时,很少是像机器人一样,直奔主题,一蹴而就的。即使是关于单个主题(例如,“为什么我的流量本周下降了?”),我们也会在讨论中掺杂不同的主题(比如从“某某流量明星很火啊”,到“某某某明星整容没”)会进去。而对于使用过聊天机器人的人都知道他们在这些情况下应对都非常糟糕。一旦话题跑偏,他们是回不去(他们并不能把数句话之前的主要讨论的信息重新拾起)。

而LaMDA则致力于解决了这两个问题。它的适应能力远远好于人们对聊天机器人的期望。

-MUM

MUM也是在年5月的GoogleI/O上宣布的。虽然它具有革命性,但描述起来却很简单。MUM代表多任务统一模型,它是多模式的。这意味着它能够“理解”不同的内容格式,如文本、图像、视频等。这使它能够从多种模式中获取信息并做出响应。所谓的MUM,其实就是Multimedia的简写。

此外,由于MUM在事物中而不是字符串中起作用,因此它可以跨语言收集信息,然后以用户自己的方式提供答案。这为改进信息访问方式打开了大门。Google使用的示例是一位想要攀登富士山的徒步旅行者。旅游的攻略可能是用日语编写的,用户完全无法使用,因为即使他们可以翻译,他们也不知道如何显示它,就比如现在给你一句日文话,尽管你有百度翻译,但你没法输入到你电脑里啊。

MUM的一个重要说明是模型不仅可以理解内容,而且可以生成内容。因此,除了被动地向用户发送结果,它本身也可以自动从多个信息来源收集数据并提供反馈(页面、语音等)。

当然,对于关心隐私的人,这一功能还是存在巨大争议的。

写在最后

希望这可以为你提供一个对机器学习基本的了解。我未来的文章将依旧会


转载请注明:http://www.aierlanlan.com/grrz/4729.html