文档介绍:深度学pdf【篇一:deeplearning深度学习总结】deeplearning深度学习总结一、deeplearning的基本思想假设我们有一个系统s,它有n层(s1,…sn),它的输入是i,输出是o,形象地表示为:i=s1=s2=…..=sn=o,如果输出o等于输入i,即输入i经过这个系统变化之后没有任何的信息损失(呵呵,大牛说,这是不可能的。信息论中有个“信息逐层丢失”的说法(信息处理不等式),设处理a信息得到b,再对b处理得到c,那么可以证明:a和c的互信息不会超过a和b的互信息。这表明信息处理不会增加信息,大部分处理会丢失信息。当然了,如果丢掉的是没用的信息那多好啊),保持了不变,这意味着输入i经过每一层si都没有任何的信息损失,即在任何一层si,它都是原有信息(即输入i)的另外一种表示。现在回到我们的主题deeplearning,我们需要自动地学习特征,假设我们有一堆输入i(如一堆图像或者文本),假设我们设计了一个系统s(有n层),我们通过调整系统中参数,使得它的输出仍然是输入i,那么我们就可以自动地获取得到输入i的一系列层次特征,即s1,…,sn。对于深度学习来说,其思想就是对堆叠多个层,也就是说这一层的输出作为下一层的输入。通过这种方式,就可以实现对输入信息进行分级表达了。另外,前面是假设输出严格地等于输入,这个限制太严格,我们可以略微地放松这个限制,例如我们只要使得输入与输出的差别尽可能地小即可,这个放松会导致另外一类不同的deeplearning方法。上述就是deeplearning的基本思想。二、work深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习是无监督学习的一种。深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。deeplearning本身算是machinelearning的一个分支,work的发展。大约二三十年前,work曾经是ml领域特别火热的一个方向,但是后来确慢慢淡出了,原因包括以下几个方面:1)比较容易过拟合,参数比较难tune,而且需要不少trick;2)训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优;所以中间有大约20多年的时间,神经网络被关注很少,这段时间基本上是svm和boosting算法的天下。但是,一个痴心的老先生hinton,他坚持了下来,并最终(和其它人一起bengio、)提成了一个实际可行的deeplearning框架。deeplearning与传统的神经网络之间有相同的地方也有很多不同。二者的相同在于deeplearning采用了神经网络相似的分层结构,系统由包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,每一层可以看作是一个logisticregression模型;这种分层结构,是比较接近人类大脑的结构的。而为了克服神经网络训练中的问题,dl采用了与神经网络很不同的训练机制。传统神经网络中,采用的是backpropagation的方式进行,简单来讲就是采用迭代的算法来训练整个网络,随机设定初值,计算当前网络的输出,然后根据当前输出和label之间的差去改变前面各层的参数,直到收敛(整体是一个梯度下降法)。而deeplearning整体上是一个layer-wise的训练机制。这样做的原因是因为,如果采用backpropagation的机制,work(7层以上),残差传播到最前面的层已经变得太小,出现所谓的gradientdiffusion(梯度扩散)。这个问题我们接下来讨论。三、、传统神经网络的训练方法为什么不能用在深度神经网络bp算法作为传统训练多层网络的典型算法,实际上对仅含几层网络,该训练方法就已经很不理想。深度结构(涉及多个非线性处理单元层)非凸目标代价函数中普遍存在的局部最小是训练困难的主要来源。bp算法存在的问题:(1)梯度越来越稀疏:从顶层越往下,误差校正信号越来越小;(2)收敛到局部最小值:尤其是从远离最优区域开始的时候(随机值初始化会导致这种情况的发生);(3)一般,我们只能用有标签的数据来训练:但大部分的数据是没标签的,而大脑可以从没有标签的的数据中学习;、deeplearning训练过程如果对所有层同时训练,时间复杂度会太高;如果每次训练一层,偏差就会逐层传递。这会面临跟上面监督学习中相反的问题,会严重欠拟合(因为深度网络的神经元和参数太多了)。200