网络结构
卷积网络的结构
网络的结构大体上分为三层:输入层—隐藏层—输出层。
卷积网络中分为:输入层—卷积层—池化层—全连接层—输出层。
输入层的初始化
在输入层中,需要设置初始参数,初始化方法如下:
1、uniform(均匀分布初始化)
将初始w权重用uniform函数初始化,初始化后的数值范围默认为(0,1),数值均匀分布在该范围内。
2、normal正态分布
默认按照(0,1)的正态分布,可以自己调整数值范围
3、常量初始化
自己设置常量初始值
4、xavier初始化
初始化的参数:
(1)设置初始值的时候,一般将偏置初始化为0,
(2)如果将所有的参数值初始化为0,网络中的梯度将不会再下降,如果权重w初始化为0,则反向传播时,权重无法更新;
(3)如果权重w初始化为0,偏置b不为0,首次反向传播时,只有部分权重得到更新;第二次反向传播之后,全部权重可以得到更新,但更新速度过慢,容易造成梯度爆炸,梯度消失等问题
卷积层中的激活函数
激活函数包括以下几种:
1、sigmoid函数
sigmoid函数可以用来二分类,取值范围是(0,1)
公式如下:
函数的图形趋势如一个倒立的‘Z’
2、ReLU函数
卷积神经网络中常用的激活函数,使一部分的神经元失活,50%的神经元有效,范围为(0,X)。优点:函数计算简单,有效避免梯度消失和梯度爆炸问题
公式如下:
3、tanh函数
一般在RNN网络中使用,形状如sigmoid函数,范围不一样,(-1,1)
4、softmax函数
在网络的最后一层使用,用于多分类问题,得到多个类别的概率,通过预测值的概率,选择概率较大的标签作为输出。公式如下:
损失函数,优化函数
损失函数计算预测值与真实值之间的误差,也是用来评判模型预测的准则之一
损失函数包括:
1、交叉熵损失
2、绝对值损失
3、均方差损失
4、均方差根误差
优化函数是根据损失函数计算得到的误差来对参数进行更新优化。优化算法分为几个步骤:
(1)计算目标函数的参数梯度
(2)根据历史参数的梯度计算一阶动量和二阶动量
(3)记录当前时刻的下降梯度
(4)根据下降梯度更新参数值
1、Adam函数
常用默认的优化函数,速度快,
2、GD(梯度下降)
参数优化的基本方法,不足之处:容易出现局部最优,速度变慢等问题
3、SGD(随机梯度下降)+moment
在梯度下降的基础上加以改进,缺点:容易在参数优化的情况下出现抖动的问题,下降速度慢。
加上moment后,在梯度最下方加一个缓冲,可以减少抖动问题,解决局部最优解的问题。
网络的优化方法
1、增加训练集,是网络的训练更加充分,提取的特征值更多
2、在网络中加正则化,L1正则化用来稀疏矩阵,防止梯度爆炸问题,L2正则化加入了惩罚项,防止过拟合。
3、加入BN层,一般加在激活函数之前,conv-BN-relu-pool,加快收敛速度,提高网络的泛化能力(对新鲜样本的适应能力)
4、调整学习率,样本批次越大,学习率应该越大,在卷积层与全连接层中也可以设置为不同的学习率。
5、在全连接层中加入Dropout层,防止过拟合。卷积层中可不加,如果要加Dropout层,设置的参数要大一些。
其他网络介绍
RNN网络的代表LSTM网络,大致分为三部分:输入门、遗忘门、输出门。LSTM网络记住重要的信息,遗忘不重要的信息。
图像分割常用网络包括:
FCN网络:网络中无全连接层,最后一层为卷积层,将图像还原成像素输出
U-net网络:常用于医疗图像分割,整个网络呈U型,网络结构为编码解码结构,先对图像上采样进行特征提取,再下采样还原像素输出。
(医学图像以DICOM文件格式保存,需要用pydicom包)
机器学习的相关介绍(详细介绍见二)
特征提取的算法
LBP,HOG,SIFT等算法(详细介绍见小总结(二))
常用的机器学习算法
分类:SVM(线性分类器)
线性回归:最小二乘法
逻辑回归:sigmoid函数
集成:
bagging——分类器的并行操作(随机森林)
可以回归或者分类,当回归时,采用各个分类器的平均结果作为最终结果;当分类计算时,采用投票方式得到最终结果。
boosting——弱分类器的串行计算(XGboost)
采用权重来决定最终结果,如果某一分类结果错误,再次训练时会在该分类上增大权重。
聚类——将数据集中相似的样本组合在一起:K-means(无监督学习)
降维:PCA