企业加强网站建设的必要性天津网站优化公司推荐哪家
news/
2025/10/7 10:11:02/
文章来源:
企业加强网站建设的必要性,天津网站优化公司推荐哪家,宁波模版建站公司,网站与域名的区别说明#xff1a;本系列是七月算法深度学习课程的学习笔记 文章目录1神经网络与卷积神经网络1.1 深度神经网络适合计算机视觉处理吗1.2CNN的结构1.2.1 数据输入层1.2.2 卷积层1.2.3 激励层1.2.3 池化层1.2.4 全连接层1.3CNN的训练算法1.4CNN的优缺点2正则化与Droupout3典型结构…说明本系列是七月算法深度学习课程的学习笔记
文章目录1神经网络与卷积神经网络1.1 深度神经网络适合计算机视觉处理吗1.2CNN的结构1.2.1 数据输入层1.2.2 卷积层1.2.3 激励层1.2.3 池化层1.2.4 全连接层1.3CNN的训练算法1.4CNN的优缺点2正则化与Droupout3典型结构与训练调优1神经网络与卷积神经网络
1.1 深度神经网络适合计算机视觉处理吗
深度神经网络简称DNN卷积神经网络简称CNN。
DNN的每一层与后面一层都是全连接。如果输入层是3维隐层1有4个神经元。那从输入层到隐层1会有3515个参数。如果隐层2有4个神经元从隐层1到隐层2需要4416个参数。
在图像视频处理中输入是非常大的。例如一张图片可能的输入是32x32x3也就是一张长32宽32的彩色图片。如果输入层有1万张图片用于训练那参数就是307210000维在图像处理中一般会把 原始的输入矩阵做flatten变为向量。这是非常大的一个数。每一个隐层神经元数量实际中不会太少因为太少就很难捕捉到重要信息例如4000参数量变为40003072*10000。这是一个很大的数字。这还只是一层。参数量大在工程上压力大计算、加载、存储压力都很大。参数量大也很容易过拟合。所以DNN不适合。CNN可以。
1.2CNN的结构
CNN为什么适合计算机视觉处理呢先看下CNN的结构。
一个CNN包含数据输入层/input layer卷积计算层/conv layer、激励层activation layer、池化层 pooling layer、全连接层 FC layer、Batch Normalization层可能有。
1.2.1 数据输入层
有3种常见的数据处理方式。 1 去均值把数据的各个维度都中心化到0相当于没有了截距。
2 归一化把数据的各个维度都归一化到同样的范围便于梯度计算各个维度收敛速度一致。 常见的归一化的方法有 min-max标准化将数据归一到[0,1]范围内。x∗x−minmax−minx^*\dfrac{x-min}{max-min}x∗max−minx−min。 z-score标准化处理后数据变为符合标准正态分布。x∗x−μσx^*x-\mu\sigmax∗x−μσ,其中μ为所有样本数据的均值σ为所有样本数据的标准差。
3 PCA/白化:PCA 降维 。白化降维之后的各个维度可能幅度不一致这里再做一次归一化。
注意这里需要说明的是如果在训练集上做了什么操作在测试集或者预测的时候也需要做同样的处理。可以使用样本的归一化的值均值、方差等做归一化。
1.2.2 卷积层
卷积层的几个核心概念局部关联、 窗口滑动。 局部关联是指用输入层的一小块区域与下一层的每个神经元做内积。这块小区域被称为一个窗口。一个窗口计算完按照一定的步长移动窗口直至计算完成。滑动过程中遇到最后一次计算不够窗口宽度可以填充0补充完整。
下一层神经元的个数被称为深度。 下一层中每个神经元的连接权重是固定的。如图中下一层有5个神经元那就是5组参数。每一组参数是会与窗口中的数据做内积如果窗口是一个3x3x3的大小那一个神经元的参数个数就是3x3x3。这一层参数总个数是3x3x3x5。这样参数的数量与DNN32x32x3x5相比就少了很多。 一组固定的权重与不同的窗口内数据做内积这个过程称为卷积。
1.2.3 激励层
激励层把卷积层的输出做非线性变换。否则无论加多少个隐层这个符合函数还是线性的。是不能形成弯曲的曲线在某些数据上是没法分割的。 常用的激励函数有sigmoid、tanh双曲正切、Relu、Leaky Relu、ELU、Maxout 只要神经网络正常选择哪个激励函数不影响最后的结果。 慎用sigmoid函数优先选择Relu可以继续尝试Leaky Relu、Maxout。
1.2.3 池化层
池化层夹在连续的卷积层中间。主要起到压缩数据和参数的作用可以防止过拟合。 可以做池化的原因是发现将一个224x224的特征可视化之后发现降低到112x112特征不会丢失很多。
可以采取的池化方法是max pooling和average pooling。
相当于给一个图像做了模糊化。减少了数据量对下一层就意味着减少了输入的参数量。同时因为模糊化了降低过拟合的风险。
1.2.4 全连接层
全连接两层之间所有神经元都有权重链接。通常全连接层放在CNN的尾部。
一个典型的CNN结构INPUT [[CONV-RELU]*N-POOLING?]*M[FC-RELU]*KFC
1.3CNN的训练算法
先定义loass function衡量和实际结构之间的差距 找到最小化损失函数的W和bCNN中使用的是SGD 利用BP 链式法则求导求出dw和db(将错误信息回传到每一层) 利用SGD/随机梯度下降迭代更新W和b(学习到新一轮知识)
1.4CNN的优缺点
优点共享卷积核优化计算量 无需手动选择特征训练好权重即得特征 深层次的网络抽取图像信息丰富表达效果好。 缺點需要调参、计算量大 物理含义不明确
2正则化与Droupout
原因神经网络学习能力过强可能会过拟合 传统方式可以使用L1、L2正则化在NN中是使用dropout。 Dropout正则化别一次开启所有学习单元。给每个神经元安了一个开关这个开关会以一定的概率关闭。
在训练阶段
p0.5def train_step(X):H1 np.maximum(0, np.dot(W1,X)b1)U1 np.random.rand(H1.shape) p//p则保留H1 H1*U1...在预测阶段
def predict(X):H1 np.maximum(0, np.dot(W1,X)b1)*p....在预测阶段会乘以概率p实际工程中会在训练阶段除以p。
p0.5def train_step(X):H1 np.maximum(0, np.dot(W1,X)b1)U1 (np.random.rand(H1.shape) p)/pH1 H1*U1...def predict(X):H1 np.maximum(0, np.dot(W1,X)b1)....对dropout的理解方式一不要记住太多的东西学习过程中保持泛华能力。 对dropout的理解方式二每次都关掉一部分感知器得到一个新模型最后做融合。不至于听一家之言。
3典型结构与训练调优
典型CNN网络有Lenet、AlexNet、ZFNet、VGG、GoogleNet、ResNet。 调优可以在这些典型的网络模型基础上训练自己的图片分类模型。可以做的是不要修改层的名称使用原有参数降低学习率修改层的名称修改分类数为自己的分类数量提高学习率新增自己的层提高学习率。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930291.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!