一文搞懂神经网络

作者: 朱钢 2019-11-19 08:00:00

【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。

一、什么神经网络

  1. 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源。针对每个输入的数据都会有权重,权重是根据输入数据的重要性进行分配得来的。当节点收到输入的数据后,将输入的信息加权和之后再传递给激活函数,然后激活函数通过计算输出最后的输出数据。

  2. 训练简述 前面我讲解了神经网络和节点的概念,下面我们就看一下神经网络是怎么训练的。简单说就是修改输入层的输入权重,通过隐藏层处理数据,再通过激活函数对它们进行最终处理。最常见的神经网络学习方式叫做 delta 。 delta 是一种监督规则,每当向神经网络发送一种学习模式时都会调用它,这种情况被称为循环。 在神经网络训练中还涉及到一个概念:误差率。误差率简单地说就是我们向神经网络输入一张图片时,它识别出的结果和正确答案之间的差异。我们训练神经网络最根本的目的就是降低误差率,让每次识别都无限接近于0。

  3. 梯度下降 说到误差率就不得不提梯度下降,它是一个一阶最优化算法也称为最速下降法,在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值,这个算法很重要因此需要具体讲解一下。 例如我们要从某个大山的深处下山,但是我们不知道下山的路在哪,于是就决定走一步看一步,在每走到一个位置的时候求解当前位置的梯度,然后沿着是当前最陡峭的位置向下走一步,接着继续求解当前位置梯,再向所在位置最陡峭最易下山的位置走。这样一步步的走下去,一直走到觉得我们已经到了山脚。但是这样走下去可能我们不能走到山下而是到了一个局部的最低处。从这段描述中我们可以看出梯度下降不一定能找出全局最优解,有可能找出的是局部最优解。

  4. 常见的神经网络 目前已知的神经网络多达上千种,这里面有很大一部分并不是通用的,这部分我们不提。在通用的神经网络中用的最多的有27种,其中经常能见到的是:RNN、感知机网络和前馈网络,下面我进行一个简单的讲解。

  • RNN RNN 中文叫循环神经网络,它对序列中的每个元素都执行相同的任务,输出的数据取决于前面的计算,而且它还可以记录前面的步骤,形成短期记忆。他的图像是这样的: 

  • 感知机网络 这是最简单的神经网络,他不包含任何隐藏层,只有输出和输出层。图像大致是这样的: 

  • 前馈网络 包含多个节点,相邻层的节点之间具有边,每个边都有权重。他是这样的: 

二、神经网络的学习类型

一个孩子家长要教他很多事情,但是家长不能任何事情都要教他,有时也需要他通过其他方式学习。在人工智能中也存在这种情况,因此神经网络就出现了三种不同的学习类型,分别是有监督学习、无监督学习和强化学习。

  1. 有监督学习 有监督学习的前提条件是你具有一个存在已知结果的数据集。神经网络从给定的训练数据集中学习出一个模型参数,当新的数据到来时可以根据这个函数预测结果。数据集要求包括输入输出,里面的数据输出信息是由人手工标注的。有监督学习一般用在分类问题中,通过已有的数据集去训练得到最优模型,之后再利用这个模型将所有输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。常见的有监督学习算法包括KNN和SVM
  2. 无监督学习 当你的数据集没有结,那么你就适合使用无监督学习。它会根据数据间相似性对数据集进行分类,试图使每个分类内的差距最小化,每个分类之间的差距最大化。它的目标不是告诉人工智能怎么做,而是让它自己去学习怎样做事情。无监督学习一般我们会分为两大类: 基于概率密度函数估计的直接方法和基于数据间相似性度量的简洁聚类方法。基于概率密度函数估计的直接方法会设法找到各个分类在特征空间中的分布参数,然后再进行分类。而基于数据间相似性度量的简洁聚类方法则是设法规定出不同分类的核心和初始内核,然后根据数据与核心之间的相似度将数据分成不同的类别。
  3. 强化学习 强化学习俗称胡萝卜和大棒。简单说就是如果误差率鉴定成功我们就会得到胡萝卜,反之会得到大棒的惩罚。它是机器学习中的一个领域,强调如何基于环境而行动以取得最大化的预期利益。灵感来源于心理学中的行为主义理论,有机体在环境给予的奖励或惩罚的刺激下会逐步形成对刺激的预期从而产生能获得最大利益的习惯性行为。在人工智能中环境通常被设为马尔可夫决策过程,所以许多强化学习算法在这种情况下使用动态规划技巧。

三、激活函数与感知器

如果说节点是神经网络的核心,那么激活函数和感知器就是神经网络核心的核心,几乎在所有的神经网络中都可以看到他俩,这一小节我就来讲解一下激活函数和感知器。

  1. 激活函数 激活函数被添加到神经网络的输出端以确定输出,它的输出结果范围通常在-1到1的范围,具体取值范围取决于选择的激活函数。它最终用于确定神经元是否运行。激活函数是数据输出之前的最后一部分,可以将其视为输出值的提供者。激活函数分为两种,一种是线性激活函数,另一种是非线性激活函数。简单地说线性函数是在直线上或几乎在直线上的函数,非线性函数是不在直线上的函数(哈哈解释的够简单吧)
  2. 感知器 感知器是一种特殊的节点,当输入为正或0该函数返回1,否则返回0,具有这种激活函数的节点称为感知器。现在我们通过例子来讲解一下感知器。我们有一个感知器,它具有两个输入x1和x2,这两个输入的权重分别为w1和w2,我们要对这两个输出加权,所谓的加权就是乘以权重,权重是随机分配的,权重值介于-1到1之间。加权之后就需要将所有加权求和,求和之后将会被作为激活函数的输入传递给激活函数继续处理。激活函数处理后会告知感知器是否执行。

四、后向传播

前面所讲的都是前向传播,和前向传播相反的就是后向传播,后向传播是提升神经网络准确率的重要内容。后向传播又称误差向后传播,是使用梯度下降有监督学习神经网络算法的一种。后向传播通过在神经网络中反向移动来计算梯度。先计算最后一层权重的梯度,最后计算第一层的梯度。后向传播计算取决于前向阶段的激活函数和输出数据,这些值都必须在后向传播开始之前进行计算,因此前向计算必须在后向传播之前完成。 前向和后向传播对于很多刚刚步入人工智能这一行的人很难以理解,下面我就来说说他俩的区别。前向传播数据以获取输出,然后将输出与预期值进行比较从而获得误差。为了能达到最小化该误差,还必须算出每个权重的误差导数来向后传播,然后从权重中减去误差导数。通过前向传播,可以显示神经网络的行为并找到误差。找出误差率后可以后向传播并使用梯度下降的形式更新权重值。

四、总结

这篇文章旨在引导读者快速入门神经网络,讲解了神经网络的各种概念,方便读者对神经网络的概念有深入理解。

作者简介:

朱钢,笔名喵叔,国内某技术博客认证专家,.NET高级开发工程师,7年一线开发经验,参与过电子政务系统和AI客服系统的开发,以及互联网招聘网站的架构设计,目前就职于一家初创公司,从事企业级安全监控系统的开发。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

神经网络 AI 人工智能
上一篇:认知智能加速落地 新一代智能搜索应运而生 下一篇:Ocado如何使用机器学习来减少食物浪费、解决饥饿问题?
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

人工智能发展的新方向

人工智能发展的新方向,可以概括为“八大”:即大采集、大识别、大计算、大提取、大构建、大预测、大战略、大和谐。

统一价值论 ·  9h前
人工智能正在被用来识别情绪

当你在面试回答招聘人员的问题时,一个人工智能系统会扫描你的脸,为你的紧张、情感和可信任度评分。这感觉像是科幻场景,但是这些系统正在被广泛地使用。

Robot105 ·  10h前
未来机器人将远比人类强大,机器人会反抗人类吗?

几个世纪以来,人类一直允许自己被机器俘虏,现在仍然允许机器统治。但是,人类能否让游戏中的机器人控制我们的现实生活一直是一个热议的问题。今天这个问题解决了。围绕人工智能问题有一个新的争论,答案是否定的。

lonelyworld ·  12h前
新一代人工智能在深度学习中解决问题

人工智能的发展在最近十年突飞猛进,成绩斐然,我们不再满足于算力、算法、数据起到的最大作用,要探索新一代人工智能。

易新速 ·  15h前
无人机用于农业,植保无人机高效防治入侵!

如今的无人机用途很广,不仅可以用于拍摄视频,还能用于农业,帮助预防病虫害问题。

科技圈的一些事 ·  16h前
ICLR 2021研究挖掘游戏技能包?有序记忆决策网络帮你实现

在现实世界里,人类尤其具有这种将复杂任务有效分解为多个子任务的能力。这种能力帮助人类面对新环境时加速自身的学习过程并获得更好的泛化能力。

Yucheng Lu, Yikang Shen等 ·  19h前
厉害了,人工智能可以识别人的情绪,我不信

首先,想象一下你正在面试一份工作。你在认真回答面试官的问题时,一双人工智能的“眼睛”扫描你的脸,给你打上神经质、同情或可信任的标签。听起来很像科幻小说,但这些“眼睛”使用的地方不在少数,还通常是在人们不知情或者未经同意的情况下。

风中小学生 ·  21h前
初创公司如何利用人工智能制定数据驱动的营销策略

数据驱动的市场营销策略对组织的成长和发展起着至关重要的作用,组织需要利用数据驱动的市场营销所带来的好处。

Peter Davidson ·  21h前
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载