zoukankan      html  css  js  c++  java
  • caffe 学习记录1及网络结构

    1 ubuntu git clone 默认在当前文件夹

    2 caffe 基础了解:https://www.zhihu.com/question/27982282/answer/39350629

    3 当然,官网才是大牛:http://caffe.berkeleyvision.org/

    4 Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

    5 深度学习结构剖析(错误纠正,(2)代表一个滤波器多个参数<->一个滤波器一个参数)

    6  http://blog.csdn.net/zouxy09/article/details/8781543(原文)  (实际上caffe并不这么做)这是我一直困惑的,被这个教程搞得一个星期头晕。caffe中所有输入特征子图和所有输出特征子图都相连。或许,以后直接从直观上思考这个问题,什么破连接,什么节点图,晕死!

    http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html(计算详细一文)

    链接1的一个评论:再解释下C3的1516个权值是怎么来的。可以看这个博客http://www.cnblogs.com/tornadomeet/archive/2013/05/05/3061457.html
    S2层有6个特征图,尺寸14*14。可以认为S2每个特征图是由14*14个共享权值的神经元输出的(等效为一个神经元卷积)。注意S2与C3不完全连接,C3的第一个特征图只与S2前三个特征图相连。具体看:C3里第一个特征图的一个神经元,与S2里第一个特征图的5*5神经元相连,同时也与第二个特征图的5*5相连,也与第三个特征图的5*5相连。因此C3第一个特征图的权值数为(5*5*3+1). 
    其实应该有个非常形象化的过程,就是三维卷积,你把S2层想成一个立方体,厚度为6,横截尺寸14*14, C3第一个特征图实际上是对这个立方体前三层的三维卷积。
    再说连接数,C3第一个特征图里共享权值的神经元是10*10个,因此连接数是(5*5*3+1)*100

    1516怎么来的?
    (5*5*3+1)*6+(5*5*4+1)*9+(5*5*6+1)=1516
    连接数,其实就是神经元复制了100次:
    1516*100

    看到下面有人说卷积核是60个,这个理解应该是把卷积只限制在S2的一个特征图上了,用三维卷积的角度考虑,卷积核实际上实在多特征图上进行,所以卷积核应该是16个
    (用60个卷积核推导出的权值数和连接数还是1516和151600吗??)

    个人理解,如果错了恳求大家指出,我也好改正

    按照链接2(good):计算C5,由于全连接,故有,C5和S4中所有的挨个连,然后共加起来,再添加一个偏置,共(5*5*16+1)=401个参数,则120个共有120*401=48120个参数。当然,由于滤波器扫描移动是“1*1”,故连接数也是48120个。

    按照链接2:F6的连接84(设计的),每个都全连接C5中120个特征子图(1*1),然后加起来,再添加一个偏置,共(1*1*120+1)=121个参数,则84个共有

    84*121=10164个

    注1:如此,输入相当于只有一个特征子图。

    注2:最终经过一个sigmoid函数输出。还有什么径向基函数

    总结思路:

    参数计算:我的判别式如下表达式,其中L是上层Ck-1层的特征子图个数,F是滤波器参数个数,通常等于*×*,1是偏置,i代表本层Ck标号,共C个特征子图。Lik指Ck层的第i个连接Ck-1层的特征子图个数。的求和指对所有标号求和,因为,不是全连接时,各个标号是不对称的,对应的参数也不一样。

    (1)特殊地,对于pooling,通常F=1,Lik=1,代表滤波器只有一个参数,F=1感受野的像素之后乘上一个权重,L=1代表pooling只可能与Ci-1有关。

    (2)特殊地,对于第一数据输入层,Lik=1

    连接数的计算:我的判别式如下表达式,说明类似上面,多加一个M,代表Ck层每个滤波器在Ck-1层滑动的总步数,通常等于*×*。考虑可能滑动之后与滑动之前有部分重叠,也有可能不重叠。特殊地,M不使前后层重叠。对于pooling,通常F=1,Lik=1,代表滤波器只有一个参数,F=1感受野的像素之后乘上一个权重,Lik=1代表pooling只可能与Ck-1有关。

    注意:

    最后给出caffe作者的图文解释:http://www.zhihu.com/question/28385679

    按照caffe中的结论,对比总结中的参数计算,Lik=上层特征子图数(通道数/输入个数)

  • 相关阅读:
    Spark_3:Spark集群搭建
    Spark_2:Spark 快速入门教程
    Spark快速大数据分析_11:第十一章
    Spark快速大数据分析_10:第十章
    Spark快速大数据分析_9:第九章
    Spark快速大数据分析_8:第八章
    Spark快速大数据分析_7:第七章
    Spark快速大数据分析_6:第六章
    Spark快速大数据分析_5:第五章
    java 内部类详解
  • 原文地址:https://www.cnblogs.com/Wanggcong/p/5151200.html
Copyright © 2011-2022 走看看