第三次作业 卷积神经网络

学习心得:

曲绍冰

  在机器学习中,卷积神经网络是一种深度前馈人工神经网络,已成功地应用于图像识别。

  卷积神经网络,是一种前馈神经网络,人工神经元可以响应周围单元,可以进行大型图像处理。卷积神经网络包括卷积层和池化层。

  卷积神经网络包括一维卷积神经网络、二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络常应用于序列类的数据处理;二维卷积神经网络常应用于图像类文本的识别;三维卷积神经网络主要应用于医学图像以及视频类数据识别。

张婷婷

  在第二个视频留下来一小部分东西没用讲到,波尔兹曼机和自编码器,波尔兹曼机过于复杂,感觉并没有听到一些东西,主要是自编码器的应用。在自编码器变种中有正则自编码器,稀疏自编码器,去噪自编码器(感觉这个编码器在生活中运用相交于前面两个更多,并且在他的一个案例中有显示加上白噪声的特征比不加噪声的更加显著)以及变分自编码器,个人感觉变分自编码器是自编码器中应用最广泛的一个,我们生活中常见的数据生成,图像超分辨率等等都会用到变分自编码器。其中还有各种维度的变化能够得到不同的展示成果,并且通过变分自编码器和神经网络的结合,我们的一些操作都可以得到相关的不同空间表达。这样我们是不是可以以同样的方式在图片识别的过程中自动生成有关图片的描述(感觉有点脑洞大开了,突然就想到了老师展示的课程项目选题)。接下来才是机器学习(深度学习)中的数学基础,有知道在我们机器学习的过程中肯定会集合到数学知识,但是也没有具体的认识。在这节中讲到的就是概率论,线性代数和微积分的应用。在线性代数的矩阵变化在神经网络中的应用我是一点自我的思路都没有,想象不出来为什么矩阵变化就能够完成神经网络中的应用。经过视频的讲解才慢慢的了解了矩阵线性变换在机器学习中的更具体的应用,其中通过矩阵的秩的变换能够大幅的降低机器学习中数据的维度,此外还有低秩近似在图像去噪的应用。机器学习中的数学基础主要是概率,支持向量机和梯度下降,其中梯度下降是神经网络共同的基础。然后就是机器学习的三要素,这个在绪论中也有系统的讲到过一些,这里会有更具体的一些,模型中的问题建模,确定假设空间会用到概率形式和函数形式进行辅助学习;策略在确定目标函数的时候用极大似然估计,最大后险,线性回归等等;算法求解模型参数中也会用到一系列的数学运算。机器学习的目的是获得小的泛化误差,而策略设计时就可由训练误差到泛化误差的转变。还有相关的原理,这里看的并不是很了解,只是简单的了解一些专业词汇。损失函数主讲了一下特定的函数损失类型,不是很能懂,感觉讲的并不是很细然。概率论代表了一种看待世界的方式,又因为对随机事件发生的可能性的不同解读分为了频率学派和贝叶斯学派,更具体的都可以在网上搜到,课程中讲到的通过频率学派的学习得到传统机器学习,贝叶斯学派到到概率图模型,这块也是懵的。Beyond深度学习中有主要的因果推断和群体智能。在因果推断中主要是寻找相关性,但是有时候相关性并不可靠,在因果推断时不仅是相关性还有其中被忽略的因素。群体智能的大背景是应用驱动的新一代人工智能,用很多例子讲了群体智能,不懂(=_=)。

  在第二个视频中,在最开始的部分就讲到了卷积神经网络和循环神经网络为最重要的部分,主要讲解卷积神经网络。首先在学习了卷积神经网络之后会很有利于我们以后的知识面拓展,因为在很多的相关论文中我们才可以更加容易地入手,学习他思考的东西或者他们进行某些研究的思路。在我们的生活中,卷积神经网络是无处不在的,它的基本应用有分类,检索,检测和分割,(所用到的例子也是老师在项目选题中讲到汽车识别相关的,感觉我又可以想到了相关的部分)。在生活中更具体的例子有人脸识别、人脸表情识别、图像生成、图像风格转换等等。再一次提到深度学习的三个步骤,对我们上一个视频所提到的一些知识再进行一次讲解,其中有包括损失函数中的交叉熵损失和均方误差。在讲到卷积神经网络的时候就不免会提到我们的传统神经网络,把两者进行对比,有各自的不同也有相同的部分。在全连接网络处理处理图像的问题中还涉及了过拟合和欠拟合和具体分析,给上一节课留下的那些不懂的东西又多了更深层次的了解(其实也只是了解到了很少的一部分)。接下来才是正式的切入我们的卷积神经网络的讲解。首先当然是要了解卷积神经网络的基本组成结构了,分为卷积、池化和全连接。卷积有在信号与系统中学到过,那个时候也是不太明白他具体的认识,主要是他的计算不是很会。一维卷积经常用在信号处理中,用于计算信号的延迟累积。二维卷积在图像处理中进行输入到神经网络,也有涉及到了一些基本概念以及他们更加具体的例子。卷积的特征可视化理解,具体到不同的卷积和的不同的信息。卷积的池化更像是在做一个缩放的过程,其中的最大值池化和平均值池化都比较好理解。全连接层就是前面一直都有提到的全连接网络,两层之间的所有神经元都有权重链接,通常在卷积神经网络尾部并且全连接层参数量通常最大。接下来就是卷积神经网络的典型结构,具体讲了AlexNet、ZFNet、VGG、GoogleNet、ResNet。AlexNet是最具历史意义的一个网络结构,让深度学习重新回到历史舞台。ZFNet的网络结构与AlexNet相同,只是在感受野和滤波器方面有些变化。说到VGG是的一个更深网络,然后再具体讲了GoogleNet。最后就是ResNet,是残差学习网络。最后讲用一个Tensorflow-CNN进行分类的一个具体的代码,代码利用卷积网络完成一个图像分类的功能。

徐敏霞

  通过这次学习,我了解到了深度学习所需要用到的数学基础,对极值、矩阵等数学问题有了更深的理解,但是视频中的很多公式及推导还是不理解。对卷积神经网路如何识别图片有了初步了解,通过比较要识别的图片和测试集中的图片,如果二者一致,就可判定需要识别的图片是什么。但是CNN在比较需要识别的图片和测试集的图片时是一片一片的比较的。它拿来比对的这个“小块”我们称之为Features(特征)。在两幅图中大致相同的位置找到一些粗糙的特征进行匹配,CNN能够更好的看到两幅图的相似性,相比起传统的整幅图逐一比对的方法。每一个feature就像是一个小图(就是一个比较小的有值的二维数组)。不同的Feature匹配图像中不同的特征。但是对这里面的数学计算还是不太懂。

张杰

  传统神经网络VS卷积神经网络;一个典型的卷积网络是由卷积层、池化层、全连接层交叉堆叠而成;卷积是对两个实变函数的一种数学操作; 深度学习三部曲:①搭建神经网络结构,②找到一个合适的损失函数,③找到一个合适的优化函数,更新参数; 传统神经网络可以用到计算机视觉上; 全连接:通常全连接层再卷积神经网络尾部;卷积神经网络典型结构——AlexNet成功的原因;ReLU函数解决了Sigmoid函数梯度消失的问题,并且计算速度更快,还更收敛; 卷积神经网络典型结构——ZFNet;卷积神经网络典型结构——VGG,VGG是一个更深网络;卷积神经网络典型结构——GoogleNet,输出没有额外的全连接层(除了最后的类别输出层),辅助分类器用来解决由于模型深度过深导致的梯度消失的问题;卷积神经网络典型结构——ResNet,不会存在梯度消失的问题。

赵红霞

  对于卷积神经网络的学习,我花费了较多的时间和精力,这部分内容的学习对我来说是有一定难度的。视频开始的卷积神经网络的应用,传统神经网络与卷积神经网络的比较,以及对卷积、池化以及全连接的讲解,这几部分内容较易理解,之后的卷积神经网络的几个典型结构AlexNet、ZFNet、VGG、Googlenet和ResNet这部分内容较难理解,甚至可以说听不大懂。

  对所学知识总结如下:1.卷积神经网络的应用主要是分类、检索、检测和分割,运用到生活中有人脸识别(可用来识别遗传病等)、图像生成、自动驾驶等;2.传统的神经网络参数太多,而卷积神经网络是局部关联的,参数可以共享;3.卷积是对两个实变函数的一种数学操作;4.池化保留了主要特征的同时减少参数和计算量,防止过拟合,提高模型泛化能力,一般处于卷积层与卷积层,全连接层与全连接层之间;5.通常全连接层在卷积神经网络尾部,一个卷积网络由卷积层、池化层、全连接层交叉堆叠而成。

黄成灏

  1. 自编码器变种

      正则编码器的L2正则化,稀疏自编码器,去噪自编码器,提取鲁棒特征表达,把被污染和破坏的的数据进行重构出原始数据,通过加入白噪声使数据更鲁棒,更干净。变分自编码器的原理和应用,通过多个维度(隐含空间)对数据进行调整,也就是数据的各种特征等等,比如字体的改变,就是通过这个编码器进行改变输出,用数据的维度记录创作音乐或者相应人说的话。

  2. 深度学习的数学基础

      了解到深度学习中的数学基础:概率和统计,线性代数,信息论,微积分。

      线性代数中有输入到输出的空间转换,回顾了线性代数中的概念。秩与奇异值的概念对应数据降维,特征值和特征向量对应旋转。

      低秩近似代表将数据丢弃噪声或其他不关键的信息,将数据精简化。

      了解到模型里面概率形式和函数形式的两种表达的不同,指数族和广义线性模型(回归函数)的一对一关系,然后确定目标函数,最后求解模型参数,进行求偏导,不容易解时进行数值计算,了解到了启发式优化对多点进行的优点,以及对似然函数的了解,最大对数似然有样本的对数损失,即经验风险损失。

      了解泛化误差与训练误差的区别,机器学习的目的就是获得小的泛化误差,通过计算学习理论衡量差异。

      了解了无免费午餐定理,即没有具体问题,没有哪个学习方法是更好的。

      奥卡姆剃刀定理,“如无必要,勿增实体”。即选择最简单模型。

      欠拟合和过拟合的概念和解决方案。

      频率学派和贝叶斯学派在概率论中的区别,贝叶斯要对基础数据进行更进一步的分析,后验和先验。概率图模型和统计机器学习的概念。

      在Beyond学习中,因果推断里

      统计机器学习中,寻找相关性,但相关性有时候不够可靠,因果性等于相关性加上忽略的因素,更细节具体。

      看了一些群体智能的例子。

  3. 卷积神经网络的学习

      了解了卷积神经网络的应用

      分类,检测和分割,人脸识别,图像生成,图像风格转化,自动驾驶

      传统神经网络vs卷积神经网络

      回顾了深度学习三部曲

      了解了基本组成结构

    \1. 卷积 2.池化 3.全连接

    进行了一些代码实战的学习

      了解了卷积神经网络典型结构

    \1. AlexNet 2. ZFNet 3. VGG 4. GoogleNet 5. ResNet

陈明朝

通过视频学习,学会了机器学习的三要素:模型,策略,算法。了解了卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络的隐含层包含卷积层、池化层和全连接层三类常见构筑。

问题总结:

张婷婷

  1. 贝叶斯学派到到概率图模型。
  2. 损失函数。
  3. 卷积输入矩阵和特征图之间的关系。
  4. GoogleNet的Inception模块。

徐敏霞

卷积神经网路是局部关联的,但如果要处理的图片是有噪点的,那这部分的图片作为测试集会不会误差过大,如何解决这个问题?

张杰

  1. 卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?
  2. 如何计算卷积输出层的深度(通道数)?

赵红霞

  1. 损失函数
  2. 卷积中的深度(depth/channel)
  3. 卷积神经网络典型结构
  4. AlexNet(分层解析)中的的相关计算

代码练习

  1. MNIST 数据集分类

    • 加载数据 (MNIST)

1)在小型全连接网络上训练(Fully-connected network):

2)在卷积神经网络上训练:

CNN 能够通过卷积和池化更好的挖掘图像中的信息,所以含有相同参数的 CNN 效果要明显优于 简单的全连接网络。

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

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

2)在卷积神经网络上训练与测试:

考虑到CNN在卷积与池化上的优良特性,把图像中的像素打乱顺序,这样卷积和池化就难以发挥作用了,所以含有相同参数的 CNN 效果不再优于简单的全连接网络。

  1. CIFAR10数据集分类

    使用CIFAR10数据集,它包含十个类别:‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’。CIFAR-10 中的图像尺寸为3x32x32,也就是RGB的3层颜色通道,每层通道内的尺寸为32*32。下面展示 CIFAR10 里面的一些图片:

接下来定义网络,损失函数和优化器:

训练网络:

现从测试集中取出7张图片:

把图片输入模型,看CNN把这些图片识别成什么:

可看到,有几个都识别错了。下面是网络在整个数据集上的表现:

  1. 使用 VGG16 对 CIFAR10 分类

    使用 VGG16 对 CIFAR10 分类:

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

posted @ 2020-10-25 21:41  Clover~  阅读(250)  评论(0编辑  收藏  举报