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

牛津大学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.xdnf.cn/news/18298.html

相关文章:

  • 工业电脑选得好生产效率节节高稳定可靠之选
  • C/C++ 与嵌入式岗位常见笔试题详解
  • Mac电脑上虚拟机共享文件夹权限问题
  • vscode连接docker
  • WIFI国家码修改信道方法_高通平台
  • 精品方案 | GCKontrol与OMNeT++联合仿真在机载网络性能分析中的应用
  • mvdr波束形成
  • Linux系统之部署nullboard任务管理工具
  • ios八股文 -- Objective-c
  • iOS 应用上架常见问题与解决方案,多工具组合的实战经验
  • Node.js中的Prisma应用:现代数据库开发的最佳实践
  • 单片机通信协议核心关系梳理笔记(UART/USART/232/485/SPI/12C/LIN/BLE/WIFI)
  • leetcode7二分查找_69 and 34
  • 链表的核心:“增删改查”
  • Nginx 负载均衡和缓存配置
  • 【软考架构】净室软件工程
  • Gin自定义Error中间件
  • SQL-leetcode— 2356. 每位教师所教授的科目种类的数量
  • 手机 浏览器调用摄像头扫描二维码Quagga
  • 2026 济南淀粉深加工展览会亮点:玉米科技与未来产业发展
  • 03-dockerfile
  • C++继承中的虚函数机制:从单继承到多继承的深度解析
  • 【ansible】2.实施ansible playbook
  • 机器学习算法核心总结
  • 静/动态库 IIC(arm) day58
  • 医疗问答应用:UniApp + Node.js + DeepSeek API
  • Objective-C 版本的 LiveEventBus 效果
  • 直流无刷(BLDC)电机、单相直流无刷电机、三相直流无刷电机、单相直流无刷电机驱动芯片
  • 齐次线性方程组最小二乘解
  • 从零开始学AI——13