CNN的新进展2

本周主要学习内容包括上次blog未尽部分以及对经典文章的精读总结和思考。

CNN中对损失函数(Loss function)的选择因问题类型的不同而有各异的合适选择。应用的比较多的包括S softmax loss,Hinge loss和Contrastive loss。

还有一些比较常用的正则化方法,诸如dropout/dropconnect以及学习连接的重要性等方法。dropout是在全连接随机dropout一半的连接,训练多个网络,取最终综合的结果。dropconnect是在drop一些weight,使其为0**重点内容**。

同样涉及到网络参数的初始化时,也有很多讲究,最常用的是利用高斯分布,Xavier,MSRA等方法。具体细节可参考下边的文献。

接下来介绍几种CNN网络训练中更快的计算方法

  • FFT
    方法将时域的卷积运算转换到频域里的矩阵乘积运算。值得思考的是这种时域运算到频域运算的变换能否在应用到更多的地方呢,比如直接在频域学习特征,或者空域上的非线性在频域是否又是怎样的存在?这些都是有待研究的。

  • 低秩矩阵分解,它旨在通过减少参数量来压缩模型,即:

还有一种方法就是VQ(Vector Quantization)。

最近又把AlexNet看了一遍,其中注意到了如下几点:

  1. CNN work的原因——因为我们对数据的先验理解较少,所以若模型能补偿这方面的不足是最好的,同时CNN模型对图片的先验假设也是符合现实的,即图像的统计平稳性和像素级上的相关性;
  2. 多GPU的运用——虽然本文中只用了两块GPU,但利用多GPU来完成参数的并行计算思想至关重要;
  3. 文中利用了dropout来缓解过拟合的问题——这一方法确实提高了网络预测的精确率,但网络的收敛时间变长了。至于在此基础上发展而来的dropconnect等是否很好的解决了这一问题以及如何解决这种Trade-off的问题,仍然值得思考;
  4. 文中的学习率是手工调整,在一些文章中也提出了学习率自适应的方法,这里需要调研下,看是否还有点可以挖掘;
  5. 文中最后提及了CNN在视频处理方面的可能应用,而在ILSVRC2015中就有了关于在视频中进行物体探测的竞赛内容。这个值得跟进关注。。。

看了几篇论文有了些其他的思考,也一并记下来。CNN网络的结构选择也有很多的trick,但理论支持很少,超参的调整也是如此,这种conv+pooling的固定框架在一定程度上局限了模型的可能性,当然在此基础上引入了很多其他中间层,诸如norm层、NB层、Spatial Transformer Networks等。但这些并不够,固定框架基础上的超参调整虽然较难,但探索不同模型加你的参数设置更加的困难,而这种难度可能会带来意想不到的收获。

参考文献: 【1】Recent Advances in Convolutional Neural Networks.Jiuxiang Gu.et.al. 【2】Improving neural networks by preventing co-adaptation of feature detectors. G. E. Hinton.et.al 【3】Learning both Weights and Connections for Efficient Neural Networks. Song Han .et.al 【4】ImageNet Classification with Deep Convolutional Neural Networks.Alex Krizhevsky.et.al 【5】Spatial Transformer Networks. Max Jaderberg.et.al

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


正则替换html代码中img标签的src值在开发富文本信息在移动端展示的项目中,难免会遇到后台返回的标签文本信息中img标签src属性按照相对或者绝对路径返回的形式,类似:<img src="qinhancity/v1.0.0/ima
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描,过滤,统计汇总等工作,数据可以来自标准输入也可以是管道或文件。当读到第一行时,匹配条件,然后执行指定动作,在接着读取第二行数据处理,不会默认输出。如果没有定义匹配条件,则是默认匹配所有数据行,awk隐含循环,条件匹配多少次,动作就会执行多少次。逐行读取文本,默认以空格或tab键为分割符进行分割,将分割所得的各个字段,保存到内建变量中,并按模式或或条件执行编辑命令。与sed工作原理相比:s
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及他们的组合组成了一个规则,然后检查一个字符串是否与这种规则匹配来实现对字符的过滤或匹配。我们刚才在学习正则表达式的时候,我们表示数字,字母下划线的时候是用w表示的,为什么我们在书写的时候用的是w?我们可以发现我们分割空格的话,并没有达到我们预期的效果,这里我们可以使用正则表达式的方式进行分割。我们可以发现,我们和上面得到的结果不一致,既然出错了,肯定是我们的使用方式不对。看到这里我们就能感受到正则表达式的作用了,正则表达式是字符串处理的有力工具。
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发布,同步更新到和。欢迎大家投稿,,推荐或者自荐开源项目/资源/工具/文章~
本文涉及Shell函数,Shell中的echo、printf、test命令等。
常用正则表达,包括: 密码、 手机号、 身份证、 邮箱、 中文、 车牌号、 微信号、 日期 YYYY-MM-DD hh:mm:ss、 日期 YYY-MM-DD、 十六进制颜色、 邮政编号、 用户名、 QQ号
一、python【re】的用法1、re.match函数·单一匹配-推荐指数【★★】2、re.search函数·单一匹配-推荐指数【★★★★★】3、re.findall函数·多项匹配-推荐指数【★★★★★】4、re.finditer函数·多项匹配-推荐指数【★★★★】5、re.sub函数·替换函数-推荐指数【★★★★】二、正则表达式示例·总有一款适合你1、正则表达式匹配HTML指定id/class的标签2、正则表达式匹配HTML中所有a标签中的各类属性值3、获取标签的文本值
1.借助词法分析工具Flex或Lex完成(参考网络资源)2.输入:高级语言源代码(如helloworld.c)3.输出:以二元组表示的单词符号序列。通过设计、编制、调试一个具体的词法分析程序,加深对词法分析原理的理解,并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。由于各种不同的高级程序语言中单词总体结构大致相同,基本上都可用一组正则表达式描述,所以构造这样的自动生成系统:只要给出某高级语言各类单词词法结构的一组正则表达式以及识别各类单词时词法分析程序应采取的语义动作,该系统
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。例如:我们在写登录注册功能的时候使用的表单验证(对用户名、密码进行一些字符或长度进行限制) ===> (`匹配`) - 正则表达式还常用于过滤掉页面内容的一些敏感词汇。例如:我们平常在打游戏时候的口吐芬芳被换成了***:full_moon_with_face: ===> (`替换`) - 正则表达式从字符串中获取我们想要的特定部分。例如:我们在逛淘宝的时候在搜索框中搜索内容,会弹出很多与搜索相关的提示内容 ===> (`提取`) etc..
通过上面几个简单的示例,可以了解到常见的基础正则表达式的元字符主要包括以下几个^ 匹配输入字符串的开始位置。除非在方括号表达式中使用,表示不包含该字符集合。要匹配”^”字符本身,请使用"^"$ 匹配输入字符串的结尾位置。如果设置了RegExp对象的 Multiline属性,则"$”也匹配'n'或'r’,。要匹配”$"字符本身,请使用”$". 匹配除"rn"之外的任何单个字符 反斜杠,又叫转义字符,去除其后紧跟的元字符或通配符的特殊意义* 匹配前面的子表达式零次或多次。...
给出补充后描述 C 语言子集单词符号的正则文法,设计并实现其词法分析程序。
正则表达式(Regular Expression),又称规则表达式,它不是某个编程语言所特有的,是计算机科学的一个概念,通常被用来检索和替换符合某些规则的文本。
Python Re 正则表达式 数据匹配提取 基本使用
正则表达式:是用来描述字符串内容格式,使用它通常用于匹配一个字符串的内容是否符合格式要求
python的学习还是要多以练习为主,想要练习python的同学,推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!