人工神经网络
研究人工神经网络研究的目的和意义:
目的:
- 探索和模拟人的感觉、思维和行为的规律,设计具有智能的计算机系统
- 探讨人脑的只能活动,用物化了的只能来考察和研究人脑智能的物质过程及规律。
意义:
- 争取构造出尽可能与人脑具有相似功能的计算机,即ANN计算机
- 研究出仿照神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。
广义上的人工神经网络:
是对人脑或者自然神经网络若干基本特性的抽象和模拟,以大量的具有相同结构的简单单元的连接,来模拟人类大脑的思维结构和思维方式的一种可实现的物理系统,可通过计算机程序模拟实现。
生物神经元模型和人工神经元模型的对应关系:
神经网络的基本模型如下所示:
感知机:是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,感知机的模型如下所示:
利用多层感知机可以进行非线性的分类
单层感知机:模型中的激活函数多采用符号函数,因此输出值为二值量,主要用于简单模式分类。
多层感知机(是一个简单的ANN):模型通过感知器的组合以及采用S型激活函数,可输出值为0~1之间的连续值,可实现输入到输出的任意非线性映射。
==只要隐藏层神经元的个数充分多,且神经元激活函数为非线性函数的多层神经网络可逼近任何函数。==输入层没有神经元!只有隐含层和输出层有神经元。
人工神经元模型:
激活函数:
又称作用、传递、特性、活化、转移、刺激函数,实现神经元的输入和输出之间非线性化,因为线性模型的表达能力不够,因此加入非线性因素增强模型的表达能力。
典型的激活函数:
-
比例函数:
比例函数是知道输入,直接输出。
-
符号函数:
符号函数是根据输入的数值判断是大于0还是小于0,由此确定输出的数值是1还是-1。
-
饱和函数:
饱和函数从形式上看是和符号函数相结合的。
-
阶跃函数:
-
双曲函数:
以上几种激活函数是比较常见的几种激活函数。
最典型的激活函数:Sigmoid激活函数
Sigmoid函数:
-
Sigmoid函数的输出曲线两端平坦,中间部分变化剧烈,其公式和图像分别如下所示
-
Sigmoid函数的一阶导数的推导和图像如下所示:
由于Sigmoid函数的一阶导数和原函数有相对较强的关联性且很容易求得的特性,使得Sigmoid函数可以有较为广泛的应用。
双曲函数和Sigmoid函数也被称为S型函数,他们具有平滑性和渐进性,并保持单调性,相较于其他类型函数,Sigmoid函数最为常用
卷积神经网络会有三种类型的隐藏层——卷积层、池化层、全连接层
- 卷积层(Convolutional layer):主要是用一个采样器从输入数据中采集关键数据内容;
- 池化层(Pooling layer):是对卷积层结果的压缩得到更加重要的特征,同时还能有效控制过拟合
- 全连接层(Fully Connected layer):将前面经过多次卷积后高度抽象化的特征进行整合,然后可以进行归一化,对各种分类情况都输出一个概率,之后的分类器(Classifier)可以根据全连接得到的概率进行分类。
数据的扁平化:
也就是把 **(height,width,channel)**的数据压缩成长度为 height × width × channel 的一维数组