牛津大学xDeepMind 自然语言处理(3)

条件语言模型
  1. 无条件语言模型

    1. 概率计算:通过链式法则分解为预测下一词概率(将语言建模问题简化为建模给定前面词语历史的下一个词的概率)
    2. 基于循环神经网络的无条件语言模型:根据历史词语预测下一个词的概率
  2. 条件语言模型

    1. 定义:在给定某些条件上下文xxx的情况下为词序列w=(w1,w2,...,wl)w=(w_1,w_2,...,w_l)w=(w1,w2,...,wl)分配概率:p(w∣x)=∏t=1lp(wt∣x,w1,w2,...,wt−1)p(w|x) = ∏_{t=1}^lp(w_t|x,w_1,w_2,...,w_{t-1})p(wx)=t=1lp(wtx,w1,w2,...,wt1)
    2. 训练数据:需成对样本{(xi,wi)}i=1N\{(x_i,w_i)\}^N_{i=1}{(xi,wi)}i=1N,部分任务数据充足,相对大量的数据用于翻译、摘要、标题生成、语音识别
    3. 算法挑战:最优输出难寻,需近似方法
    4. 评估:交叉熵困惑度等、特定任务指标、人类评估
  3. 编码器-解码器模型

    1. 概述:该模型学习一个函数,将xxx映射到一个固定大小的向量c,然后使用语言模型将该向量“解码”为词序列www

    2. kalchbrenner和Blunsom 2013:卷积句子模型(CSM)编码器,循环解码器

      优点:卷积学习局部上下文中特征之间的相互作用;通过堆叠卷积,可以学习更长范围的依赖关系;深度卷积网络具有类似于树的分支结构,但不需要解析器。

      缺点:句子有不同的长度,需要不同深度的树;卷积网络通常不是这样动态的

    3. Stuskever等人2014:LSTM编解码

      优点:循环神经网络自然地处理各种长度的序列;长短期记忆网络原则上可以传播长距离的梯度;架构非常简单!

      缺点:隐藏状态必须记住大量信息!

      1. 技巧
        1. 反向读取输入序列
        2. 使用JJJ个独立训练的模型集合
        3. 使用波束搜索
  4. 解码方法

    1. 困难:寻找最可能输出不易
    2. 近似方法:贪婪搜索、波束搜索
  5. 图像标题生成

    1. 图像标题生成:神经网络非常适合处理多模态——一切都是向量!图像标题生成可以使用类似翻译的技术,需预训练
    2. Kiros等人2013:前馈n元模型可以在条件模型中替代RNN,乘法模型助于交互学习
带注意力机制的条件语言模型
  1. 向量条件处理的问题

    1. 信息压缩不足:难以承载整句含义
    2. 梯度问题:传播距离长
    3. 记忆问题:长短期记忆网络易遗忘
  2. 带注意力机制的机器翻译

    1. 解决向量问题:用矩阵表示源语句,从矩阵生成目标语句,可解决容量和梯度流动问题
    2. 三种构建矩阵方式:
      1. 拼接:将单词向量拼接
      2. 卷积网络:应用卷积网络来转换原始的拼接矩阵,以获得依赖于语境的矩阵
      3. 双向循环神经网络:双向循环神经网络(门控循环单元或长短期记忆网络)从左到右和从右到左读取 f(|f|=列数),拼接表示
  3. 从矩阵生成内容与注意力计算

    1. 生成方法:用循环神经网络逐词生成输出句子,结合嵌入和矩阵视图向量
    2. 注意力计算:(简略概述 详细需搜索)
      1. 简化版:循环神经网络隐藏状态等一系列计算
      2. 非线性注意力 - 能量模型:用多层感知机替换点积
  4. 机器翻译中注意力

    1. 在序列到序列翻译中添加注意力效果:添加注意力提升11BLEU

    2. 模型变体:早期绑定和晚期绑定及优势比较

      早期绑定(Early Binding)和晚期绑定(Late Binding)是编程语言中两种不同的方法调用机制。

      1. 早期绑定(Early Binding)

        早期绑定在编译时或程序启动时确定方法或变量的具体实现,通常与静态类型语言(如Java、C#)或编译型语言相关。

        优势:

        性能更高 类型安全 代码可读性强 更好的IDE支持

      2. 晚期绑定(Late Binding)

        晚期绑定在运行时动态确定方法或变量的具体实现,通常与动态类型语言(如Python、JavaScript)或反射机制相关。

        优势:灵活性更高 代码更简洁 支持动态语言特性 更好的扩展性

      • 早期绑定更适合需要高性能、类型安全和代码可维护性的场景。
      • 晚期绑定更适合需要灵活性和动态扩展的场景。
  5. 注意力总结与梯度

    1. 注意力与池化:密切相关
    2. 巴赫达瑙模型:关注内容,可添加结构偏向等
    3. 梯度:并行反向传播
    4. 与人类翻译:翻译者会反复参考输入
  6. 带注意力的图像标题生成

    1. 卷积网络区域:含注释向量

    2. 注意力计算:软、硬注意力(确定性软注意力和随机性硬注意力)

    3. 软注意力学习:确定性软注意力是一种连续的、可微分的注意力机制,它通过某种函数(如softmax)对输入的权重进行平滑处理,生成注意力分布。这个分布是确定性的,不涉及随机性。

    4. 硬注意力学习:随机性硬注意力是一种离散的注意力机制,它通过采样(如从概率分布中采样)来选择特定的输入特征或区域。由于其采样过程是随机的,因此具有不确定性。

      (基于詹森不等式等)

    5. 效果:软注意力+2BLEU,硬注意力+4BLEU

  7. 整体总结:

    1. 性能改进:优于向量编码等
    2. 其他优势:模型可解释性、更好的梯度流动、更好的容量等

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

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

相关文章

Vue2.x核心技术与实战(一)

目录 一、Vue2.x:快速上手+插值表达式+指令上 1.1 Vue快速上手 1.1.1 Vue概念 1.1.2 创建实例 1.1.3 插值表达式 { { }} 1.1.4 响应式特性 1.1.5 开发者工具 1.2 Vue指令 1.2.1 v-html 1.2.3 v-show / v-if v-show v-if 1.2.4 v-else / v-else-if 1.2.5 v-on v…

SCAU学习笔记 - 自科三面前端方向实战演示

本来是准备写完二面直接开始写算法三面的,maimai那个封面图我都做好了。但是可恶的出题人说要等我出完解析再针对性避开出题,所以swan决定把那个先搁置,本文我们先以2023年的自科三面前端方向题为例带各位快速入门前端三件套(因为…

前后端联合实现文件上传,实现 SQL Server image 类型文件上传

1、前端 Vue3QualityFileInfoDialog.vue<script setup lang"ts" name"QualityFile"> ...... // 上传&#xff0c;防抖 const onUploadClick debounce(() > {// 模拟点击元素if (fileInputRef.value) {// 重置以允许重复选择相同文件fileInputRef…

使用安卓平板,通过USB数据线(而不是Wi-Fi)来控制电脑(版本1)

这是一个对延迟和稳定性要求很高的场景。 核心原理是&#xff1a;利用USB数据线&#xff0c;在手机和电脑之间创建一个高速的“虚拟网络连接”&#xff0c;然后在这个稳定的网络通道上运行远程控制软件。 方案1&#xff1a; 在完全没有无线网络&#xff08;Wi-Fi&#xff09;和…

linux报permission denied问题

linux报permission denied问题 一般是没有可执行权限&#xff0c;需要先添加执行权限 1. 确认文件权限 在你的项目目录下执行&#xff1a; ls -l ./folder你可能会看到类似&#xff1a; -rw-r--r-- 1 user user 1234 Aug 18 12:00 script.sh注意&#xff1a;这里缺少 x&#xf…

Vue深入组件:组件事件详解2

声明触发的事件 为了让组件的用法更清晰(作为文档),同时让 Vue 能区分事件与透传 attribute,推荐显式声明组件要触发的事件。根据组件是否使用 <script setup>,声明方式有所不同。 使用 <script setup> 时:defineEmits() 宏 在 <script setup> 中,…

FLASK项目快速构建

Flask 项目构建 exts.py # flask_sqlalchemy from flask_sqlalchemy import SQLAlchemy from flask_mail import Mail from flask_caching import Cache from flask_wtf import CSRFProtect from flask_avatars import Avatars from flask_jwt_extended import JWTManager from…

数据结构--2:ArrayList与顺序表

1.顺序表的创建 2.常见操作 3.遍历 4.扩容机制 5.例子1.顺序表的创建在集合框架中&#xff0c;ArrayList是⼀个普通的类&#xff0c;实现了List接口&#xff0c;具体框架图如下&#xff1a;2.常见操作代码…

【Kubesphere】K8s容器无法访问内网xx网络问题

问题遇到的现象和发生背景 Kubesphere中运行的一个容器&#xff0c;可以ping通我们公司内网网段172.16.XX.XX&#xff0c;但是在容器内无法ping通192.168.5.XX&#xff0c;但是我在宿主机是可以ping通192.168.5.XX&#xff0c;这个192.168.5.XX是通过xx设备接进来的&#xff0c…

【开发语言】Groovy语言:Java生态中的动态力量

博客目录一、Groovy 的诞生与发展二、核心特性深度解析1. 与 Java 的无缝集成2. 动态类型与可选静态类型3. 强大的集合操作三、Groovy 在实际开发中的应用场景1. 构建自动化&#xff08;Gradle&#xff09;2. 测试开发&#xff08;Spock 框架&#xff09;3. 脚本任务自动化四、…

Obsidian 1.9.10升级

概述 Obsidian发布了更新版本1.9.10&#xff0c;是一次比较大的升级&#xff0c;尤其是增加了一些以前没有的核心插件&#xff0c;尤其是重磅的数据库功能。虽然可能还是比较初期&#xff0c;但是这意味着OB还是往更好的方向进化了。 本文以一些目前的视频教程加自己的实际上手…

内容审计技术

一、 内容审计需求背景1.网络安全法要求明确责任人&#xff1a;制定内部安全管理制度和操作规程&#xff0c;落实安全保护责任。监测、记录并保留日志&#xff1a;采取监测、记录网络运行状态、网络安全事件的技术措施&#xff0c;并按照规定留存相关网络日志不少于六个月。采取…

反序列化漏洞

php反序列化 1.什么是序列化和反序列化 office word是程序 doc/docx是数据 保存word文件&#xff1a;程序--保存(序列化)-->数据文件 打开word文件&#xff1a;程序--加载数据文件-->还原(反序列化) 游戏存档&#xff1a;角色等级&#xff0c;任务&#xff0c;人物坐…

Lecture 4 Mixture of experts课程笔记

什么是MoE?用&#xff08;多个&#xff09;大型前馈网络和一个选择器层取代大型前馈网络。你可以在不影响浮点运算次数的情况下增加专家数量。 MoE受欢迎的原因 相同的浮点运算次数&#xff0c;更多的参数表现更好训练混合专家模型&#xff08;MoEs&#xff09;速度更快训练混…

微服务架构的演进:从 Spring Cloud Netflix 到云原生新生态

过去十年,Spring Cloud 凭借 Netflix 全家桶(Eureka、Ribbon、Hystrix、Zuul 等)几乎成为 Java 微服务的事实标准。但随着这些核心组件逐步停止更新或进入维护模式,微服务架构正经历一场深刻的演进。新的微服务架构更加注重 云原生兼容性、社区活跃度、企业级稳定性和低运维…

网络流量分析——基础知识

文章目录所需技能和知识TCP/IP 堆栈和 OSI 模型基本网络概念常用端口和协议IP 数据包和子层的概念协议传输封装环境与设备常见的流量分析工具BPF 语法执行网络流量分析NTA工作流程NTA工作流程网络 - 第 1-4 层OSI / TCP-IP 模型寻址机制MAC地址IP 寻址IPv4IPv6IPv6 寻址类型IPv…

ansible playbook 实战案例roles | 实现基于 IHS 的 AWStats 访问监控系统

文章目录一、核心功能描述二、roles内容2.1 文件结构2.2 主配置文件2.3 tasks文件内容三、files文件内容四、关键价值免费个人运维知识库&#xff0c;欢迎您的订阅&#xff1a;literator_ray.flowus.cn 一、核心功能描述 这个 Ansible Role 的核心功能是&#xff1a;​实现 ​…

DELL服务器 R系列 IPMI的配置

1、iDRAC功能默认都是关闭&#xff0c;需要在BIOS面启用&#xff0c;首先重启计算机&#xff0c;按F2然后进入BIOS&#xff0c;选择iDRAC Setting进行iDRAC配置 2、重置一下idrac卡-重置才能恢复默认密码 3、进入iDRAC Setting之后&#xff0c;选择设置网络Network 4、启用iDRA…

模式组合应用-桥接模式(一)

写在前面Hello&#xff0c;我是易元&#xff0c;这篇文章是我学习设计模式时的笔记和心得体会。如果其中有错误&#xff0c;欢迎大家留言指正&#xff01;文章为设计模式间的组合使用&#xff0c;涉及代码较多&#xff0c;个人觉得熟能生巧&#xff0c;希望自己能从中学习到新的…

【clion】visual studio的sln转cmakelist并使用clion构建32位

我想在linux上运行,所以先转为cmake工程 例如可以把exe mfc 部分不构建,这样ubuntu就不用移植。 先转cmakelist,而后clion完成win32的构建,与vs构建对比,验证脚本正确性。 Vcxproj2CMake https://github.com/gns333/Vcxproj2CMake cmakeconverter https://github.com/pave…