热线电话:13121318867

登录
首页机器学习领域的突破性进展(附视频中字)
机器学习领域的突破性进展(附视频中字)
2017-12-20
收藏

机器学习领域的突破性进展(附视频中字)

机器学习的发展涉及到各个方面,从语音识别到智能回复。但这些系统中的“智能”实际上是如何工作的呢?还存在什么主要挑战?在本次讲座中将一一解答。

Google I/O 是由Google举行的网络开发者年会,Google I/O 2016 中围绕机器学习领域的突破性进展进行了探讨。

CDA字幕组对该视频进行了汉化,附有中文字幕的视频如下:

机器学习领域的突破性进展

针对不方便打开视频的小伙伴,CDA字幕组也贴心的整理了文字版本,如下:

大家好,欢迎来到讲座:关于机器学习的突破性进展。

我们探讨了谷歌对于 AI 的长期愿景,以及过去十年对机器学习的研究。这是十分重要的,因为所有用户都期待着奇迹发生。他们希望能与科技自然地交流,就像与人类交流一样。很明显,今天是不可能实现的,但是我们在向这个目标努力。

我认为人们常常忽略的是,谷歌不仅仅运用熟知的机器学习方法,致力于逐步改进产品。事实上我们有团队负责基础性工作。为了改善机器学习最先进的技术,他们在山景城以及世界各地工作。

接下来你将听到他们的一些工作成果。如果你也在探索复杂的事情,比如用Tensorflow工作,或者致力于机器学习模型,那么你可以通过这些演讲者的经验教训得到一些启示。如果你是开发人员,想使用我们提供在云的机器学习API,你会很好地理解到哪些好用,以及你如何将其应用到自己的产品中。希望你们能乐在其中。下面有请Francoise。

语音识别

大家好,我叫Francoise。我负责语音识别的工作。我在十年前加入谷歌。你可能很难想起,但十年前还没有iPhone和安卓系统。那时语音识别主要应用于呼叫中心,这有些烦人并不有意思。

我加入谷歌时有两个目标:

一、让语音识别变得有趣且实用;

二、让语音识别更好地服务全球用户。

如今过去了十年,安卓手机中约20%的查询都是通过语音,我们将这视为一项成功。我们刚发布了Cloud Speech API,这能让你们利用语音识别开发出更加有意思的产品。如今涵盖了80种语言、近40亿人口。

当然你可以问我,达到这个成果为何花了十年? 毕竟语音识别很简单,用一年就能实现,几年后就能进行转录。但是如果看到不同的用户和场景,当中有不同的需求、不同的说法。

下面我想播放一些语音片段,请点击下视频。

(片段一: "大堡礁的水母季在什么时候?")

(片段二: 匈牙利语)这个人在讲匈牙利语

(片段三:"大象会发出什么叫声?")

这是我们需要预想到的数据,不是么?我们想要为这些用户提供服务,无论他们是谁。我们竭尽所能,但有时候也会出错。

这是最近报告给我们的一个例子,一位用户说的是西班牙语。他想表达的是 "打电话给朋友”,但我们识别成了他想要买钢琴之类的。

再看下一个例子,你可能猜到了,我讲法语。因此我用法语来测试我的产品。我跟识别器说"发生什么了?"却得到这个结果。虽然听起来一样,但是拼写完全不一样。

随后我在韩语也遇到这种情况,如果看到这些字符串,实际上它正确识别了每个韩文字符,但是空格的地方不正确。这就很不一样了,从翻译结果就能知道。

我们犯错了,但是这可是语言识别。语音识别就是机器学习,所以我们能解决这个问题。但在我们探讨如何纠正错误之前,我想向你们展示语音识别的工作原理。

首先将语音波形图输入系统,你希望从中得出句子。

系统中有三个模型:第一个是语音模型,负责提取语音片段,尝试找出音素的分布概率以及语言中每个发音;第二个是发音模型,它从音素得出单词;第三个是语言模型,通过概率将单词连接起来。

这是一个等式,表明根据语音观测我们试图得出的最大概率的词序列。通过一些数学基础,对应不同的模型你能将其分解成三个概率。这些都在表明这是统计模型,由三个不同模型组成 ,当中的一切都是可统计的。

我想多讲讲第一个语音模型,因为几十年来我们在用一种称为高斯混和模型的技术。多年来语音识别领域都用到该技术。但在2012年,我们改为使用神经网络。这花了一些时间,因为神经网络需要时间进行训练。它很庞大,想从系统中得到正确的特点需要做很多优化工作。但最终我们完成了。

通过转为使用神经网络,准确度得到了大幅度的改善。除此以外,它重启了该领域的变革。用了基础设施我们开始创新神经网络的结构。我们使用它每个月我们都会推出新的结构,并且比过去的版本更加强大。

我们从深度神经网络过渡到LSTM(长短期记忆)递归神经网络。然后我们开始添加卷积层,这能让我们更好地处理噪音和回响。之后是CTC(connectionist temporal classification)。这个我将会仔细说明。这些类型的进步带来了质量的改善,因此在2015年对于不同的语言组,我们大大改善了准确度。

回到CTC,就像我所说的。CTC能减少语音识别器的延迟,意味着当你对识别器说话时你将更快地得到回复,这种感觉很好。有时候事情很复杂,作为谷歌中研究语音识别的团队,我们在生活中也得到了很多教训。但为了让你们从那些经验教训中获益,我需要多讲讲语音识别的原理。

正如我所说我们使用大量的数据训练模型,它们来源各不相同, 将用来训练模型。模型进入识别器,然后用识别器得出的数据,反馈回到模型。因为那些数据很匹配我们要做的事情。问题在于数据有时会出现拼写错误,各种各样的错误。数据并不干净,这会导致之前遇到的问题。

有一天,我们看到识别器输出中出现了韩语单词"keu-a”。我们并不是了解当中的原因,于是开始分析。我们发现那是小孩子的声音。人们在进行语音查询,背景出现了小孩子的声音。对于这些背景的高音识别器不知道如何处理,所以它找到重元音的单词就像"keu-a”。然后它会选出那个词,进行识别。由于之前向你们展示的反馈环路,它会反馈到系统中。如此反复。

但在我们解决这个问题之前,我们在英式英语中开始看到"kdkdkd"这个词。你们能猜到它的由来吗? 有人回答说是来自火车或地铁。所以是人们在火车和地铁上使用手机,伴随着"tick tick"的声音,然后识别器不知道如何处理。

最后一个有些说不出口,是这个词 "f*ck”。我们分析后发现是由于人们拿起手机然后讲话,会先吸气呼吸。这是吹气的声音。

我意识解决这个问题需要向系统输入更多的人类知识。因此我们投入更多语言学家和人力资源,以解决这类问题。从而对数据更好地格式化,然后正确地转录数据。我们建立了很复杂的准则,为了正确地转录数据。通过三百万注释的波形,我们可以训练语言模型,从数据中学习新的发音,增加语言模型训练集,这些都会带来改善。

通过三百万波形我们可以做很多工作,如果是三千万呢? 因此我们开始努力转录3万3千小时的人类语音,需要600人在合理时间内完成。通过这些数据我们希望实现更加复杂、更加紧密的结构。因此我们能够使用,并且实现语音识别的梦想,即让它服务到地球上的每个人。

谢谢,下面有请 Andrew。

机器学习与图像

谢谢 Francoise。大家好,我是 Andrew。

这张是机器学习常见的图,图中有一些红点和蓝点。我们尝试得出能够区分红点和蓝点的模型。当我们拿到新的输入数据,模型便可推测输入的是红点还是蓝点。

在接下来的10分钟里,我们将讲些不一样的内容。这个是我,这张照片里只有我一个人。很难仅凭这点猜测我喜欢做什么。可能我喜欢戴帽子。但是你可以收集一些特征,训练模型,从而预测我喜欢做什么。

讲讲另外一种做法。不仅仅通过这个数据,如果我把它和数据集中的相邻数据一同考虑,添加关联性。在这个例子中是加上我的孩子们。现在可以推断,也许我喜欢跟孩子们一起参加万圣节活动。

通过这种直觉,并不是独立地对数据对象分类。我们可以利用不同数据点间的关系。

谷歌有个叫做Expander的基础设施,专门完成这类任务。这是利用数据对象间关联性的平台。

举个例子,很明显我喜欢万圣节的"trick-or-treating”。那么如果我能识别出南瓜将会很有用。在谷歌我们有个很棒的图像理解系统,这是它的工作原理。输入一组带有训练标签的图像,接着它学习深度网络。这种学习能使它识别新图像,也能识别出未来的物体和图像。

现在我们给它没有标签的图像,运用模型给这些图像贴标签。你可能会问我们最开始用到的那些标签怎么样。它们不错,但不是特别好。

左边的一个图是南瓜,右边的是南瓜汤。如果你使用神经网络,学习南瓜的形状,并接收这些输入信息是很难的。

这是一个混合系统,它以图片为基础,学习关联性,从而区分正确的训练数据。并在这个基础之上,应用深度网络学习来辨识出正确的模型。

我们该怎么做呢? 我们已知这些数据对象的关系,在这些像素阵列之间,我们可以捕捉两个图形间相似点的嵌入映射。即这两个图像有多大几率包括相同的物体。

我们已知是南瓜的物体,通过这些关联线确认我们最初的判断,即物体为南瓜。当我们看到右边的图片,我们也可以做同样的操作。可以拓展两个不是南瓜的例子。通过这些图片得出结论,之前标记为南瓜汤的对象不太准确。

我们可以使用这种方法,减少训练数据里约40%的数据。这样图像分类的度量标准提高了9%。

让我们看看它的工作原理,这个是图像传播的一种等式形式。我们写一个罚函数(penalty function)得出数据中的相邻关联的效果。看到有lu-lv的部分,这指数据集中U和V 节点数据相距多远。Wuv为权重,代表它们的关联强度,然后加总整个数据集。这指具有相似信息的关联线条语句匹配度的差距。然后我试着减少这个差距。

下面的这个等式表明,如果对每个数据对象进行操作,使用相邻对象的标签更新标签,对图片中的所有数据都如此操作,如此重复。信息在图片中传递,并得出收敛到成本函数的最佳分配。以上是算法方面。

还有系统方面,构建这些系统是为了同时处理亿万量级的数据。我们想在图片上进行这样的操作,使用这些技术我们开发了相应的工具。

另外两个例子。比如短信智能回复。这个图片里的顶点是你可能会发送回复。线条代表相似信息,即这些回复可用于相似语境。或者是词汇式相似,即词语相同。或者词语嵌入为基础的相似。

有这张图之后我们就可以运行扩展器来生成簇。这将返回相同意思的相似词组。还可以针对特定用户,根据语境选出合适选项,对于不同簇的理解,可以确保我们提供多样的选择。因此我们并不是选择三种方式表达相同的意思。

这在英语中运用得很好,我们也可以在其他语言中做相同操作。比如专门用于问候的回复。在英语中我可能会说 "Hi!""How's things?" "What's up?”,这些句子之间有关联。

在法语中我可能会说"Ca Va?" "Salut!”,我可以用谷歌翻译的模型构建法语变量和英语变量间的关联。

我们能够在其他语言中构建智能回复功能的数据结构,比如葡萄牙语、印度尼西亚语、西班牙语,甚至是印度英语中。

再举个例子,搜索查询。我很喜欢万圣节"trick-or-treating”。我想给我的孩子讲一些万圣节的故事,于是我向谷歌问一些问题,希望谷歌能够返回直接回答我问题的文字。

这里是一张图片,其各个顶点代表查询需求。线条则表示两个查询能够以相同的信息回复。实线是我确定的内容,虚线则是不太确定的内容。完成之后,我们就可以自动解答亿万条搜索查询中语义相等的问题了。

我们在图片中使用机器学习来理解自然语言、搜索查询、图像和其他媒体对象。你们可能还听过照片回复,即用图像回复,这是用的相同的技术。我们可以使用相同的技巧生成简要的模型,并实际应用在安卓产品设备上。


数据分析咨询请扫描二维码

上一篇
下一篇
最新资讯
更多
客服在线
立即咨询