大家好,我是 K同学啊!
《深度学习100例》系列在昨天已经完成了第20博客!
这是一个漫长的过程,中途遇到了不少问题,但是也有幸遇见不少优秀的伙伴,这里简单介绍一下这90天做的事情。
1. 深度学习100例-卷积神经网络(CNN)实现MNIST手写数字识别 | 第1天
这篇文章作为《深度学习100例》的首篇文章,我使用了最简单也最经典的案例 – MNIST手写数字识别。极简化了神经网络程序,当然,如何你是一个从来没了接触过深度学习的小白,那我建议你可以先看这个专栏:《小白入门深度学习》
使用的是MNIST数据集,MNIST 手写字符数据集的数字图片是由250个不同职业的人纯手写绘制,其中训练集为60,000张28x28像素灰度图像,测试集为10,000张28x28像素灰度图像,总共10类数字标签。
2. 深度学习100例-卷积神经网络(CNN)彩色图片分类 | 第2天
这篇文章中我使用的是CIFAR10数据集,它是一个更接近普适物体的彩色图像数据集。是由Hinton 的学生Alex Krizhevsky 和Ilya Sutskever 整理的一个用于识别普适物体的小型数据集。一共包含10 个类别的RGB彩色图片,每个类别有6000个图像。每个图片的尺寸为32×32 ,数据集中一共有50000张训练图片和10000 张测试图片。
3. 深度学习100例-卷积神经网络(CNN)服装图像分类 | 第3天
Fashion-MNIST是一个图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码。
4. 深度学习100例-卷积神经网络(CNN)花朵识别 | 第4天
从这篇文章开始使用的就是自己本地的数据集了,相应的增加了数据导入模块。这次使用的是雏菊、蒲公英、玫瑰、向日葵、郁金香等五个类别的花卉数据集,一共3670张彩色图片,图片大小不一。
5. 深度学习100例-卷积神经网络(CNN)天气识别 | 第5天
6. 深度学习100例-卷积神经网络(VGG-16)识别海贼王草帽一伙 | 第6天
VGG于2014年由牛津大学科学工程系Visual Geometry Group组提出的。主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两者除了网络深度不一样,其本质并没有什么区别。
相对于2012年的AlexNet, VGG的一个高进是采用连续的3x3小卷积核来代替AlexNet中较大的卷积核(AlexNet采用了11x11,7x7与5x5大小的卷积核)。两个3x3步长为1的卷积核的叠加,其感受野相当与一个5x5的卷积核。但是采用堆积的小卷积核是由于大卷积核的,因为层数的增加,增加了网络的非线性,从而能让网络来学习更复杂的模型,并且小卷积核的参数更少。
7. 深度学习100例-卷积神经网络(VGG-19)识别灵笼中的人物 | 第7天
VGG于2014年由牛津大学科学工程系Visual Geometry Group组提出的。主要工作是证明了增加网络的深度能够在一定程度上影响网络最终的性能。VGG有两种结构,分别是VGG16和VGG19,两者除了网络深度不一样,其本质并没有什么区别。
相对于2012年的AlexNet, VGG的一个高进是采用连续的3x3小卷积核来代替AlexNet中较大的卷积核(AlexNet采用了11x11,7x7与5x5大小的卷积核)。两个3x3步长为1的卷积核的叠加,其感受野相当与一个5x5的卷积核。但是采用堆积的小卷积核是由于大卷积核的,因为层数的增加,增加了网络的非线性,从而能让网络来学习更复杂的模型,并且小卷积核的参数更少。
8. 深度学习100例-卷积神经网络(ResNet-50)鸟类识别 | 第8天
ResNet是微软研究院2015年提出的一种网络结构,,获得了ILSVRC-2015分类任务的第一名,同时在ImageNet detection,ImageNet localization,COCO detection和COCO segmentation等任务中均获得了第一名。
残差网络是为了解决神经网络隐藏层过多时,而引起的网络退化问题。退化(degradation)问题是指:当网络隐藏层变多时,网络的准确度达到饱和然后急剧退化,而且这个退化不是由于过拟合引起的。
9. 深度学习100例-循环神经网络(RNN)实现股票预测 | 第9天
传统神经网络的结构比较简单:输入层 – 隐藏层 – 输出层。RNN 跟传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。
11. 深度学习100例-循环神经网络(LSTM)实现股票预测 | 第10天
一句话介绍LSTM,它是RNN的进阶版,如果说RNN的最大限度是理解一句话,那么LSTM的最大限度则是理解一段话。
LSTM,全称为长短期记忆网络(Long Short Term Memory networks),是一种特殊的RNN,能够学习到长期依赖关系。LSTM由Hochreiter & Schmidhuber (1997)提出,许多研究者进行了一系列的工作对其改进并使之发扬光大。LSTM在许多问题上效果非常好,现在被广泛使用。
LSTM避免了长期依赖的问题。可以记住长期信息!LSTM内部有较为复杂的结构。能通过门控状态来选择调整传输的信息,记住需要长时间记忆的信息,忘记不重要的信息,其结构如下:
12. 深度学习100例-卷积神经网络(AlexNet)手把手教学 | 第11天
AleXNet使用了ReLU方法加快训练速度,并且使用Dropout来防止过拟合。
AleXNet是首次把卷积神经网络引入计算机视觉领域并取得突破性成绩的模型。获得了ILSVRC 2012年的冠军,再top-5项目中错误率仅仅15.3%,相对于使用传统方法的亚军26.2%的成绩优良重大突破。和之前的LeNet相比,AlexNet通过堆叠卷积层使得模型更深更宽。其结构图如下:
12. 深度学习100例-卷积神经网络(CNN)识别验证码 | 第12天
13. 深度学习100例-卷积神经网络(Inception V3)识别手语 | 第13天
Inception 网络是 CNN 分类器发展史上一个重要的里程碑。在 Inception 出现之前,大部分流行 CNN 仅仅是把卷积层堆叠得越来越多,使网络越来越深,以此希望能够得到更好的性能。
例如第一个得到广泛关注的 AlexNet,它本质上就是扩展 LeNet 的深度,并应用一些 ReLU、Dropout 等技巧。AlexNet 有 5 个卷积层和 3 个最大池化层,它可分为上下两个完全相同的分支,这两个分支在第三个卷积层和全连接层上可以相互交换信息。与 Inception 同年提出的优秀网络还有 VGG-Net,它相比于 AlexNet 有更小的卷积核和更深的层级。
VGG-Net 的泛化性能非常好,常用于图像特征的抽取目标检测候选框生成等。VGG 最大的问题就在于参数数量,VGG-19 基本上是参数量最多的卷积网络架构。这一问题也是第一次提出 Inception 结构的 GoogLeNet 所重点关注的,它没有如同 VGG-Net 那样大量使用全连接网络,因此参数量非常小。
14. 深度学习100例-卷积神经网络(Inception-ResNet-v2)识别交通标志 | 第14天
受到 ResNet 的优越性能启发,研究者提出了一种混合 inception 模块。Inception ResNet 有两个子版本:v1 和 v2。这两个子版本之间的存在微小差异:
15. 深度学习100例-卷积神经网络(CNN)实现车牌识别 | 第15天
16. 深度学习100例-卷积神经网络(CNN)识别神奇宝贝小智一伙 | 第16天
都是童年的味道~
17. 深度学习100例-卷积神经网络(CNN)注意力检测 | 第17天
18. 深度学习100例-生成对抗网络(GAN)手写数字生成 | 第18天
生成对抗网络(GAN)是当今计算机科学领域最有趣的想法之一。两个模型通过对抗过程同时训练。一个生成器模型(“艺术家”)学习创造看起来真实的图像,而判别器模型(“艺术评论家”)学习区分真假图像。GAN 的应用十分广泛,它的应用包括图像合成、风格迁移、照片修复以及照片编辑,数据增强等等。
19. 深度学习100例-生成对抗网络(DCGAN)手写数字生成 | 第19天
DCGAN是原始GAN之后的又一种模型。它将GAN与CNN相结合,奠定后几乎所有GAN的基本网络架构。DCGAN极大地提升了原始GAN训练的稳定性以及生成结果质量。
20. 深度学习100例-生成对抗网络(DCGAN)生成动漫小姐姐 | 第20天
画面极度舒适建议,强烈建议前往观看!
深度学习新人必看:《小白入门深度学习》