首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
jsp
uml
input
python3
datetime
io
python
hash
hashset
hook
post
install
dagger
list
less
export
settings
keyword
search
emoji
shell
timestamp
window
express
object
controller
php8
vba
node.js
actionscrip
audio
match
email
bitmap
split
grid
spring
join
filter
cmd
cSharp
integer
buffer
iostream
c语言
web
jar
metadata
version
main
javascript
go
eval
timezone
php
golang
sum
vbscript
import
regex
flutter
typescript
cookie
merge
bash
httprequest
nodejs
format
callback
char
runtime
scala
string
chat
default
tree
solr
uri
rsa
当前位置:
开发笔记
>
编程语言
> 正文
基于Keras的卷积神经网络(CNN)可视化
作者:追风神驹体育专营_462 | 来源:互联网 | 2023-05-17 19:42
基于Keras的卷积神经网络(CNN)可视化标签(空格分隔):深度学习卷积神经网络可视化本文整理自DeepLearningwithPython,书本上完整的代码在
基于Keras的卷积神经网络(CNN)可视化
标签(空格分隔): 深度学习
卷积神经网络可视化
本文整理自Deep Learning with Python,书本上完整的代码在 这里的5.4节,并陪有详细的注释。
深度学习一直被人们称为“黑盒子”,即内部算法不可见。但是,卷积神经网络(CNN)却能够被可视化,通过可视化,人们能够了解CNN识别图像的过程。
介绍三种可视化方法
卷积核输出的可视化(Visualizing intermediate convnet outputs (intermediate activations)
,即可视化卷积核经过激活之后的结果。能够看到图像经过卷积之后结果,帮助理解卷积核的作用
卷积核的可视化(Visualizing convnets filters)
,帮助我们理解卷积核是如何感受图像的
热度图可视化(Visualizing heatmaps of class activation in an image)
,通过热度图,了解图像分类问题中图像哪些部分起到了关键作用,同时可以定位图像中物体的位置。
卷积核输出的可视化(Visualizing intermediate convnet outputs (intermediate activations)
想法很简单:向CNN输入一张图像,获得某些卷积层的输出,可视化该输出
代码中,使用到了
cats_and_dogs_small_2.h5
模型,这是在原书5.2节训练好的模型,当然你完全可以使用keras.applications 中的模型,例如VGG16等。
可视化结果如下图。
结论:
第一层卷积层类似边缘检测的功能,在这个阶段里,卷积核基本保留图像所有信息
随着层数的加深,卷积核输出的内容也越来越抽象,保留的信息也越来越少。
越深的层数,越多空白的内容,也就说这些内容空白卷积核没有在输入图像中找到它们想要的特征
卷积核的可视化(Visualizing convnets filters)
卷积核到底是如何识别物体的呢?想要解决这个问题,有一个方法就是去了解卷积核最感兴趣的图像是怎样的。我们知道,卷积的过程就是特征提取的过程,每一个卷积核代表着一种特征。如果图像中某块区域与某个卷积核的结果越大,那么该区域就越“像”该卷积核。
基于以上的推论,如果我们找到一张图像,能够使得这张图像对某个卷积核的输出最大,那么我们就说找到了该卷积核最感兴趣的图像。
具体思路:输入一张随机内容的图像
I
, 求某个卷积核
F
对图像的梯度
G
=
∂
F
/
∂
I
,用梯度上升的方法迭代更新图像
I
=
I
+
η
∗
G
,
η
是类似于学习率的东西。
代码中,使用以及训练好的VGG16模型,可视化该模型的卷积核。结果如下
block1_conv1
block2_conv1
block3_conv1
block4_conv1
block5_conv1
结论:
低层的卷积核似乎对颜色,边缘信息感兴趣。
越高层的卷积核,感兴趣的内容越抽象(非常魔幻啊),也越复杂。
高层的卷积核感兴趣的图像越来越难通过梯度上升获得(block5_conv1有很多还是随机噪声的图像)
热度图可视化(Visualizing heatmaps of class activation in an image)
在图像分类问题中,假设网络将一张图片识别成“猫”的概率是0.9,我想了解到底最后一层的卷积层对这0.9的概率的贡献是多少。换句话时候,假设最后一层卷积层有512个卷积核,我想了解这512个卷积核对该图片是”猫”分别投了几票。投票越多的卷积核,就越确信图片是“猫”,因为它们提取到的特征趋向猫的特征。
代码中,输入了一张大象的图片,然后获得最后一层卷积层的热度图,最后将热度图叠加到原图像,获得图像中起到关键分类作用的部分。结果如下:
深度学习
神经网络
python
算法
visual
int
io
filter
heatmap
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
python
编程语言是从哪蹦出来的——大型伦理寻根现场
Hello,我是Alex007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫Alex的人太多了,再加上每天007的生活,Alex007就诞生了。聊一聊编程到底是啥,怎 ...
[详细]
蜡笔小新 2024-09-30 11:12:40
list
每日一书丨AI圣经《深度学习》作者斩获2018年图灵奖
2019年3月27日——ACM宣布,深度学习之父YoshuaBengio,YannLeCun,以及GeoffreyHinton获得了2018年的图灵奖, ...
[详细]
蜡笔小新 2024-09-27 16:03:32
python
python绘图设置正交坐标等距_Python:线性代数机器学习背后的优化原理 (五十五)...
线性代数:机器学习背后的优化原理线性代数作为数学的一个分支,广泛应用于科学和工程中,掌握好线性代数对于理解和从事机器学习算法相关工作是很有 ...
[详细]
蜡笔小新 2024-09-26 10:09:12
io
【机器学习】生成式对抗网络模型综述
生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ...
[详细]
蜡笔小新 2023-12-14 17:51:18
python
Python实验报告文档中的文件和数据格式化操作
本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ...
[详细]
蜡笔小新 2023-12-10 17:02:16
io
【论文】ICLR 2020 九篇满分论文!!!
点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ...
[详细]
蜡笔小新 2023-10-17 18:45:53
object
文本生成图像简要回顾 text to image synthesis
摘要 文本生成图像作为近几年的热门研究领域,其解决的问题是从一句描述性文本生成与之对应的图片。近一周来,我通过阅读了近几年发表于顶会的近10篇论文,做出本文中对该方向的 ...
[详细]
蜡笔小新 2024-09-29 11:02:00
python
AI 学习路线:从Python开始机器学习
AI 学习路线:从Python开始机器学习 ...
[详细]
蜡笔小新 2024-09-28 14:04:30
install
DNNBrain:北师大团队出品,国内首款用于映射深层神经网络到大脑的统一工具箱...
导读深度神经网络(DNN)通过端到端的深度学习策略在许多具有挑战性的任务上达到了人类水平的性能。深度学习产生了具有多层抽象层次的数据表示;然而,它没有明确地提供任何关 ...
[详细]
蜡笔小新 2024-09-26 12:34:26
less
微软头条实习生分享深度学习自学指南
本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ...
[详细]
蜡笔小新 2023-12-14 20:58:32
object
不同优化算法的比较分析及实验验证
本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ...
[详细]
蜡笔小新 2023-12-13 16:05:14
io
浏览器中的异常检测算法及其在深度学习中的应用
本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ...
[详细]
蜡笔小新 2023-12-12 16:22:39
object
Python张量流中的device spec make_merged_spec()方法使用说明
本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ...
[详细]
蜡笔小新 2023-12-11 12:15:19
python
读手语图像识别论文笔记2
文章目录一、前言二、笔记1.名词解释2.流程分析上一篇快速门:读手语图像识别论文笔记1(手语识别背景和方法)一、前言一句:“做完了 ...
[详细]
蜡笔小新 2023-10-17 20:45:15
io
深度学习黑话
OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ...
[详细]
蜡笔小新 2023-10-17 17:55:01
追风神驹体育专营_462
这个家伙很懒,什么也没留下!
Tags | 热门标签
jsp
uml
input
python3
datetime
io
python
hash
hashset
hook
post
install
dagger
list
less
export
settings
keyword
search
emoji
shell
timestamp
window
express
object
controller
php8
vba
node.js
actionscrip
RankList | 热门文章
1
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
2
asp.net-vnext中的旧程序集引用错误
3
怎么生成一个永久性的二维码?微信群二维码如何长期有效?
4
虚电路(交换虚电路和永久虚电路)
5
elasticsearch 入门简介
6
苹果手机漏洞是什么?苹果手机集体遭殃介绍
7
android9自动安装权限9,按键精灵所有者读写权限安卓9.0如何获取?设置
8
智表ZCELL产品发布企业版
9
Pass4side最新考試題庫117101
10
使用RVM时为Ruby创建符号链接
11
不可重复读和幻读详解(必看!!!)
12
您应该投资于电子邮件验证器 API 的 10 个迹象
13
这个正则啥意思/(?:(*):)?(.*)/
14
QQ快速对话快捷方式设置
15
virtualbox怎么安装windows7?virtualbox安装win7
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有