• Deep Feedforward Networks是一种典型深度学习模型。
  • 目标为拟合某函数ff
    • 即定义映射y=f(x;θ)y=f(x;\theta)
    • 将输入xx转化为某种预测的输出yy
    • 并同时学习网络参数θ\theta
    • 使模型得到最优函数近似
  • 从输入到输出不存在与模型自身的反馈连接
    • 此类模型被称“前馈”

  • 深度前馈网络由多个函数复合在一起表示
    • 该模型与ー个有向无环图关联
    • 图描述函数的复合方式
  • 如“链式结构”f(x)=f(3)(f(2)(f(1)(x)))f(x)=f^{(3)}(f^{(2)}({f^{(1)}(x)}))
  • 链的全长为网络模型的“深度”。
  • 设真实函数为f(x)f^{*}(x),在神经网络过程中
    • 试图令f(x)f(x)拟合f(x)f^*(x),
    • 训练数据则提供在不同训练点上取值的f(x)f^*(x)的近似实例(可能含噪声)
    • 即每样本xx伴随一个标签yf(x)y\approx f^*(x),
      • 指明输出层必须产生接近标签的值
  • 网络学习算法则需決定如何用中间的“隐藏层”来实现最优近似

  • 深度前馈网络是一类网络模型
    • 多层感知机、自编码器、限制玻尔兹曼机,
    • 及卷积神经网络

1 多层感知机与布尔函数

场景描述

  • 大脑皮层的感知与计算功能是分层实现的,
  • 视觉图像,光信号进入大脑皮层V1区,
    • 初级视皮层,
  • 之后通过V2层和V4层,即纹外皮层,
    • 进入下颞叶参与物体识别。
  • 深度神经网络除模拟人脑功能的多层结构
    • 最大优势在于能以紧凑、简洁的方式
    • 来表达比浅层网络更复杂的函数集合
    • (简洁”定义为隐层单元的数目与输入单元的数目呈多项式)
  • 神经网络中每节点都可与/或/非”,
    • 咋构造一个MLP网络实现
    • nn个输入比特的奇偶校验码(任意布尔函数)?

多层感知机表示异或时最少要几个隐层(二元输入)?

  • 分析一下零个隐层的情况(等同于逻辑回归)能否表示异或。
  • 二元输入
  • X 0或1,
  • Y 0或1
  • Z为异或运算的输出。

9 前向NN

  • 逻辑回归公式
    Z=sigmoid(AX+BY+C)(9.1)Z=sigmoid(AX+BY+C)\tag{9.1}

  • Sigmoid**函数单増

  • 当Y=0时,将X的取值从0变到1将使输出Z也从0变为1
    说明此时Z的变化与X是正相关的,需要设置A为正数;

  • 逻辑回归(不带隐层的感知机)无法精确学习出异或

  • 考虑一个隐藏层。
  • 通用近似定理:
    • 一个前馈神经网络
    • 如果有线性输出层和
    • 至少一层具有任何一种“挤压”性质的**函数的隐藏层
    • 当给予网络足够数量的隐藏单元时
    • 可任意精度近似任何
      • 从一个有限维空间到另一个有限维空间的波菜尔可测函数
  • 通用近似定理的证明不在面试范围
  • 常用的**函数和目标函数是
    • 通用近似定理适用的一个子集,
    • 因此多层感知机的表达能力非常强,
    • 关键在于我们是否能够学习到对应此表达的模型参数。

9 前向NN

  • 这里不涉及模型参数学习,而是设计参数以说明含一个隐含层的多层感知机就可异或,如图9.1。
  • 等同于计算H1=X+Y1H_1=X+Y-1,再用ReLU,真值表如表9.2。
  • 第一个隐藏单元在X和Y均为1时**
  • 第二个隐藏单元在X和Y均为0时**,
  • 最后将两个隐藏单元的输出
    • 做一个线性变换即可实现异或,如表9.4

9 前向NN

如果只一个隐层,需多少隐节点能实现含n元输入的任意布尔函数?

  • n元输入的任意布尔函数可唯一表示为析取范式
  • (Disjunctive Normal Form)(由有限个简单合取式构成的
    析取式)的形式。
  • 5的简单示例

9 前向NN

  • 该函数由含6个隐节点的3层感知机实现,如图9.2

9 前向NN

相关文章: