04.卷积神经网络 W2.深度卷积网络:实例探究

文章目录

    • 1. 为什么要进行实例探究
    • 2. 经典网络
    • 3. 残差网络 ResNets
    • 4. 残差网络为什么有用
    • 5. 网络中的网络 以及 1×1 卷积
    • 6. 谷歌 Inception 网络简介
    • 7. Inception 网络
    • 8. 使用开源的实现方案
    • 9. 迁移学习
    • 10. 数据增强 Data augmentation
    • 11. 计算机视觉现状
    • 作业

参考:
吴恩达视频课
深度学习笔记

1. 为什么要进行实例探究

学习大佬们的组建网络的方法,借鉴过来解决自己的问题

经典的网络模型:

  • LeNet-5
  • AlexNet
  • VGG

ResNet,残差网络,它有152层
Inception

2. 经典网络

LeNet - 5
AlexNet
VGG - 16

3. 残差网络 ResNets

非常非常的神经网络是很难训练的,因为存在梯度消失梯度爆炸问题

ResNets

  • 中间的激活能够到达网络的更深层
  • 这种方式确实有助于解决梯度消失和梯度爆炸问题,让我们在训练更深网络的同时,又能保证良好的性能
  • ResNet 在训练深度网络方面非常有效

4. 残差网络为什么有用


残差网络起作用的主要原因:

  • 残差块学习恒等函数非常容易,你能确定网络性能不会受到影响,很多时候甚至可以提高效率,或者说至少不会降低网络的效率

5. 网络中的网络 以及 1×1 卷积


我们知道,可以通过池化层压缩输入的高度和宽度,但是池化层不改变通道数

1×1卷积层 给神经网络添加了一个非线性函数,从而减少保持输入层中的通道数量不变,也可以增加通道数量

6. 谷歌 Inception 网络简介

构建卷积层时,你要决定过滤器的大小究竟是1×1,3×3 还是 5×5,要不要添加池化层。

Inception网络 的作用就是代替你来决定,虽然网络架构变得更加复杂,但网络表现却非常好


基本思想是:

  • Inception 网络不需要人为决定使用哪个过滤器或者是否需要池化
  • 而是由网络自行确定这些参数,你可以给网络添加这些参数的所有可能值,然后把这些输出连接起来,让网络自己学习它需要什么样的参数,采用哪些过滤器组合

通过使用1×1卷积来构建瓶颈层,从而大大降低计算成本
瓶颈层

事实证明,只要合理构建瓶颈层,既可以显著缩小表示层规模,又不会降低网络性能,从而节省了计算

7. Inception 网络

Inception 模块:

Inception 网络:Inception 模块堆叠

8. 使用开源的实现方案

事实证明很多神经网络复杂细致,因而难以复制,因为一些参数调整的细节问题,例如学习率衰减等等,会影响性能

  • 选择一个你喜欢的神经网络框架
  • 接着寻找一个开源实现,从GitHub下载下来,以此基础开始构建
    这样做的优点在于,这些网络通常都需要很长的时间来训练,而或许有人已经使用多个GPU,通过庞大的数据集预先训练了这些网络,你就可以使用这些网络进行迁移学习

9. 迁移学习

迁移学习

10. 数据增强 Data augmentation

数据扩充是经常使用的一种技巧来提高计算机视觉系统的表现

  • 垂直镜像对称(常用)
  • 随机裁剪(常用)
  • 旋转,剪切(局部扭曲)(不常用)
  • 色彩转换(给RGB通道按分布加上失真值),使得算法对照片的颜色更改更具鲁棒性

常用的实现数据扩充的方法:

  • 使用一个线程或者是多线程,用来加载数据,实现变形失真
  • 然后传给其他的线程或者其他进程,来训练,可以并行实现

数据扩充过程中也有一些超参数,比如,颜色变化,随机裁剪参数。
可以使用别人的开源实现,了解他们如何实现数据扩充。也可以自己去调整这些参数

11. 计算机视觉现状


为了提高性能表现:

  • 集成:使用多个神经网络,平均他们的输出,缺点,更多的时间,占用内存更大
  • Multi-crop 数据扩充,也是运行时间多,只有1个神经网络占用内存
    在这里插入图片描述

附:

deep-learning-models/resnet50.py 开源实现
Deep Residual Learning for Image Recognition ResNets 论文

作业

Keras教程+ResNets残差网络


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

transition动画与transform变换(了解

1、transition-property 设置过渡的属性,比如:width height background-color2、transition-duration 设置过渡的时间,比如:1s 500ms3、transition-timing-function 设置过渡的运动方式,常用有 linear(匀速)|ease(缓冲…

mysql游标循环的使用

CREATE PROCEDURE test.new_procedure () BEGIN -- 需要定义接收游标数据的变量 DECLARE a CHAR(16);-- 游标DECLARE cur CURSOR FOR SELECT i FROM test.t;-- 遍历数据结束标志DECLARE done INT DEFAULT FALSE;-- 将结束标志绑定到游标DECLARE CONTINUE HANDLER FOR NOT FOUND…

动态规划之最长上升子序列模型

动态规划分为很多模型,比如说数字三角形模型,最长上升子序列模型,背包模型,状态机模型,状态压缩,区间dp,树形dp等等 下面,我就Acwing提高课中,最长上升子序列模型进行了整…

LeetCode 900. RLE 迭代器(模拟/二分查找)

文章目录1. 题目2. 解题2.1 直接模拟2.2 二分查找1. 题目 编写一个遍历游程编码序列的迭代器。 迭代器由 RLEIterator(int[] A) 初始化,其中 A 是某个序列的游程编码。 更具体地,对于所有偶数 i,A[i] 告诉我们在序列中重复非负整数值 A[i …

html-css练习题(系统提示)

代码赏析&#xff1a;<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible&qu…

notification

A页面 //向列表页面B发送一个通知 postShopZanCountData NSMutableDictionary *dic[[NSMutableDictionaryalloc] init]; [[NSNotificationCenterdefaultCenter] postNotificationName:"postData"object:niluserInfo:dic]; B 页面 [[NSNotificationCenterdefaultCente…

机器学习算法--线性回归分析(单元和多元)

关键词 分类模型、回归模型 存在序的离散属性、不存在序的离散属性 有监督的机器学习 回归的分类&#xff08;输入变量数目&#xff0c;输入变量和输出变量的关系&#xff09; 已知数据集&#xff0c;未知参数 均方误差最小化&#xff0c;最小二乘法 一元线性回归 多元线…

LeetCode 740. 删除与获得点数(排序+动态规划)

文章目录1. 题目2. 解题1. 题目 给定一个整数数组 nums &#xff0c;你可以对它进行一些操作。 每次操作中&#xff0c;选择任意一个 nums[i] &#xff0c;删除它并获得 nums[i] 的点数。之后&#xff0c;你必须删除每个等于 nums[i] - 1 或 nums[i] 1 的元素。 开始你拥有…

多线程编程-条件变量

转载自&#xff1a;http://blog.chinaunix.net/uid-21411227-id-1826890.html 1&#xff0e;引言&#xff1a; 条件变量是一种同步机制&#xff0c;允许线程挂起&#xff0c;直到共享数据上的某些条件得到满足。条件变量上的基本操作有&#xff1a;触发条件(当条件变为 true 时…

html-css练习题 (注册表单)

代码赏析&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <meta http-equiv"X-UA-Co…

虚拟机安装 服务器 Ubuntu Server20.04.2

虚拟机安装 服务器 Ubuntu Server20.04.2 下载地址 VMware创建新的虚拟机 首选选择典型 稍后安装操作系统&#xff0c;并点击下一步 选择Linux Ubuntu64位 命名虚拟机 指定虚拟机的容量 点击确定之后开启虚拟机 选择自己下载的镜像文件 打开虚拟机进行配置 单击…

LeetCode 838. 推多米诺(模拟)

文章目录1. 题目2. 解题1. 题目 一行中有 N 张多米诺骨牌&#xff0c;我们将每张多米诺骨牌垂直竖立。 在开始时&#xff0c;我们同时把一些多米诺骨牌向左或向右推。 每过一秒&#xff0c;倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌。 同样地&#xff0c;倒向右边…

html-css练习题(天天生鲜静态网页制作)文末有完整版代码地址链接

一、前言&#xff1a; 前端学习经典练手网页&#xff0c;重新整理网页版代码&#xff0c;如果你是初学者&#xff0c;请试着做一下这个网页 素材&#xff1a;文末完整版代码中。。。。。。 二、效果图&#xff1a; 三、主要需求&#xff1a; 1.login最外侧盒子设定高29 背景…

AutoIt: WinGetClassList可以把当前窗口所有的handle全部列出来

WinGetClassList 是一个非常有用的函数&#xff0c;可以返回当前窗口中所有的handle。返回的是一个字符串&#xff0c;可以使用split函数来拆分之。 Opt("WinTitleMatchMode")$handle WinGetHandle(".NET Reactor v4.5.9.8 - Full Version")ConsoleWrite(…

xshell连接Linux Server

由于server环境下无法使用vmtools&#xff0c;所以推荐使用shell工具进行链接使用。下载的内容源自果核&#xff0c;使用方法&#xff1a; xhell压缩包里面有crack目录&#xff0c;将nslicense.dll文件覆盖到软件目录 xhellplus&#xff0c;将nslicense.dll文件分别覆盖到软件X…

小案例:搭建简易版王者荣耀英雄购买商城网页版

目录 一、网页赏析&#xff1a; 二、代码分三部分&#xff1a; 1、html代码&#xff1a; 2、main.css赏析&#xff1a; 3、初始化reset.css代码&#xff1a; 三、主要素材下载地址&#xff1a; 一、网页赏析&#xff1a; 二、代码分三部分&#xff1a; 1.html 2.初始化…

2020云栖大会编程限时抢答赛 - 早中晚3场题解

文章目录1. 云栖大会限时抢答赛 - 早间场2. 云栖大会限时抢答赛 - 午间场3. 云栖大会限时抢答赛 - 晚间场1. 云栖大会限时抢答赛 - 早间场 题目链接 该场次题目在 LeetCode 上有原题&#xff0c;题解链接如下&#xff1a; LeetCode 862. 和至少为 K 的最短子数组&#xff08…

xml语法

给机器看 CDATA 给人看 用<这些转义字符表示转载于:https://www.cnblogs.com/vinplezhang/p/3300216.html

RSA公钥体系 与在 ssh中免密的登陆的应用

一、秘钥体系 第一部分查看书籍为 北京大学出版社出版的 丘维声老师的 数学思维方式与创新 在之前安全协议的讲解中&#xff0c;很多的协议都是用了秘钥的这一概念&#xff0c;相信很多同学对这不求甚解&#xff0c;下面我来系统的介绍秘钥体系&#xff0c;并且证明一下如今…

JavaScript 书写方式与注释

JavaScript是运行在浏览器端的脚步语言&#xff0c;JavaScript主要解决的是前端与用户交互的问题&#xff0c;包括使用交互与数据交互。JavaScript是浏览器解释执行的&#xff0c;前端脚本语言还有JScript&#xff08;微软&#xff0c;IE独有&#xff09;&#xff0c;ActionScr…