当前位置: 首页 > news >正文

淮安网站建设方案如何修改网站模板内容

淮安网站建设方案,如何修改网站模板内容,楚雄市网站建设公司,wordpress大气自媒体BERT简介 BERT#xff08;Bidirectional Encoder Representations from Transformers#xff09;是由 Google 在 2018 年提出的一种预训练语言模型。BERT 在自然语言处理#xff08;NLP#xff09;领域取得了重大突破#xff0c;因为它能够有效地捕捉文本的上下文信息Bidirectional Encoder Representations from Transformers是由 Google 在 2018 年提出的一种预训练语言模型。BERT 在自然语言处理NLP领域取得了重大突破因为它能够有效地捕捉文本的上下文信息从而在各种 NLP 任务中表现出色。以下是 BERT 模型的详细讲解包括其架构、训练方法、应用场景和使用方法。 1. BERT 的基本概念 1.1 双向性 传统的语言模型通常是单向的即只能从前向后前向模型或从后向前后向模型捕捉上下文信息。而 BERT 是双向的能够在同一时间捕捉到词语的前后上下文信息。这种双向性使得 BERT 能够更好地理解词语的多义性。 单向编码 单向编码指的是在编码过程中模型只能利用到当前位置之前的文本信息或只能利用到当前位置之后的文本信息但这种情况较少见而无法同时利用到当前位置前后的文本信息。这种编码方式使得模型在处理文本时具有一种“前瞻性”或“回顾性”但缺乏全局的上下文理解能力。 GPT是一个典型的采用单向编码的预训练语言模型。GPT使用Transformer的解码器部分作为其主要结构通过自回归的方式进行训练即模型在生成下一个词时只能看到之前的词无法看到之后的词。 双向编码 双向编码则允许模型在编码过程中同时利用到当前位置前后的文本信息从而能够更全面地理解文本的上下文。这种编码方式使得模型在处理文本时具有更强的语义理解能力和更丰富的信息来源。 BERT是一个典型的采用双向编码的预训练语言模型。BERT通过掩码语言模型MLM的方式进行训练即随机掩盖文本中的部分词汇然后让模型预测这些被掩盖的词汇。 举个例子考虑一个文本序列“今天天气很好我们决定去公园散步。” 在单向编码中每个词或标记的编码仅依赖于其之前的词或标记。因此在编码“决定”这个词时模型只会考虑“今天”、“天气”、“很好”和“我们”这些在它之前的词。在双向编码中每个词或标记的编码都会同时考虑其前后的词或标记。因此在编码“决定”这个词时模型会同时考虑“今天”、“天气”、“很好”以及之后的“去公园散步”等词从而更全面地理解整个句子的语义。 1.2 Transformer 架构 BERT 基于 Transformer 架构这是一种基于自注意力机制self-attention mechanism的神经网络模型。Transformer 架构最初由 Vaswani 等人在 2017 年的论文《Attention is All You Need》中提出它摒弃了传统的 RNN 和 CNN完全依赖于自注意力机制来处理序列数据。 2. BERT 的架构 从上图左侧我们可以看到BERT包含三种模块 最底层⻩⾊标记的Embedding模块。中间层蓝⾊标记的Transformer模块。最上层绿⾊标记的预微调模块。 上图右侧是Encoder block的内部模块图。图中蓝色模块被画成了两层这表示BERT模型中堆叠了多个Transformer编码器块。每个编码器块都包含自注意力机制Self-Attention Mechanism和前馈神经网络Feed-Forward Neural Network以及层归一化Layer Normalization和残差连接Residual Connections。 2.1 输入表示Embedding模块 BERT 的输入(Embedding模块)表示由三个部分组成 Token Embeddings每个词的词嵌入, 输入文本中的每个单词或字符转换为一个固定维度的向量。Base版为768维Large版为1024维。Segment Embeddings用于区分句子 A 和句子 B 的段落嵌入, 单词或字符在句子中的位置信息。BERT中的位置嵌入是可学习的它会随着模型的训练而更新非固定的三角函数Position Embeddings用于表示词在句子中的位置的位置嵌入,用于区分同一输入序列中不同句子的来源。对于多句输入BERT会为每个句子分配一个不同的段编号来区分它们。Segment Embeddings的取值通常是0和1如果输入包含两个句子通常第一个句子的token会被赋予全0的向量第二个句子的token会被赋予全1的向量。 下图是一个示例Position Embeddings。 输入表示的公式为 Input Embedding Token Embedding Segment Embedding Position Embedding 2.2 Transformer 编码器 BERT 使用多层 Transformer 编码器来处理输入。每一层编码器包含两个子层 多头自注意力机制Multi-Head Self-Attention用于捕捉词语之间的依赖关系。前馈神经网络Feed-Forward Neural Network用于对每个词的表示进行非线性变换。每层编码器还包括残差连接Residual Connections和层归一化Layer Normalization。 3. BERT 的训练方法 3.1 预训练任务 BERT 通过两个预训练任务来学习语言表示 Masked Language Model (MLM)随机掩盖输入句子中的某些词然后让模型预测这些被掩盖的词。这种方法强制模型理解词语的上下文信息。Next Sentence Prediction (NSP)给模型两个句子让模型判断第二个句子是否是第一个句子的下一个句子。这个任务帮助模型理解句子之间的关系。 1、Masked Language Model (MLM) Masked Language Model即遮蔽语言模型是BERT预训练的一个重要部分。在这一阶段模型的任务是预测输入句子中被随机遮蔽masked掉的部分单词。 输入文本处理首先对于输入的句子随机选择句子中15%的单词进行遮蔽。对于每个被选中的单词有80%的概率直接用[MASK]标记替换10%的概率用随机的一个单词替换这有助于模型学习理解上下文的重要性而不仅仅是依赖于[MASK]标记剩下的10%则保持不变这有助于模型在微调阶段更好地处理未遮蔽的单词。模型预测模型的目标是根据上下文预测这些被遮蔽单词的原始值。这种机制促使BERT能够深入理解文本中的语义关系。 我们来看一个例子假设有一句话my dog is hairy 180%的时候是[MASK]。如my dog is hairy——my dog is [MASK] 210%的时候是随机的其他token。如my dog is hairy——my dog is apple 310%的时候是原来的token。如my dog is hairy——my dog is hairy 2、Next Sentence Prediction (NSP) Next Sentence Prediction即下一句预测是BERT预训练的另一个重要部分旨在提高模型对句子间关系的理解能力。 句子对生成在预训练时模型不仅接收单个句子作为输入还接收句子对。这些句子对可能是连续的即真实的下一句也可能是随机组合的即非连续的。模型预测对于每个句子对模型需要预测第二个句子是否是第一个句子的真实下一句。这是一个简单的二分类任务输出是一个[0, 1]范围内的值表示第二个句子是第一个句子真实下一句的概率。 注在BERT的后续版本中Next Sentence PredictionNSP任务被废弃了。因为研究人员发现这个任务对下游任务的性能提升有限因此在BERT的一些后续变体中被弃用了。 3.2 微调 预训练完成后BERT 模型可以通过微调Fine-Tuning应用于各种下游任务如文本分类、命名实体识别、问答等。微调过程中模型的权重会被更新以适应特定任务。 1、句对分类 任务描述句对分类任务涉及两个句子的输入并需要模型判断这两个句子之间的关系或情感倾向等。应用场景例如自然语言推断NLI任务需要判断一个句子是否可以从另一个句子推断出来或者语义文本相似性STS任务需要评估两个句子的语义相似度。 如下图所示句对分类的处理过程为 输入处理将两个句子句对作为输入在两个句子之间添加特殊的分隔符[SEP]并在开头添加开始符[CLS]在末尾添加结束符[EOS]。[CLS]标记的输出表示将被用作句对分类的输入特征。模型微调在预训练的BERT模型基础上添加一个全连接层作为输出层用于句对分类任务。特征提取利用BERT编码器提取的句对表示结合注意力机制等技术捕捉两个句子之间的关系和交互信息用于句对分类。 举例说明下面有两个句子我们要判断句子2是否是句子1的合理后续即句子间的逻辑关系如蕴含、中立、矛盾等。在这个例子中可以视为一个蕴含关系因为好天气通常适合户外运动。 句子1: 今天的天气真好。 句子2: 适合去户外运动。BERT处理将两个句子用[SEP]分隔并在开头添加[CLS]标记然后输入到BERT模型中。模型输出[CLS]标记的表示用于句对关系的分类。 [CLS] 今天的天气真好。 [SEP] 适合去户外运动。 [SEP]模型输出标签entailment蕴含 注实际的模型输出是一个概率分布如[0.85, 0.1, 0.05]分别对应蕴含、中立、矛盾的概率这里为了简化只给出了最可能的标签。 2、单句分类 任务描述单句分类任务是将单个句子作为输入并输出该句子的类别或情感倾向。 应用场景如情感分析判断文本是正面、负面还是中性、垃圾邮件检测判断邮件是否为垃圾邮件等。 如下图所示单句分类的处理过程为 输入处理将单个句子作为输入添加开始符[CLS]。 模型微调与句对分类类似在预训练的BERT模型基础上添加一个全连接层作为输出层用于单句分类任务。通过微调整个模型来优化分类性能。 特征提取利用BERT编码器提取的单个句子表示捕捉句子中的语义信息用于单句分类。 举例说明下面的句子我们将句子分类为正面情感或负面情感。在这个例子中句子表达的是正面情感。 句子: 这部电影非常精彩BERT处理将句子作为输入添加[CLS]标记然后输入到BERT模型中。模型输出一个或多个类别的概率分布选择概率最高的类别作为分类结果。 [CLS] 这部电影非常精彩输出概率分布[0.95, 0.05]其中第一个值对应正面情感的概率第二个值对应负面情感的概率。 3、文本问答 任务描述文本问答任务涉及一个问题和一段文本如文章或段落模型需要从文本中找出问题的答案。 应用场景如机器阅读理解MRC自动问答系统FAQ等。 如下图所示文本回答的处理过程为 输入处理将问题和相关文档或段落作为输入使用特殊的分隔符[SEP]将问题和文档分隔开。 答案抽取BERT模型通过编码器部分提取问题和文档的表示然后可以结合指针网络等机制来定位答案在文档中的位置。在某些情况下可能需要在BERT模型的基础上添加额外的层如两个指针层来指示答案的起始和结束位置。 微调任务针对问答任务进行微调优化模型在定位答案位置方面的性能。 举例说明下方的问题我们从文档中找出问题的答案。在这个例子中答案是北京不是省份。 问题: 北京是中国的哪个省份 文档: 北京是中国的首都位于华北地区不是省份。BERT处理将问题和文档分别作为输入然后输入到BERT模型中。模型输出包括两个指针用于指示答案在文档中的位置。 问题[CLS] 北京是中国的哪个省份 [SEP] 文档[CLS] 北京是中国的首都位于华北地区不是省份。 [SEP]模型输出 起始索引在文档中的位置假设从0开始 23 结束索引同样假设从0开始 25注这里的索引只是示意性的实际输出可能依赖于文档的预处理和编码方式。 4、单句标注 任务描述单句标注任务是对句子中的每个词或子词进行标注如命名实体识别NER、词性标注POS Tagging等。 应用场景在信息抽取、文本分析等领域有广泛应用。 如下图所示单句标注的处理过程为 输入处理将单个句子作为输入不需要特殊的分隔符但可能需要对句子进行分词处理以符合BERT的输入要求。 序列标注将单句标注视为序列标注任务其中句子中的每个单词或子词都被分配一个标签。BERT模型通过编码器部分提取句子的表示然后结合序列标注层如CRF层或softmax层来为每个单词或子词分配标签。 微调模型在BERT模型的基础上添加一个序列标注层并通过微调来优化标注性能。微调过程中模型会学习如何将句子的表示映射到对应的标签序列上。 举例说明下方的句子我们对句子中的实体进行标注如公司名称、地点等。在这个例子中苹果公司应被标注为公司名称美国加利福尼亚州库比蒂诺应被标注为地点。 句子: 苹果公司是一家总部位于美国加利福尼亚州库比蒂诺的科技公司。BERT处理将句子作为输入并添加特定的标记。然后使用BERT的编码器部分提取句子的表示并结合序列标注层如CRF或softmax层来为每个单词或子词分配标签。最后根据标签确定实体的类型和边界。 [CLS] 苹果公司是一家总部位于美国加利福尼亚州库比蒂诺的科技公司。对句子分词 苹果公司 是 一家 总部 位于 美国 加利福尼亚州 库比蒂诺 的 科技 公司 。 模型输出假设为BIO标注方案 苹果公司B-ORG, I-ORG美国B-LOC加利福尼亚州库比蒂诺B-LOC科技公司B-ORG 注BIO标注方案中B表示实体的开始I表示实体的内部O表示非实体部分。此外B和I后面通常会跟随一个表示实体类型的标签如B-PER人名、B-LOC地名、B-ORG 机构等。 4. BERT 的应用场景 4.1 文本分类 通过在预训练的 BERT 模型上添加一个分类层可以进行文本分类任务。 4.2 命名实体识别 通过在预训练的 BERT 模型上添加一个序列标注层可以进行命名实体识别任务。 4.3 问答 通过在预训练的 BERT 模型上添加一个问答层可以进行问答任务。 4.4 语义相似度 通过比较两个句子的 BERT 表示可以计算它们的语义相似度。 5. 使用 Hugging Face Transformers 库加载 BERT 模型 5.1 安装 Transformers 库 pip install transformers5.2 导入必要的模块 from transformers import BertTokenizer, BertModel5.3 加载预训练的 BERT 模型和分词器 # 选择一个预训练的 BERT 模型例如 bert-base-uncased model_name bert-base-uncased# 加载分词器 tokenizer BertTokenizer.from_pretrained(model_name)# 加载模型 model BertModel.from_pretrained(model_name)5.4 使用模型进行推理 # 输入文本 text Hello, how are you?# 对输入文本进行编码 inputs tokenizer(text, return_tensorspt)# 通过模型进行推理 outputs model(**inputs)# 获取最后一层的隐藏状态 last_hidden_state outputs.last_hidden_state# 打印输出 print(last_hidden_state)
http://www.w-s-a.com/news/206685/

相关文章:

  • 网站屏蔽中文浏览器湘潭做网站广告的公司
  • 好看的单页面网站模板免费下载手机网站经典案例
  • 优秀网站建设平台建筑模板工厂价格尺寸
  • 合肥微信网站建设旅游景区网站模板
  • 一个只做百合的网站wordpress文章和博客的区别
  • 编写网站策划方案网站哪里有
  • 网站做得好的公司国家防疫政策最新调整
  • 设计优秀的企业网站做行测的网站
  • 提供做网站公司有哪些关键词优化诊断
  • 建站合肥网络公司seo免费建手机商城网站吗
  • 设计师投资做项目网站外贸网站建设工作室
  • 无聊的网站wordpress的alt属性插件
  • 个股期权系统网站开发小清新wordpress模板
  • 全中文网站开发建筑公司企业愿景文案
  • 广州网站建设正规公司建设银行信用卡中心网站
  • 哪个网站是专门做封面素材怎么制作app平台
  • 网站开发 平均工资商标注册在哪个部门申请
  • 做外贸需要自己的网站吗营销型网站建设市场分析
  • 绍兴网站制作推广wordpress 无法自动升级
  • 阿里云建站数据库用什么app制作开发费用多少
  • 中国住房和城乡建设部网站资质查询中小开网站
  • 交易所网站开发水果营销软文
  • 石家庄有什么好玩的地方2017织梦网站怎么做seo
  • wordpress项目插件seo的含义
  • 网站平台建设的作用电影宣传类网页界面设计
  • 户外网站模板国外优秀的平面设计网站
  • 家政网站怎么做网站机房建设方案
  • 学校网站建设运行情况2022年近期舆情热点话题
  • 做淘宝需要知道什么网站吗有没有做软件的网站
  • 安丘网站建设制作做网站和微信小程序