深度学习的概念
深度学习是神经网络的一个分支,深度学习的基本结构是深度神经网络。
深度神经网络是一种具备至少一个隐含层的神经网络。与浅层神经网络相比,深度神经网络也能为复杂非线性系统建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的拟合能力。
深度神经网络通常是前馈型神经网络。多层前馈型神经网络都是深度神经网络,但是深度神经网络不都是多层前馈型神经网络,因为深度神经网络还包含了递归神经网络和卷积神经网络等
深度神经网络说的是一种结构,而不是一种算法
深度学习与神经网络深度学习网络与神经网络的相同之处在于具有相似的分层结构,系统由包括输入层、隐层(多层)、输出层组成的多层网络,只有相邻层节点之间有连接,同一层以及跨层节点之间相互无连接,这种分层结构比较接近人类大脑的结构。
传统的的神经网络一般只有2-3层隐含层,参数和计算单元有限,对复杂函数的表示能力有限,学习能力也有限,而深度神经网络隐藏层层数可以达到5-10层,甚至更多,并且引入了更高效的算法,深度神经网络的分层结构更接近于人类大脑的结构。
区别于传统的浅层学习,深度学习的不同在于:
强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点
明确突出了特征学习的重要性,也就是说通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更加容易
与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据的丰富内在信息
深度神经网络的训练传统神经网络中,采用的是BP误差反向传播算法的方式进行,简单来讲就是采用迭代的算法来训练整个网络,随机设定初值,计算当前网络的输出,然后根据当前输出和真实值之间的差利用梯度下降法去改变前面各层的参数,直到模型收敛。
深度学习不能采用BP算法:
如果采用BP算法,对于一个深度神经网络(7层以上),误差传播到最前面的层已经变得太小,出现所谓的梯度扩散
深度神经网络的目标函数往往是非凸的,采用BP算法容易陷入局部最优问题
深度学习训练过程具体如下:
step1 使用自下而上的非监督学习过程(就是从底层开始,一层一层的往顶层训练):
采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作是一个无监督训练过程,是和传统神经网络区别最大的部分(这个过程可以看作是特征学习过程)。
具体的,先用无标定数据训练第一层,训练时先学习第一层的参数(这一层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层),由于模型能力的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到第n-1层后,将n-1层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数。
step2 自顶向下的监督学习过程(就是通过带标签的数据去训练,误差自顶向下传输,对网络进行微调/fine-tune):
基于第一步得到的各层参数进一步fine-tune整个多层模型的参数,这一步是一个有监督训练过程;第一步类似神经网络的随机初始化初值过程,由于深度学习的第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果;所以深度学习效果好很大程度上归功于第一步的feature learning过程。
什么专业会学css,css表示暗金色,css显示纯数据,css温度计样式,失效商品置灰样式css,css如何设置表格边框重叠,animation.css bounce