神经网络基础
- 深度学习:使用深层架构(比如深度神经网络)的机器学习方法
- 神经元:也叫感知器
组成:
1.输入权值:一个感知器可接受多个输入,每个输入上由于提供权值,还有偏置项b
2.激活函数
3.输出
- 神经网络:按一定规则连接多个神经元
按层布局
同层无连接
每个连接都有一个权值
- 反向传播:为矫正网络权重,修正权重参数,使输出值逼近目标值
通常采样反向传播更新梯度,达到最小化损失函数目的,
一种基于微积分链式求导的递归算法。例如y=g(x;θ)y=g(x; \theta)y=g(x;θ)使用▽θg\bigtriangledown_\theta g ▽θg来更新θ\thetaθ
- 多标签问题
给定集合(xn,yn),xn∈Rp是第n个样本的p维特征{(x_n,y_n)},x_n \in R^p 是第n个样本的p维特征(xn,yn),xn∈Rp是第n个样本的p维特征,
- 优化算法
DNN是非线性非凸模型
采用梯度下降算法更新
常用初始化网络参数方法
- 高斯分布初始化
- 均匀分布初始化
Xavier初始化
- 学习了选择
反向衰减学习率
- 初始化学习率:η0衰减系数:γ迭代次数:t定义为:Θ(t)=η01−t⋅γ初始化学习率:\eta_0 \\衰减系数:\gamma\\迭代次数:t\\定义为:\\\Theta(t)=\frac{\eta_0}{1-t \cdot \gamma}初始化学习率:η0衰减系数:γ迭代次数:t定义为:Θ(t)=1−t⋅γη0
指数衰减率Θ(t)=η0exp(tγ)\Theta(t)=\frac{\eta_0}{exp(t \gamma)}Θ(t)=exp(tγ)η0
固定衰减的模拟退火方法不能之间泛化到多个数据集上
以下是广泛使用的
- 动量方法
采用累计梯度替代当前梯度
类似球下山,下坡时积累动力
若莫参数在连续时间内梯度方向不变,动量变小;相反,方向一致,增大
可快速收敛,减少目标函数震荡
vt=γvt−1−η⋅▽θJ(Θ;xi:i+n,yi:i+n)Θ=Θ−vtv_t=\gamma v_{t-1}-\eta\cdot\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n})\\\Theta=\Theta-v_tvt=γvt−1−η⋅▽θJ(Θ;xi:i+n,yi:i+n)Θ=Θ−vt
- RMSprop
自适应调整每个参数学习率,克服过早衰减
vt=βvt−z−η⋅▽θJ(Θ;xi:i+n,yi:i+n)v_t=\beta v_{t-z}-\eta\cdot\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n})vt=βvt−z−η⋅▽θJ(Θ;xi:i+n,yi:i+n)
梯度更新公式
Θt+1=Θt−αvt+ϵ⋅▽θJ(Θ;xi:i+n,yi:i+n)\Theta_{t+1}=\Theta_{t}-\frac{\alpha}{\sqrt{v_t+\epsilon}}\cdot\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n})Θt+1=Θt−vt+ϵα⋅▽θJ(Θ;xi:i+n,yi:i+n)
- 自适应矩估计
可自适应调整每个参数学习率,可看成RMSprop与动量法结合
mt=β1mt−1−(1−β1)▽θJ(Θ;xi:i+n,yi:i+n)vt=β2vt−1−(1−β2)▽θ2J(Θ;xi:i+n,yi:i+n)m_t=\beta_1m_{t-1}-(1-\beta_1)\bigtriangledown_\theta J(\Theta ;x_{i:i+n},y_{i:i+n})\\v_t=\beta_2v_{t-1}-(1-\beta_2)\bigtriangledown_\theta^2 J(\Theta ;x_{i:i+n},y_{i:i+n})mt=β1mt−1−(1−β1)▽θJ(Θ;xi:i+n,yi:i+n)vt=β2vt−1−(1−β2)▽θ2J(Θ;xi:i+n,yi:i+n)
分别为梯度一阶矩二阶矩估计
矫正:
m^t=mt1−β1tv^t=vt1−β2t\hat m_t=\frac{m_t}{1-\beta_1^t}\\\hat v_t=\frac{v_t}{1-\beta_2^t}m^t=1−β1tmtv^t=1−β2tvt
梯度更新公式:
Θt+1=Θt−ηvt^+ϵmt^通常β1=0.9,β2=0.999,ϵ=10−8\Theta_{t+1}=\Theta_{t}-\frac{\eta}{\sqrt{\hat{v_t}+\epsilon}}\hat{m_t}\\通常\beta_1=0.9,\beta_2=0.999,\epsilon=10^{-8}Θt+1=Θt−vt^+ϵηmt^通常β1=0.9,β2=0.999,ϵ=10−8