当前位置: 首页 > news >正文

深度学习第四课

第九章 卷积神经网络解读

9.1 计算机视觉

目标分类

目标识别

64x64x3=12288

1000x1000x3=3000000

使用传统神经网络处理机器视觉面临的一个挑战是:数据的输入会非常大

一般的神经网络很难处理海量图像数据。解决这一问题的方法就是卷积神经网络

9.2 卷积运算

神经网络由浅层到深层,分别可以检测出不同层次的信息,在计算机视觉中我们依托深度卷积神经网络,来依次学习理解图片的边缘特征、局部特征(例如眼睛、鼻子等),直至最后一层综合前面检测的特征来识别整体图像内容。

9.3 边缘检测

  • 垂直边缘检测
  • 水平边缘检测

*:表示卷积

9.4 Padding填充

输入大小:nxn

滤波器大小:fxf

输出大小:(n-f+1)x(n-f-1)

问题:边缘的次数较少,中间的次数较多,因此忽略了边缘的信息,我们可以在卷积前,先填充一层像素。

Padding=1:填充一圈

  • Valid卷积:不填充
  • Same卷积:填充后,输出输出大小一样,此时p=(f-1)/2

9.5 Stride卷积步长

Stride=2

输出大小:(n+2p-f)/s +1

9.6 三维卷积

不同通道的滤波器可以不相同。

9.7 单层卷积网络

9.8 简单卷积网络示例

卷积神经网络包含有三种典型的层结构:

  • Convolution
  • Pooling
  • Fully connected

9.9 池化层

1Max pooling

缩减模型的大小,提高计算速度,同时减小噪声提高所提取特征的稳健性。

2Average pooling

9.10 卷积神经网络示例

9.11 为什么使用卷积??

  • 参数共享:一个滤波器能对整个输入的某一特征进行探测
  • 稀疏连接:输入与输出之间的连接是稀疏的,每个输出值只取决于输入在局部的一小部分值

由于CNN参数数量较小,所需的训练样本就相对较少,因此在一定程度上不容易发生过拟合现象。

第十章 经典CNN网络实例详解

10.1 经典卷积网络

1LeNet5:手写字体识别模型,90年代提出来,是最早的卷积神经网络之一

当 LeNet-5 模型被提出时,其池化层使用的是平均池化,而且各层激活函数一般选用 Sigmoid 和 tanh。现在我们更多的会使用最大池化并选用 ReLU 作为激活函数。

2AlexNet

3VGG-16:证明了增加网络的深度能够在一定程度上影响网络最终的性能,大家广泛的将其作为典型CNN结构。

16是指网络中包含16个卷积层和全连接层,超参数较少

10.2 残差网络 ResNet

随着神经网络层数变多和变深,会带来严重的梯度消失和梯度爆炸问题,使得模型难以寻训练成功!

在网络结构层面,一种解决方法是人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为Residual Networks(ResNets)残差网络。

说明残差网络有助于解决梯度消失和梯度爆炸问题,使得在训练更深网络的同时,又能保证良好的性能。

残差网络有效的原因?

10.3 1x1卷积(滤波器的尺寸为1)

相当于乘积操作,类似全连接层的神经网络结构,从而对数据进行升降维度

10.4 Inception网络

之前的CNN典型结构,都只选择单一尺寸和类型的滤波器,而Inception网络的作用是代替人工来确定卷积层中的滤波器尺寸与类型

Inception 网络选用不同尺寸的滤波器进行 Same 卷积,并将卷积和池化得到的输出组合拼接起来,最终让网络自己去学习需要的参数和采用的滤波器组合。

Inception引入了1x1卷积来减少计算量问题。1x1 的卷积层通常被称作瓶颈层(Bottleneck layer)。借助在网络中合理设计瓶颈层,可以在保持网络性能的前提下显著缩小计算规模。

10.6 迁移学习

10.7 数据扩增

镜像翻转、随机裁剪、色彩转换

http://www.lryc.cn/news/205747.html

相关文章:

  • Linux创建临时文件mkstemp()tmpfile()
  • js的节流和防抖详解
  • 基于SpringBoot的水果销售网站
  • vue2进阶学习知识汇总
  • SQL SERVER连接oracle数据库几种方法
  • 存储优化知识复习三详细版解析
  • HotReload for unity支持的代码修改
  • 写一个呼吸灯要几行代码?
  • Banana Pi BPI-W3(Armsom W3)RK3588开当板之调试UART
  • LeetCode88——合并两个有序数组
  • C++ BinarySercahTree recursion version
  • 兑换码生成与解析-个人笔记(java)
  • 2023/10/25MySQL学习
  • 网络协议--Ping程序
  • 如何在 Azure 容器应用程序上部署具有 Elastic Observability 的 Hello World Web 应用程序
  • JAVA排序
  • opencalib中lidar2camera安装记录
  • 整个自动驾驶小车001:概述
  • windows本地搭建mmlspark分布式机器平台流程
  • 深入探究 Next.js 中的 getServerSideProps 和 getStaticProps 用法及区别
  • 餐饮业如何高效经营?赶紧闭眼抄这个方法!
  • 餐饮外卖小程序商城的作用是什么
  • nRF52832 SDK15.3.0 基于ble_app_uart demo FreeRTOS移植
  • 电厂数据可视化三维大屏展示平台加强企业安全防范
  • 2246: 【区赛】【宁波32届小学生】最佳交换
  • Java面试记录
  • 【数据库】聚集函数
  • 【单元测试】--编写单元测试
  • ES(elasticsearch) - 三种姿势进行分页查询
  • AQS是什么?AbstractQueuedSynchronizer之AQS原理及源码深度分析