TensorFlow Dropout

图 1:来自论文 "Dropout: A Simple Way to Prevent Neural Networks from Overfitting" (https://www.cs.toronto.edu/~hinton/absps/JMLRdropout.pdf)

Dropout 是一个降低过拟合的正则化技术。它在网络中暂时的丢弃一些单元(神经元),以及与它们的前后相连的所有节点。图 1 是 dropout 的工作示意图。

TensorFlow 提供了一个 tf.nn.dropout() 函数,你可以用来实现 dropout。

让我们来看一个 tf.nn.dropout()的使用例子。

keep_prob = tf.placeholder(tf.float32) # probability to keep unitshidden_layer = tf.add(tf.matmul(features, weights[0]), biases[0])
hidden_layer = tf.nn.relu(hidden_layer)
hidden_layer = tf.nn.dropout(hidden_layer, keep_prob)logits = tf.add(tf.matmul(hidden_layer, weights[1]), biases[1])

上面的代码展示了如何在神经网络中应用 dropout。

tf.nn.dropout()函数有两个参数:

  1. hidden_layer:你要应用 dropout 的 tensor
  2. keep_prob:任何一个给定单元的留存率(没有被丢弃的单元)

keep_prob 可以让你调整丢弃单元的数量。为了补偿被丢弃的单元,tf.nn.dropout() 把所有保留下来的单元(没有被丢弃的单元)* 1/keep_prob

在训练时,一个好的keep_prob初始值是0.5

在测试时,把 keep_prob 值设为1.0 ,这样保留所有的单元,最大化模型的能力。

TensorFlow Dropout相关推荐

  1. Tensorflow——Dropout(解决过拟合问题)

    1.前言 Overfitting 也被称为过度学习,过度拟合.我们总是希望在机器学习训练时,机器学习模型能在新样本上很好的表现.过拟合时,通常是因为模型过于复杂,学习器把训练样本学得"太好了 ...

  2. Tensorflow神经网络框架 小例子 三层神经网络 卷积神经网络 循环神经网络 神经网络可视化

    Tensorflow神经网络框架 以前我们讲了神经网络基础,但是如果从头开始实现,那将是一个庞大且费时的工作,所以我们选择一条捷径---神经网络框架.我理解的神经网络框架就相当于一个工具包.就比如我们 ...

  3. 机器学习-Sklearn

    Scikit learn 也简称 sklearn, 是机器学习领域当中最知名的 python 模块之一. Sklearn 包含了很多种机器学习的方式:Classification 分类 Regress ...

  4. opencv 反色处理

    原文链接: opencv 反色处理 上一篇: TensorFlow 常见激活函数 下一篇: TensorFlow dropout 函数 暴力循环计算,计算量比较大,秒级 import cv2 as c ...

  5. 过拟和处理方法.md

    数据层次 增加数据量 模型层次 模型简单一些,更改输入数据类型: Dropout 注意事项: 构建placeholder 的时候 加入 training 这个 bool 变量 : 在训练过程中加入 d ...

  6. 深度学习--TensorFlow(7)拟合(过拟合处理)(数据增强、提前停止训练、dropout、正则化、标签平滑)

    目录 拟合 1.拟合情况 2.抵抗过拟合方法 过拟合处理(防止过拟合): 一.数据增强 1.设置图像生成器 2.载入图片 3.图像转三维数据 4.三维转四维 5.生成图片(用图像生成器) 代码 二.提 ...

  7. Tensorflow:tf.contrib.rnn.DropoutWrapper函数(谷歌已经为Dropout申请了专利!)、MultiRNNCell函数的解读与理解

    Tensorflow:tf.contrib.rnn.DropoutWrapper函数(谷歌已经为Dropout申请了专利!).MultiRNNCell函数的解读与理解 目录 1.tf.contrib. ...

  8. 【TensorFlow】TF-tf.nn.dropout

    官方的接口是这样的 tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) 根据给出的keep_prob参数,将输入te ...

  9. 深度学习总结:用pytorch做dropout和Batch Normalization时需要注意的地方,用tensorflow做dropout和BN时需要注意的地方,

    用pytorch做dropout和BN时需要注意的地方 pytorch做dropout: 就是train的时候使用dropout,训练的时候不使用dropout, pytorch里面是通过net.ev ...

最新文章

  1. 菜鸟也来学习ORACLE(1)_linux下安装oracle 11g
  2. 无人驾驶之车道线检测简易版
  3. Nova — 虚拟机密码修改
  4. 敏捷个人手机应用:如何使用时中法目标
  5. mode: 'history', 去掉路由地址的#
  6. update 和 left join 合并_Python数据预处理——连接、合并、重塑样本
  7. 数据库元数据数据字典查询_10_列出数据库里的所有对象
  8. HDU 2444 The Accomodation of Students 二分图匹配
  9. 动手动脑第二波方法的重载
  10. es创建索引库报错 :Types cannot be provided in put mapping requests, unless the include_type_na
  11. 最大团问题-分支限界
  12. maven 阿里云仓库
  13. 中国微流体元件行业市场供需与战略研究报告
  14. 人资(人事)送命连环问,51个问题。
  15. 对视频剪辑应用灰度图像变换+Moviepy生成灰度视频处理遇到几个有意思的问题
  16. Linux Server中搭建NAS存储服务(一)
  17. 怎么把计算机里的文件放到桌面上,ipad怎么把文件放到桌面
  18. 强大的虚拟音频器:Loopback for Mac
  19. linux 安装宝塔及配置关关采集(完整过程介绍)
  20. 路由追踪命令 | tracert | pathping | tracerout | tracepath | 值得收藏

热门文章

  1. 阿里mysql连接数据库服务器配置_配置链接mysql数据库
  2. php7 thinkphp5,thinkphp5+phpstudy+php7.0连接SQL Server 2008 | 睿客网
  3. synology_用于在Synology NAS上测试Spring Boot Web应用程序的JUnit模拟文件
  4. rest_快速检查REST API是否有效的方法-从清单文件中获取详细信息
  5. 多线程面试题_100多线程和Java并发面试问答–最终清单(PDF下载)
  6. Java数据结构类如何使用_Matlab如何使用Java的数据结构类型
  7. 怎么将计算机网络设置家庭,“windows无法在此计算机上设置家庭组”问题如何解决...
  8. iso8601时间格式_ISO8601与dayjs的使用
  9. linux shell脚本 判断,Shell脚本中的逻辑判断
  10. 如果MySQL的自增 ID 用完了,怎么办?