《卷积神经网络与计算机视觉》笔记

《卷积神经网络与计算机视觉》笔记_第1张图片

文章目录

  • 1.随机森林(RDF)
    • 信息熵
    • 信息增益
  • 2.神经网络基础
    • 神经网络分类
    • 学习规则分类
    • 多层感知机(MLP)参数学习
      • 梯度不稳定问题(梯度爆炸或消失)——激活函数选择问题
  • 3.循环神经网络(RNN)
  • 4.卷积神经网络(CNN)
    • 4.1神经网络层
      • 4.1.1预处理
      • 4.1.2卷积层
      • 4.1.3池化层
      • 4.1.4全连接层
      • 4.1.5转置卷积层
      • 4.1.6感兴趣区域池化层
      • 4.1.7空间金字塔池化层(SPP)
      • 4.1.8局部特征聚合描述层(VLAD)
      • 4.1.9空间变换层
    • 4.2CNN损失函数(目标函数)

1.随机森林(RDF)

随机决策森林[1986]是决策树的集成。分支节点基于特征向量的特定特征值f[i](即下图中判断图片上/下部分是否为蓝色)根据阈值 τ i \tau_i τi执行二元分类,每个叶子存储最终标签。每棵树独立预测,最终使用多数投票方案用于预测特征向量的最终标签。
《卷积神经网络与计算机视觉》笔记_第2张图片训练:
搜索最好的f[i]和 τ i \tau_i τi以获得最大的信息增益。
将数据集Q划分为左分区 Q l Q_l Ql Q r Q_r Qr之后的信息熵为:
H ( Q ∣ f [ i ] , τ i ) = ∣ Q l ∣ ∣ Q ∣ H ( Q l ) + ∣ Q r ∣ ∣ Q ∣ H ( Q r ) H(Q|{f[i], \tau_i})={|Q_l|\over|Q|}H(Q_l)+{|Q_r|\over|Q|}H(Q_r) H(Qf[i],τi)=QQlH(Ql)+QQrH(Qr)

分类:
p ( c ∣ x j ) = 1 T ∑ t = 1 T p t ( c ∣ x j ) p(c|x_j)={1\over{T}}\sum_{t=1}^{T}p_t(c|x_j) p(cxj)=T1t=1Tpt(cxj)
样本 x j x_j xj,类别 c ∈ c\in c c k c_k ck,决策树个数T

信息熵

定义:正在处理的信息的随机性的度量。也称香农熵,熵越高,信息量越低。

公式:信息熵 H ( X ) = − ∑ i = 1 n P ( x i ) ∗ l o g 2 P ( x i ) H(X)=-\sum_{i=1}^{n}P(x_i)*log_{2}P(x_i) H(X)=i=1nP(xi)log2P(xi)
其中随机变量X={x1,x2,x3,…,xn},概率质量函数P(X)。

举例:抛硬币 H ( X ) = − P ( “ 正 面 向 上 ” ) l o g 2 P ( “ 正 面 向 上 ” ) − P ( “ 反 面 向 上 ” ) l o g 2 P ( “ 反 面 向 上 ” ) H(X)=-P(“正面向上”)log_{2}P(“正面向上”)-P(“反面向上”)log_{2}P(“反面向上”) H(X)=P()log2P()P()log2P()
若正反面概率均为1/2时,二元信息熵最大,随机性最强;反之,若概率为0或1,信息熵最小为0,即完全确定。

信息增益

公式: G ( Q ∣ t ) = H ( Q ) − H ( Q ∣ t ) G(Q|t)=H(Q)-H(Q|t) G(Qt)=H(Q)H(Qt)

2.神经网络基础

神经网络分类

1. 前向网络:例如MLP和CMAC(小脑神经网络),下图(a)。
2. 反馈网络:即每一个输入节点都有可能接受来自外部输入和其他神经元输出的反馈。例如RNN,下图(b)。
3. 相互结合网络:在任意两个神经元之间都有可能存在连接,也属于一种有反馈的网络,信息在神经元之间反复往返传递。例如HNN(Hopfield)和bolzman机,下图(c)。
4. 混合网络:层次性结构(前向网络)和网状结构(反馈网络)的结合。下图(d).
5. 自组织网络:例如Kohonen和ART。
《卷积神经网络与计算机视觉》笔记_第3张图片
(图片来源:《智能控制技术(第2版)》 韦巍 著)

学习规则分类

1. 相关学习:仅根据连接间的激活水平改变权重系数。Hebbian学习、相关学习法。
2. 纠错学习:感知机学习、delta、Widrow-Holf学习规则(当输出单元为线性单元等时的Delta特例).
3. 无监督学习

多层感知机(MLP)参数学习

  1. delta原则(仅限单层网络)
  2. 广义delta原则
    引入非线性激活函数,多个隐形层,错误反向传播

梯度不稳定问题(梯度爆炸或消失)——激活函数选择问题

当网络很深,学习过程可能会遭受梯度消失梯度爆炸
例如,sigmoid函数取值范围为[0,1],为了更新初始层根据链式规则连续乘以导数,然后以指数方式衰减反向传播。例深度为5,sigmoid最大可能梯度0.25,衰减因子为 ( 0.25 ) 5 = 0.0009 (0.25)^5=0.0009 (0.25)5=0.0009,产生梯度消失问题。
   ReLU函数,梯度为1, 1 L = 1 1^L=1 1L=1避免了梯度消失和爆炸的问题。
《卷积神经网络与计算机视觉》笔记_第4张图片
《卷积神经网络与计算机视觉》笔记_第5张图片
《卷积神经网络与计算机视觉》笔记_第6张图片

3.循环神经网络(RNN)

《卷积神经网络与计算机视觉》笔记_第7张图片
RNN是一种***反馈网络***,包含循环,允许处理时序数据。图(b)信息流随时间发生,不同层代表不同时刻的计算输出。
可变长度输入:例如不同单词数量的句子,RNN结构长度取决于输入序列的长度,12个单词组成的句子展开的RNN结构也有12层。
隐藏状态:RNN在内部保存先前计算的存储,每一个时间步,考虑其先前值和当前输入值: h t = f ( A x t + B h t − 1 ) h_t=f(Ax_t+Bh_{t-1}) ht=f(Axt+Bht1).
可变长度输出:输出序列长度可以与输入序列长度不同。例如:输入起始单词,RNN预测句子中的下一个可能单词,所有可能的单词都可能包含在输出中。 y t = f ( C h t ) y_t=f(Ch_t) yt=f(Cht).
共享参数:图(b)中A、B、C在所有层共享。

缺点:基于时间的反向传播(BPTT)算法不允许学习序列中的长时关系,因为在长序列的误差计算上存在困难。当迭代次数增加,BPTT受到梯度消失和爆炸的困扰。无法记住序列中的长时关系。改进:长短时记忆网络(LSTM)、门控递归单元(GRU)、双向RNN(B-RNN)和神经图灵机(NTM)。

问题:RNN只能包含一个隐形层吗?只有一个隐形层的RNN算不算深度学习?
A:(引用一个知乎大佬的回答)RNN的深度体现在时间层面上。

4.卷积神经网络(CNN)

《卷积神经网络与计算机视觉》笔记_第8张图片
(来源:莫烦python。链接:添加链接描述

4.1神经网络层

4.1.1预处理

均值减法 x ′ = x − x ^ , 其 中 x ^ = 1 N ∑ i = 1 N x i x'=x-\hat{x},其中\hat{x}={1\over{N}}\sum_{i=1}^{N}x_i x=xx^x^=N1i=1Nxi
归一化 x ′ ′ = x ′ ∑ i = 1 N ( x i − x ^ ) 2 N − 1 x''={x'\over{\sqrt{\sum_{i=1}^{N}(x_i-\hat{x})^2\over{N-1}}}} x=N1i=1N(xix^)2 x
PCA白化:减少不同数据维度之间的相关性。同时会放大噪声。
局部对比归一化(LCN)

4.1.2卷积层

滤波器(卷积核):离散数字的网格ff,下图4.3中为22的滤波器。学习过程中,在每次迭代中调整滤波器的权重。一般选用小尺寸卷积核33,55,7*7,原因:1. 可学习参数数量减少;2. 确保从局部区域学习提取不同的模式。
卷积层在滤波器和该层的输入之间进行卷积(二维矩阵点乘运算)。滤波器沿输入特征图的高度和宽度滑动,下图4.3步辐为1,图4.5步辐为2。
《卷积神经网络与计算机视觉》笔记_第9张图片
《卷积神经网络与计算机视觉》笔记_第10张图片
图4.5输入特征图周围应用零填充
有效卷积:不涉及零填充,滤波器始终保持在输入特征图的有效位置。
同尺寸卷积:确保输入和输出有相同尺寸的特征图。步幅为1时填充为 p = [ f 2 ] p=[{f\over2}] p=[2f],所以也称半卷积。
全尺寸卷积:对输入特征图应用最大可能填充,即填充f-1个零,使得在极端角落处,卷积中也包括一个有效值。

感受野:(下图4.7中橙色部分)卷积神经网络每一层输出特征图(feature map)上的像素点在输入图片上映射的区域大小。网络深度越深感受野越大性能越好,确保决策时没有忽略重要信息。
计算: R F e f f n = R F e f f n − 1 + ( ( f n − 1 ) ∗ ∏ i = 1 n − 1 s i ) RF_{eff}^{n}=RF_{eff}^{n-1}+((f_n-1)*\prod_{i=1}^{n-1}s_i) RFeffn=RFeffn1+((fn1)i=1n1si),其中 s i s_i si表示前一层步幅。
扩展感受野扩张卷积(空洞卷积),引入空洞参数d,在原滤波器每个元素之间扩展d-1个空格,中间用零扩充(见图4.7中第二层和第三层),将尺寸为 f ∗ f f*f ff的滤波器放大到 f + ( d − 1 ) ∗ ( f − 1 ) f+(d-1)*(f-1) f+(d1)(f1)《卷积神经网络与计算机视觉》笔记_第11张图片

p.s卷积和互相关的区别
《卷积神经网络与计算机视觉》笔记_第12张图片
ML中,卷积和互相关等效,上述例图中均为二维互相关操作。

4.1.3池化层

需指定池化区域大小和步幅大小。下图4.8为最大池化操作。(莫烦python)卷积尽量不压缩长宽,保留更多的信息,压缩的工作交给池化,以提高准确性。
《卷积神经网络与计算机视觉》笔记_第13张图片

4.1.4全连接层

y = f ( W T x + b ) y=f(W^Tx+b) y=f(WTx+b)

4.1.5转置卷积层

从空间低分辨率特征图到高分辨率的更大输出的特征图。
两种方法:1. 将核(滤波器)扩展成托普利兹矩阵K, y = K T x y=K^Tx y=KTx。2. 零填充(图4.10)。
《卷积神经网络与计算机视觉》笔记_第14张图片

4.1.6感兴趣区域池化层

《卷积神经网络与计算机视觉》笔记_第15张图片

4.1.7空间金字塔池化层(SPP)

4.1.8局部特征聚合描述层(VLAD)

4.1.9空间变换层

4.2CNN损失函数(目标函数)

  1. 交叉熵损失函数(->柔性最大传递损失函数)
  2. SVM铰链损失函数
  3. 平方铰链损失函数
  4. 欧几里得损失函数
  5. l 1 l^1 l1误差
  6. 对比损失函数
  7. 期望损失函数
  8. 结构相似性度量(SSIM)
    二元分类用2、3;多类分类用1、7;回归分析用4、5、8。

你可能感兴趣的:(卷积,神经网络,机器学习)