热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【傻瓜攻略】深度学习之优化算法下(十一)

哇,写了好多……反向传播才是神经网络的精华啊,一边写一边学……若是有萌新跟我一样在这条路上慢吞吞爬行的,欢迎找我一起交流啊,

哇,写了好多……反向传播才是神经网络的精华啊,一边写一边学……若是有萌新跟我一样在这条路上慢吞吞爬行的,欢迎找我一起交流啊,✿✿ヽ(°▽°)ノ✿


放只蛋,激励一下同在这条路上奋斗的童鞋们,O(∩_∩)O哈哈~

2.0 RMSProp算法

emmmmmm……怎么说,这个算法跟我前面发的Adadelta几乎相同。它的更新规则:


所以,看看就好,╮(╯▽╰)╭,它的算法可以直接参考上上个博客的Adadelta算法。

2.1 Adam 算法

可以看做是动量算法+RMSProp(Adadelta)的算法

adam可以较快地得到一个预估结果,对于内存的需求量小;适用于打数据集和高维空间。

2.1.1次导数

在介绍下列算法的时候需要介绍一下,次导数的概念。

参考:https://blog.csdn.net/bitcarmanlee/article/details/51896348

次导数(subderivative)、次微分(subdifferential)、次切线(subtangent lines)和次梯度(subgradient)的概念出现在凸分析,也就是凸函数的研究中。


凸函数不一定处处可导,即不一定是平滑的凸函数。次导数就是对于这种情况,用土话说,‘强行搞一个导数出来’。

凸函数f:I→R在点x0的次导数,是实数c使得:

对于所有I内的x。我们可以证明,在点x0的次导数的集合是一个非空闭区间[a, b],其中a和b是单侧极限 :


它们一定存在&#xff0c;且满足a<&#61;b&#xff1b;所有次导数的集合[a,b]&#xff0c;称为函数f在x0的次微分。

2.1 FOBOS算法

非光滑全局优化算法。

参考&#xff1a;https://zr9558.com/2016/01/12/forward-backward-splitting-fobos/

Forward-Backward Splitting 算法,把正则化的梯度下降问题分成一个经验损失梯度下降迭代和一个最优化问题。

首先&#xff0c;权重的更新分为&#xff1a;

               

第一个步骤标准的SGD&#xff0c;第二个步骤是对于第一个步骤的结果进行局部调整。反正&#xff0c;经过一系列的推导&#xff0c;ORZ我真的看不明白&#xff0c;想明白的大神可以点击上面的网址&#xff0c;看推导&#xff0c;我这里就直接写结论了。

权重更新的式子可以写成另外一种形式&#xff1a;&#xff0c;有次可以得知&#xff0c;不仅与有关&#xff0c;还与有关。

在 L1 正则化下&#xff0c;FOBOS 的特征权重的各个维度的更新公式是&#xff1a;

 for all  

即&#xff1a;在时&#xff0c;w&#61;0;

时&#xff0c;&#xff1b;


2.2 RDA算法

参考&#xff1a;https://zr9558.com/2016/01/12/regularized-dual-averaging-algorithm-rda/

Regularized Dual Averaging 算法的权重更新公式为&#xff1a;


该算法相较于SGD类算法&#xff0c;提高了特征矩阵的稀疏性&#xff0c;是Simple Dual Averaging Scheme 的一个扩展。

其中&#xff1a;表示梯度对W的内积&#xff0c;为正则项&#xff0c;为严格的凸函数&#xff0c;是一个非负递增序列。

ps:内积&#xff0c;又名点积&#xff1a;

两个向量a &#61; [a1, a2,…, an]和b &#61; [b1, b2,…, bn]的点积定义为&#xff1a;

a·b&#61;a1b1&#43;a2b2&#43;……&#43;anbn。

L1-RDA写作&#xff1a;

通过推导可得&#xff1a;

     otherwise


与L1-FOBOS对比&#xff1a;RDA更容易产生稀疏性&#xff0c;同时由于截断条件是考虑梯度的累加平均值&#xff0c;可以避免因为某些维度训练不足而导致截断的问题。通过调节参数可以在精度和稀疏性上进行权衡。

2.3 FTRL算法

参考&#xff1a;https://www.cnblogs.com/EE-NovRain/p/3810737.html

https://zr9558.com/2016/05/16/ftrl/

该算法综合考虑了FOBOS和RDA算法。三者关系&#xff1a;


其权重更新矩阵为&#xff1a;


经过推到可以得到

                

其中&#xff1a;


在FTRL中&#xff0c;维度i的学习率为&#xff1a;


其算法为&#xff1a;


2.3.1 在线学习和离线学习

参考paper&#xff1a;《Online Learning versus Offline Learning 》 Sally Goldman

在线学习模型与离线学习模型&#xff1a;


即&#xff0c;在线学习模型的例子都是别人挑的&#xff0c;例子展示也是一个一个来的&#xff1b;转换成机器学习中&#xff0c;就是&#xff0c;训练是一个一个标签的样本训练的&#xff0c;而且其训练样本是无法挑选的。

离线学习的样本时自己挑选的例子&#xff0c;而且能够观察所有样本的标签&#xff1b;即&#xff0c;机器学习中训练是训练一个批次的样本&#xff0c;然后再更新权重的。

在线学习的不确定性&#xff1a;1、不确定样例是什么。目标函数仅仅根据给的数据来确定&#xff0c;由于给的例子可能并没有覆盖全部的可能性&#xff0c;所以得到的目标函数会是不确定的。2、不确定目标函数是什么。由于分类都是概念类&#xff0c;即不知道标签是什么&#xff0c;不知道分成几类&#xff0c;目标函数完全是根据所给的数据来确定的。

所以&#xff0c;在线学习对于数据的要求更宽松&#xff0c;而且难度更大。

参考&#xff1a;http://www.cs.huji.ac.il/~shais/papers/OLsurvey.pdf

其中&#xff1a;online gradient descent,FTRL,Dual averaging,adagrad都是在线学习


好了&#xff0c;所有算法都结束了&#xff0c;再次感谢网络上一些讲解的大神们&#xff0c;下面提贴一些参考到的paper,原谅我只贴名称了╮(╯▽╰)╭。

[1].《Online Learning versus Offline Learning

[2].《ADADELTA: AN ADAPTIVE LEARNING RATE METHOD

[3].《Efficient Online and Batch Learning Using Forward Backward Splitting


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • 3年半巨亏242亿!商汤高估了深度学习,下错了棋?
    转自:新智元三年半研发开支近70亿,累计亏损242亿。AI这门生意好像越来越不好做了。近日,商汤科技已向港交所递交IPO申请。招股书显示& ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • 建立分类感知器二元模型对样本数据进行分类
    本文介绍了建立分类感知器二元模型对样本数据进行分类的方法。通过建立线性模型,使用最小二乘、Logistic回归等方法进行建模,考虑到可能性的大小等因素。通过极大似然估计求得分类器的参数,使用牛顿-拉菲森迭代方法求解方程组。同时介绍了梯度上升算法和牛顿迭代的收敛速度比较。最后给出了公式法和logistic regression的实现示例。 ... [详细]
  • 本博文基于《Amalgamationofproteinsequence,structureandtextualinformationforimprovingprote ... [详细]
  • 知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj ... [详细]
  • ICRA2019最佳论文  Making Sense of Vision and Touch: SelfSupervised Learning of Multimodal Representatio
    文章目录摘要模型架构模态编码器自监督预测控制器设计策略学习控制器设计实验结论和展望会议:ICRA2019标题:《MakingSenseofVision ... [详细]
author-avatar
杨洋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有