
深度学习
文章平均质量分 84
hhhcbw
Hello World!!!
展开
-
深度学习(八)——ResNet+Pytorch实现
简介ResNet(Residual Neural Network)由微软研究院的Kaiming He等四名华人提出,通过使用ResNet Unit成功训练出了152层的神经网络,并在ILSVRC2015比赛中取得冠军,在top5上的错误率为3.57%,同时参数量比VGGNet低,效果非常突出。ResNet的结构可以极快的加速神经网络的训练,模型的准确率也有比较大的提升。同时ResNet的推广性非常好,甚至可以直接用到InceptionNet网络中。下图是ResNet34层模型的结构简图。原理在R原创 2022-01-14 20:33:37 · 1790 阅读 · 0 评论 -
深度学习(七)——Batch Normalization+Pytorch实现
简介Batch Normalization是如今深度学习常见的方法,来加速深层网络训练的收敛,并且有正则化的作用,甚至可以不使用Dropout或者减小神经元被drop的概率。原理深度神经网络训练的问题深度神经网络模型的训练为什么困难、收敛慢?这个问题的解决在之前的工作中,有从尝试新的激活函数角度,如 ReLU、Maxout、PReLU等;有从权值初始化方法角度,如Xavier初始化、Kaiming初始化等,但收益相对都不是很高。这个问题的存在使得在设置 learning rate、初始化方法还有原创 2022-01-13 20:19:38 · 2368 阅读 · 0 评论 -
深度学习(五)——ZFNet+Pytorch实现
简介AlexNet的提出使得大型卷积网络开始变得流行起来,但是人们对于CNN网络究竟为什么能表现这么好,以及怎么样能变得更好尚不清楚,因此为了解决上述两个问题,ZFNet提出了一种可视化技术,用于理解网络中间的特征层和最后的分类器层,并且找到改进神经网络的结构的方法。ZFNet是Matthew D.Zeiler 和 Rob Fergus 在2013年撰写的论文Visualizing and Understanding Convolutional Networks中提出的,是当年ILSVRC的冠军。ZFNe原创 2022-01-09 21:32:35 · 3676 阅读 · 5 评论 -
深度学习(六)——GoogleNet+Pytorch实现
简介inception(也称GoogLeNet)是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。inception的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。Inception模块为什么要提出Inception?一般来说,提升网络性能最直接的原创 2022-01-11 10:27:12 · 2704 阅读 · 0 评论 -
深度学习(四)——VGG+Pytorch实现
简介VGG是牛津大学的Visual Geometry Group的组提出的。该网络是在ILSVRC 2014上的相关工作(定位任务第一,分类任务第二),主要工作是证明了增加网络的深度能够在一定程度上影响网络的最终性能(对比了多个不同深度网络的性能)。从上表可以发现,VGG只使用了两个网络就能获得非常好的效果。主要方法采用3x3卷积核AlexNet采用了 11x11 7x7 5x5较大卷积核,而在VGG中,使用连续的 3x3 卷积核代替大卷积核,可以在保持感受野不变的情况下,减小参数量。感受野原创 2022-01-09 10:54:16 · 2511 阅读 · 0 评论 -
深度学习(三)——AlexNet+Pytorch实现
简介在2010年的ImageNet LSVRC-2010上,AlexNet在给包含有1000种类别的共120万张高分辨率图片的分类任务中,在测试集上的top-1和top-5错误率为37.5%和17.0%(top-5 错误率:即对一张图像预测5个类别,只要有一个和人工标注类别相同就算对,否则算错。同理top-1对一张图像只预测1个类别),在ImageNet LSVRC-2012的比赛中,取得了top-5错误率为15.3%的成绩,而第二名的成绩为26.2%,可见AlexNet在当时有多强大。网络结构网原创 2022-01-07 16:01:27 · 1602 阅读 · 0 评论 -
深度学习(二)——经典网络LeNet+Pytorch实现
LeNet神经网络介绍LeNet神经网络由深度学习三巨头之一的Yan LeCun提出,他同时也是卷积神经网络 (CNN,Convolutional Neural Networks)之父。LeNet主要用来进行手写字符的识别与分类,并在美国的银行中投入了使用。LeNet的实现确立了CNN的结构,现在神经网络中的许多内容在LeNet的网络结构中都能看到,例如卷积层,Pooling层,ReLU层。虽然LeNet早在20世纪90年代就已经提出了,但由于当时缺乏大规模的训练数据,计算机硬件的性能也较低,因此LeNe原创 2021-12-30 15:19:58 · 2007 阅读 · 0 评论 -
CNN图片分类(Pytorch)
这篇文章主要讲述用 pytorch 完成简单 CNN 图片分类任务,如果想对 CNN 的理论知识进行了解,可以看我的这篇文章,深度学习(一)——CNN卷积神经网络。图片分类我们以美食图片分类为例,有testing、training、validation文件夹。下载链接放下面。点击提取, 提取码:nefu前面的 0 表示其为 0 类,后面为其编号。导入必要的包# Import需要的套件import osimport numpy as npimport cv2import torchi原创 2021-12-12 22:59:05 · 30737 阅读 · 36 评论 -
深度学习(一)——CNN卷积神经网络
引言我们知道,如果将全连接的神经网络应用到图像上是非常困难的,因为如果是 1000x1000 像素的图片,参数量可能就上亿了。我们能否能设计一种网络,可以减少我们的参数量。实际上,我们的眼睛是先找出图像的特征,再根据特征分辨图像到底是什么的,我们也可以设计网络去识别特征,再根据特征识别图像。如果可以这样,就能大大减少参数量,因为特征比整个图像小得多。并且,无论这个特征出现在什么地方,我们都可以使用一个神经元来完成这个工作,这样就可以减少参数量。图像还有个特点就是,假如我们把奇数像素点提取出来原创 2021-12-11 17:41:24 · 3492 阅读 · 0 评论