语义表示——神经网络与深度学习

语义鸿沟是人工智能的挑战之一。

底层特征 VS 高层语义

人们对文本、图像的理解无法从字符串或者图像的底层特征直接获得。

底层特征和高层语义之间建立直接的映射十分困难。

例如对于一张简单的照片,我们拿到最底层的特征——图像的像素,比如一些红色、蓝色的像素,将这些底层特征和高层语义建立关系其实是非常难的,也就是说想建立一个直接的映射非常困难;例如一张情侣照片,人眼很容易根据图片的信息判断是情侣关系,但是从底层特征中是看不到的,特别是照片中含有很多噪声(不重要的背景信息),这对模型的预测会产生很多干扰,所以我们需要从底层的特征中抽取出蕴含高层语义的特征; 例如对于文本信息,我们接收到的底层特征是一个个的字,但是组合到一起的,我们知道这是一首诗且表达思乡的情绪,这些通过表面的字符是没办法简单得到的。

所以我们需要从这些底层特征中构造出一些表示,这些表示蕴含高层的语义特征。

“好的表示”是一个非常主观的概念,没有一个明确的标准,但一般而言,好的表示具有以下几个优点:

1、应该具有很强的表示能力,同样的一个空间能表示更多的语义; 

2、应该使后续的学习任务变得简单,用一个简单的模型就能完成任务,而不用涉及复杂分类器;

3、应该具有一般性,也就是说不能在这些数据上好,另外一些数据差。

数据表示是机器学习的核心问题。

表示形式:如何在计算机中表示语义?

局部表示 VS 分布式表示

表示可以简单的理解为代表某些数据的向量,如用向量 v=[2,3,4,5] 表示“语言”这个单词。虽然这是事实,但在更概念化的层面上去理解表示会增强对深度学习的有效性的理解。 

局部表示非常容易理解,假设有一大堆“内存单元”来存储有关形状的信息。这时可以选择用单个存储单元来表示每个单独的形状,比如圆形=[1,0,0],正方形=[0,1,0],三角形=[0,0,1],如果此时形状的数量再增加一个长方形,那就需要再增加一个维数,如果增加多个,那就增加相同的维数,多桑讴歌形状用多少个向量,这显然大大增加了内存空间的占用,效率非常低下,表示能力非常差,它没有给出关于这些形状之间如何相互关联的任何信息。而这是分布式表示真正的价值所在:它有通过概念来发现数据之间“语义相似性”的能力。

分布式表示的概念是深度学习的核心,特别是在它用于自然语言任务时。

语义表示——神经网络与深度学习_第1张图片

如图同一组形状的分布式表示。它用与方向和形状概念相关的多个“记忆单元”表示形状的信息。“记忆单元”含有关于每个形状以及形状之间如何相互关联的信息。当通过分布式表示法(例如图3中的圆圈)来表示一个新形状时,我们不会再增加维度。而且即使我们之前没有见过圆,我们也知道关于圆的一些信息,因为它与其他形状有关。

分布式有点表示类似于二进制,对于一个二维空间,空间中的每个点都可以代表语义,N维向量有k个非0的取值维度,每个维度可以表示两个语义,两个维度可以代表四种语义....k维可以代表2的k次方个语义,而局部表示中k维智能表示k个语义。

神经网络能学习到分布式数据表示的能力是深度学习能对于许多不同类型的问题非常有效的主要原因之一。这个概念的力量和美感使得表示学习成为深度学习研究中最令人兴奋和最活跃的领域之一。学习跨多种领域(例如,单词和图像、不同语言的单词)的共享表示的方法正在推进添加图像字幕和机器翻译的进步。因此,可以肯定的是,更好地理解这些表示形式将持续作为推动人工智能发展的一个主要因素。

你可能感兴趣的:(神经网络,深度学习)