9. 前向神经网络
9.1 多层感知机 MLP 与 布尔函数 ***
1. 表示 XOR,最少需要几个 hidden layer?**
1层(2+2+1)
通用近似定理
至少一层 “挤压” 性质的 激活函数 隐含层
当给到足够数量的隐含单元时,可以以任意精度近似
有限维空间 => 有限维空间 的 波莱尔可测函数
2. 1 隐层,至少需要多少节点,能够实现 n 元输入的任意布尔函数?***
析取范式(Disjunctive Normal Form, DNF)=> 卡诺图,相邻区域可规约
最大不可规约的 n 元析取范式(卡诺图):
3. 多隐层,至少需要多少节点 / 层,能够实现 n 元输入的任意布尔函数?***
XOR 需要 3 个节点(包含输出)
n 元 XOR 函数 节点数:
层数: 二分思想
9.2 深度神经网络中的激活函数 ***
常用 activation function 及其导函数
Sigmoid ,导函数
Tanh ,导函数
ReLU ,导函数
Sigmoid、Tanh 梯度消失:当 z 很大或很小时,梯度趋近于 0
ReLU 优点
计算简单
非饱和性 解决 梯度消失问题,提供相对宽的 激活边界
单侧抑制,提供网络 稀疏 表达能力
ReLU 局限:神经元死亡
Leaky ReLU
Parametric ReLU,将负轴斜率 a 作为网络可学习参数,不需要人工选择
Random ReLU,正则化作用
9.3 MLP 的反向传播算法 ****
1. MSE, cross entropy 损失函数 **
回归:
二分类:
多分类:
2. 推导各层参数更新的梯度计算公式 ****
残差量递推公式:
MSE:代价 ,残差
cross entropy:代价
只有一个类别为1,则 ,残差
f 取 softmax 时,,因此
3. MSE 和 cross entropy 分别适合什么场景 ***
MSE:连续输出,不含 sigmoid / softmax
cross entropy:二分类 / 多分类
为什么 sigmoid / softmax 不适合 MSE
如果 的绝对值较大,梯度趋于饱和,即 绝对值非常小,学习缓慢
当使用 cross entropy 时,残差为 ,导数是线性的,不存在学习过慢问题
9.4 NN 训练技巧 ***
1. 能否将全部参数初始化为 0?*
不能,前向传播、反向传播 的取值都是完全相同的,bias 可以简单地设为 0
2. 为什么 Dropout 可以抑制过拟合?***
随机固定部分参数,轻量级 Bagging 集成近似
减弱神经元之间的联合适应性,减少过拟合风险,增强泛化能力
预测阶段:每个神经元的系数要预先乘以 p
3. Batch Normalization ***
动机:隐层参数变化,后一层输入变化,网络每次迭代需要拟合不同分布,增大 复杂度 和 过拟合风险
原理:对数据的分布进行额外的约束,增强泛化能力,但降低拟合能力,引入变换重构
公式:(1) ; (2) ; (3) ; (4)
CNN:参数共享机制,一起被归一化
9.5 深度卷积网络 CNN ***
本质特征
稀疏交互(Sparse Interaction):局部区域,而不是稠密连接,物理意义是 局部特征=>复杂抽象特征
参数共享(Parameter Sharing):学习一组参数集合,降低存储,物理意义是 平移等变性
池化操作(本质是降采样)
mean pooling:抑制 邻域大小受限 造成估计值 方差增大 的现象,保留背景
max pooling:抑制 网络参数误差 造成估计值 均值偏移 的现象,提取纹理
特殊池化:相邻重叠区域的池化,空间金字塔池化
作用:降低参数量,保持 平移/伸缩/旋转 操作的 不变性
文本分类任务
优势:自动地对 N-gram 特征进行组合和筛选,获得不同抽象层次的语义信息
结构
输入层:,N单词,K向量维度,固定的 word embedding + 网络训练
卷积层:定义不同大小的滑动窗口,
池化层:1-Max, K-Max, mean pool,将不同长度的句子,得到定长向量表示
输出层:任务相关,如 softmax 多分类
9.6 深度残差网络 ResNet ***
梯度消失问题:参数和导数的连乘,误差消失或膨胀
模块输出:,于是 只需要拟合残差
Last updated