Cafe的一些记录

来源:互联网 发布:贵州医科大学网络教务 编辑:程序博客网 时间:2024/05/21 18:37

Blob  

a. BLOB是一个四维存储单元,分别是num,channels,height,width

b. 但对于全连接网络,使用2D blobs (shape (N, D)),然后调用InnerProductLayer

c. 维度根据该层的类型和配置来确定。

 

layer

a. Setup:Layer的初始化

b. Forward:正向传导计算,根据bottom计算top,调用了Forward_cpu或Forward_gpu来实现

c. Backward:反向传导计算,根据top计算bottom的梯度,其他同上

 

net

a. Init中,通过创建blob和layer搭建了整个网络框架,以及调用各层的SetUp函数。

b.blobs_ 存放这每一层产生的blobls的中间结果,bottom_vecs_存放每一层的bottom blobs,top_vecs_存放每一层的top blobs

 

axis

axis指出在预测blob中,哪一维是label轴

 

反向传导-----BP算法

先获得权重的增量,这个根据BP的原理,等于输入值和残差的乘积加和然后获得偏置bias的增量,这个根据BP的原理,直接等于输出的残差最后是更新输入的残差,这样才能逐层反向传递

 

 

 

Bp算法的基本思想:

BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出不符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可接受的程度,或进行到预先设定的学习次数为止。

 

 

 

 

对Cifar10的测试结果分析

总识别率达到0.7752损失率loss = 0.667168

Cifar10我迭代了四万次发现结果经常把猫认作狗、把狗认作是马,对于汽车,卡车、飞机、鸟、船的识别率正确率都比较高。

 

原创粉丝点击