新手必读!如何入手卷积神经网络

作者:媒体转发 时间:2019-06-06 16:50

字号

卷积神经网络可以算是深度神经网络中很流行的网络了。本文从基础入手,介绍了卷积网络的基本原理以及相关的其它技术,并利用卷积网络做了一个简单项目作为示例参考。想入手 CNN 的朋友不可错过~

卷积神经网络

首先,我们先看看下面这张照片:

卷积神经网络

图源:Pix2PixHD

这不是一张真实的照片,你可以新建一个窗口来打开它,放大看看,可以看到马赛克。

实际上,这张照片是由 AI 生成的,是不是看起来很真实?

从 Alex Krizhevsky 及其朋友通过 ImageNet 公布这项技术至今,不过才七年。ImageNet 是一个大规模图像识别竞赛,每年都会举办,识别种类达 1000 多种,从阿拉斯加雪橇犬到厕纸应用尽有。之后,他们又创建了 AlexNet,获得了 ImageNet 竞赛冠军,远超第二名。

这项技术就是卷积神经网络。它是深度神经网络的一个分支,处理图像的效果格外好。

卷积神经网络

图源:ImageNet

上图是几年来赢得 ImageNet 挑战赛的软件产生的误差率。可以发现,2016 年误差率降到了 5%,已经超越人类水平。

深度学习的引入与其说是改变规则,不如说是在打破规则。

卷积神经网络架构

那么问题来了,卷积神经网络到底是怎么运作的呢?

新手必读!如何入手卷积神经网络

卷积神经网络之所以优于其它深度神经网络是由于它特殊的操作。相比一次只计算图像中的单个像素,CNN 将多个像素的信息组合在一起(比如上图中计算了 3*3 的像素),因此能够理解时间模式。

另外,CNN 可以「看到」一组像素组合成一条直线或者曲线。由于深度神经网络通常都是多层卷积的堆叠,通过上一层得到了直线或者曲线后,下一层不再组合像素,而是将线组合成形状,一层一层进行下去,直到形成完整的图片。

卷积神经网络

来自 Mynepalli 的深度卷积神经网络图

要想深入理解 CNN,你需要学习很多基础知识,比如什么是核,什么是池化层。但是现在有很多优秀的开源项目,你可以直接在他们的基础上进行研究并加以利用。

这就引入了另一门技术——迁移学习。

迁移学习

迁移学习使用训练好的深度学习模型来学习特定的任务。

举个栗子,比如你在火车调度公司工作,你们想在不增加劳动力的情况下,预测火车是否晚点。

你完全可以利用 ImageNet 上的卷积神经网络模型,比如说 2015 年的冠军 ResNet。用火车图片重新训练网络,相信我,结果不会让你失望的。

迁移学习主要有两大优势:

相比于从头开始训练,只需要少量图片就可以得到很好的效果。ImageNet 竞赛提供了一百万张图片用于训练。使用迁移学习,你只需要 1000 甚至 100 张图片就可以训练出一个很好的模型,因为你的预训练模型已经在一百万张图片上训练过了。

较少的训练时间就能实现良好的性能。为了得到和 ImageNet 模型同样好的效果,你可能需要训练数天,这还不包括模型效果不好时对其进行调整所需的时间。然而使用迁移学习,你可能只需要几个小时甚至几分钟就可以完成特定任务的训练,大大节省了时间。

图像分类到图像生成

有了迁移学习之后大家产生了许多有趣的想法。既然我们可以处理图像、识别图像中的信息,那我们为什么不自己生成图像呢?

因吹斯汀!

生成对抗网络由此应运而生。

卷积神经网络

朱俊彦等人提出的 CycleGAN

给定某些输入,这项技术可以生成对应的图片。

如上图所示,CycleGAN 可以根据一幅画生成对应的真实照片,也可以根据草图生成背包的照片,甚至可以进行超分辨率重建。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接