正则化

在模型中加入正则项,防止训练过拟合,使测试集效果提升

Dropout

每次在网络中正向传播时,在每一层随机将一些神经元置零(相当于激活函数置零),一般在全连接层使用,在卷积层一般随机将整个通道置零而不是单个神经元

Dropout 的两种解释:

1.dropout避免了特征之间的相互适应,假如让网络识别一只猫,一个神经元学到了耳朵,一个学到了尾巴,另一个学到了毛,将这些特征组合在一起来判断是否是猫;Dropout以后模型不能通过这些特征组合来判断,需要通过不同的零散的特征来判断,某种程度上这抑制了过拟合

2.另一种解释是dropout的使用相当于在单一模型中进行了集成学习,dropout后可以看作在一个子网络中用所有神经元的子集进行运算,每次dropout不同的神经元就产生一个不同的子网络,最后相当于对一群共享参数的网络进行集成学习

在预测时,对于预测函数用dropout 的概率乘以输出层的输出平均测试时的随机性

Inverted dropout在训练时除以p,在预测时不改变,提升预测时的效率。

使用Dropout时,训练通常需要更长的时间,因为每次更新只是更新网络的子部分,但模型收敛后的鲁棒性更好

dropout和BN都会在训练时加入随机性和噪声以扰乱训练集防止过拟合于训练集,在测试时抵消这些随机性和噪声提高泛化能力。BN在训练时,一个数据点可能和其他不同的数据点出现在不同的mini-batches,对于单个数据点来说在训练过程中该点会如何被正则化具有一定的随机性,在测试时,通过基于全局估计的正则化来抵消这个随机性。有时BN已经足够正则化,不使用dropout;dropout的优点是可以调整p的值来控制正则化力度。

常用的正则化方法:

Q1:dropout操作后为何要乘一个系数?

Q2:从引入随机性的角度解释Dropout的正则化作用?

Q3:同上,试解释图像增强对网络训练的作用?

1.乘以系数是为了平均测试时的随机性
2.dropout避免了特征之间的相互适应,假如让网络识别一只猫,一个神经元学到了耳朵,一个学到了尾巴,另一个学到了毛,将这些特征组合在一起来判断是否是猫;Dropout以后模型不能通过这些特征组合来判断,需要通过不同的零散的特征来判断,某种程度上这抑制了过拟合
3.数据增强增加了数据多样性,

1

模型正则化,dropout的更多相关文章

  1. 第十一节,全连接网络中的优化技巧-过拟合、正则化,dropout、退化学习率等

    随着科研人员在使用神经网络训练时不断的尝试,为我们留下了很多有用的技巧,合理的运用这些技巧可以使自己的模型得到更好的拟合效果. 一 利用异或数据集演示过拟合 全连接网络虽然在拟合问题上比较强大,但太强 ...

  2. 使用L2正则化和平均滑动模型的LeNet-5MNIST手写数字识别模型

    使用L2正则化和平均滑动模型的LeNet-5MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: T ...

  3. 深度学习(dropout)

    other_techniques_for_regularization 随手翻译,略作参考,禁止转载 www.cnblogs.com/santian/p/5457412.html Dropout: D ...

  4. 深度学习Bible学习笔记:第七章 深度学习中的正则化

    一.正则化介绍 问题:为什么要正则化? NFL(没有免费的午餐)定理: 没有一种ML算法总是比别的好 好算法和坏算法的期望值相同,甚至最优算法跟随机猜测一样 前提:所有问题等概率出现且同等重要 实际并 ...

  5. keras搭建深度学习模型的一些小tips

    定义模型两种方法:  1.sequential 类仅用于层的线性堆叠,这是目前最常用的网络架构 2.函数式API,用于层组成的有向无环图,让你可以构建任意形式的架构 from keras import ...

  6. 深入解析Dropout

    过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案:其中dropout具有简单性并取得良好的结果: Dropout 上图为Dropout的可视 ...

  7. 机器学习中的L1、L2正则化

    目录 1. 什么是正则化?正则化有什么作用? 1.1 什么是正则化? 1.2 正则化有什么作用? 2. L1,L2正则化? 2.1 L1.L2范数 2.2 监督学习中的L1.L2正则化 3. L1.L ...

  8. 深入解析Dropout——基本思想:以概率P舍弃部分神经元,其它神经元以概率q=1-p被保留,舍去的神经元的输出都被设置为零

    深度学习网络大杀器之Dropout——深入解析Dropout  转自:https://yq.aliyun.com/articles/68901 摘要: 本文详细介绍了深度学习中dropout技巧的思想 ...

  9. Dropout 上

    From <白话深度学习与TensorFlow> Dropout 顾名思义是“丢弃”,在一轮训练阶段丢弃一部分网络节点,比如可以在其中的某些层上临时关闭一些节点,让他们既不输入也不输出,这 ...

随机推荐

  1. 01-常见Dos命令、Java历史、Java跨平台、配置Path环境变量、第一个HelloWorld例子

    常见Dos命令 dir: 列出当前目录下的文件以及文件夹 md: 创建目录 rd: 删除目录 cd: 进入指定目录 del: 删除文件 copy: 复制文件 xcopy: 复制目录 tree: 列出目 ...

  2. selenium实现网页截全屏

    from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--headless' ...

  3. sql表连接 —— join

    一.内连接 —— INNER JOIN 内连接是最常见的一种连接,只连接匹配的行. 表1: 表2: 执行查询: select StudentId as 学生编号,StudentName as 姓名,G ...

  4. SGU 101 Domino【欧拉路径】

    题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=101 题意: N个多米诺骨牌,每个骨牌左右两侧分别有一个0~6的整数(骨牌可以旋转 ...

  5. Class.forName(“com.mysql.jdbc.Driver”)

    传统的使用jdbc来访问数据库的流程为: Class.forName(“com.mysql.jdbc.Driver”); String url = “jdbc:mysql://localhost:33 ...

  6. python 找出矩阵中非零数

  7. tomcat不能多次startup.sh,异常时直接,分析logs目录下的日志。

    tomcat不能多次startup.sh,异常时直接干掉其进程. 分析logs目录下的日志.

  8. Android Animation动画实战(一): 从布局动画引入ListView滑动时,每一Item项的显示动画

    前言: 之前,我已经写了两篇博文,给大家介绍了Android的基础动画是如何实现的,如果还不清楚的,可以点击查看:Android Animation动画详解(一): 补间动画 及 Android An ...

  9. Python第三方包的egg info 是什么东西

    xxx.egg-info 一般与 xxx文件夹同时存在,一起来表示完整模块.

  10. Python--day27--复习

    例1: