博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cnn卷积神经网络
阅读量:7239 次
发布时间:2019-06-29

本文共 1245 字,大约阅读时间需要 4 分钟。

入门的介绍:https://blog.csdn.net/v_JULY_v/article/details/51812459

CNN背后的机制:

CNN怎样是把未知图案和标准X图案一个局部一个局部的对比。即,局部感知机制。

CNN的不同滤波器权重不同,不同的滤波器filter会得到不同的输出数据,比如颜色深浅、轮廓。相当于如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息:颜色深浅或轮廓。

CNN中的局部感知机制。参数(权重)共享机制。

要注意一个滤波器也不仅仅就是一个矩阵,一个滤波器可能是三维的矩阵。而且卷积之后是:三个矩阵最后乘完相加得到一个数。

参考:https://www.jianshu.com/p/fe428f0b32c1

卷积层的原理:

在两幅图中大致相同的位置找到一些粗糙的特征进行匹配,不同的Feature匹配图像中不同的特征。当给你一张新的图时,CNN并不能准确地知道这些features到底要匹配原图的哪些部分,所以它会在原图中每一个可能的位置进行尝试。这样在原始整幅图上每一个位置进行匹配计算,我们相当于把这个feature变成了一个过滤器。(这个滤波器的理解就根通原里面的一样,它对按着对应相乘再相加的形式,滤掉一些不想要的,留下来能跟这个相互匹配的部分,这里就是要滑动着跟一副图片的不同部分进行过滤)

 

通过每一个feature的卷积操作,我们会得到一个新的二维数组。这也可以理解为对原始图像进行过滤的结果,我们称之为feature map,它是每一个feature从原始图像中提取出来的“特征”。(feature map是针对每一个feature新提取出来的特征,这个map表明了每一个值附近与feature之间的匹配情况)

池化层:

  可以将一幅大的图像缩小,同时又只保留其中的重要信息。池化都是2*2大小,比如对于max-pooling来说,就是取输入图像中2*2大小的块中的最大值,作为结果的像素值,相当于将原始图像缩小了4倍。(在卷积层得到每一个值附近与feature所匹配的情况,池化层就是找出一定面积里面,哪个值与feature的匹配最好。)  

  因为最大池化(max-pooling)保留了每一个小块内的最大值,所以它相当于保留了这一块最佳的匹配结果(因为值越接近1表示匹配越好)。这也就意味着它不会具体关注窗口内到底是哪一个地方匹配了,而只关注是不是有某个地方匹配上了。

激活层:

  relu函数:对于输入的负值,输出全为0,对于正值,原样输出(这大概是为了让卷积之后的结果更加明显,因为cnn要寻找的是哪个小区域附近匹配上了features,所以不用关注匹配值很小的情况。)

  问题:就是经过卷积层之后的结果,已经不再是原来的图像,如果再经过一个卷积层之后这个结果还是匹配的feature map ?

 

转载于:https://www.cnblogs.com/yttas/p/10289373.html

你可能感兴趣的文章
初到深圳面试分享(上)
查看>>
Asp.net页面无刷新请求实现
查看>>
uGUI练习 开篇
查看>>
tcpdump重要笔记
查看>>
android生成apk包出现Unable to add "XXX" Zip add failed问题
查看>>
SSH服务器与Android通信(1)--服务器端发送数据
查看>>
C++Bulder DataSnap 内存泄露元凶
查看>>
二叉搜索树与双向链表
查看>>
Cassandra查询语言CQL的基本使用
查看>>
echo输出到stderr
查看>>
Leetcode: Search a 2D Matrix II
查看>>
Unicode与 utf8的互相转换
查看>>
Android开发周报:Flyme OS开源、经典开源项目解析
查看>>
uva 568(数学)
查看>>
【Hibernate】Hibernate系列4之配置文件详解
查看>>
centos7+redis+php环境配置
查看>>
割点、桥模板以及点双连通、边双连通
查看>>
Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]
查看>>
vs发布的程序不依赖运行时库msvcp100.dll
查看>>
jsp简单实现统计在线人数
查看>>