人工智能-实验四

第四次实验
一.实验目的
? 了解深度学习的基本原理 。能够使用深度学习开源工具 。学习使用深度学习算法求解实际问题 。
二.实验原理 1.深度学习概述
? 深度学习源于人工神经网络 , 本质是构建多层隐藏层的人工神经网络 , 通过卷积 , 池化 , 误差反向传播等手段 , 进行特征学习 , 提高分类或预测的准确性 。深度学习通过增加网络的深度 , 减小每层需要拟合的特征个数 , 逐层提取底层到高层的信息 , 达到更好的预测和分类性能 。强调模型结构的深度 , 通常有5层以上的隐藏层 。
? 神经元是深度学习模型中的基本单位 , 对相邻前向神经元输入信息进行加权累加 , 再加上一个偏差值 , 对结果进行非线性变换 , 输出最终的结果 。常用的非线性变换激活函数有 , Tanh , ReLU ,  。
? 深度学习的神经网络中有多层 , 每一层都包含一些神经元 , 不同层次之间神经元的连接关系构成了不同的神经网络 。每一层每个神经元都有不同的权重和偏差值 , 这些都是神经网络的参数 。通过训练对参数进行调整 , 最终得到具有高分类和预测准确性的神经网络 。参数优化的算法涉及梯度下降 , 误差反向传播等 。
梯度下降
? 梯度下降算法是使损失函数最小化的方法 。在多元函数中 , 梯度是对每一变量所求偏导数所组成的向量 。梯度的反方向是函数值下降最快的方向 。梯度下降算法用于最小化损失函数 , 找到使损失函数下降最快的方向进行参数调优 。
误差反向传播
? 误差反向传播是损失函数对于参数的梯度通过网络反向流动的过程 。
? 为了使损失函数减小 , 求损失函数相对于参数w1的偏导 , 按照损失函数梯度的反方向选取一个增量 , 调整w1的权值 , 就能够保证损失函数取值减少 。参数w1不是直接在损失函数中直接出现的 , 需要通过链式求导得到对w1的偏导:
d L d w 1 = d L d O d O d X d X d w 1 \frac{dL}{dw1} = \frac{dL}{dO}\frac{dO}{dX}\frac{dX}{dw1} dw1dL?=dOdL?dXdO?dw1dX?
? 按照顺序 , 分别为损失函数对输出的偏导(和损失函数的定义有关) , 对激活函数的偏导 , 最后一个是对加权累加函数的求导(w1*out1+w2*out2+w3*out3 , 求导结果为out1) 。三者累乘就是损失函数对某个参数的偏导 。每个神经元都据此对参数进行更新 , 在这个过程中 , 误差也从输出端向输入端逐层传播 。并且误差传播的路径有多条时 , 误差反向传播时神经元也会从多个方向得到误差并进行参数调整 。
2.卷积神经网络CNN
? 卷积神经网络CNN是人工神经网络的一种 , 常用于图像识别 。卷积神经网络是识别二维形状的一个多层感知器 , 对于平移 , 比例缩放 , 旋转 , 或者其他形式的变相具有一定的不变性 。
? 卷积神经网络的核心思想是将局部感知 , 权值共享以及下采样这三种结构结合 , 达到图像降维的特征学习 。卷积神经网络通常有多个卷积 , 池化隐藏层 , 进行特征的提取和降维 。
卷积
? 卷积是通过一个带权滑动窗口(称为卷积核) , 在图像上从左到右 , 从上到下扫描 。将窗口值与图像被覆盖的部分进行矩阵内积 。最终计算后的结果称为特征图 。特征图体现了每个卷积核大小的部分与卷积核的相似程度 。卷积在提取特征时考虑到特征只占图像的一小部分 , 并且同样的特征可能出现在不同图像的不同位置 。卷积核的值是通过对模型的训练得到的 。