专栏首页Petrichor的专栏深度学习: Full Connection (全连接层)

深度学习: Full Connection (全连接层)

Introduce

  • 全连接层也是一种卷积层。
  • 它的参数基本和卷积层的参数一样,只是它的卷积核大小和原数据大小一致。
  • 起到将学到的“分布式特征表示”映射到样本标记空间的作用。
  • 用 global average pooling 取代 FC,已经成为了大势所趋

Defect

摘自 全连接层的作用是什么

目前由于全连接层参数冗余(仅全连接层参数就可占整个网络参数80%左右),近期一些性能优异的网络模型如ResNet和GoogLeNet等均用全局平均池化(global average pooling,GAP)取代FC来融合学到的深度特征,最后仍用softmax等损失函数作为网络目标函数来指导学习过程。需要指出的是,用GAP替代FC的网络通常有较好的预测性能。

Note:

  • 那么为什么 全连接层参数冗余(仅全连接层参数就可占整个网络参数80%左右) 呢? 因为全连接层的卷积核横截面做得和 输入的 feature map 一样大。而常规卷积层的卷积核横截面只有一个小滑窗那么大。很明显,二者的参数数量级根本就不在一个level上。

Inner Product

在 Caffe 中,全连接层 的 type (层类型)Inner Product 。 输出一个简单向量(把输入数据blobs的width和height全变为1)。

Caffe学习系列(5):其它常用层及参数

layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "pool2"
  top: "ip1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  inner_product_param {
    num_output: 500
    weight_filler {
      type: "xavier"
    }
    bias_filler {
      type: "constant"
    }
  }
}
  • lr_mult: 学习率的系数,最终的学习率是这个数乘以solver.prototxt配置文件中的base_lr。如果有两个lr_mult, 则第一个表示权值的学习率,第二个表示偏置项的学习率。一般偏置项的学习率是权值学习率的两倍。

必须设置的参数:

  • num_output: 过滤器(filfter)的个数

其它参数:

  • weight_filler: 权值初始化。 默认为“constant”,值全为0,很多时候我们用”xavier”算法来进行初始化,也可以设置为”gaussian”
  • bias_filler: 偏置项的初始化。一般设置为”constant”,值全为0。
  • bias_term: 是否开启偏置项,默认为true, 开启

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 更改源

    System Settings –> Software & Updates –> Ubuntu Software –> Download from –> Oth...

    JNingWei
  • Python: 从 指定地址 下载文件 到 本地目录(附源码)

    JNingWei
  • 深度学习: 网络超参数设定

    卷积时在 图像每一维([batch, in_height, in_width, in_channels])的步长,这是一个一维的向量,长度4。

    JNingWei
  • 美团开源Logan Web:前端日志在Web端的实现

    2018 年,美团点评推出大前端日志系统—— Logan,并开源了 Android 与 iOS 端的 SDK。这次,我们又开源了在 Web 环境运行的 SDK、...

    美团技术团队
  • 网络安全自学篇(十七)| Python攻防之构建Web目录扫描器及ip代理池(四)

    网站目录和敏感文件扫描是网站测试中最基本的手段之一。如果通过该方法发现了网站后台,可以尝试暴库、SQL注入等方式进行安全测试;如果发现敏感目录或敏感文件,能帮我...

    天钧
  • 网络安全自学篇(十七)| Python攻防之构建Web目录扫描器及ip代理池(四)

    自幼受贵州大山的熏陶,养成了诚实质朴的性格。经过寒窗苦读,考入BIT,为完成自己的教师梦,放弃IT、航天等工作,成为贵财一名大学教师,并想把自己所学所感真心传授...

    释然
  • Web(一):概述

    学Python也有一段时间了,学完基本语法后整个人都蒙了。没有什么可以来练手,感觉什么也不会。 准备主攻爬虫和Web。 昨晚学长刚给讲了MVC,回来看到Pyt...

    一点儿也不潇洒
  • 小白零基础编程到大佬级别是怎么学习Python的?

    程序员在普通人眼里就像魔法师,一个脚本轻松抢几十盒月饼(虽然最后被开除),一个插件解决春运抢票难题,几十行代码搭建一个 Web 网站,用微信自动和妹纸聊天,在程...

    企鹅号小编
  • 10个小技巧:快速用Python进行数据分析

    一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。

    1480
  • iBatis for net 框架使用

    简介:ibatis 一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目,到后面发展的版本...

    Java中文社群_老王

扫码关注云+社区

领取腾讯云代金券