各个案例的具体讲解视频可见我的资源或者点击该链接https://meeting.tencent.com/v2/cloud-record/share?id=103bc9c1-e918-4747-95b1-7cbd00cfb2d6&from=3&record_type=2
一、深度学习简介
1、深度学习的定义
深度学习是一个高度复杂的非线性回归方法和机器学习算法,它的概念源于人工神经网络的研究,强调从连续层中学习。其中深度在某种意义上是指神经网络的层数,而学习是指训练这个神经网络的过程。
2、深度学习和机器学习的区别
最大区别在于二者提取特征的方式不同:深度学习具备自动提取抽象特征的能力,机器学习大多是人们手动选取特征和构造特征。
3、深度学习的发展历程
萌芽期——发展期——爆发期(2012年是卷积神经网络的爆发期,该年AlexNet获得imageNet的冠军)
4、深度学习擅长领域
计算机视觉、语音识别、自然语言处理、图像与视频分析、多媒体等,可用tensorflow实现。
二、神经网络基础
1、M-P模型
定义:M-P模型是首个模拟生物神经元的结构和工作原理构造出来的一个抽象和简化了的数学模型。
M-P模型工作原理:
(1)神经元接受N个输入信号
(2)将输入与权重参数进行加权求和并经过激活函数激活
(3)将激活结果作为结果输出
M-P模型缺点:参数需要人为设置并且缺乏学习机制,这一缺点可用多层感知机模型解决。
感知机模型的学习机制:可以通过对样本数据的训练自动获得对参数更新的结果。
(1)准备训练样本和初始化权值参数
(2)加入一个训练样本,并计算实际输出值
(3)比较实际输出值和期望输出值的大小,如果相同,则参数不变,如果不同,则需要正误差和调整参数大小,具体地。若实际输出值小于期望值,则增加权重;若实际输出值大于期望值,则减少相应的权重。
(4)对每个训练样本重复步骤(3),直到计算的误差为0或者小于某个指定的值.
感知机模型的局限性:仅对线性问题具有分类能力
多层感知机模型=全连接神经网络
激活函数的作用是进行非线性变换,有Sigmoid、Tanh、ReLU激活函数
神经网络的训练的定义:
从训练数据中自动获取最优权重参数的过程,通常分为两个阶段:第一阶段先通过前向传播算法计算得到预测值,并计算预测值与真实值之间的差距;第二阶段通过反向传播算法计算损失函数对每一个参数的梯度,使用适合的梯度下降算法对参数进行更新。
神经网络的训练的训练流程:
损失函数:均方误差(解决回归问题)、交叉熵(解决分类问题)
梯度下降:所有样本一起处理
批量梯度下降:把样本分成若干份,然后在每一份上实施梯度下降算法进行参数更新
随机梯度下降:每批量只有一个样本
2、前向传播算法
具体案例讲解视频
3、反向传播算法
4、过拟合
定义:(简)在模型训练过程中,模型对训练数据学习过度,将数据中包含噪声和误差也学习了,使得模型在训练集上表现很好,而在测试集上表现很差的现象。
解决方法:正则化、Droupout
三、神经网络的实现
1、求shape大小
例:
(1)学生成绩数据。其中包括每个学生数学、语文和外语3门课的分数,每个人可以表示成包含3个值的向量,假设数据有100个人,那么这将存储在形状为(100,3)的2D张量中。
(2)家庭收入数据。其中包括每个家庭的税前收入和税后收入,每个家庭可以表示成包含2个值的向量,假设有1000个家庭,那么这将存储在形状为(1000,2)的2D张量中。
2、训练集和测试集
训练集用于模型训练,测试集用来验证模型精度,可使train_test_split实现对训练集和测试集的切分,具体用法:X0,X1,Y0,Y1=train_test_split(X,Y,test_size=0.5,random_state=0)
四、卷积神经网络基础
1、基本概念
一个卷积神经网络主要包含5层:输入层,卷积层(提取原始像素矩阵的特征),池化层(缩小上一层矩阵大小,目的减少网络中的参数),全连接层(图像特征提取的结果,目的为后续分类任务做准备)和输出层。
2、same卷积(在X上用K进行卷积)
(1)K在X上开始卷积的位置点计算
高度(H) | 宽度(W) | 起始点位置 |
偶数 | 偶数 | ![]() |
偶数 | 奇数 | ![]() |
奇数 | 偶数 | ![]() |
奇数 | 奇数 | ![]() |
(2)same卷积输出结果大小计算
例如
![06ee31692a1b472e991d44f689e06d04.png](https://img-blog.csdnimg.cn/direct/06ee31692a1b472e991d44f689e06d04.png)
![291c7044f4a54bd785f99669b95be315.png](https://img-blog.csdnimg.cn/direct/291c7044f4a54bd785f99669b95be315.png)
![1581d0226b2a4952b3688333a0180f1b.jpg](https://img-blog.csdnimg.cn/1581d0226b2a4952b3688333a0180f1b.jpg)
3、valid卷积(在X上用K进行卷积)
要求:卷积核K完全被覆盖在像素矩阵X范围内
4、卷积运算的3个特性
卷积运算的稀疏连接(减少参数)、卷积运算的参数共享(相同的参数可以用在模型的不同函数中)、卷积运算的平移不变性(学习到的特征可以用到任何位置)
5、same最大值池化
(1)开始池化起始点计算同卷积
高度(H) | 宽度(W) | 起始点位置 |
偶数 | 偶数 | ![]() |
偶数 | 奇数 | ![]() |
奇数 | 偶数 | ![]() |
奇数 | 奇数 | ![]() |
(2)池化结果输出计算
6、卷积和池化的区别
(1)卷积核的权重需要在人为设定或计算过程中,通过机器学习算法自动优化得到,是一个未知的参数;而池化仅仅是求最大值,没有未知参数需要估计,也不需要参数优化的过程。因此,对计算机而言,池化是非常简单的操作。
(2)不管输入的像素矩阵有多少通道,只要进行卷积运算,一个卷积核参与计算只会产生一个通道:而池化是分层运算,输出的像素矩阵的通道取决于输入像素矩阵的通道数。
五、经典卷积神经网络
1、计算消耗参数个数
2、VGG网络结构
使用小卷积核和增加卷积神经网络的深度提升分类识别效果
3、LeNet-5、AlexNet、VGG网络结构用来解决什么问题
LeNet-5:手写数字识别
AlexNet:中文字体识别——隶属和行楷,第一次在cpu上使用
VGG:加利福尼亚理工学院鸟类数据库分类
4、Inception、ResNet、DenseNet、MoblieNet和迁移学习的特征
Inception V1通过增加网络的宽度(通道数)来提升训练效果,创新点在于不同尺寸的卷积核来提炼更多丰富的细节,二是大量使用小卷积核来达到降维的目的。
ResNet是提出了残差学习模块的思想,这在一定程度上解决了梯度消失或梯度爆炸问题,是微软研究所何凯明等人提出,其将输入形象绕道传到输出,极大地保护了信息地完整性。整个网络只需要学习输入、输出和残差部分,就可以简化学习的目标和难度。
DenseNet提出了Dense Block的概念,它是在网络中大量应用了具有紧密连接性质的卷积神经网络,该神经网络中的任何两层都有直接连接,即网络中每一层的输入都是前面所有层输出的并集,而这一层学习到的特征也会被直接传递到后面的所有层作为输入,这大大缓解了梯度消失问题。研究表明,DenseNet在很多性能上都超过了之前的ResNet。
MoblieNet提出了深度可分离卷积的概念,用于移动设备,核心点为一个核心技术点(深度可分离卷积)和两个超参数(宽度因子(改变图像的通道数)和分辨率因子(改变输入图像的分辩率))。
深度可分离卷积是指把标准的卷积分为两个步骤,一个是深度卷积,另一个是逐点卷积,好处是可以大幅降低超参数个数和计算量。
迁移学习是指将某个领域或任务上学习到的知识或模式应用到不同,但相关的领域或问题中。
batch normalization:网络归一化,使每一层数据具有相同的分布,加快收敛,更好的调整学习率的参数
data augmentation:数据增强,对图像进行缩放,旋转,剪裁等,使模型具有鲁棒性,训练更加准确
六、深度学习在文本序列中的应用
1、词嵌入的概念
是指把一个维数是所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组是映射到实数域上的向量。
2、关于词语相似性的两种理解
(1)如果两个词语经常一起出现,那么它们的相关性就很强。
(2)相关是指语义上非常相似。
本内容关注的词语相似关系,更多地是指语义上的相关性,而不是共同出现。
所谓语义相关性,就是把在语义上相似的词聚到一起。从几何的角度,就是把一类语义上相似的词聚到一起,不同语义之间有一定的距离。在数学上实现这样映射的关系,即从词或短语映射到有距离的高维欧氏空间中,这样的目标称为词嵌入。把词嵌入高维欧氏空间中。