第1讲 神经网络初体验
人工神经网络发展史
人工智能、机器学习、深度学习之间的关系:
- 人工智能(Artificial Intelligence):计算机科学的一个分支。模拟、延伸和扩展人的智能的理论、方法、技术及应用系统。
- 机器学习(Machine Learning):一种实现人工智能的方法。研究计算机怎样模拟或实现人类的学习行为。
- 深度学习(Deep Learning):一种实现机器学习的技术。学习样本数据的内在规律和表示层次。
人工神经网络发展史:
- 萌芽期:19世纪,学习的实质是不断的形成刺激-反应的过程。
- 孕育期:1943年,提出了人工神经网络的概念及人工神经元的数学模型(M-P模型);神经元学习法则,赫布型学习,被认为是一种典型的无监督学习规则;感知机模型(Perceptron),二元分类器,被指为单层的人工神经网络。
- 寒冬:1969年,感知机的两大缺陷:其一,无法处理异或问题;其二,当时计算机的计算能力不足以处理大型神经网络。
- 误差反向传播算法:
- 1974:首次提出用误差反向传导(BackPropagation Algorithm,简称BP)来训练人工神经网络,有效解决了异或回路问题。
- 1983:应用神经网络,在旅行商这个NP(Nondeterministic Polynomially)问题的求解上获得当时最好成绩。
- 1986:改进的反向传播算法引入多层感知器。
- LeNet-5模型:1998年,LeNet-5采用了基于梯度的反向传播算法对网络进行有监督的训练。LeNet5 网络虽然很小,但是包含了“深度学习”的基本模块:卷积层,池化层,全连接层。
- 春天:GPU、FPGA等器件被用于高性能计算,大数据的出现,神经网络成为人工智能领域最热门的研究方向。
- 深度学习:2006年,深度置信网络( Deep Belief Networks, DBN)使用一种贪心无监督训练方法来解决问题并取得良好结果。
常见的深度学习框架包括:TensorFlow、PyTorch、Caffe、MxNet、Keras、PaddlePaddle
神经网络结构基础
生物神经网络
- 人工神经网络的计算模型灵感正是来自生物神经网络:
每个神经元与其他神经元相连,兴奋时,向相邻的神经元发送化学物质,改变电位;电位超过了一个阈值,被激活(兴奋)向其他神经元发送化学物质。
- 人工神经网络通常呈现为按照一定的层次结构连接起来的“神经元”:
分布式并行,依赖于大量的输入和一般的未知近似函数,最大化的拟合现实中的实际数据,提高机器学习预测的精度。
激活函数的性质
一般地,人工神经网络中的激活函数都选用非线性函数。原因如下:
- 假设网络中全部是线性部件,则线性的组合依旧是线性,与一个单独的线性分类器无异,这就达不到用非线性来逼近任意函数的目的。
- 使用非线性激活函数,以便使网络更加强大,增强其能力,使其可以学习复杂的对象和数据,并能表示输入/输出之间非线性的复杂的任意函数映射。即,使用非线性激活函数,能够从输入/输出之间生成非线性映射。
常见激活函数
人工神经网络
人工神经网络主要由大量的神经元以及它们之间的有向连接构成。
神经元的激活规则:主要是指神经元输入到输出之间的映射关系,一般为非线性函数。
- 网络的拓扑结构:不同神经元之间的连接关系。
- 学习算法:通过训练数据来学习神经网络的参数。
人工神经网络由神经元模型构成,这种由许多神经元组成的信息处理网络具有并行分布结构。
第2讲 前馈神经网络
网络结构
前馈神经网络(全连接神经网络、多层感知器)
各神经元分别属于不同的层,层