为什么叫神经网络?
人脑是怎么工作的?
“人脑是一个高度复杂、非线性、并行的信息加工、处理系统。人脑神经网络可以将声音、视觉等信号经过多层的编码,从最原始的底层特征不断加工、抽象,最终得到原始信号的语义编码。”
通俗来说,假设你眼前有一棵木兰,你怎么知道你看到的是木兰,而不是迎春花、桃花、其他花,甚至是一个人类?
大脑收到各个感官传来的信息:枝干形状,味道,花瓣质感。。等等
通过枝干形状,大脑抽象出这是一棵树;
通过味道,大脑抽象出这棵树上有花;
通过花瓣质感,大脑抽象出这种花是木兰;
在得出是木兰的过程中可能会犯错,大脑通过外界输入信息(可能是识花app,可能是朋友告知等等)来不断纠错调整输出值,得到最终的结果:一株木兰
所以类似大脑的神经元,神经网络是信息从输入到输出的信息处理系统。如果我们把神经网络看作是由一组参数控制的复杂函数,并用来处理一些模式识别任务(比如语音识别、人脸识别等)时,神经网络的参数可以通过机器学习的方式来从数据中学习。由于神经网络模型一般比较复杂,从输入到输出的信息传递路径一般比较长,所以复杂神经网络的学习可以看成是一 种深度的机器学习,即深度学习。
深度学习一定用神经网络模型嘛?
深度学习(Deep Learning)是指一类问题以及解决这类问题的方法。
首先,深度学习问题是一个机器学习问题,指从某一类任务的有限样例中,通过算法总结出具有一般性的规律,并可以应用到新的未知数据上。比如可以从一些历史病例的集合,总结出症状和疾病之间的规律。这样,当有新的病例时,可以利用总结出来的规律,来判断这个病人得了什么疾病。
其次,深度学习问题中采用的模型一般比较复杂,指样本的原始输入到输出目标之间的数据流经过多个线性或非线性的组件加工,比如多层神经网络可以看作 是一个深度学习模型。因为每个组件都会对信息进行加工,并进而影响后续的组件。当最后得到输出结果时,并不清楚其中每个组件的贡献是多少。 这个问题叫做贡献度分配问题。
在深度学习中,贡献度分配问题一直是一个很关键的问题,所以神经网络模型成为深度学习中主要采用的模型。
但深度学习和神经网络并不等价。深度学习可以采用神经网络模型,也可以采用其它模型(比如深度信念网络是一种概率图模型)。
深度学习目前主要用于解决一些通用人工智能问题,包括计算机视觉、自然语言处理等。
人工智能
一个人在不接触对方的情况下,通过一种特殊的方式,和 对方进行一系列的问答。如果在相当长时间内,他无法根据这 些问题判断对方是人还是计算机,那么就可以认为这个计算机 是智能的。
— 阿兰·图灵 [1950],《机器能思维吗?》
目前,人工智能的主要领域大体大体上可以分为以下几个方面:
- 感知: 智能系统如何对外部刺激信息(视觉和语音等)进行感知和加工。在感知层面,人工智能的研究主要研究领域包括语音信息处理和计算机视觉等。
- 学习: 即机器学习,主要研究如何从样例中进行学习。
自然语言处理: 自然语言处理主要包括自然语言理解和自然语言生成两部分。
推理和决策: 包括知识表征、推理、规划、决策等研究内容。
我们先来理解人脑的神经元:
一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。这个连接的位置在生物学上叫做“突触”。简化如下:
再简化:
树突(输入)---轴突(连接)---轴突末梢(输出)---树突(输入)--不断迭代
也就是多次的由“输入”通过“连接”到“输出1”,“输出1”再做为“输入2”不断重复输出的过程;
在机器学习领域,神经网络可以看作一个可学习的函数,接受不同数据的训练,不断通过调整权重而得到契合实际模型。
神经网络可以看作是一个通用的函数逼近器,一个三层的神经网络可以逼近任意的函数。因此,理论上只要有足够的训练数据和神经元数量,神经网络就可以学到很多复杂的函数。人工神经网络模型的塑造任何函数的能力大小可以称为“容量”,与可以被储存在网络中的信息的数量和复杂性相关。
什么叫三层神经网络或多层神经网络?
单层神经网络只有输入层和输出层;
二层神经网络包括了一层隐藏层;
三层神经网络或多层神经网络即深度学习,意味着输入层做为新的输入层,以及新的一层隐藏层,最终才是目标输入层。
隐藏层的数量以及每一层的节点数 即 神经网络的参数,代表了神经网络塑造函数的能力;
更多的层次代表更深入的表示特征,以及更强的函数模拟能力。
更深入的表示特征可以这样理解,随着网络的层数增加,每一层对于前一层次的抽象表示更深入。
在神经网络中,每一层神经元学习到的是前一层神经元值的更抽象的表示。
比如在识别木兰花的例子中,神经网络如何通过枝干形状确定这是一棵树?
第一个隐藏层学习到的是“边缘”的特征;
第二个隐藏层学习到的是由“边缘”组成的“形状”的特征;
第三个隐藏层学习到的是由“形状”组成的“图案”的特征;
最后的隐藏层学习到的是由“图案”组成的“目标”的特征。
通过抽取更抽象的特征来对事物进行区分,从而获得更好的区分与分类能力。
神经网络的进化过程:
神经网络的发展背后的外在原因可以被总结为:更强的计算性能,更多的数据,以及更好的训练方法。
只有满足这些条件时,神经网络的函数拟合能力才能得已体现:
量子计算
如果量子计算发展不力,仍然需要数十年才能使我们的计算能力得以突飞猛进的发展,那么缺少了强大计算能力的神经网络可能会无法一帆风顺的发展下去。三层神经网络可能不会有更长远的发展;
假设量子计算机真的能够与神经网络结合,并且助力真正的人工智能技术的诞生,而且量子计算机发展需要10年的话,那么神经网络可能还有10年的发展期。直到那时期以后,神经网络才能真正接近实现AI这一目标。