| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Task5-神经网络设计的技巧 -> 正文阅读 |
|
[人工智能]Task5-神经网络设计的技巧 |
优化失败的可能原因在critical point卡住了,即梯度为0的地方卡住了。 两种critical point:局部最小点;鞍点 在低维度中的局部最小点在高维度中可能是鞍点;在低维度中的critical point在高维度中可能不属于critical point 找出是哪一种情形:泰勒级数当
θ
\theta
θ趋于
θ
′
\theta'
θ′时: 对于critical point,一次微分项为0,即 ( θ ? θ ′ ) T ? θ ′ ? θ i = 0 (\theta-\theta')^T \frac{\partial \theta'}{\partial \theta_i}=0 (θ?θ′)T?θi??θ′?=0 记 ( θ ? θ ′ ) T ? 2 L ( θ ′ ) ? θ i ? θ j ( θ ? θ ′ ) = v T H v (\theta-\theta')^T\frac{\partial^2L(\theta')}{\partial\theta_i\partial\theta_j}(\theta-\theta')=v^THv (θ?θ′)T?θi??θj??2L(θ′)?(θ?θ′)=vTHv 其中
H
=
H=
H=
延伸:(序号和上方一一对应)
逃离鞍点(理论上)记 H H H的特征向量为 u u u,则 u T H u = λ ∣ ∣ u ∣ ∣ 2 u^THu=\lambda||u||^2 uTHu=λ∣∣u∣∣2 若 λ < 0 ? λ ∣ ∣ u ∣ ∣ 2 < 0 ? u T H u < 0 \lambda<0\Rightarrow \lambda||u||^2<0\Rightarrow u^THu<0 λ<0?λ∣∣u∣∣2<0?uTHu<0 ? L ( θ ) ≈ L ( θ ′ ) + 1 2 u T H u < L ( θ ′ ) \Rightarrow L(\theta)≈L(\theta')+\frac{1}{2}u^THu <L(\theta') ?L(θ)≈L(θ′)+21?uTHu<L(θ′) 即令 θ = θ ′ + u \theta=\theta'+u θ=θ′+u可以减小 L L L 也就是说,往 u u u的方向移动可以减小 L L L (实际使用过程中通常不用 → \to →计算太复杂) 分组计算
大组合小组的对比
加入动量
? θ 1 = θ 0 + m 1 ? 计 算 g 1 ? m 2 = λ m 1 ? η g 1 \Rightarrow \theta^1=\theta^0+m^1\Rightarrow计算g^1\Rightarrow m^2=\lambda m^1-\eta g^1 ?θ1=θ0+m1?计算g1?m2=λm1?ηg1 … \dots … m i = λ m i ? 1 ? η g i ? 1 ? θ i = θ i ? 1 + m i m^i=\lambda m^{i-1}-\eta g^{i-1}\Rightarrow \theta^i=\theta^{i-1}+m^i mi=λmi?1?ηgi?1?θi=θi?1+mi
动态调参特制 η \eta η希望同参数同方向也可以动态调整 η ? R M S P r o p \eta \Rightarrow RMSProp η?RMSPropθ 1 = θ 0 ? η σ 0 g 0 , σ 0 = ( g 0 ) 2 \theta^1=\theta^0-\frac{\eta}{\sigma^0}g^0, \sigma^0=\sqrt{(g^0)^2} θ1=θ0?σ0η?g0,σ0=(g0)2? θ 2 = θ 1 ? η σ 1 g 1 , σ 1 = α ( σ 0 ) 2 + ( 1 ? α ) ( g 1 ) 2 \theta^2=\theta^1-\frac{\eta}{\sigma^1}g^1, \sigma^1=\sqrt{\alpha(\sigma^0)^2+(1-\alpha)(g^1)^2} θ2=θ1?σ1η?g1,σ1=α(σ0)2+(1?α)(g1)2? … \dots … θ t = θ t ? 1 ? η σ t g t , σ t = α ( σ t ? 1 ) 2 + ( 1 ? α ) ( g t ) 2 \theta^t=\theta^{t-1}-\frac{\eta}{\sigma^t}g^t, \sigma^t=\sqrt{\alpha(\sigma^{t-1})^2+(1-\alpha)(g^t)^2} θt=θt?1?σtη?gt,σt=α(σt?1)2+(1?α)(gt)2? ? \star ?加入 α \alpha α衡量 g i g^i gi的重要性 其他工具:adam=RMSProop+动量,在pytorch中可以直接调用,一般不调预设参数 Learning Rate Scheduling调整 θ t + 1 = θ t ? η t σ t m t \theta^{t+1}=\theta^t-\frac{\eta ^t}{\sigma ^t}m^t θt+1=θt?σtηt?mt 中的 η t \eta^t ηt
用回归做分类问题使不同类别间距一致的方法设为向量 同时网络由单输入单输出变为多输入多输出 softmax将y映射为(0,1)的实数,并归一化使和为1。 y ′ = e y i ∑ i e y i ? { 0 < y i < 1 , ∑ i y i ′ = 1 y'=\frac{e^{y_i}}{\sum_i e^{y_i}} \Rightarrow \left\{\begin{matrix}0<y_i<1,\\\sum_i y'_i=1 \end{matrix}\right. y′=∑i?eyi?eyi???{0<yi?<1,∑i?yi′?=1? 会让差距大的值之间的差距更大
计算损失L = 1 N ∑ n e n L=\frac{1}{N}\sum_ne_n L=N1?∑n?en? e n e_n en?有两种计算方法:
均方误差在损失大的地方可能会卡主,交叉熵更适合用于分类问题。 使交叉熵 m i n min min等价于使相似度 m a x max max。 分批次标准化前情提要:特征缩放
分批次标准化
μ
 ̄
=
p
μ
 ̄
+
(
1
?
p
)
μ
t
\overline{\mu}=p\overline{\mu}+(1-p)\mu^t
μ?=pμ?+(1?p)μt ? z ~ = z ? μ  ̄ σ  ̄ \Rightarrow \tilde{z}=\frac{z-\overline{\mu}}{\overline{\sigma}} ?z~=σz?μ?? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:50:54- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |