1.为什么要深度学习
1.1 全连接网络问题
1.全连接网络
2.解决算的慢问题
3.解决难收敛、算的慢问题
4.回想人类解决思路
1.2 深度学习平台简介
1.3 pytorch简介
PyTorch是一个Python的深度学习库。它最初由Facebook人工智能研究小组开发,而优步的Pyro软件则用于概率编程。
最初,PyTorch由Hugh Perkins开发,作为基于Torch框架的LusJIT的Python包装器。PyTorch在Python中重新设计和实现Torch,同时为 后端代码共享相同的核心C库。
除了Facebook之外,Twitter、GMU和Salesforce等机构都采用了PyTorch。
到目前,据统计已有80%的研究采用PyTorch,包括Google
2. 卷积神经网络
2.1 基本概念-特征提取
注意,图像卷积时,根据定义,需要首先把卷积核上下左右转置。此处卷积核(黄色)是对称的,所以忽视。
填充(Padding),也就是在矩阵的边界上填充一些值,以增加矩阵的大小,通常用0或者复制边界像素来进行填充。
步长(Stride):如图步长为2
2.2 基本概念-池化
思想:使用局部统计特征,如均值或最大值。解决特征过多问题。
2.3 基本概念- 卷积神经网络结构
构成:由多个卷积层和下采样层构成,后面可连接全连接网络
卷积层:𝑘个滤波器
下采样层:采用mean或max
后面:连着全连接网络
2.4 误差反向传播
经典BP算法:
卷积NN的BP算法:下采样层
如果当前是卷积层,下一层为下采样层,误差如何从下采样层回传
假设为2*2核平均池化
如果当前是下采样层,下一层为卷积层,误差如何从卷积回传
卷积NN的BP算法:卷积层+卷积层
卷积NN的BP算法:卷积层+全连接层