什么是 dropblock

大家好啊,我是董董灿。

之前介绍过 dropout 算法,它在训练神经网络中,可以随机丢弃神经元,是一种防止网络过拟合的方法。

但是在卷积神经网络中,dropout 的表现却不是很好,于是研究人员又搞了一个“结构化的 dropout 方法”,称为 dropblock,据说在卷积神经网络中表现不错。

今天就一起来看看,什么是 dropblock 吧。

1、卷积层中为什么 dropout 表现不好

dropout 在卷积层表现不好,是因为在卷积层中,特征图中的每个像素都与周围的像素高度相关。

这是由于图像像素具有局部性表达所引起的,所谓的局部性可以查看要学计算机视觉,先了解图像和像素。

由于卷积的特征图中相邻位置元素在空间上会共享语义信息,所以尽管某个单元被 dropout 掉,但与其相邻的元素依然可以保有该位置的语义信息,相关的信息仍然可以在卷积网络中流通。

因此,看似丢掉了信息,实际上并没有完全丢掉。

2、dropblock是怎么做的

为了解决这些问题,研究人员提出了一种新方法: dropblock。

dropblock 是一种结构化的 dropout 方法,它可以同时丢弃特征图中的一整块激活区域,而不是随机丢弃一个激活单元。

可以说是一种加宽加大版的 dropout 方法了。

我们以下面的图示来举个例子说明。

图片

图(a) 代表卷积神经网络的输入图像,是一只狗子。

图(b) 和图(c) 中的绿色区域为这只狗子的图片经过了卷积运算之后得到的激活图像,绿色方块包含了激活单元。

由于图像像素局部性的存在,假设绿色区域中左上角激活的为狗子的耳朵,中间部分激活的为狗子的嘴巴,右下激活的为狗子的腿。

那么如图 b 所示,随机丢弃激活单元的方法,仅仅是丢弃了单个单元,剩余的绿色区域中仍然包含了原来的特征(比如耳朵、嘴巴和腿的特征),因此这种单纯的 dropout 方法并不有效。

而连续地将一大块区域丢弃(图c),却可以直接丢掉一些特定的区域信息(比如将左上角的耳朵信息全部丢掉,或者右下角的腿的信息),从而强制剩余的神经元去学习更重要的特征。

假设这是一个图像分类网络,那么剩余的神经元就会被强制去学习其他更有利于分类的特征。

目前,dropblock 已经被应用于许多CNN模型中,包括ResNet、DenseNet、MobileNet、EfficientNet 和 RetinaNet 等。

在ImageNet分类任务中,使用dropblock 的ResNet-50模型的准确率达到了78.13%,比传统的dropout方法提高了1.6%。

3、一个发文章的新思路

发现没有,搞 AI 算法这么卷,大家都在绞尽脑汁对算法进行变形,dropout 这种丢弃单一神经元的方法不好使,那我就整块整块的丢,效果挺好那就是一篇顶刊。

有个网友(知乎:Kevin S)对这种丢弃神经元的方法做了个总结,很有意思:

  • Dropout:完全随机扔

  • SpatialDropout :按channel随机扔

  • Stochastic Depth:按res block随机扔

  • DropBlock:每个feature map按spatial块随机扔

  • Cutout:在input层按spatial块随机扔

  • DropConnect:只在连接处扔,神经元不扔

每一种扔法都是一个顶刊文章,小伙伴们觉得怎么样,是不是打开了发文章的新思路了呢?

参考

1. 论文:Wu, Y., He, K., & Hoiem, D. (2018). DropBlock: A regularization method for convolutional networks. arXiv preprint arXiv:1810.12890.

2. ^ 5分钟搞懂 dropblock

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Drool 7 SpreadSheet Decision Template 笔记

1 Excel Decision table 1.1 很棒的示意图,来自https://blog.csdn.net/justlpf/article/details/128109731 1.2 参考URL 1.2.1 https://blog.csdn.net/justlpf/article/details/128109731 1.3 多sheet 模式 默认是用第一个sheet如果要支持多sheet,需…

Java核心知识点整理大全17-笔记

Java核心知识点整理大全-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全2-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全3-笔记_希斯奎的博客-CSDN博客 Java核心知识点整理大全4-笔记-CSDN博客 Java核心知识点整理大全5-笔记-CSDN博客 Java核心知识点整理大全6…

基于SpringBoot+Vue的蛋糕商城【源码好优多】

简介 蛋糕商城首页、注册、登录、浏览商品、购物车、下单、收藏商品、个人中心、管理员登录、角色管理、日志管理、菜单管理、轮播图管理、商品类别管理、商品管理、用户管理、订单管理、收货地址管理等功能模块。 项目目录 数据库 首页 用户注册 登录 商品详情 个人信息 购物车…

Pytorch项目的文件结构一般都是怎么组织的?

如果是从一些比较典型的论文里弄下来的源码,你会发现它们的论文结构往往都非常复杂。不同的模型、不同的论文,可能代码结构组织的方式都不一样。但它们都不外乎就是经历这几个方面: 1、模型和结构模块定义; 2、数据集获取与处理…

从源码重新真正认识RateLimiter(SmoothBursty实现)

前言 相信大家对于谷歌RateLimiter一定并不陌生,在项目中应该也经常拿来进行限流,但是对于其实现原理并不一定能用熟于心,本文带大家从源码探究RateLimiter的设计与具体实现。 RateLimiter的组成 从源码可以看到,RateLimiter由stopwatch与m…

Codeforces Round 911 (Div. 2)(C~E)(DFS、数论(容斥)、SCC缩点 + DAG图上DP)

​​​​​​1900C - Anjis Binary Tree 题意: 凯克西奇一直被安吉冷落。通过一个共同的朋友,他发现安吉非常喜欢二叉树,于是决定解决她的问题,以引起她的注意。Anji 给了 Keksic 一棵有 n个顶点的二叉树。顶点 1 是根&#xff…

[Spring] 字节一面~Spring 如何解决循环依赖问题 以及 @resource 与 @autowire 同时存在时谁生效

文章目录 Spring 如何解决循环依赖问题resource 与 autowire 同时存在时谁生效 Spring 如何解决循环依赖问题 Spring在实例化一个bean的时候,是首先递归实例化其所依赖的所有bean,直到某个bean没有依赖其他bean,此时就会将该实例返回&#x…

基于Java SSM框架+Vue实现大学生兼职信息网站项目【项目源码+论文说明】

基于java的SSM框架Vue实现大学生兼职信息网站演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认…

【GD32307E-START】开发板开箱、开发环境建立及工程模板测试

01-GD32F307E-START开箱、开发环境建立及工程模板测试(Keil-MDK GCC Template) 兆易GD32307E-START开发板搭载GD32 ARM Cortex-M4微控制器主流芯片GD32F307。 开箱 板子的做工还是非常精良小巧的。有两颗按键,一颗是复位,一颗是…

时间序列预测 — LSTM实现单变量风电滚动预测(Keras)

目录 1 数据处理 1.1 数据集简介 1.2 数据集处理 2 模型训练与预测 2.1 模型训练 2.2 模型滚动预测 2.3 结果可视化 1 数据处理 1.1 数据集简介 实验数据集采用数据集5:风电机组运行数据集(下载链接),包括风速、风向、温…

纯新手发布鸿蒙的第一个java应用

第一个java开发鸿蒙应用 1.下载和安装华为自己的app开发软件DevEco Studio HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 2.打开IDE新建工程(当前用的IDEA 3.1.1 Release) 选择第一个,其他的默认只能用(API9)版本,…

居家适老化设计第三十二条---卫生间之扶手

以上产品图片均来源于淘宝 侵权联系删除 居家适老化中的扶手是指在家居环境中,为老年人提供支撑和帮助的装置,通常安装在家中的各个需要扶抓的位置,如楼梯、卫生间、浴室、厨房等处。扶手的设计应考虑老年人的体力、平衡和安全需求&#xf…

顶级Mac数据恢复工具—— 13个 Mac 数据恢复程序榜单

如果您点击此博客,首先可能是您不小心格式化了外部或内部存储,无论是 SD卡还是硬盘,其次,您收到了一些错误消息,表明您丢失了所有内容,现在您已经精疲力竭了的形状。原因可能有多种:您不小心删除…

探索 Linux vim/vi 编辑器:介绍、模式以及基本操作演示

💐作者:insist-- 💐个人主页:insist-- 的个人主页 理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里 ❤️欢迎点…

Slf4j使用Logback时,Logback如何初始化

前言 Slf4j SLF4J,全称 Simple Logging Facade for Java,是一个用于Java编程语言的日志系统抽象层。它为多种现有日志框架(例如Log4j、java.util.logging等)提供了统一的接口, 但自身并不实现日志功能。 SLF4J 允许用户在部署时…

校园导游程序及通信线路设计(结尾附着总源码)

校园导游程序及通信线路设计 摘  要 新生或来访客人刚到校园,对校园的环境不熟悉。就需要一个导游介绍景点,推荐到下一个景点的最佳路径等。随着科技的发展,社会的进步,人们对便捷的追求也越来越高。为了减少人力和时间。针对对…

一起学docker系列之十一使用 Docker 安装 Redis 并配置持久化存储

目录 前言1 基本安装步骤安装Redis镜像:查看已下载的Redis镜像:运行Redis容器:进入Redis容器:使用Redis CLI进行基本操作: 2 配置文件同步准备配置文件:修改Redis配置文件 /app/redis/redis.conf&#xff1…

Project DESFT 白皮书中文版——应用于普惠金融的可信数字凭证解决方案

1. 概述 Project DESFT 是由 Solv 基金会与 zCloak Network 联合设计孵化,以跨境贸易和金融服务为场景的分布式可信数字凭证解决方案(Distributed Trusted Digital Credential Solution),项目获得新加坡金管局(Monetar…

项目实战——苍穹外卖(DAY10)

如果之前有改过端口号造成WebSocket无法连接的,可以看本篇文章“来单提醒”前的内容进行解决。 课程内容 Spring Task 订单状态定时处理 WebSocket 来单提醒 客户催单 功能实现:订单状态定时处理、来单提醒和客户催单 订单状态定时处理&#xff1a…

Python---练习:使用Python函数编写通讯录系统

预览通讯录系统最终效果 首先,进行需求分析,整个系统功能,分为6个板块,功能如下: ① 添加学员信息 ② 删除学员信息 ③ 修改学员信息 ④ 查询学员信息 ⑤ 遍历所有学员信息 ⑥ 退出系统 系统共6个功能&#xff…