人工智能基础
常用激活函数
Sigmoid函数
tanh函数
ReLU函数
Leaky ReLU函数
Softmax函数
损失函数
Least Square
即
Cross Entropy
用错误的分布
此为交叉熵.
特别地,当最终样本只有两个的时候,例如Logistical Regression问题,可以写成:
那如果有多个呢?考虑直接对归一化条件作偏导,先有:
再乘以softmax那里的
神经网络实现
通过若干隐藏层,假设最后的输出层为第
-
对于第
层,取 .这里对 作转置的目的是写代码的时候需要用行向量. -
对于第
层,取 ,这里意味着将每一个分量对 操作. -
对于最终答案,取误差
.
梯度下降法
换言之就是让
另外,虽然是这么写,应当见到去掉下标
顺便一提,应当见到
误差反向传播
既然要用梯度下降法,就应该把每一层的偏导都求出来.然而
更具体地,不妨设误差函数选的是
-
.(如若选择不同的误差函数,这里作适当变化) -
.(如若选取不同的激活函数,这里作适当变化) -
. -
.结果理应是一个矩阵,其实就是这个列向量不断复制若干遍,或者写成 ,其中 是全 矩阵. -
.
我们应当见到:
不妨设
-
.前者会因为误差函数的选取而改变,后者会因为激活函数的选取而改变. -
. -
. -
.
如此以上更新即可.
卷积神经网络(CNN)
神经网络受矩阵乘法的限制,导致对于真实的尺寸巨大的图像难以快速识别,因此产生了卷积神经网络的概念,大概有以下特征:
-
空间上权值共享:不同位置使用同一个卷积核(滤波器)
-
稀疏链接:每一层只链接前一层的感受野.
-
等变表示:卷积神经网络有某种平移不变性.
对于2D卷积,其公式如下:
其中
下面引入一些名词:
-
input size:输入图像的尺寸.
-
padding:填充的像素数.
-
filter size:卷积核的尺寸.有时也写作两个变量:filter height和filter width.3D卷积还会有一个filter depth的变量.
-
stride:步长.
-
output size:卷积后输出的尺寸.有时也写作feature size.
-
input channels:输入图像的通道数.
-
n filters:卷积核的数量.
-
dilation rate:膨胀率,用于空洞卷积.膨胀率为
的时候,卷积核中间会插入 个 间隔.
感受野计算
先看output size的计算,容易见到,其各个维度方面计算是独立的.只要对于单个维度算出卷积核在上面移动的次数,最后将不同维度相乘即可.
对于单个维度,这个维度的移动次数应该是:
这个公式相当容易理解,原因是
至于所谓的空洞卷积,只需在上面的基础上改
至于乘法操作,每得到一个
再看感受野的计算,不妨设
这个公式的含义大概是每次先看对应了多大的原数据上的范围,再把原本的边界
池化(Pooling)
池化操作它没有一个可学习的参数,只是对输入数据进行固定的操作.简单来说就是降低输入的规模,以实现更好的鲁棒性以及提高效率.
常见的池化操作包括:
-
MaxPooling:取区域内的最大值.
-
MeanPooling:取区域内的平均值.
-
PyramidPooling:多次进行尺度不同的池化.
常见卷积架构
AlexNet
首次引入ReLU激活函数,Dropout 技术,以及数据增强,提高了模型的训练效率和泛化能力.
采用了
VGG
开始堆叠小尺寸的卷积核,获得与大卷积核相似的感受野的同时可以增加网络深度.
ResNet
引入残差的概念,直接将输入数据累加(跳跃连接)到最后的输出中,这样网络学习的实际上是输入和输出之间的残差,从而提高了网络学习能力.
SqueezeNet
SqueezeNet的基本构建单元是Fire模块.Fire模块由一个squeeze层和一个expand层组成.squeeze层使用
MobileNet
-
深度卷积:在这个操作中,每个输入通道独立地进行卷积,这意味着在进行卷积时,不同通道之间没有交互.这样可以减少计算量和参数数量.
-
逐点卷积:逐点卷积使用
的卷积核,它作用在深度卷积的输出上,将不同通道的信息整合在一起.逐点卷积可以减少参数数量,同时保持较高的性能.
ShuffleNet
-
组卷积(Group Convolution):将通道分成几个组,并使用不同的卷积神经网络层执行标准卷积.
-
打乱层(Shuffle layer):通过对通道进行洗牌,将不同组的信息合并.
反卷积
也就是将较小的数据特征图扩大到较大的尺寸.有的时候也把这个操作说成上采样.
-
插值步骤(Interpolation Step):首先,在输入特征图的元素之间插入零,增加特征图的尺寸.
-
卷积步骤(Convolution Step):接下来,对扩大后的特征图应用一个标准的卷积操作.此步骤相当于在扩大的特征图上滑动卷积核,计算卷积输出.
评论