8-1 深度学习与神经网络
目录
- 神经网络
- **函数
- 深度学习
- 机器学习是人工智能的核心,研究如何使用机器来模拟人类学习活动的一门学科。
- 深度学习(多层人工神经网络)是机器学习的分支,对数据进行表征学习的方法。
1 神经网络
1.1 引
人是怎么思考的?–生物神经网络
感知器
- 外部刺激通过神经末梢,转化为电信号,转导到神经细胞(又叫神经元)
- 无数神经元构成神经中枢
- 神经中枢综合各种信号,做出判断
- 人体根据神经中枢的指令,对外部刺激做出反应
生物神经网络的基本工作原理
- 一个神经元的输入端有多个树突,主要是用来接收输入信息的。
- 输入信息经过突触处理,将输入的信息累加,当处理后的输入信息 大于某一个特定的阈值 ,就会把信息通过轴突传输出去,这时称神经元被**。
- 相反,当处理后的输入信息 小于阈值 时,神经元就处于抑制状态,它不会像其他神经元传递信息。或者传递很小的信息。
人工神经网络分为两个阶段
- 接收来自其他n个神经元传递过来的信号,这些输入信号通过与相应的权重进行加权求和传递给下个阶段。(预**阶段)
- 把预**的加权结果传递给**函数
sum: 加权f: **函数
| 生物神经网络 | 人工神经网络 |
|---|---|
| 细胞核 | 神经元 |
| 树突 | 输入 |
| 轴突 | 输出 |
| 突触 | 权重 |
机器要怎么思考的?–人工神经网络
人造神经元
-
输入:x1, x2, x3
-
输出:output
-
简化模型:约定每种输入只有两种可能为1 或 0
-
所有输入都是1,表示各种条件都成立,输出就是1;
-
所有输入都是0,表示条件都不成立,输出就是0
-
1.2 神经网络
- 它由相互联系的神经元形成,这些神经元具有权重和在网络训练期间根据错误来进行更新的偏差,目标是找到一个未知函数的近似值。
- 其原理是受我们大脑的生理结构——互相交叉相连的神经元启发。
- 但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。
1.2.1 神经元
- 神经元是组成神经网络的最基本单位
- 它起初来源于人体,模仿人体的神经元,功能也与人体的神经元一致,
- 得到信号的输入,经过数据处理,然后给出一个结果作为输出或者作为下一个神经元的输入。
-
输入:是特征向量。
- 特征向量代表的是变化的方向。或者说,是最能代表这个事物的特征的方向。
-
权重(权值):就是特征值。
- 有正有负,加强或抑制,同特征值一样。权重的绝对值大小,代表了输入信号对神经元的影响的大小。
-
最简单的把两组特征向量分开的方法?
ax_+by+c=0==>>y = kx+b==>>y=wx+b -
把上式推广到n维空间:
h = a1x1+a2x2+...+anxn+a0
神经元就是当h大于0时输出1,h小于0时输出0这么一个模型,它的实质就是把特征空间一切两半,认为两半分别属于两个类。
1.2.2 神经元的缺点
只能一刀切
Game over!
- 解决方法 ===>> 多层神经网络
1.2.3 神经网络(多个神经元互联)
- 神经网络是一种运算模型,由大量的节点(神经元)和之间相互的联接构成。
- 每个节点代表一种特定的输出函数,称为**函数(activation function)。
- 每两个节点间的联接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆
- 网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
单层神经网络(感知器)
多层神经网络
- 神经网络是由多个神经元组合而成,前一个神经元的结果作为后一个神经元的输入,依次组合而成。
- 神经网络一般分为三层,第一层作为输入层,最后一层作为输出层,中间的全部是隐含层。
- 理论证明,任何多层网络可以用三层网络近似地表示。
- 一般凭经验来确定隐藏层到底应该有多少个节点,在测试的过程中也可以不断调整节点数以取得最佳效果。
前馈神经网络也称为多层感知机
2 **函数
- **函数是神经网络设计的一个核心单元。
- 在神经网络中,把处于在活跃状态的神经元称为 **态,处于非活跃状态的神经元称为 抑制态。**函数赋予了神经元自我学习和适应的能力。
- **函数的作用是为了在神经网络中引入非线性的学习和处理能力。
- 常用的**函数(满足1 非线性 2 可微性 3 单调性)
2.1 sigmoid**函数
sigmoid主要有两个缺点:
- 梯度饱和,看图可知,两边数值的梯度都为0;
- 结果的平均值不为0,这是我们不希望的,因为这会导致后层的神经元的输入是非0均值的信号,这会对梯度产生影响。
2.2 tanh **函数
2.3 线性整流层RELU **函数
ReLU起源于神经科学的研究:2001年,Dayan、Abott从生物学角度模拟出了脑神经元接受信号更精确的**模型:
(和脑神经有**阈值相似)
神经元稀疏
- ReLU函数其实是分段线性函数,把所有的负值都变为0,而正值不变,这种操作被称为单侧抑制。
- 正因为有了这单侧抑制,才使得神经网络中的神经元也具有了稀疏**性。(0多,稀疏度高)
- 当模型增加N层之后,理论上ReLU神经元的**率将降低2的N次方倍。(即,每一次经过ReLU**,都有一半的数据可能会变为0)
那么问题来了:这种稀疏性有何作用?换句话说,我们为什么需要让神经元稀疏?
- 生物上:我们大脑同时被**的神经元只有1%-4%
即,人脑神经元在工作时即具有稀疏性
- 数据:并非所有数据都是有用信息,故不需要把所有数据都代入计算,只需要关键特征即可;有用信息是很少的
2.4 总结
3 深度学习
3.1 什么是深度学习(Deep Learning)?
- 传统的神经网络发展到了多隐藏层的情况,
- 具有多个隐藏层的神经网络 被称为 深度神经网络,**基于深度神经网络的机器学习 **研究称之为 深度学习。
- 如果需要细化和区分区别,那么,深度神经网络可以理解为对传统多层网络进行了结构、方法等方面的优化。
深度学习,就是多层人工神经网络
图像识别:像素->边缘->纹理->图形->局部->物体
文字识别:字符->词->词组->子句->句子->故事
深度学习为何崛起
传统方法随着数据量的增加,表现不会有非常大的提升
大型神经网络却可以随着数据量的增加,提升表现