深度学习学习笔记

深度学习的学习笔记,记录一下~

Chapter1 机器学习基础

机器学习(包括:模型+学习准则+优化方法)
(1)传统的机器学习:原始数据,数据预处理,特征提取,特征转换,预测(浅层学习)
(2)深度学习:是一个复杂的机器学习算法,具有自动提取抽象特征的能力。

1.模型:

机器学习:线性模型、非线性模型
深度学习:可以看作一个复杂的非线性模型。广义的非线性模型可以写作多个非线性基函数的线性组合

2.学习准则:

模型的好坏可以通过期望风险来衡量。
损失函数:0-1损失函数(不连续且导数为0,难以优化)、平方损失函数(用在预测标签y为实数值的任务中,一般不适用于分类问题)、交叉熵损失函数(一般用于分类问题)

经验风险最小化准则:
经验风险:在训练集D上的平均损失

3.优化算法:

算法通常基于梯度下降。
梯度下降法:利用学习率α来定义每次参数更新的幅度。(学习率是十分重要的超参数)

*深度学习擅长的领域:

 图像处理:图像分类、目标检测、图像分割
 语音识别
 自然语言处理:机器翻译、文本分类、自动问答
 视频处理
 棋牌竞技

Chapter2 全连接神经网络

神经网络模型:M-P模型,感知机模型、全连接神经网络

1.M-P模型,
2.感知机模型:

建立一个线性超平面来解决线性可分问题。线性组合的结果大于0时,输出为+1,否则输出为-1。

使用的是随机梯度下降算法,即对每个样本进行误差计算并更新权重。具体来说,如果感知机对一个样本的输出结果与实际结果不一致(错分样本时),那么就调整权重(是一种错误驱动的在线学习算法)

3.全连接神经网络(多层感知机)

在这里插入图片描述
激活函数:
RELU、sigmod,tanh

通常
output:
f(x)=x; f(x)=sigmod(x); f(x)=softmax(x)

hidden:
f(x)=tanh(x); f(x)=relu(x)

*神经网络的训练流程

初始化参数,切分batch数据,前向传播(得到预测值),建立损失函数,反向传播(更新参数)

*批量梯度下降算法:

小批量梯度下降:切为若干份
随机批量梯度下降:每个批量只有一个样本

Chapter3 卷积神经网络

卷积是计算某种局部的相似性:
两个关键参数:卷积核大小;卷积核数量(决定输出特征图的深度)

池化是将某种最突出的相似性选择出来

卷积神经网络的基本结构:
输入层
卷积层:获得更多图像的抽象特征
池化层:减少网络中参数
全连接层
输出层

1.经典卷积网络

LeNet-5、AlexNet、VGGNet、Inception/GoogLeNet、ResNet、DenseNet

(1)LeNet-5

在这里插入图片描述

(2)AlexNet

在这里插入图片描述

(3)VGGNet:2个 3 ∗ 3 3*3 33卷积核代替5*5卷积核,3个 3 ∗ 3 3*3 33卷积核代替 7 ∗ 7 7*7 77卷积核,在保证具有相同感受野的条件下,提升了网络的深度。

在这里插入图片描述

(4)Inception/GoogLeNet

使用1*1卷积核,降低参数个数
在这里插入图片描述
在这里插入图片描述

(5)ResNet

残差神经网络

(6)DenseNet

在这里插入图片描述
在这里插入图片描述

*小卷积核优势:
  1. 降低参数个数。
  2. 提高感受野,捕捉更多的特征信息。
  3. 增加非线性:小卷积核堆叠使用,可以使模型非线性表达能力更好。
  4. 更好地处理边缘信息,更好地捕捉图像的细节。
  5. 更好地处理不变性,使得模型可以更好地适应旋转、平移、缩放等变换。

Chapter4 网络优化与正则化

网络优化:使神经网络的经验风险最小化,包括模型选择及参数学习。

1.神经网络的改善方法(优化算法改进):

(1)更好的参数初始化方法,数据预处理方法;
参数初始值关系到网络的优化和泛化能力:
参数初始化方法:固定值初始化,随机初始化,预训练初始化

(2)修改网络结构来得到更好的优化地形(高维空间中损失函数的曲面形状,好的优化地形通常比较平滑);使用relu激活函数、残差连接,逐层归一化等;

(3)动态学习率调整,梯度估计修正;
 批量梯度下降
 随机梯度下降
 小批量梯度下降
关键因素:小批量样本数量,梯度,学习率

优化算法总结:
学习率调整:学习率衰减,学习率预热,周期性学习率调整,自适应学习率
梯度估计修正:动量法(用之前积累动量代替真正的梯度),Nesterov加速梯度;梯度截断
综合方法:Adam算法

(4)使用更好的超参数优化方法。
超参数:
 网络结构:神经元之间的连接关系,层数,每层的神经元数量,激活函数的类型
 优化参数,优化方法、学习率、小批量的样本数量
 正则化系数

2.正则化:

通过限制模型复杂度,从而避免过拟合,提高泛化能力的方法:
(1)L1正则化;
(2)L2正则化;
(3)权重衰减;
(4)提前停止
(5)Dropout;
(6)数据增强:对训练数据进行旋转、缩放、平移、随机裁剪等,扩充训练数据的数量和多样性
(7)标签平滑;

Chapter5:循环神经网络

Word2vec包含2个模型(本质:条件概率估计问题):(跳字模型和连续词袋模型)
CBOW模型则将周围单词作为输入,预测中心单词的概率。基于上下文生成中心词。
Skip-Gram模型将单词作为输入,预测周围单词的概率。给定中心词生成它周围的单词。

输入层:上下文单词的one-hot编码词向量

其他词嵌入方法:
自然语言处理中的典型任务:
分类:文本分类,情感分类,文本匹配,
序列标注:中文分词,词性标注,信息抽取
生成:机器生成,文本摘要,风格偏移,自动问答

1.循环神经网络RNN:(具有短期记忆)

难以建模长期间隔的状态之间的依赖关系(会出现梯度爆炸或者梯度消失问题)
同步的序列到序列模式:如词性标注任务
异步的序列到序列模式:如机器翻译

2.实现长期记忆性:基于门控的循环神经网络

长短期记忆网络LSTM:有效解决简单循环神经网络的梯度爆炸问题
遗忘门:(长期状态变量继承的更新)
输入门:(长期状态变量吸收的更新)
输出门:(长期状态变量输出的更新)

Chapter6 生成对抗网络GAN

生成模型,一般具有两个功能:概率密度估计,生成样本
概率密度估计:直接建模p(x)比较困难,通过引入隐变量z来简化模型,转化为p(z,θ)和p(x|z,θ),估计的重点是估计条件分布p(x|z,θ)
生成样本:给定p(x,θ)的分布,生成一些服从这个分布的样本(称为采样)。得到p(z,θ)和p(x|z,θ)后就可以生成数据x:步骤:
在这里插入图片描述

1.生成对抗网络:

通过对抗训练的方式使得生成网络产生的样本服从真实数据分布。
 判别网络:判断样本x是来自真实数据还是生成网络;(实际上是一个二分类的分类器)
输出是x属于真实分布的概率。目标函数为最小化交叉熵。

 生成网络:尽量生成判别网络无法区分来源的样本;目标函数是 在这里插入图片描述

两个网络的目标函数可以化为Minimax Game
在这里插入图片描述

深度卷积生成对抗网络DCGAN:略

2.VAE:变分自编码器

假设隐变量z的先验分布为标准高斯分布。用神经网络来估计概率分布p(x|z,θ),称为生成网络。生成网络的输入为z,输出为概率分布p(x|z,θ)

变分自编码器(VAE)由编码器和解码器两部分构成;
编码器用于估计变分分布q(z|x,φ),解码器用于估计条件分布p(x|z, θ)
编码器(推断网络)的目标是使得q(z|x,φ)尽可能接近真实的后验p(z|x, θ) (相当于E步)在这里插入图片描述

解码器(生成网络)的目标是找到一组参数θ*来最大化L(q,x;θ, φ) (相当于M步)在这里插入图片描述

在这里插入图片描述

变分自编码器可以通过随机梯度下降法来学习参数。

损失函数:
重构损失,KL散度。
Loss=重构损失+KL散度

Other:

(以下是chatgpt告诉我的,做个参考吧)

  1. 自编码器的基本概念和原理:
    自编码器(Autoencoder)是一种无监督学习模型,其目标是将输入数据进行编码和解码,使得输出尽可能接近于输入。自编码器包括编码器和解码器两部分,编码器将输入数据映射到潜在空间中,解码器将潜在空间中的数据映射回原始数据空间。自编码器可以用于数据降维、数据压缩、特征提取等任务。

  2. 变分推断的基本思想和实现方法:
    变分推断(Variational Inference)是一种基于概率推断的方法,用于近似求解复杂概率分布的后验分布。变分推断基于最大化证据下界(Evidence Lower Bound,ELBO)来近似后验分布,通常使用编码器和解码器来实现。

  3. 重参数化技巧及其在VAE中的应用:
    重参数化技巧是一种常用的方法,用于在反向传播过程中使得梯度可以通过网络进行传递。在VAE中,重参数化技巧可以用来从潜在空间中的隐变量中采样,从而使得梯度可以传递到编码器的参数和解码器的参数中。

  4. VAE与传统自编码器的区别:
    VAE相对于传统自编码器的最大区别是VAE在编码过程中引入了潜在变量,这个潜在变量是从一个先验分布中采样得到的,这种方法可以使得模型在学习编码的同时学习到数据的潜在结构。而传统自编码器只是通过数据的编码和解码来完成任务

  5. VAE的损失函数,包括重构误差和KL散度:
    VAE的损失函数由两部分组成:重构误差和KL散度。重构误差用于衡量解码器输出与原始数据的差异,KL散度用于度量后验分布与先验分布之间的差异。

  6. VAE的训练过程及其注意事项:
    VAE的训练过程包括对损失函数的优化过程,通常使用反向传播算法进行参数更新。在训练过程中需要注意的事项包括选择合适的先验分布、调整损失函数中两部分的权重、选择合适的学习率等。

  7. VAE的评价指标,包括样本质量和模型复杂度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值