Deep learning review(算是一个读综述的笔记?)
其实是我跟着上的深度之眼一个课程的笔记啦。这是第一周的课程
深度学习方法是具有多层表示的表示学习方法,通过组合简单但非线性的模块来获得,每个模块将一个级别的表示(从原始输入开始)转换为一个更高、更抽象的表示。有了足够多这样的变换组合,就可以学习非常复杂的函数。它非常善于发现高维数据中的复杂结构,因此适用于科学、商业和政府的许多领域。
监督学习
我们计算一个测量误差(或距离)的目标函数在输出分数和期望的分数模式之间。然后修改其内部可调参数,以这个错误。这些可调参数,通常称为权重,可以被视为定义输入-输出函数的“旋钮”的数字
的机器。在一个典型的深度学习系统中,可能有数以亿计的可调节重量,数以百计的数以百万计的带标签的例子来训练机器。
目标函数,在所有的训练例子上取平均值。负梯度向量表示该景观中最陡下降的方向,使其接近最小值,此时平均输出误差较低。
反向传播
反向传播算法的核心思想是:目标函数对于某层输入的导数(或者梯度)可以通过向后传播对该层输出(或者下一层输入)的导数求得。反向传播算法可以被重复的用于传播梯度通过多层神经网络的每一层:从该多层神经网络的最顶层的输出(也就是改网络产生预测的那一层)一直到该多层神经网络的最底层(也就是被接受外部输入的那一层),一旦这些关于(目标函数对)每层输入的导数求解完,我们就可以求解每一层上面的(目标函数对)权值的梯度了。
主要是客观的导数(或梯度)对一个模块的输入可以通过工作从梯度计算对该模块的输出(或输入的后续模块)。反向传播方程可以应用反复传播梯度通过所有的模块,从顶部(网络产生预测的地方)的输出一直到底部(外部输入的地方)。一旦计算了这些梯度,就可以直接计算出与每个模块权重相关的梯度。
目前relu较为常用。ReLU通常会让一个多层神经网络学习的更快,也可以让一个深度网络直接进行有监督的训练.relu也不容易出现梯度消失的问题,这个问题在tanh和sigmoid函数身上是会出现的。
不过,对于小的数据集来说,无监督的预训练可以防止过拟合,同时可以带来更好的泛化性能当有标签的样本很小的时候。一旦深度学习技术重新恢复,这种预训练只有在数据集合较少的时候才需要。
卷积神经网络
卷积神经网络被设计用来处理到多维数组数据的,卷积神经网络使用4个关键的想法来利用自然信号的属性:局部连接、权值共享、池化以及多网络层的使用。
卷积层和池化层组成,卷积层的单元被组织在特征图中,在特征图中,每一个单元通过一组叫做滤波器的权值被连接到上一层的特征图的一个局部块,然后这个局部加权和被传给一个非线性函数。在一个特征图中的全部单元享用相同的过滤器,不同层的特征图使用不同的过滤器。使用这种结构处于两方面的原因。首先,在数组数据中,比如图像数据,一个值的附近的值经常是高度相关的,可以形成比较容易被探测到的有区分性的局部特征。其次,不同位置局部统计特征不太相关的,也就是说,在一个地方出现的某个特征,也可能出现在别的地方,所以不同位置的单元可以共享权值以及可以探测相同的样本。在数学上,这种由一个特征图执行的过滤操作是一个离线的卷积,卷积神经网络也是这么得名来的。
卷积层的作用(探测上一层特征的局部连接)
1.提取图像的特征,并且卷积核的权重是可以学习的,由此可以猜测,在高层神经网络中,卷积操作能突破传统滤波器的限制,根据目标函数提取出想要的特征
2.“局部感知,参数共享”的特点大大降低了网络参数,保证了网络的稀疏性,防止过拟合。之所以可以“参数共享”,是因为样本存在局部相关的特性。
池化层的作用
-
特征不变性(feature invariant)
汇合操作使模型更关注是否存在某些特征而不是特征具体的位置。可看作是一种很强的先验,使特征学习包含某种程度自由度,能容忍一些特征微小的位移 -
特征降维
由于汇合操作的降采样作用,汇合结果中的一个元素对应于原输入数据的一个子区域(sub-region),因此汇合相当于在空间范围内做了维度约减(spatially dimension reduction),从而使模型可以抽取更广范围的特征。同时减小了下一层输入大小,进而减小计算量和参数个数 -
在一定程度上能防止过拟合的发生
递归神经网络RNN
rnn是nlp处理之中常见的神经网络之一。
比起一般的神经网络来rnn有一个向下一个神经元传递信息的部分,如果rnn处理一个非常长的序列,就会导致了另一个问题,梯度消失。而如果展开的雅各比矩阵过于庞大,就会产生梯度爆炸。由此发明了长短时神经网络lstm来对此进行处理。它可以选择一些部分进行遗忘,这都是通过门来进行控制的。

