人工神经网络之几何理Ⅰ:单(隐藏)层神经网络

人工神经网络之几何原理

(Geometric principle of Artificial Neural Networks)

本文探讨的人工神经网络仅仅为最简单的ReLU神经元所构成的普通神经网络(非CNN和RNN),且只探讨了单(隐藏)层的分类这一个经典的场景。

基本约定

为了方便讨论和图像化, 全文使用的激活函数均为ReLU, 原始输入的X为二维向量。

实例1

下图为一个最简单的人工神经网络,其包含两个节点的输入层,两个节点的输出层,以及三个节点的隐藏层。该网络可以用于解决输入为二维向量的二元分类问题,其输出为两种分类的概率。

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • 输入层 – 2维向量X
  • 隐藏层(第一层) – ReLU层 (3个神经元)
  • 输出层(第二层) – Softmax层 (2个神经元, 二元分类)

下图为假定的样本分布,每个样本有两个特征(其横坐标值X0, 其纵坐标值X1)以及从属于红绿两种分类之一(其颜色)。样本的真实分界线为一个圆。

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

下图为在上述网络的情况下,学习后(省略了学习的过程)的最优结果,该神经网络认为在灰色区域内的样本为红色,在灰色区域外的样本为绿色,其分类识别的准确率为95%。(可以点击TensorPlayground体验学习的过程)

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • 3个ReLU神经元下在这个分布下最优的分界图形就是六边形

为何能够在如此简单的神经网络下,达到这种效果呢(六边形的分界图形)?下面本文将从几何角度去阐述其内部原理,让人工神经网络不再黑盒。

单个ReLU神经元

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • W, X 均为向量
  • X为该神经元的输入,W为该神经元的权重Weight参数,b为该神经元的偏置Bias参数

这里让W,X均为2维向量, 且令 W = [1.5, 3.5], b = -2.5, 其图像如下:

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • (注意上图的Z轴的比例尺和X0、X1轴不一致)

单个ReLU神经元, 其输入为n维空间下的X, 在n+1的高维空间(令新增加的维度为Z)中生成了一个超平面, 然后沿着Z=0的超平面折叠, 名为超折面

超折面的角度

由 W参数决定

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

(高维空间)

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • 始终为钝角

超折面的超折线在Z=0超平面上的位置

由 W参数和b参数 决定

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

(高维空间)

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

常数 * 超折面

C * Z

在Z轴方向上拉伸、收缩、翻转, 会改变折面的角度, 不会改变折线的位置

  • 1 < C ➡️ 拉伸, 折面角度变小(变陡峭)
  • 0 < C < 1 ➡️ 收缩, 折面角度变大(变平缓)
  • C < 0 ➡️ 翻转, 折面向下翻转

C=2

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

C=0.6

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

C=-1

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

C=-2

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

C=-0.6

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

超折面 + 超折面

Z0 + Z1

将第一个折面按照第二个折面的折线再次折叠, 并使得原来两个折面的角度变小(变陡峭)

不会改变超折面的超折线在Z=0超平面上的位置, 但折线的部分随着折叠, 脱离了原来的Z=0的超平面

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

=

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

第一层ReLU神经元

多个超折面线性相加 (后一层视角)

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • Hn为第一层的第n个ReLU神经元运算后的结果

n个神经元 ➡️ 在Z=0的超平面上生成n条超折线, 在高维空间中折叠

  • 超折线的位置仅由第一层的单个神经元决定, 和后一层的参数无关
  • 后一层的W参数决定了每个超折面的相对折叠角度
  • 后一层的b参数决定了整个复合超折面在Z轴上的位置(上下移动)

直线分割平面

n条直线最多将平面分割为 《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》 个部分

n个超平面分割d维空间

n个超平面最多将d维空间分割为f(d, n)个部分

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

二元分类下的Softmax

softmax(X) 将向量X的值转换为各个索引位置独立事件的概率(0~1)

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

对于Softmax的二元分类而言, 实际上是将前一层的网络结果进行两组线性相加, 结果值更大的一组则作为预测结果

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

这里做一下变换, 用 R1 – R0 和 0 比较大小, 替代掉 两者直接比较大小, 最后Softmax层则化简为一组线性相加后和0判断大小

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

  • Z < 0, 预测为0分类
  • Z > 0, 预测为1分类

多元分类下的Softmax

对于Softmax的多元分类而言, 实际上是将前一层的网络结果进行多组线性相加, 结果值最大的一组则作为预测结果

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

这里做一下变换, 用 Ra – Rb 和 0 比较大小, 替代掉 两者直接比较大小, 最后Softmax层则等价为用一组线性相加后和0判断大小判断更符合a、b分类中的哪一类, 多次判断则可以找到最大可能性分类

  • 依旧可以采用二元分类下, 某个线性组合在Z=0的超平面的投影的几何视角

1 ReLU层 + 1 Softmax层 二元分类网络

  • 输入为n维空间下的X
  • 在n+1维的空间中的Z=0的超平面上生成m条超折线, 进行m次折叠 (m为第一层ReLU神经元的数目)
  • 折叠后的图形进行线性相加组合(改变了各个折叠的角度和整体在Z轴上的位置)后和Z=0的超平面比较大小
  • 在n+1维空间中, 其图形在Z=0的超平面的投影就是原始n维空间中的二元分类分界线

可见, 对于任意一个符合某种规律的有限分布, 只要提供足够多个数的ReLU神经元, 就能依靠高维空间的折叠, 而生成匹配这种分布的高维空间图形

实例1的解析

高维空间视角

  • 高维空间下3条超折线产生的图形
  • 3条直线分割平面最多产生7个部分, 这里产生了6个部分(中间最小的部分忽略不计)
  • 在Z=0的超平面下的投影的分界图形正好是六边形

第一层ReLU在Z=0超平面上的超折线

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

高维空间下的Z

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

《人工神经网络之几何理Ⅰ:单(隐藏)层神经网络》

    原文作者:人工智能
    原文地址: https://my.oschina.net/chishaxie/blog/835628#comments
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞