机器学习中使用的神经网络

下图给出了梯度方向对梯度改变大小的影响。

下图是对使用mini-batchgradientdescent的几点建议。

Abagoftricksformini-batchgradientdescent

下图介绍的是scalingtheinputs,该情况针对的是输入向量的分量取值相差悬殊时,通过给分量乘上一个系数来使得errorsurface更接近圆形,从而便于快速找到最优解或次优解。

下图提示我们不要太快得减小学习步长(learningrate)。

下面给出四种加快mini-batchlearning的方法,前三种我们会在下面一一介绍,最后一种本课程不涉及,感兴趣的话请自行搜索。这些方法具有很强的技巧性,需要我们在应用中不断摸索。

Themomentummethod

这一小节详细介绍动量方法(themomentummethod),其应用很广泛,在full-batchlearning和mini-batchlearning中都可以使用。下面给出了动量方法的intuition和计算公式。

Usingmomentumspeedsupgradientdescentlearningbecause

Directionsofconsistentchangegetamplified.

Directionsoffluctuationsgetdamped.

Allowsusingmuchlargerlearningrates.

Momentumaccumulatesconsistentcomponentsofthegradientandattenuatesthefluctuatingones.Italsoallowsustousebiggerlearningratebecausethelearningisnowmorestable.

标准的动量方法(由Nesterov在1983年提出)是在当前位置计算梯度,然后在累积的更新梯度方向上做一个大的跳跃。下面给出了一种更好地动量方法(由IIyaSutskever在2012年提出),其先在先前累积的梯度方向上做一个大的跳跃,再计算新的梯度并修正错误。

下面对两种方法做了比较,图中蓝色箭头是做两次标准动量方法得到的;而图中棕色箭头是改进动量方法先做的一次大跳跃得到的,红色箭头是修正,绿色箭头是进行一次改进动量方法得到的。可以看到,改进的比标准的要快很多。

Adaptivelearningratesforeachconnection

一个可行的方法是有一个全局的学习步长,然后对每一个权值参数有一个localgain,用gij表示。初始时gij均取值为1,后每次迭代根据权值梯度的变化情况作出调整,具体调整公式如下图所示。

下图列出了几种提高自适应学习步长性能的几个技巧。

Rmsprop:Dividethegradientbyarunningaverageofitsrecentmagnitude

首先介绍rprop算法。前面我们说过,不同权值参数的梯度的数量级可能相差很大,因此很难找到一个全局的学习步长。这时,我们想到了在full-batchlearning中仅靠权值梯度的符号来选择学习步长。rprop算法正是采用这样的思想:对于网络中的每一个权值参数,当其对应的前面两个梯度符号相同时,则增大该权值参数对应的学习步长;反之,则减小对应的学习步长。并且,rprop算法将每一个权值对应的学习步长限制在百万分之一到50之间。

下图列出了关于rmsprop算法的一些研究,想了解详情的话请自行搜索。

这几个算法都比较烧脑啊,全是凭大脑推理思考,回头要好好做实验。

THE END
1.机器学习:神经网络(一)腾讯云开发者社区神经网络的本质:重新观察上述的神经网络模型,如果遮掉第一层,将第二层作为输入层,可以发现,这本质就是一个逻辑回归模型。这时我们就可以发现,神经网络的本质就是逻辑回归模型的套娃,每一层都会做若干次的逻辑回归,并将输出作为下一层的输入,然后下一层再利用上一次逻辑回归的结果进行逻辑回归得到结果再传给下一层,https://cloud.tencent.com/developer/article/2110797
2.一文看懂深度学习(白话解释+8个优缺点+4个典型算法)深度学习有很好的表现,引领了第三次人工智能的浪潮。目前大部分表现优异的应用都用到了深度学习,大红大紫的 AlphaGo 就使用到了深度学习。 本文将详细的给大家介绍深度学习的基本概念、优缺点和主流的几种算法。 深度学习、神经网络、机器学习、人工智能的关系 https://easyai.tech/ai-definition/deep-learning/
3.机器学习研究者必知的八个神经网络架构机器之心使用受大脑启发的新颖学习算法来解决实际问题:即使不是大脑的实际工作方式,学习算法也非常有用。 在完成吴恩达的 Coursera 机器学习课程后,我开始对神经网络和深度学习产生兴趣,因此寻找最好的网上资源来了解这个主题,并找到了 Geoffrey Hinton 的机器学习神经网络课程。如果你正在做深度学习的工程或想要踏入深度学习/机器https://www.jiqizhixin.com/articles/2018-02-07-4
4.机器学习——神经网络简单了解神经网络学习之机器学习基础机器学习——神经网络简单了解 本文介绍了神经网络的基本概念,包括生物神经网络和人工神经网络,重点讲解了M-P模型、感知机模型、BP神经网络的发展,以及卷积神经网络(CNN)和循环神经网络(RNN)在深度学习中的应用,强调了它们在图像处理、序列数据处理和时间依赖性任务中的优势。https://blog.csdn.net/2301_79376014/article/details/136951549
5.机器学习深度学习和神经网络之间的区别和联系python架构:机器学习基于统计模型。神经网络和深度学习架构只是非常大和更复杂的统计模型,并使用许多相互连接的节点。 算法:深度学习算法与其他机器学习算法的区别在于它们使用具有多层的深度神经网络,这使得网络能够在不需要显式特征工程的情况下学习数据中复杂和抽象的关系。 https://www.jb51.net/python/316268muf.htm
6.机器学习算法之神经网络机器学习算法之神经网络 收藏 在学习了机器学习的相关知识以后,我们知道其中的算法有很多种,比如回归算法、K近邻算法等等,这些都是需要大家掌握的算法,而神经网络算法是一个十分实用的算法,在这篇文章中我们就给大家介绍一下机器学习算法中的神经网络算法知识。http://api.cda.cn/view/26783.html
7.机器学习(深度)神经网络通常神经网络的隐层越多,计算结果越准确。拥有较多隐层的神经网络称为深度神经网络,使用了深度神经网络的机器学习,称为深度学习。 不同于传统的分类系统先提取特征再用特征分类,深度神经网络将两个环节直接结合在了一起。 卷积层(convolutional layer) 含有卷积层的深度神经网络,也称卷积神经网络(convolutional neural https://www.jianshu.com/p/58d03bb5e3a3
8.五大机器学习范例:神经网络遗传算法规则归纳?51CTO博客下面列出了五大机器学习(ML)范例。 (1)神经网络。 (2)基于案例推理。 (3)遗传算法。 (4)规则归纳。 (5)分析学习[2] 。 隐喻就是打比方,将两个事实上不同的事物进行互相对比,找出共同点。因此,第二个事物的属性就可以转移到第一个事物中。例如:“他像马一样吃饭。” https://blog.51cto.com/u_13127751/5148045
9.《深度学习基础与实践》([美]乔希·帕特森(JoshPatterson人工智能AI机器学习神经网络教程图书 从理论到应用 深度探究深度学习 构建生产级深度学习工作流 作者:[美] 乔希·帕特森(Josh Patterson)、[美] 亚当·吉布森(A出版社:人民邮电出版社出版时间:2019年07月 手机专享价 ¥ 当当价 降价通知 ¥88.50 定价 ¥119.00 电子书价 ¥59.00 配送http://product.dangdang.com/27911457.html
10.17个机器学习的常用算法人工神经网络是机器学习的一个庞大的分支,有几百种不同的算法。(其中深度学习就是其中的一类算法,我们会单独讨论),重要的人工神经网络算法包括:感知器神经网络(Perceptron Neural Network),反向传递(Back Propagation),Hopfield网络,自组织映射(Self-Organizing Map, SOM)。学习矢量量化(Learning Vector Quantization,LVQhttps://aidc.shisu.edu.cn/78/aa/c13626a161962/page.htm