深度学习细节总结

news/2024/10/21 7:49:27/

计算机视觉

目标检测,语义分割,目标分类

自然语言处理NLP

数据结构

  • 数据结构
    在这里插入图片描述
  • 访问元素
    在这里插入图片描述

线性回归

可以看成是一个单层的神经网络,有显式的解

优化算法

梯度下降,超参数:学习率、批量大小

分类回归

单层感知机,多层感知机

  • 多层感知机使用隐藏层和激活函数来得到非线性模型,常用的激活函数有Sigmoid、Tanh、ReLU;
  • Softmax来处理多分类问题
  • 多层感知机的超参数:隐藏层数,每层隐藏层的大小
  • 验证集数据和测试集数据不能混在一起,k-折交叉验证

过拟合欠拟合

在这里插入图片描述

模型容量:拟合各种函数的能力

在这里插入图片描述

控制模型的复杂度:参数的个数、参数值的选择范围

权重衰退和Dropout

  • 权重衰退是通过刚性的限制权重不超过某个值从而降低模型复杂度
  • 丢弃法将一些输出项随机设置为0来控制模型复杂度,丢弃概率是控制模型复杂度的超参数

数值稳定性

  • 梯度爆炸
  • 梯度消失
  • 保持训练稳定性:将乘法变加法,归一化(梯度归一化,梯度剪裁),合理的权重初始和激活函数

卷积层

每个输出通道可以识别特定模式,可以融合多通道

池化层

输入的通道等于输出的通道,缓解卷积层对位置的敏感性

正则化Regularization

规则化、规范化的意思,使得权重的值不要太大,避免一定的过拟合

批量归一化(Batch Normalization)

  • 批量归一化固定小批量中的均值和方差,然后学习出适合的偏移和缩放
  • 可以加速收敛速度,但一般不改变模型精度,可以使用大一点的学习率加快模型收敛

损失函数

  1. L2 Loss
    在这里插入图片描述

  2. L1 Loss
    在这里插入图片描述

  3. Huber Rubost Loss 鲁棒误差
    在这里插入图片描述

残差网络ResNet

残差块使得很深的网络可以更加容易训练,可以有效的避免训练到后期,梯度太小训练的很慢,通过残差块,可以先训练,然后回过来更新梯度。

图像增广

  • 在线生成图片,做随机增强,不会生成图像增强后的图片
  • 数据增广通过变形数据来获得多样性从而使得模型泛化能力更好,常见的图片增广包括翻转切割变色

finetune(微调)

finetune属于迁移学习的一种,就是在一个较大的数据集上训练好的模型,将模型的结构参数等直接拿过来运用到小数据集上(两个数据集有一定的相似性),但是在最后的fc(分类或者回归问题)要随机初始化参数训练
在这里插入图片描述

锚框

  • 边缘框(BordingBox)
    在这里插入图片描述
    首先生成大量锚框,并赋予标号,每一个锚框作为一个样本进行训练。在预测时使用NMS来去掉冗余的预测

目标检测

  • R-cnn(区域卷积神经网络)
  • Mask R-cnn:如果有像素级别的编号,使用fcn来利用这些信息
  • faster rcnn
    精度很高,但是处理速度很慢,不如yolo(you only look once)
  • ssd(单发多框检测)
    不再维护和开发,用的比较少
  • yolo
    yolo将图片均匀分成SxS个锚框,每个锚框预测B个边缘框

语义分割

像素级别的分类,分为背景和其他类型
在这里插入图片描述

转置卷积

可以增大输入图片的高宽,可以简单地理解成反向卷积操作,得到的结果和卷积操作相反
在这里插入图片描述

  • 全连接卷积神经网络 FCN
    在这里插入图片描述
    最后输出的通道数=类别数
  • 样式迁移
    分别求一个样式tensor和内容tensor,三个损失,样式、内容、噪点

硬件提升

在这里插入图片描述

序列模型

可以使用马尔科夫预测或者自回归预测

  • 文本预处理
    把句子中的一些词转换成能够处理的数据
  • 语言模型
    估计文本序列的联合概率,使用统计方法时常采用n元语法
  • RNN(循环神经网络)
    存储一个时序信息
    一个预测时序类型模型的好坏可以看成一个分类问题,即下一个token索引的概率,可以使用平均交叉熵来衡量
    在这里插入图片描述
  • 梯度剪裁
    rnn中经常使用梯度剪裁,有效的预防梯度爆炸

门控循环单元GRU

可以控制哪些重要,哪些不重要,能关注的机制(更新门);能遗忘的机制(遗忘门)

LSTM长短期记忆网络

  • 忘记门:将值朝0减少
  • 输入门:决定不是忽略掉输入数据
  • 输出门:决定是不是使用隐状态

深层循环神经网络

在这里插入图片描述
深度循环神经网络使用多个隐藏层来获得更多的非线性性

双向循环神经网络

在这里插入图片描述

  • 双向循环神经网络通过反向更新的隐藏层来利用方向时间信息
  • 通常用来对序列抽取特征、填空,而不是预测未来

编码器-解码器

在这里插入图片描述

Seq2seq

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

Elmo预训练模型

前向后向预测,一词多义

  • GPT单向语言模型
  • BERT双向语言模型

束搜索

束搜索在每次搜索的时候保存k个最好的候选选项

  • k=1时,是贪心搜索
  • k=n时,是穷举搜索

注意力机制

在这里插入图片描述

我们可以这样来看待Attention机制(参考图为上图):将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成,此时给定Target中的某个元素Query,通过计算Query和各个Key的相似性或者相关性,得到每个Key对应Value的权重系数,然后对Value进行加权求和,即得到了最终的Attention数值。所以本质上Attention机制是对Source中元素的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用注意力机智的seq2seq

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

自注意力机制

自注意力机制模型擅长处理特别长的文本,但是计算成本特别高,需要上千个gpu同时计算,越长的文本越消耗资源,是平方的关系

在这里插入图片描述

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

优化算法

在这里插入图片描述


http://www.ppmy.cn/news/63959.html

相关文章

3.0 响应式系统的设计与实现

1、Proxy代理对象 Proxy用于对一个普通对象代理&#xff0c;实现对象的拦截和自定义&#xff0c;如拦截其赋值、枚举、函数调用等。里面包含了很多组捕获器&#xff08;trap&#xff09;&#xff0c;在代理对象执行相应的操作时捕获&#xff0c;然后在内部实现自定义。 const…

【Windows】高效的本地文件搜索工具《Everything》

&#x1f433;好用高效的本地文件搜索工具《Everything》 &#x1f9ca;一、什么是Everything&#x1f9ca;二、为什么选择Everything&#x1f9ca;三、下载Everything&#x1f9ca;四、Everything为什么高效 &#x1f9ca;一、什么是Everything Everything是一个运行于Window…

java内部类详解(IT枫斗者)

java-内部类详解 内部类概念 定义:把类定义在其他类的内部&#xff0c;这个类被称为内部类&#xff08;嵌套类&#xff09;。分类:根据其所在位置及形式的不同,分为成员内部类、静态内部类、局部内部类、匿名内部类。 成员内部类 联想到成员变量和成员方法&#xff0c;内部类…

界面交互篇:答题页的答题逻辑交互开发

微信小程序云开发实战-答题积分赛小程序 界面交互篇:答题页的答题逻辑交互开发 前面的那一篇文章,我们已经完成了使用云开发的聚合能力实现从题库中随机抽取题目功能。 在页面加载时,实现从题库中随机抽取题目功能。那么,拿到数据后要干什么?如何做? 动态数据绑定 实…

android基础知识复习

架构&#xff1a; 应用框架层&#xff08;Java API Framework&#xff09;所提供的主要组件&#xff1a; 名称功能描述Activity Manager&#xff08;活动管理器&#xff09;管理各个应用程序生命周期&#xff0c;以及常用的导航回退功能Location Manager&#xff08;位置管理器…

【tkinter 专栏】专栏前言

文章目录 前言本章内容导图1. tkinter 工具及特点2. 为什么使用 Python 进行 GUI 设计?2.1 Python 可以做什么2.2 使用 tkinter 可以干什么?3. 如何学习使用 tkinter 进行 GUI 设计?4. 开发环境搭建4.1 Python 的版本4.2 安装 Python4.2.1 下载 Python 安装包4.2.2 安装 Pyt…

【前端面试题】深拷贝的终极实现

大厂面试题分享 面试题库 前后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 web前端面试题库 VS java后端面试题库大全 引子 通过本文可以学习到深拷贝的三种写法的实现思路与性能差异 首先&#xff0c;我们要理…

RK平台移植rtl8852bs wifi驱动

RK平台 android 12的内核里面没有rtl8852bs wifi驱动,找模组原厂要了驱动,看了一些是其他平台的。。。要放RK平台是编译不过的,要做一下相应的修改,巨坑! 首先,修改kernel-5.10/drivers/net/wireless/rockchip_wlan/Kconfig: --- a/kernel-5.10/drivers/net/wireless/r…