用神经网络进行图像分类时,为什么输出层的神经单元数量要跟分类数相同?

1.卷积层和FC层的简单理解

全连接层(FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。

在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为hxw的全局卷积,h和w分别为前层卷积结果的高和宽。

2.最后一层FC

在上面的讲解中我们可能对FC有了一些简单的理解,在对图像分类中FC的作用类似于分类器,不同的编码方式和激活函数会对分类有不同的影响。

编码方式为one-hot:在最后一层FC中也是需要激活函数的,有Sigmoid函数,Softmax函数。不同的激活函数对于分类有不同的含义,如果模型输出为非互斥类别,且可以同时选择多个类别,则采用Sigmoid函数计算该网络的原始输出值。如果模型输出为互斥类别,且只能选择一个类别,则采用Softmax函数计算该网络的原始输出值。

决定神经元个数的有以下几种:(除非特别说明,用的都是one-hot编码)

  1. 如果采用的是回归对结果类别进行分类,那么只需要一个神经元就可以了。也不像前面说的,用回归代替分类效果就会变差的,这个其实和数据集本身分布是有关系的,如果数据集每个类别本身分布差别就很大,那么用分类比回归好,但是如果数据集每个类别本身分布差别很小,完全可以用回归来代替分类的。具体问题需要具体分析。
  2. 与输出的编码(encoding)方式有关,如果是one-hot encoding,就满足条件,一个类别代表一个类,一个类需要一个分类器,一个分类器需要一个神经元。不过你也可以二进制的方式来输出分类结果,比如00,01,10,11代表不同的四类,这个时候你只需要两个能输出的0和1的神经元就可以代表四个类别啦。
  3. 前面也有人回答,编码方式是one-hot,类别为2时,sigmoid只需要一个神经元,如果score比较大,那么他就是正样本一类,如果score比较小,那么他就是负样本一类,这个时候需要设置一个阈值来决定哪一个是正样本哪一个是负样本。Sigmoid也可以用两个神经元来预测,每一个神经元预测它属于正或者负样本的概率。softmax其实就相当于多个逻辑函数的组合,一个逻辑函数用于一类,n类用n个逻辑函数,也就是n个神经元。
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值