第3次作业:卷积神经网络
【第一部分】视频学习心得及问题总结
1.视频学习心得
张琪:
1. 机器学习中的数学基础;2.机器学习三要素:模型、策略、算法。3.卷积神经网络的基本组成:卷积;池化;全连接。卷积神经网络的典型结构。
孙兴全:
第一个视频主要是介绍机器学习的数学基础,在讲数学基础之前先讲了上节课没讲的玻尔兹曼机的理论和应用意义,讲解了自编码器变种的种类,虽然说玻尔兹曼机现在已经不使用了,但是有所了解对于以后的学习有一定的帮助。之后便开始讲解机器学习的数学基础,其中最重要的就是概率论,在实现机器学习算法的过程中需要线性代数的数学基础,比如说矩阵的线性变换以及线性代数中秩的作用等。之后便讲解机器学习的三要素:模型、策略和算法,还有不同的学派,比如说频率学派和贝叶斯学派。 第二个视频主要是讲解卷积神经网络,卷积神经网络和传统的神经网络相比是一种非常巧妙的方法,它可以通过局部关联、参数共享解决传统神经网络参数过多导致的过拟合,泛化性能较差的问题,在分类、检索、检测、分割、人脸验证、人脸(遗传病、表情)识别等方面有着非常广泛的应用。卷积神经网络和传统神经网络一样,仍然是层级结构,包括卷积层、RELU激活层、池化层、全连接层等。
宋泽涛:
观看完本次的两个视频,发现都没能怎么看懂,感觉主要是比较抽象,讲的大部分概念都不懂。第一个视频中,主要学习人工智能中的数学基础——概率论,线性代数,最优化,信息论等等;学习了机器学习的三要素;机器学习的数据降维;欠拟合/过拟合,损失函数,群体智能等等。在最后的群体智能中,我觉得两个游戏设计的非常巧妙,让大家既能享受到游戏的乐趣,还能够帮助机器学习进行标注等工作,非常巧妙。第二个视频主要学习的卷积神经网路,先讲了应用,又讲了概念,几个模型,最后讲了例子。这次视频最后举的例子,能够帮助较好的理解,再加上自己的实验,能够对课程有更好的理解。
穆雨含:
应用: 分类、检索、检测、分割 人脸识别,图像生成图像风格转化… 损失函数用来衡量吻合度。 传统神经网络与之区别: 全连接网络:参数太多:权重矩阵的参数太多,造成过拟合(泛化性差) 卷积神经网络:一个神经元连接局部块 局部关联,参数共享 相同之处:分层 1.卷积 是对两个实变函数的一种数学操作。 输入,卷积核,权重,感受野,特征图,歩长(不够就零填充) 特征图大小:(n-f)/stride+1 n为输入 f为卷积 stride歩长 有padding则为:(n+padding *2-f)/stride+1 卷积的可视化理解: 2.池化 保留特征同时减少参数和计算量 防过拟化 分为最大值池化和平均值池化 3.全连接 两层间所有神经元都有权重连接 一般在卷积神经网络尾部 典型结构: AlexNet: Relu函数解决梯度消失问题,计算速度快,收敛速度快于sigmoid dropout:防止过拟 随机关闭部分神经元 测试时整合所有神经元 数据增强:平移、翻转、对称 卷积- relu -池化 zfnet:网络结构与alexnet相同 vgg: 增加了层数 错误率降低 googlenet: 参数量少,层数多 inception模块?升级主要为了减少参数数量 v3:用小的卷积核代替 ResNet: 残差的思想
陈瑶明:
第一个视频上首先介绍了玻尔兹曼机的理论与应用意义,然后介绍机器学习的数学基础,机器学习的三要素:模型,策略和算法,包含假设空间,策略设计和损失函数的一系列问题。机器学习应用概率中的两门学派,分别是频率学派和贝叶斯学派,最终让我们详细了解了深度学习的背景和发展过程。第二个视频中介绍了卷积神经网络,它的应用并将其与传统神经网络进行对比,介绍了它的基本组成结构,也就是卷积池化和全连接,还列举了5种典型的卷积网络结构:AlexNet,ZFNet,VGG,GoogleNet,ResNet。通过由浅入深的对这些经典的卷积网络进行学习。 问题:卷积神经网络在图像识别方面的效果很好,在很多方面都有实现,但是好像都局限于大数据训练的数据库,没有一个通用的实现。
曾浩洋:
第一个视频讲述了机器学习的数学基础这一内容,一开始接上节课讲了玻尔兹曼机的理论以及应用还有自编码器变种的种类。然后是数学基础,概率论十分重要,线性代数也对实现机器学习算法有重要作用。还有就是机器学习的三要素:模型、策略和算法。机器学习应用概率中的两门学派,分别是频率学派和贝叶斯学派。两者对机器学习的发展做出了巨大贡献。 第二个视频讲述了卷积神经网络的应用:分类,检索,检测,分割,人脸识别,表情识别,图像生成,自动驾驶。卷积神经网络相对传统神经网络的优点:局部关联,参数共享。卷积神经网络存在卷积层,RELU激活层,池化层,全连接层。其中卷积是对两个实变函数的一种数学操作,将图片进行参数化。池化层保留了主要特征的同时减少参数和计算量,防止过拟合,提高模型泛化能力。全连接层两层之间所有神经元都有权重链接,通常在卷积神经网络尾部,参数量通常最大。卷积神经网络典型结构包括AlexNet,ZFNet,VGG,GoogleNet,ResNet。之后就是代码实际的编写,其实没怎么看懂...
2.问题总结
问题1:其实对损失函数的相关内容还是不太理解。
问题2:第一个视频中的秩是如何应用在机器学习中的?
问题3:相关的代码编写原理没有太看懂。
【第二部分】代码练习
1.MNIST 数据集分类
含有相同参数的卷积神经网络 效果要明显优于简单的全连接网络,是因为它 能够通过卷积池化更好的挖掘图像中的信息。
未打乱像素顺序小型全连接网络上训练结果如下

未打乱像素顺序在卷积神经网络上训练结果如下

打乱像素顺序小型全连接网络上训练结果如下

打乱像素顺序在卷积神经网络上训练结果如下

可以看出,打乱顺序对全连接的影响基本不变,但是对卷积神经网络的影响非常大。这是因为对于卷积神经网络,会利用像素的局部关系,但是打乱顺序以后,这些像素间的关系将无法得到利用。
2.CIFAR10 数据集分类
加载并归一化 CIFAR10 使用 torchvision ,定义网络,损失函数和优化器,训练网络后可以得到准确率如下

可见准确率不是很理想,有提高空间
3.使用 VGG16 对 CIFAR10 分类

浙公网安备 33010602011771号