加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

走心整理——十个常用深度学习算法

发布时间:2019-08-30 09:14:03 所属栏目:经验 来源:拓客大咖168
导读:过去十年里,人们对机器学习的兴趣经历了爆炸式的整长。我们几乎每天都可以在计算机程序、行业会议和媒体上看到机器学习的身影。很多关于机器学习的讨论都混淆了机器学习能做什么和人类希望机器学习能做什么。从根本上讲,机器学习是运用算法从原始数据中
副标题[/!--empirenews.page--]

过去十年里,人们对机器学习的兴趣经历了爆炸式的整长。我们几乎每天都可以在计算机程序、行业会议和媒体上看到机器学习的身影。很多关于机器学习的讨论都混淆了“机器学习能做什么”和“人类希望机器学习能做什么”。从根本上讲,机器学习是运用算法从原始数据中提取信息,并用某种类型的模型进行表示,然后使用该模型对一些尚未用模型表示的其他数据来进行推断。

神经网络就是机器学习各类模型中的其中一类,并且已经存在了至少50年。神经网络的基本单位是节点,它的想法大致来源于哺乳动物大脑中的生物神经元。生物大脑中的神经元节点之间的链接是随着时间推移不断演化的,而神经网络中的神经元节点链接也借鉴了这一点,会不断演化(通过“训练”的方式)。

神经网络中很多重要框架的建立和改进都完成于二十世纪八十年代中期和九十年代初期。然而,要想获得较好结果需要大量的时间和数据,由于当时计算机的能力有限,神经网络的发展受到了一定的阻碍,人们的关注度也随之下降。二十一世纪初期,计算机的运算能力呈指数级增长,业界也见证了计算机技术发展的“寒武纪爆炸”——这在之前都是无法想象的。深度学习以一个竞争者的姿态出现,在计算能力爆炸式增长的十年里脱颖而出,并且赢得了许多重要的机器学习竞赛。其热度在2017年仍然不减。如今,在机器学习的出现的地方我们都能看到深度学习的身影。

这是我自己做的一个小例子,词向量的 t-SNE 投影,通过相似性进行聚类。

走心整理——十个常用深度学习算法

最近,我开始阅读关于深度学习的学术论文。根据我的个人研究,以下文章对这个领域的发展产生了巨大的影响:

  • 1998年NYU的文章《基于梯度学习的文档识别》(Gradient-Based Learning Applied to Document Recognition) 介绍了卷积神经网络在机器学习中的应用。
  • Toronto 2009年的文章《深度波兹曼机器》(Deep Boltzmann Machines) 针对波兹曼机提出了一种新的学习算法,其中包含许多隐藏层。
  • Stanford 和 Google 2012年联合发表的文章《使用大规模非监督学习构建高层特征》(Building High-Level Features Using Large-Scale Unsupervised Learning) 解决了仅利用未标记的数据构建高级、特定类的特征检测器的问题。
  • Berkeley 2013年的文章《用于一般视觉识别的深层卷积激活特征》(DeCAF——A Deep Convolutional Activation Feature for Generic Visual Recognition) 发布了名为 DeCAF 的算法,这是深度卷积激活特征的一个开源实现,使用相关的网络参数,视觉研究人员能够利用一系列视觉概念学习范例进行深入实验。
  • DeepMind 2016年的文章《用深度强化学习玩Atari》(Playing Atari with Deep Reinforcement Learning) 提出了第一个可以成功地通过强化学习从高维感官输入中直接学习控制策略的深度学习模型。

我整理了人工智能工程师 10 个用于解决机器学习问题的强大的深度学习方法。但是,我们首先需要定义什么是深度学习。

如何定义深度学习是很多人面临的一个挑战,因为它的形式在过去的十年中已经慢慢地发生了改变。下图直观地展示了人工智能,机器学习和深度学习之间的关系。

走心整理——十个常用深度学习算法

人工智能领域广泛,存在时间较长。深度学习是机器学习领域的一个子集,而机器学习是人工智能领域的一个子集。一般将深度学习网络与“典型”前馈多层网络从如下方面进行区分:

  • 深度学习网络具有比前馈网络更多的神经元
  • 深度学习网络连接层之间的方式更复杂
  • 深度学习网络需要有像“寒武纪大爆发”式的计算能力进行训练
  • 深度学习网络能够自动提取特征

上文提到的“更多的神经元”是指近年来神经元的数量不断增加,就可以用更复杂的模型来表示。层也从多层网络中每一层完全连接,发展到卷积神经网络中神经元片段的局部连接,以及与递归神经网络中的同一神经元的循环连接(与前一层的连接除外)。

因此,深度学习可以被定义为以下四个基本网络框架中具有大量参数和层数的神经网络:

  • 无监督预训练网络
  • 卷积神经网络
  • 循环神经网络
  • 递归神经网络

在这篇文章中,我主要讨论三个框架:

  • 卷积神经网络(Convolutional Neural Network)基本上就是用共享权重在空间中进行扩展的标准神经网络。卷积神经网络主要是通过内部卷积来识别图片,内部卷积可以看到图像上识别对象的边缘。
  • 循环神经网络(Recurrent Neural Network)基本上就是在时间上进行扩展的标准神经网络,它提取进入下一时间步的边沿,而不是在同一时间进入下一层。循环神经网络主要是为了识别序列,例如语音信号或者文本。其内部的循环意味着网络中存在短期记忆。
  • 递归神经网络(Recursive Neural Network)更类似于分层网络,其中输入序列没有真正的时间面,但是必须以树状方式分层处理。以下10种方法均可应用于这些框架。

1、反向传播

反向传播是一种计算函数偏导数(或梯度)的简单方法,它的形式是函数组合(如神经网络)。在使用基于梯度的方法求解最优化问题(梯度下降只是其中之一)时,需要在每次迭代中计算函数梯度。

走心整理——十个常用深度学习算法

对于一个神经网络,其目标函数是组合形式。那么应该如何计算梯度呢?有2种常规方法:

  • (1)微分解析法。函数形式已知的情况下,只需要用链式法则(基础微积分)计算导数。
  • (2)有限差分法近似微分。这种方法运算量很大,因为函数评估的数量级是 O(N),其中 N 是参数的个数。与微分解析法相比,这种方法运算量更大,但是在调试时,通常会使用有限差分验证反向传播的效果。

2、随机梯度下降

梯度下降的一个直观理解就是想象一条源自山顶的河流。这条河流会沿着山势的方向流向山麓的最低点,而这也正是梯度下降法的目标。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读