可视化探索卷积神经网络提取特征

栏目: 数据库 · 发布时间: 6年前

内容简介:--------------------------------------跟我交流:

前言

卷积神经网络的发展主要是为了解决人类视觉问题,不过现在其它方向也都会使用。发展历程主要从Lenet5->Alexnet->VGG->GooLenet->ResNet等。

传统神经网络

传统BP神经网络层与层之间都是全连接的,对于图像处理领域,当神经网络处理大图像时,全连接会导致待训练的参数非常庞大,比如100万个像素的图像,对于100个节点的隐层,则会产生亿级别的参数,如果更多层及更多个节点那参数数量将会无比庞大。此外,传统BP神经网络没有假设相邻图像之间存在紧密联系。综上所述,BP神经网络不适合做图像处理。

卷积神经网络

为减少参数数量,首先想到可以构建部分连接的神经网络,每个神经元不再与上层所有神经元相连,而是连接某部分。另外还能通过权值共享来减少参数数量,一组连接共享权重而不必每个连接权重都不同。除此之外,还能通过池化来减少每层的样本数,从而减少参数数量。结合以上特点,卷积神经网络就是这样的一种网络。

看一个卷积神经网络示意图,它包含了若干卷积层、池化层和全连接层。图像输入经过第一层卷积层处理后,得到4层feature,为什么可以是4层呢?其实就是可以自定义4个不同的filter对输入分别运算,就得到4层feature。然后池化层对卷积后的feature进行池化处理,得到更小的feature,这里运算后同样是4层feature。接着继续根据filter做卷积和池化处理,最后通过两个全连接层完成输出。

可视化探索卷积神经网络提取特征
image

可视化探索卷积网络

其实有时候我们很好奇图片经过卷积神经网络的每个层后变成什么样子,想了解下这个过程发生了什么变化,此时我们就可以使用一个工具——Quiver。它开源再github上,https://github.com/keplr-io/quiver 。通过它可以很方便对卷及网络进行探索,以web浏览器形式实现对模型的可视化,可以看到不同网络层的变化。

为方便起见,这里直接创建VGG16模型实例。通过下面脚本将下载VGG16模型的权重参数(这里自动下载的是经过Imagenet训练的模型参数,包含了1000个类别),权重参数总大小达到百兆字节,然后模型被加载到内存中并创建一个监听5000端口的服务。

import keras.applications as apps
from quiver_engine.server import launch

model = apps.vgg16.VGG16()
launch(model, input_folder="data")

访问浏览器,选择其中一个图片作为输入,左侧为网络架构图形,并且点击不同层可以看到不同的输入。右侧的图片我们可以点击选择,然后应用程序会自动将其作为输入,模型再根据该输入预测出可能性最高的五个结果。其中可以看到224x224的输入,而且是3层,分别代表原始图像的红、绿、蓝。

可视化探索卷积神经网络提取特征
image

然后选择第一个卷积层,可以看到通过卷积核的操作后不同的特征被突出,突出的特征包括不同类型的边缘、亮度和对比度等等。

可视化探索卷积神经网络提取特征
image

继续往下可以看到特征越来越抽象,包含了不同的纹理、角度等等,还可能是眼睛和鼻子。

可视化探索卷积神经网络提取特征
image

继续往下到最后的卷积层时,此时的特征已经抽象到我们人类已经无法理解了,对于我们来说,看到的特征并没有任何意义。最终通过完全连接层并得到包含了1000个元素的概率数组,即对应ImageNet中每个类别的概率。

可视化探索卷积神经网络提取特征
image

--------------------------------------

跟我交流:

可视化探索卷积神经网络提取特征

-------------推荐阅读------------

我的开源项目汇总(机器&深度学习、NLP、网络IO、AIML、 mysql 协议、chatbot)

为什么写《Tomcat内核设计剖析》

2017文章汇总——机器学习篇

2017文章汇总——Java及中间件

2017文章汇总——深度学习篇

2017文章汇总——JDK源码篇

2017文章汇总——自然语言处理篇

2017文章汇总——Java并发篇


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

生物信息学算法导论

生物信息学算法导论

N.C.琼斯 / 第1版 (2007年7月1日) / 2007-7 / 45.0

这是一本关于生物信息学算法和计算思想的导论性教科书,原著由国际上的权威学者撰写,经国内知名专家精心翻译为中文,系统介绍推动生物信息学不断进步的算法原理。全书强调的是算法中思想的运用,而不是对表面上并不相关的各类问题进行简单的堆砌。 体现了以下特色: 阐述生物学中的相关问题,涉及对问题的模型化处理并提供一种或多种解决方案: 简要介绍生物信息学领域领军人物; 饶有趣味的小插图使得概念更加具体和形象,方......一起来看看 《生物信息学算法导论》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具