2.卷积神经网络(CNN)
最佳答案 问答题库508位专家为你答疑解惑
一句话引入: 如果我们要做图像识别,用的是一个200x200的图片,那么BP神经网络的输入层就需要40000个神经元,因为是全连接,所以整个BP神经网络的参数量就是160亿个,显然不能这样来训练网络,所以我们就需要在输入层之前,加入一个处理图片的操作,而这个操作的目的,
1.为了把图片的特征提取出来,减去没有必要的噪音。
2.降低矩阵的参数数量。
然后再输入到BP神经网络中去训练权重和偏置量。
1.感受野:
人的眼睛看见东西,不是一个神经元就能做到的,而是很多个神经元,每个神经元只负责自己的那块局部信息,而很多个神经元组合而成,就成了我们可以看见的图像。
2.卷积运算:
卷积运算,是用来提取图片中的特征的,一次卷积运算的过程,就是使用一个卷积核,对整个图像进行一次运算,不同的卷积核,可以提取出来不同的特征,比如直线,曲线。卷积运算如下图:
这实际上就是两个矩阵相乘求和的结果。卷积核会根据步长 来顺着对图片矩阵进行一次卷积运算,假如步长为1,那么下一步就如下图:
其中不同的卷积核,可以提取出不同的图片特征,可以理解为,有些卷积核是用来提取猪耳朵,有些来提取猪鼻子。
Padding: 所谓的padding操作,实际上就是在图片边缘,上下左右补0,目的就是为了可以获取图片的边缘特征。
3.卷积核和感受野
不同的卷积核,就像不同的视觉神经细胞,不同的卷积核提取图片中不同的特征,而当这些特征组合在一起的时候,就成了一幅图(当然是特征图)。
4.多通道卷积:
因为图片是彩色的,所以我们一般会对RGB三个通道,都做卷积运算,然后在合并这三个矩阵:
4.池化:
在进行完卷积运算后,需要对特征矩阵进行池化操作,池化就是把特征矩阵变小!
比较常见的池化操作如下:
5. CNN
一个完整的CNN如下
这也是LeNet网络的结构,两个卷积和池化,最后一个池化中的多个特征矩阵,拉成一个一维的矩阵,作为BP神经网络输入,如下图。
其中隐含层使用ReLu,输出层使用的是softMax,这样输出值就是标签和概率。
参考:深度学习及应用-赵卫亮,神经网络与深度学习-牟奇
99%的人还看了
相似问题
- CNN卷积神经网络Python实现
- 竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python
- 时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM)
- 卷积神经网络(CNN)天气识别
- FSOD论文阅读 - 基于卷积和注意力机制的小样本目标检测
- YOLOv8改进 | 如何在网络结构中添加注意力机制、C2f、卷积、Neck、检测头
- 人工智能-卷积神经网络之多输入多输出通道
- 多维时序 | MATLAB实现TCN-selfAttention自注意力机制结合时间卷积神经网络多变量时间序列预测
- 基于轻量级卷积神经网络CNN开发构建打架斗殴识别分析系统
- 利用梯度上升可视化卷积核:基于torch实现
猜你感兴趣
版权申明
本文"2.卷积神经网络(CNN)":http://eshow365.cn/6-24238-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: C++数据结构X篇_21_插入排序(稳定的排序)
- 下一篇: Docker Service 创建