基AutoEncoder原理L_BFGS优化算法实现手写数字识
目录
1 神网络基概念 3
11概述 3
12 神网络模型 4
2 AutoEncoder原理 5
21 反传播算法 5
22 Softmax回 7
23 Stacked AutoEncoder 8
24 微调程 9
25 Sparse AutoEncoder 9
26 Denoise AutoEncoder 10
3 L_BFGS算法 11
31基原理 11
32算法流程 15
33算法收敛性分析: 18
4 基AutoEncoder手写数字识 18
41 MNIST数库 18
42 模型训练 19
43 模型测试 19
5 实验结果分析: 19
51 AutoEncoder 20
52 Sparse AutoEncoder 20
53 Denoise AutoEncoder 21
54 实验结果汇总分析 22
6 参考资料 24
AutoEncoder实现手写数字识
1 神网络基概念
11概述
神网络种模仿动物神网络行特征进行分布式行信息处理算法数学模型种网络系统复杂程度通调整部量节点间相互连接关系达处理信息目
神网络神元构成图单神元图1示:
图1 神元模型
神元截距输入值运算单元输出中函数称作激活函数次试验中选sigmoid函数作激活函数
(1)
图2 sigmoid函数图
12 神网络模型
神网络许单神元联结起样神元输出神元输入例图简单神网络:
图3 神网络示意图
第层第单元激活值(输出值)时第输入值定参数集合神网络函数计算输出结果述模型例计算步骤
(2)
表示第第层第单元输入加权(包括偏置)样式种更加简洁表示法:
(3)
述计算步骤作前传播定第层激活值第层激活值面步骤计算:
(4)
2 AutoEncoder原理
21 反传播算法
编码(AutoEncoder)神网络种监督学算法反传播算法目标值等输入值例输入值训练样集合输出值图编码神网络示例:
图4 单隐层神网络
编码神网络参数连接权重偏置尝试利编码神网络学说尝试逼恒等函数输出接输入假设固定样集包含样例单样例代价函数:
(5)
方差代价函数定包含样例数集定义整体代价函数:
(6)
公式中第项均方差项第二项规化项(权重衰减项)目减权重幅度防止度拟合
目标针参数求函数值求解神网络参数初始化接0机数目标函数求优解
梯度降法中次迭代公式参数进行更新:
(7)
中学速率更新参数关键步骤计算偏导数反传播算法计算偏导数种效方法整体代价函数偏导数:
(8)
反传播算法思路:定样例首先进行前传导算法激活值包括输出层输出值针第层节点计算出残差该残差表明该节点终输出值误差产证少影响残差定义:
(9)
层第层第节点残差计算方法:
(10)
需计算偏导数写成面形式:
(11)
总说利量化表示反传播算法表示成步骤:
1 进行前馈传导计算利前传导公式直输出层激活值
2 第层(输出层)计算出残差:
(12)
3 层
(13)
4 计算终需偏导数值:
(14)
5 根公式(7)更新权重参数:
(15)
(16)
22 Softmax回
Softmax回模型logistic回模型分类问题推广logistic回中训练集已标记样构成:中输入特征logistic回针二分类问题类标记假设函数:
(17)
目训练模型参数够化代价函数:
(18)
Softmax回中类标签取值训练集假设函数形式:
(19)
中模型参数
Softmax回算法代价函数:
(20)
中示性函数
限制Softmax回描述象时候出现拟合现象加入权重衰减项修改代价函数整代价函数变:
(21)
权重衰减代价函数变成严格凸函数样保证唯解时Hessian矩阵变逆矩阵凸函数LBFGS等算法保证收敛全局优解
23 Stacked AutoEncoder
栈式编码神网络(Stacked AutoEncoder)层编码神网络组成神网络前层编码神网络输出作厚层编码神网络输入层栈式编码神网络假定表示第编码神网络参数该栈式编码神网络编码程前序徐行层编码神网络编码步骤:
(22)
种较获取栈式编码神网络参数方法采逐层贪婪训练法进行训练利原始输入训练网络第层参数然网络第层原始输入转化隐层单元激活值组成量A接着A作第二层输入继续训练第二层参数面层采样策略训练参数
24 微调程
微调(finetuning)深度学中常策略幅提神展示编码神网络性表现更高视角讲微调栈式编码神网络层视模型网络中权重优化
栈式编码神网络中微调实现分步骤:
1 输出层(层)Softmax回分类器该层残差:
(23)
中中输入数应类标签条件概率量
2 层利公式(13)(14)(15)(16)计算残差更新参数
25 Sparse AutoEncoder
稀疏编码神网络(Sparse AutoEncoder)稀疏性解释果神元输出接1时候认激活输出接0时候认抑制神元部分时候抑制限制称作稀疏性限制令表示隐层神元均活跃度加入条限制中接0稀疏性参数说该层隐节点均活跃度接0实现限制优化目标函数中加入额外惩罚子惩罚子惩罚相差较情况隐层神元均活跃度保持较范围次实验中选择相熵做惩罚函数惩罚子表示:
(24)
惩罚子具性质时0着 KL惩罚子函数图5示:
图5 KL惩罚子
加入惩罚子总体代价函数表示:
(25)
26 Denoise AutoEncoder
采监督方法分层预训练深度网络权值时学较鲁棒特征网络视层(数输入层)引入机噪声种方法称Denoise AutoEncoder(简称dAE模型)Denoise AutoEncoder模型:
图6 denoise Autoencoder 原理
图知样分布加入机噪声变实验中加入噪音原始数机部分清0dAE直观解释:1dAE点类似体感官系统眼物体时果物体某部分遮住然够识出2模态信息输入体时(声音图等)少中某模态信息时影响3普通autoencoder质学相等函数输入重构输出相等种相等函数表示缺点测试样训练样符合分布相差较时效果明显dAE方面处理进步
3 L_BFGS算法
31基原理
机器学算法中常碰非线性优化问题 Sparse Filtering 算法工作求解非线性极化问题具体实现中调成熟软件包做支撑中常算法 LBFGS
L_BFGS算法拟牛顿算法中广泛种优化算法牛顿算法具标准形式:拟牛顿法牛顿法基础发展牛顿法基思想现极值点估计值附目标函数进行二阶泰勒展开进找极点估计值牛顿法具二次收敛性然牛顿法求海森矩阵正定阵时海森矩阵计算意味着计算代价包括海森矩阵求逆程
拟牛顿算法应运生拟牛顿法属梯度法种具面形式:中正定矩阵该方法迭代程中通迭代方调整接牛顿降方特点:收敛速度快避免牛顿法二次微分计算相轭梯度法足计算迭代方矩阵量法中需存储矩阵证明解决约束约束规模优化问题牛顿法更效拟牛顿算法基思想通求偏导直接构造出似海森矩阵(海森矩阵逆矩阵)称正定矩阵拟牛顿条件优化目标函数拟牛顿算法应构造海森矩阵逆矩阵方式
拟牛顿条件:
假定第k次迭代二次模型目标函数处进行似求导操作:
(26)
里表示求导分应n*n称正定矩阵次迭代中会进行更新
式求极值点:
(27)
视步迭代搜索方该方进行维线搜索步长会确定步迭代取值:
(28)紧接着相似方法处该目标函数二次模型进行似:
(29)
接建立点处点处关系式处处梯度值应该目标函数致关系:
(30)
整理:
(31)
令
关系式:
(32)
割线方程描述目标函数变量偏移量梯度变化量间关系拟牛顿算法需满足条件中目标函数相应海森矩阵似假定海森矩阵逆矩阵进行似等价割线方程:
(33)
BFGS算法通似海森矩阵实现时称正定矩阵接出构造方法
BFGS算法:
采直接法进行构造定义矩阵更新方式:
(34)
保证矩阵称正定特性方式进行定义:
(35)
式割线方程联立:
(36)
括号中表示数值结果非量结果里假定括号中数值分11确定数值:
(37)
令进步数值:
(38)
终出更新方程:
(39)
式应Sherman–Morrison–Woodbury公式该方程表示:
(40)
BFGS算法海森矩阵(逆矩阵)估计值更新方程
L_BFGS算法:
LBFGS算法BFGS算法基础原始BFGS算法需保存n*n矩阵该存储量n成方规模增长减少存储量减存开销适应规模优化问题L_BFGS算法应运生L_BFGS算法BFGS算法似核心思想存储完整n*n矩阵仅仅保留mn维量样存储量降低时算法性接原始BFGS算法(选取合适m值问题定)
紧接着出L_BFGS算法具体原理根BFGS算法中更新方程根公式展开关系:
(41)
然考虑L_BFGS算法果k
(42)
述两种情况进行综合令:
(43)
步迭代中处建立相应二次模型根极值点条件:
(44)
成处步进行搜索方根Jorge Nocedal Stephen J Wright Numerical Optimization书中介绍里出计算高效算法:
32算法流程
出L_BFGS算法原理算法流程部分出具体优化程中该算法应通常需L_BFGS算法线搜索方配合起达错效果收敛性定保证LBFGS求解型约束优化问题(Machine Learning中问题求解Logistic Regress等)
里首先出种广泛非精确维线搜索算法Wolfe非精确线搜索非精确线搜索算法指目标函数说出点处着降方步长值处函数值相处函数值定降非精确维线搜索算法通构造测试条件达函数值取定降目文仅出满足(强)Wolfe条件维非精确线搜索算法
面出满足Wolfe条件接受步长区间图:
图7 Wolfe条件接受步长区间图
(1) (45)
(2) (46)
强Wolfe条件:(2) (47)
里条件1处函数值定降值条件2限定处斜率应处斜率倍强Wolfe条件(2)进步限定处斜率值接受步长落某波谷中
然该算法具体实现中仅仅够次迭代步长落满足(强)Wolfe条件方需插值算法出新步长值样够达满意结果
面出Wolfe非精确维线搜索算法流程:
现已介绍线搜索L_BFGS 算法相关容面出整体算法流程实现实际优化问题
33算法收敛性分析:
根割线方程应称正定矩阵时成立目标函数凸函数成立然非凸函数说该等式定成立果线搜索算法满足Wolfe强Wolfe条件成立外线搜索算法中初始步长选择尤重
4 基AutoEncoder手写数字识
41 MNIST数库
MNIST数集Google实验室Corinna Cortes纽约学柯朗研究Yann LeCun建手写数字数库训练库60000张手写数字图测试库10000张手写数字素部分手写数字图示:
图8 部分样
42 模型训练
次实验中素手写数字变换成列数作模型输入训练数数60000组训练目标第层编码神网络第二层编码神网络类推Softmax回参数具体操作步骤见第二章
43 模型测试
MNIST数集中提供10000组数训练模型进行准确度测试
模型准确率(分样数)(总样数)
5 实验结果分析:
隐层Autoencoder权重视化准确率5153示总实验结果参数详见表1
51 AutoEncoder
原始Autoencoder训练时没引入稀疏项白噪声Autonecoder隐层图9示该隐层权值隐层节点196训练具体参数查面表1
准确度:0915
W视化:
图9 Autoencoder权值视化
结果分析:
图中稀出数字09Autoencoder第层Autoencoder然神网络成线性模型第层权值(总层)数抽象程度高权值中基够出09数字点稀疏Autoencoder中表现更加明显
52 Sparse AutoEncoder
Sparse AutoencoderAutoencoder基础引入稀疏项起压缩信息作具体说输入数量少神节点表示样会量保留信息剔信息果空间角度理解原始数投射隐层节点数量张成低维度空间里面时求投射低维空间数量隐层节点基量权值量分布样带处提高步分类准确度
准确度:09276
W视化:
图10 Sparse Autoencoder权值视化
结果分析:
图中出相图9(原始Autoencoder)图10 数字信息更加明显少少噪声原正面说引入稀疏项原始数次激活神元数量较前少繁杂信息图9里面噪声掉留真正信息图10显较清晰实验结果出Sparse Autoencoder基础分类器分类精度确实基Autoencoder分类精度高
53 Denoise AutoEncoder
里Denoise Autoencoder Autoencoder训练程序参数设置基相唯Denoise Autoencoder训练时候加入噪声加入噪声目模拟出现遮挡模糊等情况训练出分类器更加健壮
准确度:09194
W视化:
图11 Denoise Autoencoder权值视化
结果分析
Autoencoder相训练样样训练时加入噪声加噪声规:素点03概率变0图11图9体致训练数样体现权值差训练结果加入噪声分类器精度定提升
54 实验结果汇总分析
表1中n表示Autoencoder 层数AccRate表示Autoencoder基础softmax分类器准确度λ1表示Autoencoder权重衰减项系数βAutoencoder稀疏项系数ρAutoencoder稀疏性参数λ2softmax权重衰减项系数
Denoise Autoencoder素值变0概率03表1中Autoencoder隐层节点数196
51~53Autoencoder具体训练参数表1示:
表1 Autoencoder详细训练参数准确率
n
AccRate
λ1
β
ρ
λ2
AutoEncoder
1
0915
00002
0
0
00003
Denoise AutoEncoder
1
09194
00002
0
0
00003
Sparse AutoEncoder
1
09276
00002
2
0015
00003
训练层分类器时候通控制变量法改变Autoencoder训练参数训练出Autoencoder通种办法参数Autoencoder影响表2中隐层节点300训练Autoencoder时迭代次数400次余参数表示:
表2 Autoencoder参数结果影响
n
AccRate
λ1
β
ρ
λ2
AutoEncoder
1
09154
00003
3
001
00003
AutoEncoder
1
08031
00003
3
0001
00003
AutoEncoder
1
09285
00002
3
001
00003
AutoEncoder
1
09218
00003
2
001
00003
实验结果分析:
1 稀疏性参数ρ稀疏项系数β控制隐层节点均激活程度ρ越低均激活程度越低般情况ρ取005左右表2第2行ρ取0001时候值导致信息丢失太导致够恢复出原信号准确率降低
2 降低λ1准确率升权重衰减项目减权值幅度样定程度够防止出现权重项出现拟合现象适减λ1分类器准确率提高调节λ1时候考虑权重总数设
3 表1表2表2 准确率相表1说高表1表2区:隐层节点数表1196表二300分类准确率影响
综训练Autoencoder考虑参数λ1βρ隐层节点数量通表1表2出验:稀疏性参数ρ稀疏项系数β适ρ001左右β2左右权重衰减系数太设置00002左右隐层节点数量结果300196输入节点数量784隐层节点数设置太
6 参考资料
[1] Yoshua Bengio Learning Deep Architectures for AI
[2] httpufldlstanfordeduwikiindexphpNeural_Networks
[3] httpdeeplearningstanfordeduwikiindexphpStacked_Autoencoders
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档