【深度学习】知识点归纳总结-for 面试【自用】

news2025/6/20 22:50:47

add 和 concat的区别

特征add的时候就是增加特征的信息量,特征concat的时候就是增加特征的数量,注重细节的时候使用add,注重特征数量的时候使用concat,

resnet用的add
densenet用的concat

RNN应用

一、关键字提取(many to one)
将一段话作为序列输入网络,输出只取最后一个状态,用它来表示这句话的关键字。
和文本分类没啥区别,评价、态度等。
二、手写数字识别(many to many)
输入与输出都是序列,一般是定长的,模型设计上,利用RNN单元在每一个时间步上的输出得到序列结果。这个是1:1的,先识别第一个字,在将第一个字输入到网络来识别第二个字,依次类推。
三 seq2seq
一般是在机器翻译的任务中出现,将一句中文翻译成英文,那么这句英文的长度有可能会比中文短,也有可能会比中文长,所以这时候输出的长度就不确定了,需要用序列到序列的模型来解决这个问题。
聊天机器人和问答系统也都是同样的原理,将句子输入,输出是根据前面的输入来得到.
在这里插入图片描述
seq2seq模型结构如上图
Seq2Seq任务包含两部分:编码器(Encoder)和解码器(Decoder),编码器负责把文本序列转换成隐含表示,解码器负责把隐含表示还原成另一个文本序列。在这里,编码器和解码器的任务都能使用循环神经网络来实现。
注意中间的context(也叫作状态)
在Seq2Seq结构中,编码器Encoder把所有的输入序列都编码成一个统一的语义向量Context,然后再由解码器Decoder解码。在解码器Decoder解码的过程中,不断地将前一个的输出作为后一个时刻的输入,循环解码,直到输出停止符为止。
首先,解码器输入一个特殊的单词,即句子开头的单词对应的词向量(这个特殊的单词一般标记为<SOS>,即Start Of Sentence),输出第一个预测的单词。然后根据第一个预测的单词获取对应的词向量,进行第二个单词的预测,不断重复这个过程,直到到达最大预测长度或者预测得到另一个特殊单词(这个特殊的单词一般标记为<EOS>,即End Of Sentence),整个解码过程结束。Seq2seq解码过程对应的解码模型称为自回归模型(Autoregressive model)。

seq2seq的缺陷和注意力机制

看上图你也可以猜出来,对于很长的序列,RNN(包括LSTM和GRU)记不住啊。所以Attention Mechanism 注意力机制来解决。
注意力机制:就是通过引入一个神经网络,计算
编码器的输出对解码器贡献的权重,最后计算加权平均后编码器的输出,即上下文(Context)
通过在编码器的输出和下一步的输入中引入上下文的信息,最后达到让解码器的某一个特定的解码和编码器的一些输出关联起来,即对齐(Alignment)的效果。
在这里插入图片描述
每一个输出都有一个上下文,每一个输入都会对每一个上下文有一个加权。
在这里插入图片描述
解码器每一步时间步的预测值都需要把原有的值都计算一遍。所以相较于LSTM,他的计算量是增加的。
最后将隐含层的结果和归一化后的结果在特征方向(最后一个维度)做拼接,线性变换,并使用Tanh函数作为激活函数输出最终上下文的值。
注意力层涉及编码器每一步输出的隐含状态,以及编码器的所有输出。
假设编码器输入序列的长度是S,解码器输出序列的长度是T,则总的计算量是SXT,因为解码过程中每个步骤都需要S次分数计算。

自注意力机制

自注意力机制和注意力机制完全不同,因为循环神经网络无法并行,有时序关系。
下一层只有在上一层计算完才进行,使得效率和优化都比较受限制。所以资助以来机制来了,attention is all your need. 不需要使用RNN类的循环神经网络。取而代之的是使用注意力机制来描述时间序列的上下文相关性,瑞阳的注意力机制称为自注意力机制。
它可以并行运算,没有先后顺序。
基本构造:
在这里插入图片描述
Query查询张量, K键,V值 实际上自问自答(自注意力)
Q,K,V三张量的形状为NTC: 第一维度为批次维度,第二维度是序列的时间长度,以及序列特征长度。
前两个张量(Q,K)的作用根据查询张量获取每个键张量的对应的分数,然后根据分数计算出对应的权重,用得到的权重乘以值(V)张量,并对值张量加权平均,最后输出结果。
实践中,使用多个并行的自注意力机制,(Multihead Attention),即使用多个注意力矩阵和多个权重对输入值进行加权平均,最后对加权平均的结果进行拼接。
为啥使用多头注意力机制?
单个注意力机制只能捕捉一种序列直接的关联(比如相邻单词)。
如果使用多个注意力机制,就能捕获多种序列直接的关联(比如,距离比较远的单词直接的相关性)。最后的拼接,通过结合多头注意力机制,就能更好的描述不同距离的单词之间的相互关系。(可以类别CNN中的多核来提取特征是类似的)

上边的介绍就引出了 Transformer

在这里插入图片描述
模型第一部分是词嵌入向量的生成,由于自注意力机制中不包含单词的顺序如果要构建单词的词向量序列,需要引入单词的顺序相关的信息

可使用周期性的函数来编码单词的顺序,比如使用不同周期的正弦函数和余弦函数来描述单词的顺序,这种位置编码方式的优点是能够编码任意长度的序列,但缺点是序列的词嵌入需要进行预先计算,需要消耗一定的计算时间。也可使用位置的嵌入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1503313.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“比特币深夜冲破7万美元”!华尔街押注比特币:究竟是牛市墙头草,还是加密真信徒?

比特币ETF,使此次加密牛市与以往的繁荣、萧条周期截然不同。以往的周期往往由热衷风险的投机者以及最终崩盘的加密项目所驱动,例如无实物资产支持的加密货币借贷,以及一地鸡毛的ICO热潮。而现在,传统金融已经与加密世界联姻&#…

安信可IDE(AiThinker_IDE)编译ESP8266工程方法

0 工具准备 AiThinker_IDE.exe ESP8266工程源码 1 安信可IDE(AiThinker_IDE)编译ESP8266工程方法 1.1 解压ESP8266工程文件夹 我们这里使用的是NON-OS_SDK,将NON-OS_SDK中的1_UART文件夹解压到工作目录即可 我这里解压到了桌面&#xff0c…

Java - JVM

文章目录 一、JVM1. JVM的作用2. JVM、JRE、JDK的关系3. JVM的组成4. JVM工作流程5. 运行时方法区Runtime Data Area 二、深入JVM内存模型(JMM) 一、JVM 1. JVM的作用 Java代码编译成java字节码后,运行在JVM中,只要针对不同的系统…

鸿蒙Harmony应用开发—ArkTS声明式开发(触摸交互控制:触摸测试控制)

设置组件的触摸测试类型。ArkUI开发框架在处理触屏事件时,会在触屏事件触发前,进行按压点和组件区域的触摸测试来收集需要响应触屏事件的组件,然后基于触摸测试结果分发相应的触屏事件。hitTestBehavior属性可以设置不同的触摸测试响应模式&a…

20240308-1-校招前端面试常见问题CSS

校招前端面试常见问题【3】——CSS 1、盒模型 Q:请简述一下 CSS 盒模型? W3C 模式:盒子宽widthpaddingbordermargin 怪异模式:盒子宽widthmargin Q:inline、block、inline-block 元素的区别? inline&am…

0环PEB断链实现

截止到昨天那里我们的思路就清晰了,通过EPROCESS找到我们要隐藏的进程的ActiveProcessLinks,将双向链表的值修改,就可以将我们想要隐藏的这个进程的ActiveProcessLinks从双向链表中抹去的效果,这里的话如果在windbg里面直接使用ed…

[笔记]Crash Course Computer Science

文章目录 二进制算术逻辑单元 ALU算术单元逻辑单元 寄存器&内存CPU 中央处理器指令CPU结构运行命令时钟 高级CPU设计集成电路电子管晶体管集成电路印刷电路板 PCB Printed Circuit Board光刻摩尔定律 二进制 byte 在电脑中的单位换算: kilobyte 千字节 megaby…

【C++】手把手教你模拟实现 vector

目录 一、构造/析构/拷贝 1、构造函数 1️⃣无参的构造函数 2️⃣带参的构造函数 3️⃣类模板的构造函数 2、析构函数 3、拷贝构造 二、修改操作 1、reserve 【错误版本】 🌟【解答】正确版本 2、resize 3、push_back 4、pop_back 5、insert 6、era…

【LV15 DAY7 阻塞和非阻塞】

一、五种IO模型------读写外设数据的方式 阻塞: 不能操作就睡觉非阻塞:不能操作就返回错误 多路复用:委托中介监控信号驱动:让内核如果能操作时发信号,在信号处理函数中操作异步IO:向内核注册操作请求,内核…

Web本体语言OWL

语义网(Semantic Web): 语义网是万维网联盟(W3C)提出的一种愿景,旨在增强现有Web的表达能力和智能处理能力,通过标准化的技术手段赋予网络数据更加精确和可计算的语义,使得机器能够…

Ubuntu18/20运行ORB-SLAM3

ORB-SLAM3复现(ubuntu18/20) 文章目录 ORB-SLAM3复现(ubuntu18/20)1 坐标系与外参Intrinsic parameters2 内参Intrinsic parameters2.1 相机内参① 针孔模型Pinhole② KannalaBrandt8模型③ Rectified相机 2.2 IMU内参 3 VI标定—外参3.1 Visual calibration3.2 Inertial calib…

【Appium问题】每次启动appium都会安装一次uiautomator

问题 每次启动appium,都需要安装一次uiautomator2比较麻烦 解决 在配置文件capabilities 中增加参数skipServerInstallationTrue

CSDN,最全API接口测试入门教程到实战

由于自己想学习API方面的测试,但是市面上搜不到相关的图书可以系统学习,网上的内容又零零散散,适合有点API开发基础的人去搜索。为了方面新手学习API测试,现在整理了他人的宝贵经验和自己的学习心得,尽量在一篇文章中囊…

git删除comimit提交的记录

文章目录 本地的删除远程同步修改上次提交更多详情阅读 本地的删除 例如我的提交历史如下 commit 58211e7a5da5e74171e90d8b90b2f00881a48d3a Author: test <test36nu.com> Date: Fri Sep 22 20:55:38 2017 0800add d.txtcommit 0fb295fe0e0276f0c81df61c4fd853b7a00…

【开源】JAVA+Vue.js实现食品生产管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 加工厂管理模块2.2 客户管理模块2.3 食品管理模块2.4 生产销售订单管理模块2.5 系统管理模块2.6 其他管理模块 三、系统展示四、核心代码4.1 查询食品4.2 查询加工厂4.3 新增生产订单4.4 新增销售订单4.5 查询客户 五、…

水果音乐编曲软件 FL Studio v21.2.3.4004 中文免费版(附中文设置教程)以及新功能介绍

FL studio21中文别名水果编曲软件&#xff0c;是一款全能的音乐制作软件&#xff0c;包括编曲、录音、剪辑和混音等诸多功能&#xff0c;让你的电脑编程一个全能的录音室&#xff0c;它为您提供了一个集成的开发环境&#xff0c;使用起来非常简单有效&#xff0c;您的工作会变得…

Linux编程3.6 进程-其他进程及函数

1、僵尸进程 子进程结束但是没有完全释放内存&#xff08;在内核中的task_struct没有释放&#xff09;&#xff0c;该进程就成为僵尸进程。当僵尸进程的父进程结束后就会被init进程领养&#xff0c;最终被回收。避免僵尸进程 让僵尸进程的父进程来回收&#xff0c;父进程每隔一…

StringBuffer与StringBuilder的常用方法及源码分析。

StringBuffer与StringBuilder的常用方法及源码分析 1. 常用方法2. 源码分析 StringBuffer和StringBuilder都是用于处理字符串的可变对象&#xff0c;它们之间的主要区别在于StringBuffer是线程安全的&#xff0c;而StringBuilder是非线程安全的。 1. 常用方法 append()&#…

使用jar命令删除.jar文件中的重复的类和目录并重新打包

引言&#xff1a; android项目&#xff0c;引入的 .jar包 和 .aar中 有相同的类&#xff0c;导致编译冲突&#xff0c;由于这些依赖项没有上传到Maven仓库&#xff0c;无法使用 exclude 排除&#xff0c;只能尝试修改jar文件&#xff0c;删除重复的代码&#xff0c;再重新打包…

【深度学习笔记】6_8 长短期记忆(LSTM)

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 6.8 长短期记忆&#xff08;LSTM&#xff09; 本节将介绍另一种常用的门控循环神经网络&#xff1a;长短期记忆&#xff08;long shor…