首页 > 其他分享 >AlexNet 阅读

AlexNet 阅读

时间:2023-09-02 16:34:15浏览次数:30  
标签:Dropout 阅读 CNN 256 pixel AlexNet 图片

原文概述

Introduction

Story: 为了提高图像分类的性能,我们需要更大的数据集, 更大学习能力(learning capacity)的模型,并且模型需要有很好的泛化能力.
CNN符合要求: 其规模可以由层数和每层的宽度决定,并且CNN对自然图片有着强大而准确的假设.(? stanionarity of statistics and
locality of pixel dependencies.)

本文贡献: 训练了一个目前最大的CNN,使用了GPU加速,使用了防止过拟合的技术.

Dataset

介绍了ImageNet. 关键点: We did not pre process the images in any other way, except for subtractingthe mean activity
over the training set from each pixel. So we trained our network on the(centered) raw RGB values of the pixel.

AlexNet没有像当时主流的做法,先对图片做手工的特征处理,而是将特征处理和分类统一由CNN端到端(End-to-End)训练.

The architecture
ReLU

使用非饱和非线性函数(non-saturating nonlinearity)ReLU, 作者认为使用非饱和线性函数能加快模型的训练。然而后来的研究不认同
这个看法,但很多网络都会使用ReLU,因为其简单且有效(李沐)。

Overlapping pooling

作者发现由重叠的池化操作(步幅大小小于池化核大小)能让精度提高(with kernel size=3 and stride = 2 reduces the top-1 and top-5 error
rates by 0.4% and 0.3%).

(我用kernel size = stride = 2代替原网络训练,精度差别不大.)

Reducing overfitting
Data augmentation

第一种数据增强使用随机裁剪 + 随机水平翻转. 从\(256\times 256\)的图片随机裁剪为\(224\times224\). 作者认为通过这种方式将
数据扩大为原来的\((256 - 224)\times (256 - 224)\times 2 = 2048\)倍. 然而大部分图片信息都差不多,所以这样计算过于简单了.

此外作者使用PCA对图片颜色做了处理.(暂不了解)

Dropout

Dropout

Dropout操作让网络层中的神经原有\(p\)概率失活,不参与前向和反向传播. 作者认为Dropout操作相当于模型组合,并且减少了神经元之间的相关性.

后面的研究认为Dropout相当于L2正则项. (Why?)

Results
Qualitative evaluations

作者用视觉方式展示了CNN的特征学习能力,展示全连接层倒数第二层的特征向量欧式距离最近的图片,发现特征向量L2距离
接近的图片属于同一分类,且这些图片原始像素值的L2距离并不接近。这表面网络学习到了有意义的特征.

AlexNet 与 LeNet

...

标签:Dropout,阅读,CNN,256,pixel,AlexNet,图片
From: https://www.cnblogs.com/w-like-code/p/17673835.html

相关文章

  • CLion进行远程/本地编译、GDB调试postgres(含阅读源码)
    Clion-RemoteGDB调试postgres(本地为windows,远程为centos)通过Make+Makefile编译,并构建索引下面一步一步跟着做即可下载源码压缩包、编译postgres的源码:使用Clion调试postgresql源码-知乎(zhihu.com)(系统用户的配置文件是~/.zshrc)下载源码压缩包、编译postgres的源码:Lin......
  • 记录:阅读 C# 中string的源码
    stringUnsafe.AddUnsafe.Add是string中一个常用的方法,它不是用于向某个对象添加元素的,而是用于计算字符在内存中的偏移位置。Split是如何运行的string的split操作是直接进行内存操作实现的,这样可以在不创建大量新字符串副本的情况下,从原始字符串中提取子字符串。它使用......
  • 阅读习惯
    作业要求1.参考https://www.cnblogs.com/rocedu/p/6528920.html,谈谈你对阅读电子书的体会,特别是全文搜索功能的理解2.提交微信读书(或其他平台)目前的读书数据(总时长,册数,笔记数等)的截图,或其他阅读计划作业内容作业1阅读电子书的体会随着时代的发展,电子书越来越成为当今年轻......
  • 22. 补充阅读-会计分类账户借贷标记的本质原理和规律
    作者:王会计王贻岩链接:https://www.zhihu.com/question/28385432/answer/281130552来源:知乎著作权归作者所有。  借贷记账法比其他复式记账法(增减记账法)简便、合理的原因就是因为其巧妙的账户结构设置规定:同类账户结构相同,异类账户结构相反。  什么意思,通过会计等式”资产......
  • 使用clion阅读任意交叉编译软件的代码
    clion是linux下比较强大的C/C++IDE,通过扩展也可以支持很多其他语言,例如shell,lua,perl,python,rust。唯一缺点是收费,但是相对它给我带来的便利,这点费用不算什么。我一般用来开发C/C++/项目,它支持3种方式解析工程源码,分别是MakefileCMake编译数据库像代码的高亮,跳转,补全,都......
  • PTAM-论文阅读
    论文全称:ParallelTrackingandMappingforSmallARWorkspacesPTAM的重要意义是以下两点:PTAM提出并实现了跟踪与建图过程的并行化。跟踪部分需要实时响应图像数据,而对于地图的优化则没必要实时计算。后端优化可以在后端慢慢进行,在必要时进行线程同步即可。这是视觉slam中首次区......
  • ArrayList源码阅读之EMPTY_ELEMENTDATA和DEFAULTCAPACITY_EMPTY_ELEMENTDATA区别
    /***Sharedemptyarrayinstanceusedforemptyinstances.*/privatestaticfinalObject[]EMPTY_ELEMENTDATA={};/***Sharedemptyarrayinstanceusedfordefaultsizedemptyinstances.We*distinguishthisfromEMPTY_ELEMENTDATAtoknowhowmuchtoi......
  • 你是如何阅读jdk源码的?
    阅读别人的代码作为开发人员是一件经常要做的事情。一个是学习新的编程语言的时候通过阅读别人的代码是一个最好的学习方法,另外是积累编程经验。如果你有机会阅读一些操作系统的代码会帮助你理解一些基本的原理。还有就是在你作为一个质量保证人员或一个小领导的时候如果你要做白盒......
  • Linux高性能服务器编程阅读1:
    Linux:所有东西都是文件。socket也是可读,可写,可控制,可编程的文件描述符。I/O高级函数:1.pipe()和dup()/dup2()pipe()函数创建的两个文件描述符fd[0]和fd[1]分别构成管道的两端,往fd[1]中写入的数据可以从fd[0]中读出。且,fd[1]只能写入数据,fd[0]只能读出数据,不能颠倒。dup和dup2......
  • 论文阅读 《Pingmesh: A Large-Scale System for Data Center Network Latency Measur
    背景在我们内部产品中,一直有关于网络性能数据监控需求,我们之前是直接使用ping命令收集结果,每台服务器去ping(N-1)台,也就是N^2的复杂度,稳定性和性能都存在一些问题,最近打算对这部分进行重写,在重新调研期间看到了Pingmesh这篇论文,Pingmesh是微软用来监控数据中心网络情况......