LangChain+LLM实战---BERT主要的创新之处和注意力机制中的QKV

BERT主要的创新之处

BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer架构的预训练语言模型,由Google在2018年提出。它的创新之处主要包括以下几个方面:

  • 双向性(Bidirectional):BERT是第一个采用双向Transformer架构进行预训练的模型。传统的语言模型如GPT(Generative Pre-trained Transformer)只能根据上下文左边的词预测当前词,而BERT引入了Masked Language Model(MLM)任务,将一部分输入文本中的词进行遮盖,然后通过双向Transformer来预测这些被遮盖的词,从而使模型能够同时获得左侧和右侧的上下文信息。
  • 预训练与微调(Pretraining and Fine-tuning):BERT采用两阶段的训练方法。首先,在大规模的未标记数据上进行预训练,通过预测被遮盖的词和句子级别的任务来学习通用的语言表示。然后,在特定任务上进行微调,使用标记的数据集来进一步调整模型参数,使其适应具体的下游任务,如文本分类、命名实体识别等。
  • 预训练任务的多样性(Diverse Pretraining Tasks):为了提高模型的泛化能力,BERT使用了多个预训练任务。除了MLM任务外,BERT还引入了句子级别的任务,即Next Sentence Prediction(NSP)。NSP任务要求模型判断两个句子是否是连续的,并学习句子级别的语义关系。这样的多样性任务设计使得BERT能够学习到更丰富的语言表示。
  • Masked Language Model(MLM):BERT中的MLM任务是通过将输入文本中的一部分词进行随机遮盖来训练模型。这样做的好处是模型需要通过上下文信息来预测被遮盖的词,从而更好地理解词之间的关联性和语义。MLM任务的引入使得BERT能够学习到更深层次的语言表示。
  • 多层表示与多任务学习(Multi-layer Representation and Multi-task Learning):BERT采用了多层Transformer编码器来编码输入序列的信息。这些编码器层之间可以进行信息的传递和交互,从而丰富了表示的表达能力。同时,BERT还可以通过微调阶段的多任务学习来提高模型的泛化性能,将不同的下游任务作为辅助任务来共同训练模型,使得模型能够学习到更通用的语言表示。

注意力机制中的QKV

在注意力机制(Attention Mechanism)中,Q、K和V代表查询(Query)、键(Key)和值(Value)。

  • 查询(Query)(表示为Q):查询是用于指定要关注的特定位置或特征的向量。在注意力机制中,查询向量用于计算与其他位置或特征的相似度,并决定在注意力权重计算中的重要程度。
  • 键(Key)(表示为K):键向量用于提供与查询向量的相似度比较。它可以看作是提供参考信息的向量。
  • 值(Value)(表示为V):值向量是根据注意力权重进行加权求和的向量。它包含了要传递给下一步的信息。

在注意力机制中,通过计算查询向量(Q)与键向量(K)之间的相似度,然后使用归一化的相似度得到注意力权重。最后,使用注意力权重对值向量(V)进行加权求和,得到最终的上下文表示或注意力输出。

注意力机制的计算可以用以下公式表示:

Attention(Q, K, V) = softmax(QK^T / sqrt(d_k))V

其中,d_k是查询和键的维度。softmax函数用于归一化相似度,使得注意力权重的总和为1。除以sqrt(d_k)是为了缩放相似度,以确保在计算过程中避免梯度爆炸或梯度消失的问题

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

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

相关文章

【Vue】初步认识<script setup>语法糖和组合式 API

▒ 目录 ▒ &#x1f6eb; 导读需求开发环境 1️⃣ &#x1f6eb; 导读 需求 最近写代码的时候&#xff0c;发现<script setup>这样的代码&#xff0c;没见过&#xff0c;好奇&#xff0c;想知道。 所以就有了这篇文章。 很多文章都说setup是vue3的特权。但是&#xff…

Vue图片路径问题(动态引入)

vue项目中我们经常会遇到动态路径的图片无法显示的问题&#xff0c;以下是静态路径和动态路径的常见使用方法。 1.静态路径 在日常的开发中&#xff0c;图片的静态路径通过相对路径和绝对路径的方式引入。 相对路径&#xff1a;以.开头的&#xff0c;例如./、../之类的。就是…

SQLSmith: Databend 如何利用随机化测试检测 Bug

作者&#xff1a;白 珅 Databend 研发工程师 https://github.com/b41sh 为什么需要 SQLSmith&#xff1f; 在数据库系统的开发和维护过程中&#xff0c;测试扮演着至关重要的角色。它不仅可以验证功能的正确性&#xff0c;还可以发现潜在的问题&#xff0c;确保数据库在每个变…

MySQL主从架构

1 主从架构解决了什么问题 随着业务的持续增长&#xff0c;单体数据库满足不了业务的需求&#xff0c;可能会出现负载过重&#xff0c;操作数据库速度变慢的情况。为了解决这个问题&#xff0c;数据库一般采用一主一从、一主多从的架构。 为了操作提高效率&#xff0c;减轻压…

sql在线练习

SQLBolt - 学习 SQL - SQL 简介https://sqlbolt.com/拿走不谢&#xff01;&#xff01;&#xff01; UIUC什么乱七八糟的啊

探讨下前端测试的常见场景

前端测试 场景 这边指的测试是指白盒测试&#xff0c;用代码来测试代码。 测试有利于提升代码质量。 代码功能和需求一致。根据需求&#xff0c;写测试。测试通过了&#xff0c;则表明需求实现了。保证代码重构后&#xff0c;未改坏以前的功能。代码重构后&#xff0c;能通过…

html5怎么实现语音搜索

html5怎么实现语音搜索 谷歌的网站在他们首页发现了HTML5的新玩法——语音搜索。 注意&#xff1a; 只有webkit核心的浏览器才能使用 用法很简单 只需要在input添加属性x-webkit-speech即可&#xff0c;例子如下&#xff1a; 代码如下: <input type"text" x-…

一文告诉你样机是什么,分享几个常用的样机模板

一个项目的诞生通常需要经历头脑构思、绘制设计和最终着陆。在这个过程中&#xff0c;样机制作往往是在着陆实践之前进行的。俗话说&#xff1a;“样机使用得好&#xff0c;草稿过早”。样机设计是产品或网站最终设计的生动、静态和视觉表现。它为用户提供了一种模拟现实的方式…

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】

信息系统项目管理师教程 第四版【第7章-项目立项管理-思维导图】 课本里章节里所有蓝色字体的思维导图

【uniapp】短信验证码输入框

需求是短信验证码需要格子输入框 如图 网上找了一个案例改吧改吧 直接上代码 结构 <template><view class"verify-code"><!-- 输入框 --><input id"input" :value"code" class"input" :focus"isFocus"…

数据结构之树(图解)

文章目录 前言一、树是什么&#xff1f;二、树的特点三、树的相关概念四、树的表示方法&#xff08;孩子兄弟表示法&#xff09;总结 前言 在学习完线性结构&#xff0c;例如顺序表、链表、栈、队列后&#xff0c;我们要开始学习一个新的数据结构----树 一、树是什么&#xf…

小白如何在一个月写一篇论文(中文核心,SCI)

小白如何半年发3篇sci的我教你如何快速“水”一篇sci论文_哔哩哔哩_bilibili 计算机视觉&#xff0c;cv领域 半年发3篇sci的我教你如何快速“水”一篇sci论文 计算机视觉(辅导 SCI EI 核心) 微信&#xff1a;whbwqq123或主页加up 小白如何快速写出一篇论文并成功发表&…

Elasticsearch:使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation (二)

这是继上一篇文章 “Elasticsearch&#xff1a;使用 Open AI 和 Langchain 的 RAG - Retrieval Augmented Generation &#xff08;一&#xff09;” 的续篇。在这篇文章中&#xff0c;我主要来讲述 ElasticVectorSearch 的使用。 我们的设置和之前的那篇文章是一样的&#xff…

【C】C语言文件操作

1.为什么使用文件 我们前面学习结构体时&#xff0c;写通讯录的程序&#xff0c;当通讯录运行起来的时候&#xff0c;可以给通讯录中增加、删除数据&#xff0c;此时数据是存放在内存中&#xff0c;当程序退出的时候&#xff0c;通讯录中的数据自然就不存在了&#xff0c;等下…

大彩串口屏读写文件问题

分区 本文使用的是大彩串口屏M系列的&#xff1a; 串口屏内部有三个分区&#xff0c;分别为A、B、C三个区&#xff1a; A区&#xff1a;系统区&#xff0c;存储组态工程文件 B区&#xff1a;数据区&#xff0c;存储配置信息&#xff0c;记录数据、历史曲线等 C区&#xff1a;备…

3.线性神经网络

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 线性回归基础优化算法一、线性回归1、买房案例2、买房模型简化3、线性模型4、神经网络5、损失函数6、训练数据7、参数学习8、显示解9、总结 二、 基础优化算法1、梯度下降2、学习率3、小批量随机梯度下降4、批量大小5、…

【Linux】【驱动】设备树常用 of 函数

【Linux】【驱动】设备树常用 of 函数 序常用的of函数添加我们要查找的节点的代码 of_find_node_by_path获取 compatible 属性内容的代码 of_find_property获取 reg 属性内容的代码 of_property_read_u32_array获取 status 属性内容的代码 of_property_read_string 演示代码操作…

docker+playwright

windows10 docker playwright 难点在于windows下docker的安装&#xff0c;以及官方hub被墙的困难。 wsl2 wsl2 ubuntu docker git clone https://gitee.com/lineuman/lcs_playwright.git npm install npx playwright test docker端口怎么映射到主机上面&#xff1f; 设置重…

图、深度优先(DFS)、广度优先(BFS)

图 基本介绍 表示方式 图的创建 from typing import Listclass Graph:vertex_list: List[str] [] # 存储顶点的数组edges: List[list] [] # 存储图中各条边的邻接矩阵num_edges: int 0 # 边的数总数def __init__(self, n: int):"""根据传入的顶点个数初始…

测开(性能测试---LoadRunner)

目录 一、LoadRunner的安装 二、Loadrunner的基本概念 三、开发测试脚本——VUG 3.1 脚本录制 3.2 脚本加强 四、设计场景——Controller LoadRunner是一款开源桌面应用软件&#xff0c;可用来模拟用户负载完成性能测试工作&#xff0c;LoadRunner的功能在版本不断升级的…