对 CNN 模块的分析,该论文(Systematic evaluation of CNN advances on the ImageNet)已经做过了,里面的发现是非常有帮助的:
 
使用没有 batchnorm 的 ELU 非线性或者有 batchnorm 的 ReLU。
使用一个学习到的 RGB 的彩色空间转换。
使用线性学习率衰退策略。
使用平均和最大池化层的和。
使用大约 128 到 256 的 mini-batch 大小。如果这对你的 GPU 而言太大,将学习率按比例降到这个大小就行。
使用完全连接层作为卷积,并为做最后预测平均所有预测。
当研究增加训练集大小的时候,检测有一个 plateau 是否没有达到
数据的整洁要比数据大小更重要。
如果你不能增加输入图像的大小,在随后的层上减少步幅(stride),这样做有同样的效果。
如果你的网络有复杂和高度优化的架构,像是 GoogLeNet,那修改一定要谨慎。
 
我们相信制作神经网络架构是深度学习领域发展的头等大事。我们团队高度推荐仔细阅读并理解文中提到的论文。
 
但有人可能会想为什么我们要投入如此多的时间制作架构?为什么不是用数据告诉我们使用什么?如何结合模块?这些问题很好,但仍在研究中,有一篇论文可以参考:Neural networks with differentiable structure。
 
要注意到,我们在本文中谈到的大部分架构都是关于计算机视觉的。类似神经网络架构在其他领域内也有开发,学习其他所有任务中的架构变革也是非常有趣的。
 
如果你对神经网络架构和计算性能的比较有兴趣,可参见论文:An Analysis of Deep Neural Network Models for Practical Applications。

对CNN模块的分析的更多相关文章

  1. YOLOV4各个创新功能模块技术分析(三)

    YOLOV4各个创新功能模块技术分析(三)  八.数据增强相关-Stylized-ImageNet 论文名称:ImageNet-trained cnns are biased towards text ...

  2. YOLOV4各个创新功能模块技术分析(一)

    YOLOV4各个创新功能模块技术分析(一) 简 介 yolov4论文:YOLOv4: Optimal Speed and Accuracy of Object Detection arxiv:http ...

  3. python笔记之常用模块用法分析

    python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...

  4. Zepto核心模块源代码分析

    一.Zepto核心模块架构 Zepto核心模块架构图 该图展示了Zepto核心模块架构代码的组织方式.主要分为私有变量.函数和暴露给用户的所有api. Zepto核心模块架构代码 该图展示了Zepto ...

  5. YOLOV4各个创新功能模块技术分析(二)

    YOLOV4各个创新功能模块技术分析(二) 四.数据增强相关-GridMask Data Augmentation 论文名称:GridMask Data Augmentation 论文地址:https ...

  6. AI:IPPR的数学表示-CNN结构/参数分析

    前言:CNN迎接多类的挑战 特定类型的传统PR方法特征提取的方法是固定的,模式函数的形式是固定的,在理论上产生了特定的"局限性" 的,分类准确度可以使用PAC学习理论的方法计算出来 ...

  7. random模块函数分析(一)

    random是python产生伪随机数的模块,随机种子默认为系统时钟.下面分析模块中的方法: 1.random.randint(start,stop): 这是一个产生整数随机数的函数,参数start代 ...

  8. Drf模块详细分析

    drf的请求模块 drf的request是在wdgi的request基础上再次封装 wsgi的request作为drf的request一个属性:_request 新的request对旧的request ...

  9. CNN算法详细分析

    test_example_CNN.m train_x = double(reshape(train_x',28,28,60000))/255; test_x = double(reshape(test ...

随机推荐

  1. java基本类型作为成员变量时的初始值

    package primitivetypedefaultvalue; public class ListDefaultValue { public static void main(String[] ...

  2. 笔记:java并发实践2

    public interface Executor { void execute(Runnable command); } 虽然Executor是一个简单的接口,但它为灵活且强大的异步任务框架提供了基 ...

  3. Java ConcurrentHashmap 解析

    总体描述: concurrentHashmap是为了高并发而实现,内部采用分离锁的设计,有效地避开了热点访问.而对于每个分段,ConcurrentHashmap采用final和内存可见修饰符Volat ...

  4. jetty插件配置

    1.jetty maven 插件启动设置: Base directory:${project_loc} Goals:clean -Djetty.port=8080 jetty:run 2.jetty ...

  5. js一些通用方法的封装

    //封装StringBuilder function StringBuilder() { this._string_ = new Array(); } StringBuilder.prototype. ...

  6. SpringMVC 拦截器(interceptors)对样式(css),JavaScript(js),图片(images)链接的拦截

    因为在web.xml配置了 <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pa ...

  7. IT江湖

    我喜欢看武侠电影,尤其的70-80年代的邵氏电影,在这个期间,邵氏公司将金庸和古老很多小说都改拍成了电影,可以说,看这些电影是一种享受,真的! 对于现实中的IT世界,也像是一个江湖,当你掌握了一些技能 ...

  8. android 几种发送短信的方法

    android中发送短信很简单, 首先要在Mainfest.xml中加入所需要的权限: ? 1 2 3 <uses-permission android:name="android.p ...

  9. StringBuffer和StringBuilder使用方法比較

    StringBuffer是字符串缓冲区,是一个容器. 特点: 1,长度是可变化的. 2,能够字节操作多个数据类型. 3,终于会通过toString方法变成字符串. C create U update ...

  10. mysql 的密码重置

    Windows: 1.以系统管理员登陆: 2.停止MySQL服务: 3.进入CMD,进入MySQL的安装目录,假设是D:/MySQL/MySQL Server 5.0/: 4.跳过权限检查启动MySQ ...