学习笔记6 Supervised Convolutional Neural Network 之 Convolutional Neural Network

本文详细介绍了卷积神经网络(CNN)的一种典型结构,包括1层卷积层、1层池化层及softmax全连接层,并深入解析了如何通过后向传播算法更新网络参数。文中还给出了具体的代码实现案例。

一、CNN

CNN的结构很多,这里练习采用 1层卷积层+1层pooling层+softmax全连接层 的结构。
过程为:
计算代价函数J
进行卷积操作
进行pooling
计算softmax输出概率
后向求残差error
根据残差求grad
用梯度下降法更新参数

二、后向算法
我们的代价函数选择交叉熵,softmax的残差计算方法与之前的一样。这里只讲与之前不太相同的。

我们把 卷积层+pooling层 是同一层,卷积层的残差计算如下
这里写图片描述
上采样的时候根据不同pooling(mean or max)方式而采用不同的方法。
有了残差之后,我们就可以计算梯度了,k指的是第k个卷积核。
这里写图片描述
如果我们的J增加了系数(1/m),则以上两式也需要增加系数(1/m)。

三、代码部分

在上采样的时候,对于mean-pooling 我们巧妙地应用了matlab的 kroon()函数。
这里写图片描述
其作用如上图所示,简洁明了。
在我们的练习中,具体写法如下:

delta_pool = (1/poolDim^2) * kron(delta,ones(poolDim));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值