神经网络和深度学习课堂笔记(二)

(此为课程作业,参考价值不大,有需要可以通过链接直接阅读原文《动手学深度学习》)

性能优化问题

基本思想

使用二次型近似任意函数,某一算法是有效的则对二次型应该有好的效果,则一般以二次型函数为例进行优化。

二阶算法

牛顿法

将二次型进行泰勒展开,保留到二阶项,然后对二次型对增量进行求导为0,得到最优增量更新值
在这里插入图片描述
具有二次收敛速度,但每步都计算Hessian矩阵,其中涉及到二次导数Hessian矩阵求逆问题,比较复杂。更新公式为:
x k + 1 = x k − H k − 1 g k x_{k+1}=x_k-H_k^{-1}g_k xk+1=xkHk1gk

高斯牛顿法

用目标函数的Jacobian 矩阵近似H矩阵,提高算法效率,但H矩阵不满秩则无法迭代,公式为:
x k + 1 = x k − ( J k ⊤ J k ) − 1 g k x_{k+1}=x_k-(J_k^\top J_k)^{-1}g_k xk+1=xk(JkJk)1gk

L-M算法

LM算法为一种信赖域算法,解决H矩阵不满秩或非正定时无法进行迭代的问题,公式为:
x k + 1 = x k − ( J k ⊤ J k + μ I ) − 1 g k x_{k+1}=x_k - (J_k^\top J_k + \mu I)^{-1}g_k xk+1=xk(JkJk+μI)1gk

优化问题常用技巧

K折交叉验证

原始训练数据被分成K个不重叠的子集。然后执行K次模型训练和验证,每次在K−1 个子集上进行训练,并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。最后,通过对K 次实验的结果取平均来估计训练和验证误差。

权重衰减(L2正则化)

为防止过拟合和权值震荡,加入新的指标函数项:
J ( w ) + λ 2 ∣ ∣ w ∣ ∣ 2 J(\textbf{w})+\dfrac{\lambda}{2}||\textbf{w}||^2 J(w)+2λ∣∣w2
第二项约束了权值不能过大。在梯度下降时,导数容易计算:
J ( w ) d w + λ w \dfrac{J(\textbf{w})}{d\textbf{w}}+\lambda\textbf{w} dwJ(w)+λw

暂退Dropout

在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零。
在这里插入图片描述

模型初始化

简单的考虑,把所有权值在[-1,1]区间内按均值或高斯分布进行初始化。
Xavier初始化:为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等。因此需要实现下面的均匀分布:
W ∼ U [ − 6 n j + n j + 1 , 6 n j + n j + 1 ] W\sim U\Big[-\dfrac{\sqrt{6}}{\sqrt{n_j+n_{j+1}}},\dfrac{\sqrt6}{\sqrt{n_{j}+n_{j+1}}}\Big] WU[nj+nj+1 6 ,nj+nj+1 6 ]

卷积神经网络基础

卷积的基本概念

离散卷积

图像二维卷积的定义:
( f ∗ g ) ( x , y ) = 1 N M ∑ i = 0 N − 1 ∑ j = 0 M − 1 f ( i , j ) g ( x − i , y − j ) (f*g)(x,y)=\dfrac{1}{NM}\sum_{i=0}^{N-1}\sum_{j=0}^{M-1}f(i,j)g(x-i,y-j) (fg)(x,y)=NM1i=0N1j=0M1f(i,j)g(xi,yj)
其中 f 是区域图像,g 是滤波器。

图像滤波的计算过程

计算公式

1 N M ∑ i = 0 N − 1 ∑ j = 0 M − 1 f ( i , j ) g ( x − i , y − j ) \dfrac{1}{NM}\sum\limits_{i=0}^{N-1}\sum\limits_{j=0}^{M-1}f(i,j)g(x-i,y-j) NM1i=0N1j=0M1f(i,j)g(xi,yj)
N*M为卷积核的大小,像素点(x,y)卷积后的值如上公式所示,

卷积核(滤波器)

图像平滑(图像去噪)

平均滤波

将一个小区域内的像素值平均

加权平均滤波

将一个小区域内的像素值加权平均

图像边缘检测(基本算子)

Prewitt算子卷积核
在这里插入图片描述

Sobel算子卷积核
在这里插入图片描述
边缘强度
M ( x , y ) = E x 2 ( x , y ) + E y 2 ( x , y ) M(x,y)=\sqrt{E_x^2(x,y)+E_y^2(x,y)} M(x,y)=Ex2(x,y)+Ey2(x,y)
边缘方向
θ ( x , y ) = tan ⁡ − 1 ( E y    ( x , y ) E x    ( x , y ) ) \theta(x,y)=\tan^{-1}\left(\dfrac{E_y~~(x,y)}{E_x~~(x,y)}\right) θ(x,y)=tan1(Ex  (x,y)Ey  (x,y))
LoG算子
在这里插入图片描述

网络基本概念

全连接网络

链接权过多,难算难收敛,同时可能进入局部极小值,也容易产生过拟合问题。

局部连接网络

顾名思义,只有一部分权值连接。部分输入和权值卷积。

填充(Padding)

也就是在矩阵的边界上填充一些值,以增加矩阵的大小,通常用0或者复制边界像素来进行填充。

步长

卷积核每次移动的像素数

多通道卷积
池化(Pooling)

使用局部统计特征,如均值或最大值。解决特征过多问题。

卷积神经网络结构

由多个卷积层和下采样层(池化层)构成,后面可连接全连接网络。
在这里插入图片描述
卷积层前向传播公式为:
z [ l ] ( x , y ) = ∑ u = 0 p ∑ v = 0 q a [ l − 1 ] ( x + u , y + v ) w rot [ l ] , k ( u , v ) z^{[l]}(x,y)=\sum_{u=0}^p\sum_{v=0}^q a^{[l-1]}(x+u,y+v)w_{\text{rot}}^{[l],k}(u,v) z[l](x,y)=u=0pv=0qa[l1](x+u,y+v)wrot[l],k(u,v)
a [ l ] ( x , y ) = f ( z [ l ] ( x , y ) ) a^{[l]}(x,y)=f\left(z^{[l]}(x, y)\right) a[l](x,y)=f(z[l](x,y))
如果第 l 层是卷积+池化层,则:
a [ l ] ( x , y ) = d o w n s a m p l e ( ∑ u = 0 p ∑ v = 0 q a [ l − 1 ] ( x + u , y + v ) w s ( u , v ) ) a^{[l]}(x,y)=downsample(\sum_{u=0}^p\sum_{v=0}^q a^{[l-1]}(x+u,y+v)w_{s}(u,v)) a[l](x,y)=downsample(u=0pv=0qa[l1](x+u,y+v)ws(u,v))

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值