人工智能
七、神经网络
7.1 概述
(1)适用问题:用于处理更加复杂的输入和输出之间的非线性关系问题
(2)特点:
① 可以用来拟合非常复杂的函数
(3)应用:图像分类、语音识别、机器翻译、自动驾驶
7.2 人工神经网络设计
(1)人工神经元:线性模型+激活函数
(2)人工神经网络设计的三方面
① 神经元的激活规则:主要指神经元输入到输出之间的映射关系,一般为非线性函数。
② 网络的拓扑结构:不同神经元间的连接关系
③ 学习算法:通过训练数据来学习神经网络的参数
(3)网络结构:人工神经网络由神经元模型构成,这种由许多神经元组成的信息处理网络具有并行分布结构。
① 前馈神经网络(全连接神经网络、多层感知器):ReLU神经网络
- 各神经元分别属于不同层,层内无连接
- 相邻两层间神经元全部两两连接
- 整个网络中无反馈,信号从输入层向输出层单向传播
② 卷积神经网络(CNN):建模图像信息
卷积的计算
③ 循环神经网络(RNN):建模时序信息
④ 反馈神经网络(FNN):输出不仅与当前输入及权重有关,还和网络之前输入有关
④ 图神经网络:建模社交网络、分子结构等
(4)自动微分、反向传播
7.3 激活函数
(1)深度线性网络:多层线性网络的堆叠
① 单纯叠加网络层数无法得到一个比线性回归更加复杂的模型,所以必须在网络中添加非线性的元素,即激活函数。
(2)激活函数
① 激活函数存在于线性层后,能有效避免多个线性层的无意义叠加
② 激活函数是连续并可导(允许少数点上不可导)的非线性函数
(3)Logistic函数 / Sigmoid函数:
① 在计算导数时容易出现离0点越远导数越小的问题,因而影响神将网络优化,故实际多用ReLU等其他激活函数。
② 输出恒大于0,小于1。
(4)Tanh 函数:零中心化
(5)ReLU函数
7.4 神经网络的学习
(1)前馈神经网络的训练过程
① 前向传播每一层的状态和激活值直到最后一层
② 反向传播每一层的参数的偏导数
(蓝色是前向传播,红色是反向传播)
态和激活值直到最后一层
② 反向传播每一层的参数的偏导数
(蓝色是前向传播,红色是反向传播)
③ 更新参数