前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >独家 | 一文读懂人工神经网络

独家 | 一文读懂人工神经网络

作者头像
数据派THU
发布2018-03-22 17:07:11
8900
发布2018-03-22 17:07:11
举报
文章被收录于专栏:数据派THU数据派THU
作者:Sidath Asiri

翻译:Nicola

校对:卢苗苗

原文标题:MeetArticial Neural Networks 本文通过使用浅显易懂的语言和介绍youtube上的实验方式带读者认识人工神经网络。

当听到“神经”这个词的时候,首先出现在我脑海中的是大脑中的神经元,这是我们决策过程的一部分。

这也是人类与机器人(或正常的计算机程序)主要的不同特征之一。人类可以看到事物,分析事物,并且从中学习,以期下次做得更好。

另一方面,常规程序也遵循着同样的指示,而不是自行发展。我们可以对其进行编程让它们完成某些指定任务,根据指令得到理想的结果。

但是如果我们制定程序对其进行学习,我们可以做很多事情。然后它们会随着时间的推移自行发展,这就是“机器学习”。人工神经网络(ANN)是一种用于机器学习的计算模型,它的工作方式和生物的神经元类似。

当信息到达神经元,它们(神经元)通过调整网络去感知和获取这些信息得出一个理想的结果。通过神经元传输尽量多的数据会有助于得到更精准的结果。这就是神经网络中的“训练”。

在使用神经网络之前,我们需要训练和调试,以得到理想的决策结果。为此,我们使用测试数据,包括输入进网络和相对应的预期的输出。通过适当的训练,对网络进行教学,之后就可以用它对未知的数据做出决策。

从根本上来讲,人工神经网络被用于那些输入和输出之间存在复杂关系的非线性统计数据模型。训练的主要目的是发现那些数据中的复杂关系和模式。

“人工神经网络(英文:artificial neural network,缩写ANNs),简称神经网络(英文:neuralnetwork,缩写NN)或类神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,通常是通过一个基于数学统计学类型的学习方法(LearningMethod)得以优化。——维基百科”

在需要基于计算机的预测中,神经网络非常常见。通常情况下,他们能够做出精准的预测。一部分应用于股市趋势的预测、手写识别、语音识别、土地滑坡预测等。另外像Facebook这样的社交媒体和Google这样的搜索引擎也使用神经网络来丰富用户体验。

神经网络存在许多种类:

  • 前馈神经网络
  • 循环神经网络
  • 常规反馈神经网络
  • 径向性神经网络

“前馈”网络是最早也是最简单的一种。在这种神经网络类型中,数据从输入层到隐藏层最后到输出层,没有循环或其他环形传输路线。

NeuralNetworkwith multiple layers (https://blog.ttro.com/wp-content/uploads/2017/01/TB010-Deep-Neural-Network.jpg)

另一方面,循环神经网络中,数据前向也后向地传输着。在预测次序的时候,循环神经网络的输出也被用作输入。

我在YouTube上找到的一个简单例子来帮助理解这个概念(https://www.youtube.com/watch?v=ZzWaow1Rvho)。有红色和蓝色两种花,它们的宽度和长度的样本数据已经给出。要求使用这些已知的数据预测未知的花朵的颜色。

这里使用前馈神经网络来预测正确的花朵(颜色)。我们将使用Python和Numpy库来实现。你可以通过安装“Miniconda”(https://conda.io/miniconda.html)来建立此模型。

这个简易的神经网络有花瓣的长度和宽度两个输入,输出是0或1,表示红色或蓝色。

Oursimple neural network

这个网络的最终输出是0或1,我们使用一个特别的函数,在这里叫做“Sigmoid”,它将任何值转换到0和1的范围内。根据它接近0或1的程度进行预测。

“Sigmoid函数是一个拥有“S”形曲线(sigmoid曲线)的数学函数。通常情况下sigmoid函数指的是逻辑函数的特例。”

Sigmoidfunction (https://qph.ec.quoracdn.net/main-qimg-05edc1873d0103e36064862a45566dba)

我们尝试通过 w1 * 长度 + w2 * 宽度 +b 对给定数据建模,其中w1,w2是两个权重,b是一个偏差。这样的方法可以用来找出数据中的任何非线性关系。

最初,我们在训练过程中随机分配给w1,w2和b一些数字,改变这些值,这样指定的模型就代表了指定的测试数据。通过使用期望值和预测值计算成本值,同时尝试使用基本的微积分理论来降低成本值实现。在训练的最后,我们将会得到一个精确的模型,同时我们将在未来使用这个模型来预测未知的数据。

在这个例子中,我们将成本方程用链式规则分别对w1,w2和b进行分解,并找到了使成本最小化的常数。这个模型很简单,所以我们手动对它进行分析。然而,有些库可以自动分析这些任务。最后,它们被用作找出神秘花朵的类型。

下图显示了训练完成后成本是如何被降低的。它在逐步减少的同时做出了更准确的预测。

Costvariation while learning

正如上诉提及的那样,这个例子来自一个很棒的YouTube视频系列,想要了解更多信息,建议各位去这里一探究竟!(https://www.youtube.com/watch?v=ZzWaow1Rvho)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档