被错误理解的人工神经网络(三)!-阿里云开发者社区

开发者社区> 人工智能> 正文
登录阅读全文

被错误理解的人工神经网络(三)!

简介: 那些年我们错误理解了人工神经网络,想知道错在什么地方吗?快来学习一下吧。

被错误理解的人工神经网络(一)!

被错误理解的人工神经网络(二)!

本文我们聊聊另外两个人工神经网络的误解:许多算法都需要自己来写?;神经网络训练需要大量的数据?

许多训练算法存在于神经网络中

神经网络的学习算法试图优化神经网络的权重,直到满足一些停止条件。这种情况通常是在网络错误达到训练集合的可接受水平时,验证集上的网络错误开始恶化时或者当指定的计算预算已经用尽时。神经网络最常见的学习算法是反向传播:这是一种使用随机梯度下降的算法,这在本系列前面已经讨论过。反向传播包含两个步骤:

  1.  前馈通道:将训练数据集通过网络并记录神经网络的输出,并计算网络的误差。
  2.  向后传播:误差信号通过网络传回,神经网络的权重使用梯度下降进行优化。

这种方法存在一些问题。一次调整所有权重可导致神经网络在权重空间中的明显移动,梯度下降算法非常慢,并且梯度下降算法易受局部最小值影响。前两个问题可以通过使用梯度下降变种包括动量梯度下降(速传),涅斯捷罗夫的加速动力(NAG)梯度下降的自适应梯度算法AdaGrad),弹性传播(RPROP)以及均方根传播RMSProp)来解决。从下面的图片可以看出,经典的梯度下降算法可以有显着的改进。

558b93866486aeacb77a3d79d3ad5344283b7551

也就是说,这些算法无法克服局部最小值,并且在尝试同时优化神经网络的体系结构和权重时也不太有用。为了实现这一点,我们需要全局优化算法。目前两种流行的全局优化算法是粒子群优化(PSO)和遗传算法(GA)。

神经网络矢量表示

全局优化算法通过将神经网络编码为权重矢量来完成,每个权重表示神经网络中连接的权重。我们可以使用大多数元启发式搜索算法来训练神经网络。这种技术在深度神经网络中效果不佳,因为它会使矢量变得太大。

1309e31fc6bf5d2621396419de82c9f692031238

该图说明了神经网络如何以矢量符号表示并与搜索空间的概念相关。

粒子群优化

为了训练使用PSO的神经网络,我们可以构建这些神经网络的总体/群体。每个神经网络都被表示为一个权重向量,并根据其从全球最佳粒子及其个人最佳位置进行调整。

在完成训练数据集的一个前馈通过之后,适应度函数被计算为重建的神经网络的总和平方误差,这种方法主要考虑的是权重更新的速度。这是因为如果权重调整过快,神经网络的总和平方误差将停滞并且不会发生学习。

5f68b02aabfa56a6cce8e44bc095a9e70ae3c528

该图显示了粒子在单个群体粒子群优化算法中如何相互吸引。

遗传算法

为了使用遗传算法训练神经网络,我们首先构建代表神经网络的矢量群体。然后,我们将三个遗传算法应用于该群体,以发展更好的神经网络。这三个遗传算法是:

  1. 选择:使用一次前馈通过后计算的每个网络的总和平方误差,我们对神经网络的总体进行排序。总体中最高的x%被选择为“生存”到下一代,并用于交叉。
  2. 交叉:总体基因的顶部x%被允许相互交叉,这个过程形成“后代”。在上下文中,每个后代都将代表一个来自两个“父”神经网络的权重的新神经网络。
  3. 突变:该遗传算法需要保持群体的遗传多样性。选择一小部分进行突变,这些神经网络中的一些权重将在特定范围内随机调整。
807f57bd3724d59cfe51eec81c7e5c8a03bd9a9b

该算法是将选择、交叉和突变应用于表示为矢量的神经网络群体。

除了这些基于人群的启发式搜索算法,其他算法已被用于训练神经网络,包括增添了动力反向传播,差分进化模拟退火,和许多更多。就个人而言,我建议使用局部和全局优化算法的组合来克服两者的缺点。

神经网络并不总是需要大量的数据

神经网络可以使用三种学习策略,即监督学习策略,无监督学习策略或强化学习策略。监督式学习策略至少需要两个数据集,一个由预期输出的输入量组成的训练集,以及一个由没有预期输出的输入组成的测试集。这两个数据集都必须包含标记数据,即预先知道目标的数据模式。无监督学习策略通常用于发现未标记数据中的隐藏结构(如,隐马尔可夫链),它们的行为与聚类算法类似。强化学习是基于一个简单的前提,就是奖励好行为的神经网络并惩罚他们的坏行为。由于无监督和强化学习策略不要求数据被标记,因此它们可以应用于很多我们人类未知的问题。

无监督学习

最受欢迎的无监督神经网络体系结构之一是自组织映射(也称为Kohonen映射)。自组织映射基本上算是一种多维缩放技术,它可以构建一个基本数据集Z概率密度函数的近似值,同时保留该数据集的拓扑结构。这可以通过将数据集Z中的输入向量zi映射到特征映射V中的权重向量v j(神经元)来完成。保留拓扑结构仅仅意味着如果两个输入向量在Z中靠近在一起,那么这些输入向量映射到的神经元V 也将靠近在一起。

e42f7ca3bfaa9d30d5f0492d8ac60e23e2c72ee7

有关自组织映射的更多信息以及如何使用它们来生成较低维度的数据集,请单击此处SOM Self-Organizing Maps)的另一个有趣的应用是着色股票交易的时间序列图,这是为了显示当时的市场状况。这个网站提供了一个详细的教程和代码片段来实现改进外汇交易策略的想法。

强化学习

强化学习策略由三部分组成。规定神经网络如何做出决策的规则,例如使用技术指标和基本指标。奖罚函数区分好与坏,例如赚钱与赔钱。还需要有一个指定的长期目标的价值函数。在金融市场(和游戏)中,强化学习策略特别有用,因为神经网络可以学习优化特定数量,例如风险调整后回报的适当度量

fa0ecb8fcccbac1be87964720c3b920dacb097f8

该图显示了神经网络如何被负面或正面地强化。

  数十款阿里云产品限时折扣中,赶紧点击领劵开始云上实践吧!

以上为译文。

本文由阿里云云栖社区组织翻译。

文章原标题《artificial-neural-networks-some-misconceptions》,

作者:Jayesh Bapu Ahire  译者:虎说八道,审校:。

文章为简译,更为详细的内容,请查看原文

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
人工智能
使用钉钉扫一扫加入圈子
+ 订阅

了解行业+人工智能最先进的技术和实践,参与行业+人工智能实践项目

其他文章
最新文章
相关文章