卷积神经网络(CNN)

卷积层

在数学上,对于函数fffggg,离散形式的卷积定义为
(f∗g)(n)=∑τ=−∞∞f(τ)g(n−τ),(1) (f*g)(n)=\sum_{\tau=-\infin}^{\infin}f(\tau)g(n-\tau), \tag 1 (fg)(n)=τ=f(τ)g(nτ),(1)
在卷积神经网络中,一般的卷积操作是在图像(或者说是一个矩阵)上的操作,卷积核(Kernel) K∈Rr×rK\in\mathbb{R}^{r\times r}KRr×rrrr一般是奇数)对图像AAA的卷积运算表示为
A′(x,y)=∑1≤i≤r,1≤j≤rK(i,j)A(x−r+12+i,y−r+12+j)。(2) A'(x,y)=\sum\limits_{1\le i\le r, 1\le j\le r}{K(i,j)A(x-\frac{r+1}{2}+i,y-\frac{r+1}{2}+j)} 。 \tag 2 A(x,y)=1ir,1jrK(i,j)A(x2r+1+i,y2r+1+j)(2)
直观上来看,就是把卷积核的中心遍历AAA的每个像素,在每个位置做一次矩阵的内积(对应分量相乘后求和),得到的结果就是输出图像对应像素的值。

image-20220926141337984

很多地方会把卷积神经网络中的卷积的输入输出称为特征图(Feature Map) 。这是因为卷积运算可以提取图像的特征,和滤波(Filter) 相同,通过设置不同的卷积核的参数,可以实现图像的特征提取,例如平滑、模糊、边缘检测等。因此将多个卷积层叠加起来,通过神经网络学习的方法,就可以学习到图像想要的特征。

卷积运算有一些需要注意的变化:

  • 步长(Stride) :卷积核沿着矩阵遍历的步长;
  • 填充(Padding) :为了防止卷积运算后图像尺寸变小,往往根据卷积核的大小在图像周围进行填充;
  • 膨胀(Dilation) :对卷积核进行膨胀,多出来的间隙用0填充,此操作可增大感受野;

对比之前学习的MLP可以发现,卷积运算的参数大大减少,仅有卷积核的参数(而卷积核一般比较小),所有的像素都是“参数共享”的,另外后一层的“神经元”(像素)只连接了前一层的一小部分“神经元”(而MLP是全连接),因此卷积运算得到的结果更关注图像的局部特征。

在实际使用中,卷积层(Convolution Layer) 常常会涉及到通道(Channel) 的概念。简而言之,输入通道数目决定了卷积核的“厚度”,卷积核的数目决定了输出通道数目。因此,如果输入通道数为cic_ici,输出通道数(卷积核数目)为cjc_jcj,卷积核大小为r×rr\times rr×r,那么这个卷积层的参数数目为ci×r×r×cjc_i\times r\times r \times c_jci×r×r×cj


池化层、激活层

池化(Pooling) 实际上就是一种降采样,将输入切分为若干个子区域,每个区域计算一个值作为输出,这样可以使得图像的尺寸变小,它的作用主要有:

  • 降维:减少计算量和参数数目,防止过拟合;
  • 引入非线性:
  • 扩大感受野:
  • 实现不变性:

实际上我对Pooling的作用比较存疑,我的理解是这个操作删去了很多特征。

常见的池化操作有:平均、最大等。

激活层(Activation) 用于引入非线性因素,常见的有Sigmoid, Tanh, ReLU等。


卷积神经网络

LetNet5

卷积神经网络(Convolutional Neural Network, CNN) 的基本组成就是上面写到的各种层的叠加,对于分类任务通常会在最后Flatten一下,然后增加全连接层(Full Connection),然后得到一个输出概率向量。

CNN相比于MLP,更适合处理图像数据,它直接在图像上进行卷积提取特征,而如果展开成一维向量使用MLP则会损失空间信息。另外CNN的参数更少,更好地防止了过拟合的现象。

CNN的设计中,往往靠近输入层的Channel会比较少,往后会越来越多,这么做的目的是一开始先提取图片少量的宏观特征,然后后面再更加详细地提取局部特征。


MATLAB代码实现了一个基于多种智能优化算法优化RBF神经网络的回归预测模型,其核心是通过智能优化算法自动寻找最优的RBF扩展参数(spread),以提升预测精度。 1.主要功能 多算法优化RBF网络:使用多种智能优化算法优化RBF神经网络的核心参数spread。 回归预测:对输入特征进行回归预测,适用于连续值输出问题。 性能对比:对比不同优化算法在训练集和测试集上的预测性能,绘制适应度曲线、预测对比图、误差指标柱状图等。 2.算法步骤 数据准备:导入数据,随机打乱,划分训练集和测试集(默认7:3)。 数据归一化:使用mapminmax将输入和输出归一化到[0,1]区间。 标准RBF建模:使用固定spread=100建立基准RBF模型。 智能优化循环: 调用优化算法(从指定文件夹中读取算法文件)优化spread参数。 使用优化后的spread重新训练RBF网络。 评估预测结果,保存性能指标。 结果可视化: 绘制适应度曲线、训练集/测试集预测对比图。 绘制误差指标(MAE、RMSE、MAPE、MBE)柱状图。 十种智能优化算法分别是: GWO:灰狼算法 HBA:蜜獾算法 IAO:改进天鹰优化算法,改进①:Tent混沌映射种群初始化,改进②:自适应权重 MFO:飞蛾扑火算法 MPA:海洋捕食者算法 NGO:北方苍鹰算法 OOA:鱼鹰优化算法 RTH:红尾鹰算法 WOA:鲸鱼算法 ZOA:斑马算法
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值