CNN卷积神经网络

来源:互联网 发布:java会员管理系统源码 编辑:程序博客网 时间:2024/04/28 18:39

CNN卷积神经网络

1、初始化卷积网络结构

cnn.layers = {

%input layer

struct('type', 'i')

%卷积层,卷积6个特征输出,卷积核尺寸为<5,5>,卷积核为{1,6}<5,5>

struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5)

%子抽样层,子抽样比例,此为1/2

struct('type', 's', 'scale', 2)

%卷积层,卷积12个特征输出,卷积核尺寸为<5,5>,卷积核为{6,12}<5,5>

struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5)

%子抽样层,子抽样比例,此为1/2

struct('type', 's', 'scale', 2)

};

2、初始化b=0,k{i}{j}(卷积核参数);感知层ffW、ffb

3、正向计算各层输出a{i}

初始化a{1};

convn(a,k,’valid’)正向卷积计算c层;

以scala=2,降采样s层;

末端以ffv=f(a{n-1},ffW,…)计算输出。

4、反向计算各层db、dk、dffW、dffb

5、修改各层b、k、ffW、ffb

b = b – db;

k = k – dk;

ffW = ffW – dffW;

ffb = ffb - dffb;

0 0