神经网络层结构的意义与维度诅咒

注意:本文引用自专业人工智能社区Venus AI

更多AI知识请参考原站 ([www.aideeplearning.cn])

神经网络的层级结构

之前的博文中讲解了神经网络算法和深度学习模型,读者们是否有疑问:为什么神经网络模型要有层级结构?深度学习模型为什么需要这么多的隐藏层?

答案很简单,这是算法分析数据的方式。先类比一个生活中的例子以便理解:当我们看到一张图片时,是否可以瞬间就获得其中的信息?其实不是,我们需要一定的思考时间,从多个角度去分析理解图片数据中表达的信息;这就如同神经网络中的多个层级结构一样,神经网络模型就是依靠这些层级结构从不同角度下提取原始数据信息的。

从数学角度来讲,深度学习模型每层的感知机数量都不同,这相当于对原始数据进行升、降维,在不同的维度空间下提取原始数据的特征。不同维度空间又是什么意思?举个例子,现在使用一个简单的线性分类器,试图完美地对猫和狗进行分类。首先可以从一个特征开始,如“圆眼”特征,分类结果如下图所示。

图片[1]-神经网络层结构的意义与维度诅咒-VenusAI
猫和狗在一维特征空间下的分类结果

猫和狗在一维特征空间下的分类结果

由于猫和狗都是圆眼睛,此时无法获得完美的分类结果。因此,可能会决定增加其它特征,如“尖耳朵”特征,分类结果如下图。

图片[2]-神经网络层结构的意义与维度诅咒-VenusAI
猫和狗在二维特征空间下的分类结果

猫和狗在二维特征空间下的分类结果

此时发现,猫和狗两个类型的数据分布渐渐离散,最后,增加第三个特征,例如“长鼻子”特征,得到一个三维特征空间,如下图。

图片[3]-神经网络层结构的意义与维度诅咒-VenusAI
猫和狗在三维特征空间下的分类结果

猫和狗在三维特征空间下的分类结果

此时,模型已经可以很好地拟合出一个分类决策面对猫和狗两个类型进行分类了。那么很自然地联想一下:如果继续增加特征数量,将原始数据映射到更高维度的空间下是不是更有利于分类呢?

事实并非如此。注意当增加问题维数的时候, 训练样本的密度是呈指数下降的。假设 10 个训练实例涵盖了完整的一维特征空间,其宽度为 5 个单元间隔。因此,在一维情况下,样本密度为 10/5=2 样本/间隔。

在二维情况下,仍然有 10 个训练实例,现在它用 5×5=25 个单位正方形面积涵盖了二维的特征空间。因此,在二维情况下,样本密度为 10/25=0.4 样本/间隔。

最后, 在三维的情况下, 10 个样本覆盖了 5×5×5=125 个单位立方体特征空间体积。因此,在三维的情况下,样本密度为 10/125=0.08 样本/间隔。

如果不断增加特征,则特征空间的维数也在增长,并变得越来越稀疏。由于这种稀疏性,找到一个可分离的超平面会变得非常容易。如果将高维的分类结果映射到低维空间,与此方法相关联的严重问题就凸显出来。猫和狗在高纬度特征空间下的分类结果如下图所示。注意,因为高维特征空间难以在纸张上表示,下图是将高维空间的分类结果映射到二维空间下的展示。在这种情况下,模型训练的分类决策面可以非常轻易且完美地区分所有个体。有读者可能会说:对于训练数据做完美的区分,这岂不是很好吗?

图片[4]-神经网络层结构的意义与维度诅咒-VenusAI
猫和狗在高纬度特征空间下的分类结果

猫和狗在高纬度特征空间下的分类结果

维度诅咒与过拟合

接着上一小节的问题:对于训练数据做完美的区分,这岂不是很好吗?

其实不然,因为训练数据是取自真实世界的,且任何一个训练集都不可能包含大千世界中的全部情况。就好比采集猫狗数据集时不可能拍摄到全世界的所有猫狗一样。此时对于这个训练数据集做完美的区分实际上会固化模型的思维,使其在真实世界中的泛化能力很差。这个现象在生活中其实就是“钻牛角尖”。举个例子:假设我们费尽心思想出了一百种特征来定义中国的牛,这种严格的定义可以很容易地将牛与其他物种区分开来。但是有一天,一只英国的奶牛漂洋过海游到了中国。由于这只外国牛只有90种特征符合中国对牛的定义,就不把它定义为牛了。这种做法显然是不合理的,原因是特征空间的维度太高,把这种现象称为“维度诅咒”,当问题的维数变得比较大时,分类器的性能降低。“维度诅咒”现象如下图所示。

图片[5]-神经网络层结构的意义与维度诅咒-VenusAI
维度诅咒

维度诅咒

接下来的问题是“太大”指的是多大,如何避免维度诅咒?遗憾的是没有固定的规则来确定分类中应该有多少特征。事实上,这取决于可用训练数据的数量,决策边界的复杂性以及所使用分类器的类型。如果可以获得训练样本的理论无限量,则维度的诅咒将被终结。

在实际工作中,我们似乎都认同这样一个事实:如果增加数据提取的特征维度,或者说如果模型需要更高维度的输入,那么相应地,也需要增加训练数据。

例如在人工提取特征的时候,如果结合了多个特征,最后的求解模型的训练往往也需要更多的数据。又如在深度神经网络中,由于输入维度过高,往往需要增加大量的训练数据,否则模型会“喂不饱”。

回顾刚才的例子,由于高特征维度的空间膨胀,原来样本变得稀疏,原来距离相近的一些样本也都变得距离极远。此时相似性没有意义,需要添加数据使得样本稠密。这也一定程度的体现的数据量对于模型训练的重要性。

  • 32
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值