带你快速复习深度学习理论知识

各个案例的具体讲解视频可见我的资源或者点击该链接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模型是首个模拟生物神经元的结构和工作原理构造出来的一个抽象和简化了的数学模型。

9d1fdf160f274934a9076c3a3d1551e9.jpeg

M-P模型工作原理:

(1)神经元接受N个输入信号

(2)将输入与权重参数进行加权求和并经过激活函数激活

(3)将激活结果作为结果输出

M-P模型缺点:参数需要人为设置并且缺乏学习机制,这一缺点可用多层感知机模型解决。

感知机模型的学习机制:可以通过对样本数据的训练自动获得对参数更新的结果。

(1)准备训练样本和初始化权值参数

(2)加入一个训练样本,并计算实际输出值

(3)比较实际输出值和期望输出值的大小,如果相同,则参数不变,如果不同,则需要正误差和调整参数大小,具体地。若实际输出值小于期望值,则增加权重;若实际输出值大于期望值,则减少相应的权重。

(4)对每个训练样本重复步骤(3),直到计算的误差为0或者小于某个指定的值.

感知机模型的局限性:仅对线性问题具有分类能力

多层感知机模型=全连接神经网络

激活函数的作用是进行非线性变换,有Sigmoid、Tanh、ReLU激活函数

神经网络的训练的定义:

        从训练数据中自动获取最优权重参数的过程,通常分为两个阶段:第一阶段先通过前向传播算法计算得到预测值,并计算预测值与真实值之间的差距;第二阶段通过反向传播算法计算损失函数对每一个参数的梯度,使用适合的梯度下降算法对参数进行更新。

神经网络的训练的训练流程:

36ec55838a9744b6a67fb6700cb9f1c3.png

 

损失函数:均方误差(解决回归问题)、交叉熵(解决分类问题)

梯度下降:所有样本一起处理

批量梯度下降:把样本分成若干份,然后在每一份上实施梯度下降算法进行参数更新

随机梯度下降:每批量只有一个样本

2、前向传播算法

具体案例讲解视频

ac6f889109b643b6953ec5e1b72bd5a8.png

fc8076184c74421ea158ebc57b5d48b1.png

da9c2e6527184aefa3d14136648e86ea.png

3、反向传播算法

75746e7d41134168b2039bce43ed877f.png

0ead92b86f0b4016946cc1a747776a42.png

056b739576c54f17aa9e64db7b17749e.png

7a3eaaa46de045b3a0ff31323b246452.png

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)起始点位置
偶数偶数1980f52e51a643e29cad940bc74ca558.png
偶数奇数7aa8ba2652284ac5a50039621430cf9f.png
奇数偶数e7af989ea15746c48f34a4cfa7e92dcd.png
奇数奇数213d2adc5e664802886780a3e7d72533.png

(2)same卷积输出结果大小计算

3781459b1e484f0db3921a07de3f4a07.png

例如

问:如果输入图像的像素矩阵是 227*227*3,用96个规格为11*11的卷积核进行valid卷积,设定步长为4,输出矩阵的维度分别是多少?
 
答:输出矩阵的通道数由卷积核个数所决定,因此为96;由于输入图像和卷积核是方阵,我们只看一条边,另一条同理可得。(227-11)/4+1 = 54+1 = 55。因此,输出Tensor 的维度为55*55*96。
06ee31692a1b472e991d44f689e06d04.png
291c7044f4a54bd785f99669b95be315.png
1581d0226b2a4952b3688333a0180f1b.jpg

3、valid卷积(在X上用K进行卷积)

要求:卷积核K完全被覆盖在像素矩阵X范围内

3781459b1e484f0db3921a07de3f4a07.png

0c86fefc62c048a394885a6057b9eddd.png

4、卷积运算的3个特性

卷积运算的稀疏连接(减少参数)、卷积运算的参数共享(相同的参数可以用在模型的不同函数中)、卷积运算的平移不变性(学习到的特征可以用到任何位置)

5、same最大值池化

(1)开始池化起始点计算同卷积

高度(H) 宽度(W)起始点位置
偶数偶数1980f52e51a643e29cad940bc74ca558.png
偶数奇数7aa8ba2652284ac5a50039621430cf9f.png
奇数偶数e7af989ea15746c48f34a4cfa7e92dcd.png
奇数奇数213d2adc5e664802886780a3e7d72533.png

(2)池化结果输出计算

7582115fb4f64cf0a2866d14dd8b0e8a.png

ceil()表示向上取整
问:如果输入图像的像素矩阵是 28*28,用32个规格为3*3的卷积核进行same卷积, 输出矩阵的维度是多少?再对输出矩阵进行步长为2,规格为2*2的same最大值池化,输出矩阵的维度是多少
 
答:same卷积不改变通道切片的尺寸,而通道数由卷积核个数决定,因此输出Tensor的维度为:
28*28*32;池化不改变通道数,进行2*2步长为2的池化相当于将通道切片维度减半,因此此
时输出的维度为:14*14*32.

6、卷积和池化的区别

(1)卷积核的权重需要在人为设定或计算过程中,通过机器学习算法自动优化得到,是一个未知的参数;而池化仅仅是求最大值,没有未知参数需要估计,也不需要参数优化的过程。因此,对计算机而言,池化是非常简单的操作。

(2)不管输入的像素矩阵有多少通道,只要进行卷积运算,一个卷积核参与计算只会产生一个通道:而池化是分层运算,输出的像素矩阵的通道取决于输入像素矩阵的通道数。

五、经典卷积神经网络

1、计算消耗参数个数

6f9e90b1eab24f6496012758014aa34d.png168173590b3944c0a810dee33c6c3ff4.png

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)相关是指语义上非常相似。

本内容关注的词语相似关系,更多地是指语义上的相关性,而不是共同出现。

所谓语义相关性,就是把在语义上相似的词聚到一起。从几何的角度,就是把一类语义上相似的词聚到一起,不同语义之间有一定的距离。在数学上实现这样映射的关系,即从词或短语映射到有距离的高维欧氏空间中,这样的目标称为词嵌入。把词嵌入高维欧氏空间中。

 

 

  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值