第三次作业:卷积网络神经

   2023-02-09 学习力520
核心提示:【第一部分】视频学习心得及问题总结1.视频学习心得蔺一迪:老师在第一节中首先介绍了深度学习的一些数学基础包括线性代数中矩阵线性变化、秩的概念,以及低秩近似等内容,还讲述了损失函数、误差函数等内容。第二节中,讲述了卷积网络。新的神经网络的提出必

【第一部分】视频学习心得及问题总结

1.视频学习心得

蔺一迪:老师在第一节中首先介绍了深度学习的一些数学基础包括线性代数中矩阵线性变化、秩的概念,以及低秩近似等内容,还讲述了损失函数、误差函数等内容。

第二节中,讲述了卷积网络。新的神经网络的提出必然能够解决一些现有问题,因为传统神经网络权重矩阵的参数过多,会导致过拟合现象,因此提出了卷积神经网络。卷积网络由卷积层、池化层以及全连接层组成。而卷积网络有很多层,层数越深,就越抽象,不同卷积层关注不同的地方。总体感觉是随着深度的增加,成一个从大到小 从整体到部分的趋势。之后讲述了几个典型的卷积网络,这里我想主要理解Alexnet,Alexnet基于之前的网络有以下几个优点:
1 防止过拟合:dropout随机关闭部分神经元
2 解决梯度消失问题:ReLU激活函数收敛速度快,可以解决Sigmoid函数带来的梯度消失问题
3 数据增强:通过平移、翻转、对称等方法将样本倍增,从而拥有更多数据

卢浩:1.卷积是对两个实变函数的一种数学操作;2.卷积不易过拟合;3.分类任务中往往最大值池化比平均值池化效果好。

俞子君:卷积网络神经是图像处理方面的核心算法之一。比起传统神经网络来说,卷积神经网络有更多层组成,不同层之间关注地方不同,提高了学习的精确度,同时也提升了学习的效果。在听的过程中,对于思想有一定了解,但对于具体函数,理解起来还是有些困难。

李剑飞:通过本次视频的学习,我了解到了深度学习是需要通过概率学来得到规律,通过数据结构来优化模型。所以如果想要专研深度学习,需要具备很好的数学基础。第二个视频是关于卷积神经网络的,它不仅解决了我上一次作业中对于卷及神经相关的问题,同时让我了解了CNN的原理和基础结构:由卷积和池化互相交替,最后加上全连接(大部分参数量都在全连接中)。同时让我了解到了典型网络结构的发展史和各个阶段代表结构的原理(从AlexNet到VGG又到GoogleNet再到ResNet),在层数不断增加的情况下仍然能保证不会出现梯度消失的情况,并且将top5的误差率从16.7%下降到最后的3%左右。不得不再一次佩服这些大佬的智慧。

林思源:对神经网络的实现原理有了基本的理解,对卷积神经网络和传统神经网络的异同和优缺点也有了了解。对于卷积神经网络,我的理解是相对于传统的全连接神经网络,卷积神经网络相对于是做了优化,通过池化的操作提取出特征信息的同时还减少了参数,加快了训练速度,而且对于防止过拟合有一定的作用。

2.问题总结

俞子君:过拟合的出现原因。

蔺一迪:1 为什么参数越多,就会过拟合(我的理解是:参数越多,考虑的细节也就越多,比如课程中讲到训练图像是哈士奇,但是测试集放入金毛时就推出不是狗的结果,因为过于细节化,不够泛化)
2 该怎样设置步长stride呢?(是按照往常经验亦或有什么规律)

李剑飞:越深的网络越难训练吗?如果用Resnet的方法来解决梯度消失的问题,是不是可以无限制的加深层数?

林思源:卷积神经网络结构的结构及其作用,结构的变化对最终的训练结果会造成什么差异。
李瑞涛:
第三次作业:卷积网络神经
AlexNet分层解析这部分有点梳理不清

【第二部分】代码练习

俞子君:

1.卷积神经网络

第三次作业:卷积网络神经

可以明显看出来在卷积神经网络上的训练要好于在小型全连接网络上的训练。

第三次作业:卷积网络神经

但是打乱像素顺序后,可以看出卷积神经网络的卷积和池化难以发挥他该有的作用,甚至比小型犬连接网络的训练效果还差。

2.数据分类

第三次作业:卷积网络神经

有一个识别错误,准确率尚可

3.用VGG16进行分类

第三次作业:卷积网络神经

用VGG网络后,准确率确实提高了。

李剑飞:

*1.MNIST 数据集分类*

*1.3.在小型全连接网络上训练*

第三次作业:卷积网络神经

*1.4.在卷积神经网络上训练*

​ 通过上面的测试结果,可以发现:含有相同参数的 CNN 效果要明显优于简单的全连接网络。(卷积和池化)

第三次作业:卷积网络神经

*1.5.打乱像素顺序再次在两个网络上训练与测试*

在全连接网络上训练与测试:

第三次作业:卷积网络神经

​在卷积神经网络上训练与测试:与上面相比较可以看出,在打乱顺序之后的训练和测试中全连接网络的效果更好。

第三次作业:卷积网络神经

*2.CIFAR10 数据集分类*

*2.3.测试*

​ 从测试集中取出8张图片:

第三次作业:卷积网络神经

把图片输入模型,看看CNN对图片的识别结果:

第三次作业:卷积网络神经

​看看网络在整个数据集上的表现:(准确率还可以,通过改进网络结构,性能还可以进一步提升)

第三次作业:卷积网络神经

3. *使用 VGG16 对 CIFAR10 分类*

*3.3.网络训练*

使用一个简化版的 VGG 网络,就能够显著地将准确率由 63%,提升到 83.94%:

第三次作业:卷积网络神经

*4.感受和总结:*

​ 通过三个实验,让我们体验到了从最简单的全连接网络到卷积神经网络到VGG16的实施以及效率逐步提升。让我对于之前的视频学习有了一个更具体形象的理解,能大概理解代码的意思和内容,但是靠自己依然无法写出(很多库和函数的调用并不是很会)。希望能够慢慢进步!

卢浩:

  1. 卷积神经网络

第三次作业:卷积网络神经

通过卷积和池化,卷积神经网络的效果明显优于简单的全连接网络

第三次作业:卷积网络神经

打乱后卷积神经网络的性能明显下降,儿全连接网络性能几乎没有变化

  1. CIFAR10 数据集分类

    第三次作业:卷积网络神经

    考虑到这些图片连我都认不出来,这些识别结果还不错

    3.使用 VGG16 对 CIFAR10 分类

第三次作业:卷积网络神经

太对辣!真的显著提高了准确率

蔺一迪:

*1. MINIST数据集分类*

1 观察CNN网络结构,发现是以下结构:卷积conv1-relu函数-池化pool、卷积conv2-relu函数-池化pool、全连接层-relu、全连接层-softmax

2 transforms.Normalize((0.1307,),(0.3081,))])),batch_size=1000,shuffle=True)

这是标准化的过程,需要将数据加工成:(Data-均值)/标准差,从而加快神经网络训练其中均值为0.1307,方差为0.3081。

3 代码的步骤总结

1)通过train_loader = torch.utils.data.DataLoader下载数据

2)通过class CNN(nn.Module):创建一个CNN网络,将卷积、全连接、池化连接起来

3)训练函数def train(model):以及测试函数def test(model):在训练函数中计算梯度、损失函数;在测试函数中得到正确预测结果的数量

4)分别在小型全连接网络与卷积神经网络中训练函数,最终得到训练效果

5) 加入data = perm_pixel(data, perm)函数打乱数字顺序再进行训练

4 对比小型全连接网络与卷积神经网络,我们可以看出卷积神经网络有明显的优势,loss值更小,训练效果更好。

第三次作业:卷积网络神经

小型全连接网络loss值

第三次作业:卷积网络神经

卷积神经网络loss值

*2.CIFAR10数据集分类*

3 训练效果

第三次作业:卷积网络神经

给出一组图片及其标签

第三次作业:卷积网络神经

第三次作业:卷积网络神经

网络得到的结果,仍有一些差距,最终在整个数据集中正确率达64%。

*3.使用 VGG16 对 CIFAR10 分类*

第三次作业:卷积网络神经

这里代码出现了两个错误

首先是定义self.cfg在函数VGG内部,其实应该在外部

其次报错RuntimeError: mat1 dim 1 must match mat2 dim 0,发现是图像大小不一样的原因

最后解决错误后得到最终结果,正确率为83.49%。

林思源:

1.MNIST数据集分类:

第三次作业:卷积网络神经

小型全连接网络上训练正确率达到89%

第三次作业:卷积网络神经

卷积神经网络上训练正确率达到95%,以上说明卷积网络相对于全连接网络的提征和泛化能力更好。

第三次作业:卷积网络神经

  在打乱像素之后,全连接神经网络正确率浮动不大,基本保持一致。

第三次作业:卷积网络神经

 卷积神经网络正确率下降较多,是因为在打乱像素后,训练集相较之前的特征性弱了很多。但全连接网络仍然能最大程度提取像素关系,而卷积网络只能利用较弱的像素局部关系。

2.CIFAR10数据集分类:

第三次作业:卷积网络神经

经过训练之后,实际上错误率还是比较高,预测的八个选集中错了三个。

第三次作业:卷积网络神经

最终的正确率是61%。

3.VGG16对CIFAR10分类:

第三次作业:卷积网络神经

由于连不到GPU,又到了ddl,暂且认为实验结果和预期一样,正确率达到84%左右。

相较于CNN结构的分类,VGG16在正确率上有显著提升,由上所述,对于网络结构对结果的影响还不太明白,所以不知道为什么。

李瑞涛:
第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

CIFAR10 数据集分类

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

使用 VGG16 对 CIFAR10 分类

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

第三次作业:卷积网络神经

 
反对 0举报 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(2)
    【深度学习系列】卷积神经网络CNN原理详解(一)
    本文为【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理(2)从上文的计算中我们可以看到,同一层的神经元可以共享卷积核,那么对于高位数据的处理将会变得非常简单。并且使用卷积核后图片的尺寸变小,方便后续计算,并且我们不需要手动去选取特征,
    03-08
  • 技术向:一文读懂卷积神经网络 - 艾斯1213
    技术向:一文读懂卷积神经网络自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda-convnet、cuda-convnet2。为了增进CNN的理解和使用,特写此博文,以其与人交流,互有增益。正文之前,先
    03-08
  • 卷积神经网络CNN理解 卷积神经网络 简书
    自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda-convnet、cuda-convnet2。为了增进CNN的理解和使用,特写此博文,以其与人交流,互有增益。正文之前,先说几点自己对于CNN的感触。先明
    03-08
  • 理解图像的卷积
    转自:https://www.zhihu.com/question/22298352从数学上讲,卷积就是一种运算。某种运算,能被定义出来,至少有以下特征:首先是抽象的、符号化的其次,在生活、科研中,有着广泛的作用比如加法: ,是抽象的,本身只是一个数学符号在现实中,有非常多的意
    03-08
  • 什么是卷积 什么是卷积网络
    什么是卷积 什么是卷积网络
    目录Feature mapsWhy not Linear335k or 1.3MBem...Receptive FieldFully connnectedPartial connectedLocally connectedRethink Linear layerFully VS LovallyWeight sharingWhy call Convolution?2D ConvolutionConvolution in Computer VisionCNN on feat
    03-08
  • Tensorflow--一维离散卷积 tensorflow一维卷积神经网络
    Tensorflow--一维离散卷积 tensorflow一维卷积
    一维离散卷积的运算是一种主要基于向量的计算方式一.一维离散卷积的计算原理一维离散卷积通常有三种卷积类型:full卷积,same卷积和valid卷积1.full卷积full卷积的计算过程如下:K沿着I顺序移动,每移动一个固定位置,对应位置的值相乘,然后对其求和其中K称
    03-08
  • TensorFlow系列专题(十四): 手把手带你搭建卷积神经网络实现冰山图像分类
    TensorFlow系列专题(十四): 手把手带你搭建卷积
    目录:冰山图片识别背景数据介绍数据预处理模型搭建结果分析总结 一、冰山图片识别背景这里我们要解决的任务是来自于Kaggle上的一道赛题(https://www.kaggle.com/c/statoil-iceberg-classifier-challenge),简单介绍一下赛题的背景:在加拿大的东海岸经常
    03-08
  • 卷积神经网络的“卷积”操作不等于数学上定义的卷积操作
    卷积神经网络的“卷积”操作不等于数学上定义的
    在介绍卷积神经网络CNN的时候,大部分教材在介绍“卷积操作”的时候都与下面这张图类似的说明这点让人很困惑,因为在数学上,卷积运算是这么定义的\((f * g )(t) = \int_{0}^{t} f(\tau) g(t - \tau)\, d\tau\)很明显,在与\(f(\tau)\)相乘的是\(g(t-\tau)\)
    03-08
  • 卷积神经网络——池化层学习——最大池化
    卷积神经网络——池化层学习——最大池化
    池化层(Pooling layers)除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,我们来看一下。先举一个池化层的例子,然后我们再讨论池化层的必要性。假如输入是一个4×4矩阵,用到的池化类型是最大池化(max
    03-08
  • opecv 卷积原理、边缘填充方式、卷积操作详解
    opecv 卷积原理、边缘填充方式、卷积操作详解
    什么是二维卷积呢?看下面一张图就一目了然:卷积就是循环对图像跟一个核逐个元素相乘再求和得到另外一副图像的操作,比如结果图中第一个元素5是怎么算的呢?原图中3×3的区域与3×3的核逐个元素相乘再相加:5=1×1+2×0+1×0+0×0+1×0+1×0+3×0+0×0+2×2
    03-08
点击排行