Deep Learning-引言

引言

人工智能

人工智能的挑战在于解决那些对于人来说很容易执行,但是难以形式化描述的任务。
为了解决这个难题,曾经提出过知识库的方法:将各种知识用形式化的语言进行硬编码,再使用逻辑推理规则去将这些用抽象语言描述的任务转化为用形式化语言描述的任务,从而容易使用计算机来解决。也就是对抽象的语言所描述的内容、知识进行编码,再根据逻辑规则去解释这个抽象语言所描述的内容,将其转化为形式化的语言所描述的内容。

机器学习

使用知识库来理解形式化语言所描述的任务存在严重缺陷,有很多难以解决的bug,所以意识到需要让计算机去主动地获取知识,主动从原始数据中获取相关的知识,即数据的模式、类别等等。也就是机器学习。
但是这种去学习原始数据的方式很依赖原始数据的表示。也就是说,学习的对象,是用于表示数据的一些属性。这些属性通常需要显性地给出,如果没有给出相关的显性的特性来表示数据,那么学习的结果也不会受未给出的且与显性给出的特征无关的特征影响,即与其无关(或者说是影响、相关性微乎其微)。在书中给出了孕妇适合做剖腹产的例子,当对一个孕妇进行描述时仅使用了“是否存在子宫疤痕”等信息,同时根据这些信息去学习以获取Hypothesis,那么这样得到的Hypothesis无法对孕妇MRI的扫描结果进行有效的输出。Machine Learning中强调的是Hypothesis,可以理解为目的在于建立一个数学模型去表达数据,同时他也就是一个映射,由输入数据空间,或者是表示空间到输出空间的映射,而各种学习算法的意义就在于根据给出的数据去尽可能地得到一个更为接近真实Function的Hypothesis。由此可知,既然是要进行数学模型的建立,那么数据表示,即强调数据的哪些特征的重要性可想而知。
机器学习的问题,也恰恰在于数据的表达,数据的表达强调的还是特征。在机器学习的任务中,这个数据特征的描述的任务却是要由人去完成的。而很多数据的特征并不是那么容易去描述的,也就是说,不好确定或者是需要大量的开销来确定到底需要设计什么样的特征来描述数据,来表示数据。

表示学习

正如上文所述,机器学习遇到的问题在于很多任务无法轻易确定应该以什么特征来描述数据。所以希望能通过机器学习主动去发掘数据的特征,而不是人为去决定数据应该由哪些特征去表示。故对用于表示数据的特征去学习的过程,为数据表示的学习,即表示学习。通过表示学习算法,能很快地为任务发现一个特征集。书中提到了一个典型的例子:自编码器。其分为两个部分:编码器、解码器。编码器的功能就是将数据转化为一个新的表示以输出,解码器就是根据这个新的表示进行解码转化为原来的数据,希望通过自编码器输出的数据和原始数据的误差越小越好,同时希望编码器输出的新的表示能有数据中好的特性。
这里有一个变差因素的概念。在设计特征和设计用于学习特征的算法时,目标都是尽可能分离出能解释观察数据的变差因素。对于变差因素,Factors of variation,从名词的英文来解释:带来变化的因素。根据此,个人对变差因素的理解是:影响数据被观察的结果的所具有的各种无论是显式的还是隐式的因素,同样变差因素也可以作为数据的一部分,作为描述表示数据的属性。观察到的结果,是受这些变差因素共同的影响的。也正是这些变差因素共同去影响一个对象,导致对对象观察的结果的多样性。书中举了一个汽车的例子。一辆红色光滑非磨砂喷漆的车,受太阳光线强弱、照射方式的影响,在黑夜里,很难直接看出他是红色的,而在光线很强烈并且直接照射在车身上的晴天,由于反光,也很难看出这个车的颜色,或者说很难看出车身被照射并放光部分的颜色、而受观察角度的影响,看到的车的轮廓发生了形变。这里,车身本身的颜色、太阳光线强弱、太阳光线照射角度、观察角度等等,均是变差因素。所以当我们在对数据进行任务分析处理时,例如分类任务,这些变差因素均会对任务造成影响,增加任务的难度。所以需要我们去清理这些变差因素,并且忽略不关心的因素。可知,这里涉及到了数据特征属性的叠加,或者说是特征属性的复合,也就是所谓的高层次的特征属性。而要从原始数据中通过机器学习的方式去获取这样复杂、高层次、抽象的特征,无疑是很困难的。

深度学习

正如为了解决上述难以从原始数据中获取复杂、高层次、抽象的特征的问题,提出了深度学习。深度学习的核心思想就是:通过简单的表示来表达复杂的表示。即使用简单的概念组合成一个复杂的概念。由此可知,深度学习的精髓在于这个层次结构,这个层次的结构体现了一个复杂概念的构成方式。同时,深度学习模型强调各个层次输入输出之间的关系,以及各个层次之间的联系。

猜你喜欢

转载自blog.csdn.net/weixin_39721347/article/details/84890712
今日推荐