深度学习基础—简单的卷积神经网络

3.1.卷积层

下面以卷积神经网络的某一层为例,详解一下网络的结构。

假设当前位于l层,则输入6*6*3的彩色图片,有两个3*3*3的过滤器,卷积操作后将输出2个4*4的图片。如果把过滤器看成权重w,卷积这一步操作其实就是w*a,因此再加上偏置b,就得到类似普通神经网络的权重线性组合z,再把z输入到激活函数中,得到的结果a有2个,把这两个叠加起来,组成的a就是卷积层的输出。在这过程中卷积的结果4*4的图片大小一直没有变,加偏置和经过激活函数,实际上是对4*4的每一个元素进行运算,因此4*4的大小一直都不变,直到叠加后,卷积层的输出就是4*4*2。

可以发现卷积层和普通神经网络的隐藏层没有多大区别,就是把权重的线性组合变成卷积运算,并把激活函数的结果堆叠成一个多通道的图片。为了一般化,现在给出卷积层的参数标记:

其中,f[l]表示l层过滤器的大小,比如常见的3*3,、5*5等。p[l]表示l层输入的填充数,比如p[l]=1就是在第l层的输入填充一圈像素值,通常是0。s[l]表示第l层的卷积步长。nc[l]表示第l层过滤器的数量。第l层的输入是第l-1层的输出,nH[l-1]和nW[l-1]表示第l层输入的图片的高和宽(不一定是正方形图片),由于l-1层有几个过滤器,最后输出的图片就有几个通道,因此l层的输入图片的通道数等于l-1层的过滤器的数量。每一层为了卷积运算能正常进行,过滤器的通道数等于输入图片的通道数。l层的输出的通道数和本层过滤器的数量一致,但是高和宽与前面一篇文章的结论有关:

深度学习基础---卷积运算http://t.csdnimg.cn/Z7ETj

激活函数的输入就是对卷积结果的每一个元素,而权重的数量是过滤器的元素个数*过滤器的数量,偏置的数量是过滤器的数量。

3.2.构建简单的卷积神经网络结构

假设输入的彩色图片为x,大小是39*39*3,在第一层中,过滤器有10个,每个大小为3*3*3(通道数和输入的通道数相同),步长为1,没有填充,则输出的结果是37*37*10。第二层过滤器有20个,每个大小为5*5*10(通道数和输入的通道数相同),步长为2,没有填充,则输出的结果是17*17*20。第三层过滤器有40个,每个大小为5*5*20(通道数和输入的通道数相同),步长为2,没有填充,则输出的结果是7*7*40。

在最后一层,将7*7*40的图片平滑展开,每个元素都一个单元,一共1960个单元,也就是1960长度的列向量,再经过logistics回归单元(二分类)或softmax回归单元(k分类),最终输出分类的结果。

相关推荐
sali-tec32 分钟前
C# 基于halcon的视觉工作流-章56-彩图转云图
人工智能·算法·计算机视觉·c#
梦想画家1 小时前
基于PyTorch的时间序列异常检测管道构建指南
人工智能·pytorch·python
Elastic 中国社区官方博客1 小时前
在 Elasticsearch 中使用 Mistral Chat completions 进行上下文工程
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
一碗绿豆汤2 小时前
机器学习第二阶段
人工智能·机器学习
用什么都重名2 小时前
DeepSeek-OCR 深度解析
人工智能·ocr·deepseek-ocr
河南骏3 小时前
RAG_检索进阶
人工智能·深度学习
灯火不休时4 小时前
95%准确率!CNN交通标志识别系统开源
人工智能·python·深度学习·神经网络·cnn·tensorflow
mit6.8244 小时前
[手机AI开发sdk] Aid_code IDE | PC浏览器同步访问
ide·人工智能·智能手机
deephub4 小时前
FastMCP 入门:用 Python 快速搭建 MCP 服务器接入 LLM
服务器·人工智能·python·大语言模型·mcp
番石榴AI4 小时前
基于机器学习优化的主图选择方法(酒店,景点,餐厅等APP上的主图展示推荐)
图像处理·人工智能·python·机器学习