赞
踩
深度学习的学习笔记,记录一下~
机器学习(包括:模型+学习准则+优化方法)
(1)传统的机器学习:原始数据,数据预处理,特征提取,特征转换,预测(浅层学习)
(2)深度学习:是一个复杂的机器学习算法,具有自动提取抽象特征的能力。
机器学习:线性模型、非线性模型
深度学习:可以看作一个复杂的非线性模型。广义的非线性模型可以写作多个非线性基函数的线性组合
模型的好坏可以通过期望风险来衡量。
损失函数:0-1损失函数(不连续且导数为0,难以优化)、平方损失函数(用在预测标签y为实数值的任务中,一般不适用于分类问题)、交叉熵损失函数(一般用于分类问题)
经验风险最小化准则:
经验风险:在训练集D上的平均损失
算法通常基于梯度下降。
梯度下降法:利用学习率α来定义每次参数更新的幅度。(学习率是十分重要的超参数)
图像处理:图像分类、目标检测、图像分割
语音识别
自然语言处理:机器翻译、文本分类、自动问答
视频处理
棋牌竞技
神经网络模型:M-P模型,感知机模型、全连接神经网络
建立一个线性超平面来解决线性可分问题。线性组合的结果大于0时,输出为+1,否则输出为-1。
使用的是随机梯度下降算法,即对每个样本进行误差计算并更新权重。具体来说,如果感知机对一个样本的输出结果与实际结果不一致(错分样本时),那么就调整权重(是一种错误驱动的在线学习算法)
激活函数:
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数据,前向传播(得到预测值),建立损失函数,反向传播(更新参数)
小批量梯度下降:切为若干份
随机批量梯度下降:每个批量只有一个样本
卷积是计算某种局部的相似性:
两个关键参数:卷积核大小;卷积核数量(决定输出特征图的深度)
池化是将某种最突出的相似性选择出来
卷积神经网络的基本结构:
输入层
卷积层:获得更多图像的抽象特征
池化层:减少网络中参数
全连接层
输出层
LeNet-5、AlexNet、VGGNet、Inception/GoogLeNet、ResNet、DenseNet
使用1*1卷积核,降低参数个数
残差神经网络
网络优化:使神经网络的经验风险最小化,包括模型选择及参数学习。
(1)更好的参数初始化方法,数据预处理方法;
参数初始值关系到网络的优化和泛化能力:
参数初始化方法:固定值初始化,随机初始化,预训练初始化
(2)修改网络结构来得到更好的优化地形(高维空间中损失函数的曲面形状,好的优化地形通常比较平滑);使用relu激活函数、残差连接,逐层归一化等;
(3)动态学习率调整,梯度估计修正;
批量梯度下降
随机梯度下降
小批量梯度下降
关键因素:小批量样本数量,梯度,学习率
优化算法总结:
学习率调整:学习率衰减,学习率预热,周期性学习率调整,自适应学习率
梯度估计修正:动量法(用之前积累动量代替真正的梯度),Nesterov加速梯度;梯度截断
综合方法:Adam算法
(4)使用更好的超参数优化方法。
超参数:
网络结构:神经元之间的连接关系,层数,每层的神经元数量,激活函数的类型
优化参数,优化方法、学习率、小批量的样本数量
正则化系数
通过限制模型复杂度,从而避免过拟合,提高泛化能力的方法:
(1)L1正则化;
(2)L2正则化;
(3)权重衰减;
(4)提前停止
(5)Dropout;
(6)数据增强:对训练数据进行旋转、缩放、平移、随机裁剪等,扩充训练数据的数量和多样性
(7)标签平滑;
Word2vec包含2个模型(本质:条件概率估计问题):(跳字模型和连续词袋模型)
CBOW模型则将周围单词作为输入,预测中心单词的概率。基于上下文生成中心词。
Skip-Gram模型将单词作为输入,预测周围单词的概率。给定中心词生成它周围的单词。
输入层:上下文单词的one-hot编码词向量
其他词嵌入方法:
自然语言处理中的典型任务:
分类:文本分类,情感分类,文本匹配,
序列标注:中文分词,词性标注,信息抽取
生成:机器生成,文本摘要,风格偏移,自动问答
难以建模长期间隔的状态之间的依赖关系(会出现梯度爆炸或者梯度消失问题)
同步的序列到序列模式:如词性标注任务
异步的序列到序列模式:如机器翻译
长短期记忆网络LSTM:有效解决简单循环神经网络的梯度爆炸问题
遗忘门:(长期状态变量继承的更新)
输入门:(长期状态变量吸收的更新)
输出门:(长期状态变量输出的更新)
生成模型,一般具有两个功能:概率密度估计,生成样本
概率密度估计:直接建模p(x)比较困难,通过引入隐变量z来简化模型,转化为p(z,θ)和p(x|z,θ),估计的重点是估计条件分布p(x|z,θ)
生成样本:给定p(x,θ)的分布,生成一些服从这个分布的样本(称为采样)。得到p(z,θ)和p(x|z,θ)后就可以生成数据x:步骤:
通过对抗训练的方式使得生成网络产生的样本服从真实数据分布。
判别网络:判断样本x是来自真实数据还是生成网络;(实际上是一个二分类的分类器)
输出是x属于真实分布的概率。目标函数为最小化交叉熵。
生成网络:尽量生成判别网络无法区分来源的样本;目标函数是
两个网络的目标函数可以化为Minimax Game
深度卷积生成对抗网络DCGAN:略
假设隐变量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散度
(以下是chatgpt告诉我的,做个参考吧)
自编码器的基本概念和原理:
自编码器(Autoencoder)是一种无监督学习模型,其目标是将输入数据进行编码和解码,使得输出尽可能接近于输入。自编码器包括编码器和解码器两部分,编码器将输入数据映射到潜在空间中,解码器将潜在空间中的数据映射回原始数据空间。自编码器可以用于数据降维、数据压缩、特征提取等任务。
变分推断的基本思想和实现方法:
变分推断(Variational Inference)是一种基于概率推断的方法,用于近似求解复杂概率分布的后验分布。变分推断基于最大化证据下界(Evidence Lower Bound,ELBO)来近似后验分布,通常使用编码器和解码器来实现。
重参数化技巧及其在VAE中的应用:
重参数化技巧是一种常用的方法,用于在反向传播过程中使得梯度可以通过网络进行传递。在VAE中,重参数化技巧可以用来从潜在空间中的隐变量中采样,从而使得梯度可以传递到编码器的参数和解码器的参数中。
VAE与传统自编码器的区别:
VAE相对于传统自编码器的最大区别是VAE在编码过程中引入了潜在变量,这个潜在变量是从一个先验分布中采样得到的,这种方法可以使得模型在学习编码的同时学习到数据的潜在结构。而传统自编码器只是通过数据的编码和解码来完成任务
VAE的损失函数,包括重构误差和KL散度:
VAE的损失函数由两部分组成:重构误差和KL散度。重构误差用于衡量解码器输出与原始数据的差异,KL散度用于度量后验分布与先验分布之间的差异。
VAE的训练过程及其注意事项:
VAE的训练过程包括对损失函数的优化过程,通常使用反向传播算法进行参数更新。在训练过程中需要注意的事项包括选择合适的先验分布、调整损失函数中两部分的权重、选择合适的学习率等。
VAE的评价指标,包括样本质量和模型复杂度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。