前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >编程运动——无监督深度学习网络

编程运动——无监督深度学习网络

作者头像
zaking
修改2018-05-22 12:22:26
9944
修改2018-05-22 12:22:26
举报
文章被收录于专栏:zaking'szaking's

几个月前,我们开始讨论有关深度学习以及它在自然语言方面的一些相关问题。但是,在过去的几个月里,由于读者的一些其他要求,我们似乎有些跑题了。从本月起,我们会再度探索有关深度学习方面的相关知识。在之前的专栏中,我们讨论了如何使用监督学习技术来训练神经网络。这些学习技术需要依赖大量的标记数据。鉴于当今最先进的神经网络的结构之复杂,层次之深,我们需要大量的数据,以便我们能够训练这些深度神经网络而不会使其过度拟合。但是,我们想要获取带标签的注释数据并不容易。举个栗子,在图像识别任务中,我们需要将特定的图像片段绑定在一起以识别人脸或动物。标记数百万张图片需要付出相当大的人力。另一方面,如果我们使用的标记数据较少,那么测试数据的性能就会过度拟合从而表现不佳。这就导致了一个在许多情况中都会遇到的问题(深度学习是一种理想的解决方案)——由于缺乏大量的标记数据而没有得到解决。那么我们是否有可能建立基于无监督学习技术的深度学习系统?

在上个月的专栏中,我们讨论了词嵌入,它与段落和文档嵌入一起被广泛用作于各种自然语言任务的输入处理上。事实上,它们被用于许多基于深度学习的文本处理系统的输入表示上。如果你已经读过这篇word2vec论文https://papers.nips.cc/paper/5021-distributed-representations-of-words-and-phrases-and-their-compositionality.pdf。你会发现文中描述的神经网络的训练方法并没有使用标记数据。word2vec神经网络不是一个深度神经网络。它只有三个层次 - 输入层,隐藏层和输出层。就像用监督学习技术来训练神经网络一样,它使用反向传播来训练神经网络的权重。那么,问题是为什么我们将节点的权重初始化为随机权重而不是初始化为零?

在监督学习的环境配置中,我们使用了标记数据,它为给定的输入提供了一个预期(意料中)的输出。预期输出与实际输出之间的差异的产生是由输出层的误差项所引起的。正如我们在前面讨论反向传播时所看到的那样,这个误差项被反向传播到其权重已经被这些误差项确定了的较早层的节点。反向传播背后的关键思想是每个节点的权重调整与它对下一层节点的误差项的贡献成比例,第一个节点的输出作为其输入。为了使反向传播正常工作,我们需要知道每个输出层节点的给定输入的期望输出是什么。然后,这些期望的输出可以被反向传播到隐藏层的神经元。那么问题来了 - 在word2vec论文中,神经网络的训练中给定输入的期望输出是什么?

答案其实很简单。用于训练的预期输出就是输入本身。如果您思考过word2vec中所描述的连续词袋模型的最简单的变体—每个上下文只有一个词,任务是去预测目标词在给定一个词的上下文中是什么。如果我们假设上下文语境和目标词是相邻的,那么这就减少为双重模型,并且我们需要预测在连续移动的语料库窗口中给出词的后续词。除输入语料库本身外,此任务不需要明确标记的数据。因此,word2vec是训练神经网络的一个很好的例子,它可以扩展到大量的数据,但却不需要明确的标记数据。

到目前为止,你可能在想,用神经网络进行无监督学习的需要是什么?毕竟,监督学习已经证明了自己在神经网络上是相当成功的。如前所述,在许多情况下,由于缺乏标签数据,我们无法应用深度学习技术。另一个更重要的原因是无监督神经网络技术的吸引力在于它们似乎更接近人类发展他们的知识和感知世界的方式。例如,当孩子们了解他们周围的世界时,他们并没有被明确地提供标签数据。此外,更重要的是,似乎有一种人类大脑遵循的分层学习方法。它是一种代表抽象概念的能力,它是建立在更高的概念基础之上的。如果人类有能力从无人监督的学习技术中获得大量知识,那么我们如何在人工神经网络中运用类似的技术进行深度学习呢?这就要求我们从人工神经网络向人类认知做一个简短的介绍。

一个在人类认知过程中进行过很多争论的问题是“地方主义”与“分布式表征”。地方主义意味着一个或几个有限数量的神经元被用来代表大脑中的一个特定概念。另一方面,在分布式表示法中,用分布在大脑中不同地方的大量神经元来表示一个概念,并且每个神经元可能参与多个概念的表示。换句话说,尽管在地方主义代表中,有可能将单个神经元的行为解释为与特定概念或特征相对应,但在分布式表示中,不可能将单个神经元的活动归入到一个单独的神经元,因为它的行为依赖于许多其他神经元的活动。在地方主义方法中有一个极端的观点被称为“祖母细胞”。那么是否存在只与单一概念相关的神经元?例如,如果“祖母”是人脑中的一个概念,是否有那么一个神经元在认识到这个概念时被触动?那么,如果这个问题得到了一个肯定的答复,这等于变相支持了地方主义的观点。关于祖母细胞是否存在的争论一直十分激烈。过去已经有一些实验表明祖母细胞的存在(http://tandfonline.com/doi/full/10.1080/23273798.2016.1267782)。但最近的研究表明,祖母细胞的存在缺乏足够的证据。早期的实验表明,某些特定的神经元只有在识别到一个特定的概念时才会被激发,比如“祖母”或者流行的人格如詹妮弗安妮斯顿( https://www.newscientist.com/article/dn7567-why-your-brain-has-a-jennifer-aniston-cell/)。但是现在我们发现,可以考虑用不同的角度去解释这些实验的结果。一种极有可能的观点是,人脑中存在稀疏的神经元编码。稀疏神经元编码意味着只有相对少量的神经元被用来表示一个概念的不同特征。例如,让我们考虑具有1000 x 1000像素的图像。在百万像素中,只有一部分神经元用于编码水平线条,其它一些用于编码垂直线条等等。事实上,每个子概念或子特征都是由一组有选择性的,有限的神​​经元组成的。这意味着,在每百万像素中,每个图像只有少数几个被激活,使我们能够识别大量的图像。因此,稀疏编码为祖母细胞实验提供了另一种解释。当你看到你的祖母的图像时,有一些选择性神经元正在编码这个概念,因此,它们是被激活的。这些神经元也可能参与表示其他各种概念。所以稀疏编码的概念并没有排除人脑中知识表达的分布式表示方式。

到现在为止,你可能会想,虽然人脑很有趣,但它与深度学习和人工神经网络有什么关系?嗯,这很重要,因为人类视觉识别和感知是最好的自然神经网络之一,而深度学习的终极目标就是弄清楚怎样设计出能够匹配甚至超越人类认知能力的深度学习网络。这就让我们回到了如何设计高效的无监督深度学习网络的问题上。例如,如果我们只能将未标记的YouTube视频数据提供给深度神经网络,并允许它以无监督的方式从视频中学习,那么神经网络可以学习到什么?例如,给定一个多层神经网络来完成这个任务,我们能否将某些节点的活动解释为识别颜色变化,某些节点识别水平线或某些节点识别垂直线?以上问题的答案是肯定的!有一种叫做自动编码器的神经网络,用于无监督的深度学习。自动编码器使用反向传播学习网络的权重,其中期望的输出被设置为与输入相同。我们将在下一栏中讨论更多关于自动编码器的内容。另外,如果您想知道更多有关自动编码器在没有任何监督的情况下从YouTube视频中学习知识的实验,下面是描述这一点的论文:https://arxiv.org/abs/1112.6209.

如果您有任何您想要在本论坛上讨论的编程或软件的相关问题,请与您的解决方案或反馈一并发送给我,地址是sandyasm@yahoo.com。最后,在下次见面的这一个月里,祝我所有的读者生活幸福、工作顺利。

原文地址:https://opensourceforu.com/2017/12/codesport-april-2017/

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档