深度学习中的隐藏层是干什么的?

隐藏层的意义

要说明隐藏层的意义,需要从两个方面理解,一个是单个隐藏层的意义,一个是多层隐藏层的意义

单个隐藏层的意义

隐藏层的意义就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好的进行线性划分。

举个栗子,MNIST分类。
输出图片经过隐藏层加工, 变成另一种特征代表 (3个神经元输出3个特征), 将这3个特征可视化出来。就有了下面这张图, 我们发现中间的隐藏层对于"1"的图片数据有了清晰的认识,能将"1"的特征区分开来。

 

隐藏层内的维度空间

多个隐藏层的意义

多个隐藏层其实是对输入特征多层次的抽象,最终的目的就是为了更好的线性划分不同类型的数据(隐藏层的作用)

怎么理解这句话呢,举个有趣的例子,如下图所示。

 

在这里插入图片描述

我们的输入特征是:身高、体重、胸围、腿长、脸长等等一些外貌特征,输出是三个类:帅气如彭于晏,帅气如我,路人。
那么隐藏层H1中,身高体重腿长这些特征,在H1中表达的特征就是身材匀称程度,胸围,腰围,臀围这些可能表达的特征是身材如何,脸长和其他的一些长表达的特征就是五官协调程度。
那么把这些特征,再输入到H2中,H2中的神经元可能就是在划分帅气程度,身材好坏了,然后根据这些结果,分出了三个类。
很遗憾,帅气程度略输彭于晏一筹。

那么,是不是隐藏层约多就越好呢,可以特征划分的更清楚啊?
理论上是这样的,但实际这样会带来两个问题

  1. 层数越多参数会爆炸式增多
  2. 到了一定层数,再往深了加隐藏层,分类效果的增强会越来越不明显。上面那个例子,两层足以划分人是有多帅,再加几层是要得到什么特征呢?这些特征对划分没有什么提升了。

神经元的意义

现在终于彻底明白为什么西瓜书、花书讲神经网络之前要讲logistic regression了。就是所谓的感知器的意义。

我现在把一个神经元(感知器)的作用理解成为一种线性划分方式。
一个决策边界,一个神经元,就是线性划分,多个神经元,就是多个线性划分,而多个线性划分就是不断在逼近决策边界。可以把这个过程想象成积分过程。

一个决策边界就是又多个线性划分组成的。

那么如果神经元数量很多很多,这就导致会有很多个线性划分,决策边界就越扭曲,基本上就是过拟合了。

换一个角度来说神经元,把它理解为学习到一种东西的物体,如果这种物体越多,学到的东西就越来越像样本,也就是过拟合。


对于其他深度学习的网络来说,CNN,RNN其实是一个道理,filter层不也是找到更抽象的特征吗。LSTM增加forget gate,就不是为了让神经元不要学得太像而得到的。



作者:吴祺育的笔记
链接:https://www.jianshu.com/p/0aa2bd9b7076

  • 91
    点赞
  • 161
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值