一文搞懂神经网络
2019/11/19 17:34:44
人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。
作者:朱钢来源:51CTO
【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。
一、什么神经网络 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源。针对每个输入的数据都会有权重,权重是根据输入数据的重要性进行分配得来的。当节点收到输入的数据后,将输入的信息加权和之后再传递给激活函数,然后激活函数通过计算输出最后的输出数据。 训练简述 前面我讲解了神经网络和节点的概念,下面我们就看一下神经网络是怎么训练的。简单说就是修改输入层的输入权重,通过隐藏层处理数据,再通过激活函数对它们进行最终处理。最常见的神经网络学习方式叫做 delta 。 delta 是一种监督规则,每当向神经网络发送一种学习模式时都会调用它,这种情况被称为循环。 在神经网络训练中还涉及到一个概念:误差率。误差率简单地说就是我们向神经网络输入一张图片时,它识别出的结果和正确答案之间的差异。我们训练神经网络最根本的目的就是降低误差率,让每次识别都无限接近于0。 梯度下降 说到误差率就不得不提梯度下降,它是一个一阶最优化算法也称为最速下降法,在最小化损失函数时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值,这个算法很重要因此需要具体讲解一下。 例如我们要从某个大山的深处下山,但是我们不知道下山的路在哪,于是就决定走一步看一步,在每走到一个位置的时候求解当前位置的梯度,然后沿着是当前最陡峭的位置向下走一步,接着继续求解当前位置梯,再向所在位置最陡峭最易下山的位置走。这样一步步的走下去,一直走到觉得我们已经到了山脚。但是这样走下去可能我们不能走到山下而是到了一个局部的最低处。从这段描述中我们可以看出梯度下降不一定能找出全局最优解,有可能找出的是局部最优解。 常见的神经网络 目前已知的神经网络多达上千种,这里面有很大一部分并不是通用的,这部分我们不提。在通用的神经网络中用的最多的有27种,其中经常能见到的是:RNN、感知机网络和前馈网络,下面我进行一个简单的讲解。 RNN RNN 中文叫循环神经网络,它对序列中的每个元素都执行相同的任务,输出的数据取决于前面的计算,而且它还可以记录前面的步骤,形成短期记忆。他的图像是这样的:
感知机网络 这是最简单的神经网络,他不包含任何隐藏层,只有输出和输出层。图像大致是这样的:
前馈网络 包含多个节点,相邻层的节点之间具有边,每个边都有权重。他是这样的:
二、神经网络的学习类型
一个孩子家长要教他很多事情,
下一页
返回列表
返回首页
©2025 人工智能世界_专注人工智能领域,汇集人工智能技术资料 电脑版
Powered by iwms