残缺的神经网络
卷积神经网络,是神经网络的子集,是残缺的神经网络。
其中计算关系为
全联接的齐次表示
也就是说,卷积网络,就是部分连接的神经网络,而一般的神经网络都是进行的全联接。
同时,在图像尺寸缩小方面,是因为我们神经元的递减,经过排布以后,导致的图像收缩。
当然,相同办法的逆运算,也会导致我们的图像放大。
对比来说,也就是下一层的神经元数量的扩增,排布以后形成的图像放大。
不过,虽然是残缺的,但是其中带有权值的,非的参数分布,他们在空间之中,是有一定相关性的。
这也是卷积网络固然残缺,却能受到追捧的原因,它保留了空间信息。
隐藏的神经网络
关于残缺的神经网络这点,大多数人都是必然发现和牢记的,但是关于通道,或许还没有发现它的本质。
轻而易举的,我们发现通道上面的计算,同神经网络更具有相似性。
- 全联接
- 轻易的神经元(通道数)变换
如果我们的原图,是一个四通道,单像素的图片,然后进行通道变后变的卷积操作,如下图
这不就是神经网络么,全联接的神经网络。
而实际的情况下,我们的一个通道,却不只是一个像素。
关于这一点,这是我们对于高纬的信息的想象力的不全,下面进行一下我个人的理解和描述。
纬度信息
我们一般的信息理解,从信息的类型来分,或许也可以称作是高纬度的,因为它的确包含了多方面的信息。
比如,一个人,就是高纬度的信息
- 身高
- 体重
- 年龄
- …
这些信息代表了每个单一纬度的信息,从而组成人这么一个信息空间,而个人,可以看作这个空间的一个向量.
或者,使用张量这个词更接轨一些。
同上图所示,我们输入的,就是这么一个向量,它由n个单一纬度组成。
而隐藏层是由5个纬度构成,最后投射到j个单一纬度的结果空间,通过对j纬的张量的评估,然后得出结果。
就这种单纯的图片,或者说全联接的神经网络,我们可以以一种更简洁的方式来进行表达
- :张量
- :纬度
上图就可以表示为
神经网络,就是这么一个信息空间的不同投射转换,唯一的区别,就是在于这个空间的纬度。
上述已经说明了一种普遍的信息应该是如何表示的,发现其中的关键了么。
我们平时所述的信息,存在描述性的差异,或者说是我们接受程度的差异,也就是
我们习惯性的对一个信息量进行拆解,从每一个纬度去进行理解。
对于熟知事物,只是从我们关注的点去进行探究,这才造就了我们丰富的生活。
对于美女,仅仅需要一张姣好的面容即可,但是一个信息,逐渐的认知,会丰富她的纬度。
- 发型
- 穿着
- 品味
- 素养
- 学识
- …
- 还有腿
正是因为部分特征的截取和组合,让不同的情况不同的人,对于相同的事物产生不同的偏差。
究其根本原因,只是我们认知的局限,或者说是需求的局限。
我们的确已经接受了高纬的信息,却仍然以一种低纬的思想去理解,这就产生了局限。
现在,不妨玩一玩这么一个思维游戏:定义人如何造就一个社会
-
:把
person定义为p纬的一个输入张量 -
:假设社会的人口为
n,社会的输入就是,以每个人都算作一个纬度,社会输入就是 -
:衡量一个社会,需要从教育、军事…等
m个纬度进行衡量,那么衡量的信息就是 - :于是,最终得到一个社会的评价,也就是能够准确描述社会的
整个流程就是
不过,正如和之间的关系,由于样本组成了样本空间,每个信息都有所在的信息空间。
对于确定的,只是一个固定的社会形态,而的空间,则包含了各种的社会形态。
通过这种观点,我们的回顾了我们对于信息的认知,从而发现这种认知的局限所在
单纬度的认知,取决于我们对于高纬度信息的纬度发掘的多寡。
为何因爱生恨,不过是因为我们纬度信息挖掘的不够,部分的纬度信息,刺激了爱,于是爱了。
但是当我们接近,发掘出了更多的其他纬度的信息,综合起来发现,我们误判了----爱上了一个不该爱的人。
或者说,如果信息完备,我们不会去爱上此人。
卷积信息挖掘
卷积,或者说神经网络,就是信息的挖掘机,通过卷积,我们挖掘出了这么一个信息。
如果一个信息是不加约束的,记作,如果有一定约束,记作。
神经网络,挖掘的信息,毫无疑问是,而卷积网络,挖掘的信息,包含空间约束,记作。
对于每次的信息挖掘,记作,使用上标来表示纬度变化,也就成了
在卷积过程当中,或者说单通道的情况下,挖掘的方式为
假设原图像素为1,也就是在没有空间约束的情况下,挖掘方式为
现在,两者综合起来,不过关键的点,还是在于通道数量的变化
- 卷积
单一的卷积的变化式按照原样,但是对于同样的输入,进行了不同挖掘,也就是
简单的记作
- 通道
通道的变化式,还是老样子,但是,对于,有没有让你和产生了联想。
没错,两者其实是等价的。
通道的网络变换,作为一个高纬向量,它的单纬度,正是对应的卷积核抽取出来的一个特征。
而不同的卷积核抽取的特征,正是作为了新一轮的网络计算的输入。
为了直观感受,这里举一个例子,还是以人为例
- 身高
- 体重
- 腿长
- 眼睛颜色
- 眼睛大小
- 睫毛长度
- 睫毛颜色
- 头发长度
- 头发颜色
- 手掌尺寸
- …
每个输入,都写作
发现问题的关键点了么
- 相同输入会进行重复的特征提取
- 每个特征都有各自的偏向性
- 基于提取之后的特征,再次进行特征提取
也就是说,这是一种嫁接在神经网络上面的神经网络,而残缺是由于空间限定。
而且与嫁接而言,空间限定仅仅是小儿科。
这里,同样解释了这么一个问题:为什么backbone可以复用。
因为,经过大量训练集的洗礼,backbone已经习得了诸如颜色、毛发等特征。
而后续的特征组合,仅仅是一种基于此的新的特征判断,但是组合方式的差异,不受基础属性的影响。
正如判断漂亮与否,和判断头发枯黄的两种基准,是明确的隔离的。
对于美丑的判断,基于头发枯黄等结果,却和是否枯黄的判断标准毫无关联。
也是,backbone的复用性也就不言而明。
易于理解的网络
本质来说,这种抽取+逻辑的网络是否就更具有一种更好的效果呢。
从个人的观念来看,那必定是更好的。
因为,它对于一个抽象的高纬的信息的判断变得更加的精确,组合方式也就更加的精准。
现在一步到位的神经网络,存在两个问题
- 隐蔽:
对于所谓的美貌这种特征,如果不是作为目标来计算,而仅仅是中间生成的一方面的判断依据。
它是不具备复用性的,也是不长久的。
对于神经网络,我们只是对它的复杂计算最终导致的结果是可分析和预计的,对于其中的中间信息,无能为力。
也就是因果一步到位,对于其中的变化过程一无所知,最终的出来的,只是经验而非知识。
- 模糊
同样的,关注不同的事情,重点是不一样的。
虽然我们可以忽略,却不能够忘记还有这么一些东西。
神经网络中,由于存在明确的目标,关于这方面的信息的确能够足够的去挖掘。
但是更换目标以后,由于偏重的变化,相同信息在新的模型中,它的参数权重,也就会降低。
甚至于,它的影响相比其他重量级的因素是微小的,于是被完全的忽略,权重为。
但是本质上,它的影响力还是存在那么一点点。
正是因为这个原因,对于一个既定结果的凭重的不一,导致对单一信息的差异性识别。
得出来的结果本身就有一定的偏向性。
相同的东西,不同环境下的评价或许不同,但是就它本身而言,应该是一种明确的、定量的评价
就好比身高,在一些地方,被认为高,一些地方,被认为矮,一些地方就觉得很普通。
但是在长度的标尺下面,它就是一定的,是确定的,唯一的。
原来的神经网络,两点的弊病,一针见血的表述就是
- 差异性目标导致的基础特征的差异性认知
而且相同的基础特征,都需要重头的训练,浪费资源,还是存在识别差异。
卷积网络的backbone,经过标准的数据集,可以说有一定的认知标准,因此直接复用。
制定个人的functional,仅仅改变组合逻辑,就可以完成个人的信息组合,多么美好。
不过,对于一个东西准确的衡量,并不是如此简单,为了更贴近自己的结果,有时候我们更需要扩大它的差异。
由于functional的设计缺陷,很多人也重新训练backbone,这就是为了更好偏向结果,不过个人觉得并不正确
拟合
所以过拟合和欠拟合,到底是什么关系呢?
- 过拟合:过于贴近训练集,测试集效果不佳
- 欠拟合:对于训练集本身拟合不佳
两者有差异么?不,两者不存在差异,两者都是一致的:方向性偏差
欠拟合,无法拟合,是一种大距离的方向性偏差,能够明显的察觉到错误。
过拟合,很大程度上拟合,但是偏向点和目标点角度很小,很大程度准确,无法校准。
欠拟合无需多说,关键是过拟合,真的有意思。
如果你的真实情况是,训练出来,在范围之间,情况是这样的。
真实样本,预测的样本,也就是对于测试集合中的,它就会辨别错误。
这种拟合,精确程度下发生了很小的偏差,因为精确,所以更深蒂固。
哪怕错误,或许我们想要的更是,因为预测的结果更贴近我们的目标。
也就是说,一般的训练,实际上有两个方面因素
- 定位
- 偏移
两者都精准的大道了目标,我们就掌握了真理,不过太理想。
当定位太遥远,但是通过偏移,映射了我们的目标,我们心满意足,反之亦然。
或者说,我们对于定位的要求并没那么大,偏移程度和范围,才是能够把握样本的根本关键。
过拟合,就是映射过程中,对于偏移的程度和范围,又一个固执的认知,自成体系,而无法容纳我们的部分期望。
拟合的两者,一个错误的认知,一个偏执的认知,根本原因在于认知方向的错误。
差异过大,这是量上面的,显而易见。
但是那些看起来正确的,始终过拟合的,是因为某些东西本质上的不同,但是现象上面存在交集。
或许,也是因为基础特征的差异化、偏向性的特征提取导致,完全的忽略的那些微弱的原因。
由于这些原因的缺乏,导致认知的正确存在那么一点点的固化偏差。
过拟合其实不是错误,也有可能是我们对于某方面的处理,蒙蔽了视听,局限了信息范围。
这就是**函数的优劣问题了,梯度消失当时就是抹杀了信息。
这种问题,还存在吧,在一些我们意想不到的角落。