您当前的位置:首页 > 电脑百科 > 人工智能

一文读懂神经网络的奥妙

时间:2020-08-12 16:03:29  来源:  作者:

作者:宇信教育 祝森

眼下最热门的ICT技术,人工智能绝对可以排在前列。

2016年谷歌Alpha Go与围棋世界冠军李世石上演"世纪人机大战",将人工智能(AI)的关注度推到了前所未有的高度,到如今随处可见的刷脸支付、AI音箱、扫地机器人,以及各大顶级公司都在投入的无人驾驶研究,背后都有人工智能技术在做支撑。预计2025年,全球企业对AI的采用率将达86%。AI的崛起将深刻改变企业的业务模式和价值创造模式。

人工智能的底层模型是"神经网络"(neural network)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于它。学习人工智能,一定是从它开始。

人为什么能够思考?原因在于人体的神经网络,其中思考的基础是神经元,如果能够"人造神经元"(artificial neuron),就能组成人工神经网络,模拟思考。一直以来,科学家都希望模拟人的大脑,造出可以思考的机器。上个世纪六十年代,科学家提出了最早的"人造神经元"模型,叫做"感知器"(perceptron),直到今天还在用。

人工神经网络,简称神经网络(Artificial Neural Network,ANN):是由人工神经元互连组成的网络,它是从微观结构和功能上对人脑的抽象、简化,是模拟人类智能的一条重要途径,反映了人脑功能的若干基本特征,如并行信息处理、学习、联想、模式分类、记忆等。

人工智能入门 一文读懂神经网络的奥妙

 

如图,我们可以初步理解神经网络模型是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,输出可以类比为神经元的轴突,计算则可以类比为细胞核。

作为AI技术的底层技术,为什么神经网络的提出已久,但近几年才大放光芒?这是因为神经网络等算法需要巨大算力来支撑。在2016年的那场人机大战中,谷歌DeepMind公司共消耗了1202颗CPU和176颗GPU的计算资源,Alpha Go的浮点运算能力是1998年IBM深蓝战胜象棋冠军时的3万倍之多,所以当前超高的运算能力是支撑AI技术发展的重要推手。

人工智能目前最成熟的应用方向之一是图像识别,它是实现如何让机器理解图像中的内容的AI技术,而其中神经网络对图像识别技术发展起到了突出的作用。

接下来我们通过一个简单的例子来更好的理解神经网络。

当一张图片输入到电脑中,它通常是一种三维数组的形式,第一维度我们通常称为Height,第二维度我们称为Width,这两个维度构即图像被计算机分割采样的尺寸,也就是通常所说的分辨率(如一张分辨率为1920*1080的图像,表示这幅图像是由1920*1080个点组成),第三维度称为Channel也就是通道,通常以RGB作为通道,表示图像每个划分的点的色彩,也就是他们分别在红,绿、蓝三原色域上的取值,如下图:

人工智能入门 一文读懂神经网络的奥妙

 

我们的任务是,搜集大量相关的照片(即有些图片是猫,有些不是猫,比如是小狗),并对已知照片的结果做标记(这个动作也叫打标签):是猫的图片记做1,不是猫的记做0,如下图。

人工智能入门 一文读懂神经网络的奥妙

 

让计算机识别已有标签图片的信息,建立一套识别模式,再用这套识别模式判断新输入的图片是不是猫,这就是一个简单的图像识别问题。

到此我们可以将上述任务转化为:对一批三维数组进行层层计算、转换、压缩,最终输出每个三维数组是0或1的过程,而神经网络就是完成这个过程的计算模型之一,也是目前比较出色的。

一个典型的神经网络模型包含有输入、输出,以及中间代表计算功能的隐藏层,如下图,图中各个层级之间的关系用箭头线表示,称为"连接",每一个连接都代表计算过程中的一个权重与偏差,也就是模型的参数。

人工智能入门 一文读懂神经网络的奥妙

 

结合上图我们继续概括下神经网络算法进行图像识别的过程:每个图像对应的三维数组在计算机中被处理成数字矩阵,也就是特征矩阵,也可以看成是一系列的向量(矩阵的每一行或每列可以看成一个向量),这里简化为只有三个向量X1,X2,X3作为输入特征,它们们被当作神经网络的输入层。输入层后面是隐藏层,由一个个神经元构成,它们代表着获取的信息。最后一层是输出层,一般是用来产生预测值的,此任务中输出的是一个0或者1。其中每个"连接"是通过样本特征矩阵和权重矩阵进行矩阵相乘,然后加上偏差形成的,并且也是下一层的输入。

此时我们可以进一步总结上述任务:一个图片是否是猫的识别问题,其实就是训练一个好的神经网络,训练的意思就是让权重和偏差的值不断调整到最佳,以使得整个网络的预测效果最好。

接下来我们来说明神经网络算法是如何让计算机训练出"一套"好的权重和偏差的。首先我们来了解下神经网络中神经元是如何形成的。

我们用X代表输入层,也就是x1、x2、x3构成的特征矩阵,用W代表权重矩阵,用b代表偏差,前面讲过我们通过样本特征矩阵和权重矩阵进行矩阵相乘WX,然后加上偏差b(参数值)形成每一个"连接", 用z代表矩阵相乘加上偏差的结果,即z=WX+b,这样的线性组合结果只能划分线性关系,而现实世界转化来的分类问题大多是非线性的。因此神经网络中引入激活函数的概念,实现对非线性问题的划分,这样极大的扩充了神经网络的分类能力。

我们展示一个常用的激活函数:sigmoid函数,如下图表示的是sigmoid函数对输入变量X在[-6,6]区间上的映射。

人工智能入门 一文读懂神经网络的奥妙

 

激活函数基本上都是非线性的,如果没有激活函数会发生什么呢?

线性组合z=WX+b其实就是在多维空间(X有多少个特征,多维空间就是多少维)里切一刀,如下图,我们无法通过线性切割把二维空间不同的两类标识分开,引入激活函数就相当于将z=WX+b再进行一次非线性转化,形成一个曲线,把这个多维空间里的样本点进行分割。

人工智能入门 一文读懂神经网络的奥妙

 

实际中的神经网络的每一个神经元都是由线性函数和激活函数构成。如下图。

人工智能入门 一文读懂神经网络的奥妙

 

我们再用σ代表激活函数,α带表了经过激活函数处理的矩阵,则每一个神经元的形成过程可以表示为下图:

人工智能入门 一文读懂神经网络的奥妙

 

神经网络的训练过程就是一个个神经元形成的过程。

我们把隐藏层比较多(大于2)的神经网络叫做深度神经网络(Deep Neural Network,DNN),深度学习,就是使用深度神经网络架构的机器学习方法。通常来说隐藏层越多,我们分类的效果就越好(但计算量也更大)。如下图表示隐藏层越多,形成的非线性划分效果越精准。

人工智能入门 一文读懂神经网络的奥妙

 

最后我们来揭示计算机是如何训练一个个神经元的,也就是确定神经元的权重W和偏差b值的过程。初始化时随机指定一些w和b的值,不断读取打过标签的图像输入模型,就可以对w和b进行校正。

随机初始化一般不会有多好的表现,我们需要选择一个损失函数L,它表示当前每一次迭代计算中目标输出与实际输出之间的误差,是关于W和b作为的函数,也是评价模型训练好坏的标准。

人工智能入门 一文读懂神经网络的奥妙

 

自然地,损失函数的值越小表面该模型的效果越好,所以神经网络的训练过程,就转化为的求解该损失函数L的一组解(W和b),使其达一个比较小的值的过程,而这一组得出的解就是最终的神经网络的参数值W和偏差b。找到了神经网络中的全部参数w和b,也就形成了一个明确的神经网络模型。

那么怎样求得损失函数的最小值以及其对应的w和b呢?这其实是一个解方程组的过程,计算机通常是如何求解方程的呢?核心思想是迭代,当前主流的迭代方法是梯度下降。

梯度下降方法的主要思想:想象你在一个山峰上,在不考虑其他因素的情况下,你要如何行走才能最快的下到山脚?当然是选择最陡峭的地方,这也是梯度下降法的核心思想:它通过每次在当前最陡峭的方向向下"迈"一步,来逐渐到达山脚。

数学上,梯度指向函数增长最快的方向,可以通过对损失函数求导获得。这个最陡峭的方向,就是梯度向量的负方向。

人工智能入门 一文读懂神经网络的奥妙

 

损失函数对应的所有取值结果可以看成一个多维空间中的"山体表面"(也就是有权重W和b作为自变量与输出结果一起构成的多维空间曲面),让损失函数沿着负梯度的方向进行搜索,不断迭代更新参数,最终使得损失函数最小化。

如上图所示,那么现在模型的训练问题就变为:明确自己现在的位置(可能是任意位置),然后求梯度,然后沿着与梯度相反的方向去走,一步一步下降直到接近最小值,最终找到这个曲面上的最小值,同时就找到了对应曲面最小值的位置坐标(也就是w和b的值),也就获得了整个神经网络的全部参数,这样一个神经网络就训练完成,接下来我们可以输入新的图片,通过这个神经网络来输出结果0或1,即图片是否是猫这样一个识别问题了。

如上就是给大家介绍的神经网络的基本知识,包括神经网络的定义,关键概念和形成过程,希望大家能够共同进步,体会人工智能的奥妙。

作者简介

祝森,华为授权培训合作伙伴宇信教育讲师,具有丰富的教学和项目经验,曾开发人脸识别、物体检测、大数据电商平台等项目,对人工智能,智能计算,鲲鹏,大数据技术有较深的理解。



Tags:神经网络   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  Tags: 神经网络  点击:(47)  评论:(0)  加入收藏
MNIST 这里就不多展开了,我们上几期的文章都是使用此数据集进行的分享。手写字母识别EMNIST数据集Extended MNIST (EMNIST), 因为 MNIST 被大家熟知,所以这里就推出了 EMNIST...【详细内容】
2021-09-08  Tags: 神经网络  点击:(182)  评论:(0)  加入收藏
理解什么是人工智能,以及机器学习和深度学习如何影响它,是一种不同凡响的体验。在 Mate Labs 我们有一群自学有成的工程师,希望本文能够分享一些学习的经验和捷径,帮助机器学习...【详细内容】
2021-06-09  Tags: 神经网络  点击:(128)  评论:(0)  加入收藏
资料来源:getwallpapers.com 深度学习是机器学习中重要分支之一。它的目的是教会计算机做那些对于人类来说相当自然的事情。深度学习也是无人驾驶汽车背后的一项关键性技术,...【详细内容】
2021-04-13  Tags: 神经网络  点击:(168)  评论:(0)  加入收藏
私有虚拟网络(VPN)是在公用网络基础之上建立的私有加密通信隧道网络,企业对于自管辖网络中个人使用VPN软件行为具有监管责任,但技术上却很难识别VPN的加密与通信方式,因此利用人工智能(AI)领域的神经网络技术从网络流量中识...【详细内容】
2021-01-07  Tags: 神经网络  点击:(193)  评论:(0)  加入收藏
深层神经网络的模型概括,过度拟合和正则化方法的挑战> Source 在完成了与神经网络有关的多个AI项目之后,我意识到模型的概括能力对于AI项目的成功至关重要。 我想写这篇文章来...【详细内容】
2020-10-30  Tags: 神经网络  点击:(101)  评论:(0)  加入收藏
本文最初发表于 Towards Data Science 博客,经原作者 Andre Ye 授权,InfoQ 中文站翻译并分享。卷积神经网络(Convolutional Nerual Network,CNN)构成了图像识别的基础,这无疑是深...【详细内容】
2020-10-16  Tags: 神经网络  点击:(115)  评论:(0)  加入收藏
本报告讨论了非常厉害模型优化技术 —— 知识蒸馏,并给大家过了一遍相关的TensorFlow的代码。...【详细内容】
2020-09-25  Tags: 神经网络  点击:(92)  评论:(0)  加入收藏
算法算法从1950年代的早期研究开始,机器学习的所有工作似乎都随着神经网络的创建而积累起来。 从逻辑回归到支持向量机,相继提出了新算法之后的算法,但是从字面上看,神经网络是...【详细内容】
2020-09-17  Tags: 神经网络  点击:(90)  评论:(0)  加入收藏
卷积神经网络(CNN)广泛应用于深度学习和计算机视觉算法中。虽然很多基于CNN的算法符合行业标准,可以嵌入到商业产品中,但是标准的CNN算法仍然有局限性,在很多方面还可以改进。这篇文章讨论了语义分割和编码器-解码器架构...【详细内容】
2020-09-17  Tags: 神经网络  点击:(93)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(15)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(48)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(54)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条