深度学习面试题14:Dropout(随机失活)
目录
卷积层的dropout
全连接层的dropout
Dropout的反向传播
Dropout的反向传播举例
参考资料
在训练过程中,Dropout会让输出中的每个值以概率keep_prob变为原来的1/keep_prob倍,以概率1-keep_prob变为0。也就是在每一轮的训练中让一些神经元随机失活,从而让每一个神经元都有机会得到更高效的学习,会让网络更加健壮,减小过拟合。
在预测过程中,不再随机失活,也不在扩大神经元的输出。
|
卷积层的dropout |
举例:以一个2*4的二维张量为例,参数keep_prob=0.5,其过程如下:

|
全连接层的dropout |
Dropout处理一般用在全连接神经网络的全连接层或者卷积网络后面的全连接层。
举例:以全连接网络的某一层为例,参数keep_prob=0.5,每一轮训练对隐藏层的输出做dropout,其过程如下:

隐藏层的激活函数为σ(x)=x
|
Dropout的反向传播 |
以一个回归案例为例

其中z2神经元会失活,通过如下图的链式法则发现,此轮更新过程中,与失活神经元相连的边上的权重都不会被训练,因为他们的偏导数都=0.

|
Dropout的反向传播举例 |
举例:dropout的概率p=0.5,激活函数为σ(x)=x,网络结构如下:

假设某样本x的值是3,标签是0.5,训练一个回归模型,因为有dropout的存在,会出现不同的更新情况,下面演示使用样本x反复训练网络,更新网络的过程:
第一轮(假设dropout(z)=2z):

第二轮(假设dropout(z)=0):

第三轮(假设dropout(z)=2z):

|
参考资料 |
《图解深度学习与神经网络:从张量到TensorFlow实现》_张平
深度学习面试题14:Dropout(随机失活)的更多相关文章
- 深度学习面试题13:AlexNet(1000类图像分类)
目录 网络结构 两大创新点 参考资料 第一个典型的CNN是LeNet5网络结构,但是第一个引起大家注意的网络却是AlexNet,Alex Krizhevsky其实是Hinton的学生,这个团队领导者是 ...
- 深度学习面试题29:GoogLeNet(Inception V3)
目录 使用非对称卷积分解大filters 重新设计pooling层 辅助构造器 使用标签平滑 参考资料 在<深度学习面试题20:GoogLeNet(Inception V1)>和<深 ...
- 深度学习面试题27:非对称卷积(Asymmetric Convolutions)
目录 产生背景 举例 参考资料 产生背景 之前在深度学习面试题16:小卷积核级联卷积VS大卷积核卷积中介绍过小卷积核的三个优势: ①整合了三个非线性激活层,代替单一非线性激活层,增加了判别能力. ②减 ...
- 深度学习面试题26:GoogLeNet(Inception V2)
目录 第一层卷积换为分离卷积 一些层的卷积核的个数发生了变化 多个小卷积核代替大卷积核 一些最大值池化换为了平均值池化 完整代码 参考资料 第一层卷积换为分离卷积 net = slim.separab ...
- 深度学习面试题20:GoogLeNet(Inception V1)
目录 简介 网络结构 对应代码 网络说明 参考资料 简介 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名.VGG获得了第二 ...
- 深度学习面试题17:VGGNet(1000类图像分类)
目录 VGGNet网络结构 论文中还讨论了其他结构 参考资料 2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的 ...
- 深度学习面试题12:LeNet(手写数字识别)
目录 神经网络的卷积.池化.拉伸 LeNet网络结构 LeNet在MNIST数据集上应用 参考资料 LeNet是卷积神经网络的祖师爷LeCun在1998年提出,用于解决手写数字识别的视觉任务.自那时起 ...
- 深度学习面试题25:分离卷积(separable卷积)
目录 举例 单个张量与多个卷积核的分离卷积 参考资料 举例 分离卷积就是先在深度上分别卷积,然后再进行卷积,对应代码为: import tensorflow as tf # [batch, in_he ...
- 深度学习面试题24:在每个深度上分别卷积(depthwise卷积)
目录 举例 单个张量与多个卷积核在深度上分别卷积 参考资料 举例 如下张量x和卷积核K进行depthwise_conv2d卷积 结果为: depthwise_conv2d和conv2d的不同之处在于c ...
随机推荐
- Unity3D如何接入第三方的SDK - iOS篇
来源:http://blog.csdn.net/smlisi2/article/details/8786485 授人以鱼,不如授人以渔”,以UNITY3D调用iOS版的91SDK为例,利用C# / C ...
- WPF如何设置启动窗口
在做系统时,我们想在启动时显示自己想显示的界面,和Winform不同的是它有两种方法 1.在App.xaml中 <Application x:Class="WpfApp1.App&qu ...
- 微信小程序(小游戏)后台开发
小程序开放接口功能,目的是方便小程序接入第三方服务器,比如,商城类小程序,小游戏,需要保存订单数据,玩家信息等.那就需要服务器和数据库, 开发者对于各方关系必须要理清,那就是小程序,用户,开发者服务器 ...
- 15.centos7基础学习与积累-001
1.从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 做到精通这个操作系统, 互联网常用服务器品牌: dell: 4u ...
- 从零开始配置MacBook Pro
购买macbook, 是因为它的效率性.由于我第一次使用macbook,所以按照我开发的习惯和参照了其他人的文章进行配置我的个人mac,希望我的设置对你们也有所帮助 1.基本配置 查找我的Mac 系统 ...
- 用js刷剑指offer(丑数)
题目描述 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 思路 ...
- 安装 docker-compose 配置 lnmp
1.安装docker-compose 确保已经安装了docker sudo curl -L "https://github.com/docker/compose/releases/downl ...
- Codeforces D. Color the Fence(贪心)
题目描述: D. Color the Fence time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- k8s安装之dashboard.yaml
这个我使用了nodeport方式导出来. 为了安装,最好在前面加个nginx作密码验证... 这个端口,可以通过防火墙禁掉. # Copyright 2017 The Kubernetes Autho ...
- linux系统编程之进程(一)
今天起,开始学习linux系统编程中的另一个新的知识点----进程,在学习进程之前,有很多关于进程的概念需要了解,但是,概念是很枯燥的,也是让人很容易迷糊的,所以,先抛开这些抽象的概念,以实际编码来熟 ...