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

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

牛津大学xDeepMind 自然语言处理 Natural Language Processing

文本分类
  1. 分类基础

    1. 分类任务

      邮件垃圾识别、评论负面分析、文章主题识别、推文标签预测、年龄/性比预测、语言识别、情感分析等

    2. 任务类型

      二元(true ,false)、多类(politics,sports,gossip)、多标签分类(#party #FRIDAY #fail)及聚类(labels unknown)

    3. 分类方法

      手动(准确但慢)、基于规则的分类Rule-based(依赖规则)、统计分类Statistical(需要分类好的训练数据)

  2. 统计文本分类

    1. 核心

      学习P(c|d) (文本d属于类别c的概率)

    2. 两阶段

      1. 文本表示:将文本处理为某种固定形式,即如何学习d
      2. 分类:根据该表示形式对文档进行分类,即如何学习P(c|d)
    3. 分类方法

      1. 词袋模型 Bag of Words (BOW):简单但大小不固定、忽略句子结构
      2. 手工构建的特征 Hand-crafted features:可完全控制,能利用nlp处理管道,特定于类别的特征,但过于具体、不完整,依赖nlp处理管道
      3. 学习到的特征表示 Learned feature representation:可以学习包含所有相关信息,但需要进行学习
  3. 模型相关

    1. 生成与判别模型 Generative vs. Discriminative Models

      1. 生成(联合)模型:P(c,d)

        对各个类别的分布进行建模,并对观察到的数据和隐藏变量(如标签)赋予概率。

        例如:n元模型、隐马尔可夫模型、概率上下文无关文法、IBM机器翻译模型、朴素贝叶斯等

      2. 判别(条件)模型:P(c|d)

        学习类别之间的边界。将数据视为给定的,并在给定数据的情况下对隐藏结构赋予概率。

        例如:逻辑回归、最大熵模型、条件随机场、支持向量机等

    2. 朴素贝叶斯 Naive Bayes classifier

      基于贝叶斯法则P(c|d) = P© P(d|c) / p(d),属生成模型.

      1. 优点:简单、可解释、快速、文本表示简单(词袋模型)
      2. 缺点:独立性假设往往过于严格、不考虑句子/文档结构、朴素分类器存在零概率问题、平滑处理较麻烦
    3. 特征表示 Feature Representations

      文本的特征表示可以看作是一个向量,其中每个元素表示某个特征在文档中的存在或不存在。

      特征可以是二元的(存在/不存在)、多项式的(计数)或连续的(如TF-IDF加权)

    4. 逻辑回归 Logistic Regression

      如果我们只想对文本进行分类,不需要生成模型的全部功能,判别模型就足够了,只想学习P(c|d) ,逻辑回归是一个通用框架,“逻辑”是因为它使用逻辑函数,“回归”是将特征向量d与权重β结合起来计算结果。

      判别模型,用逻辑/softmax函数。

      1. 优点:简单、可解释、不假设特征之间的统计独立性
      2. 更难学习、手工设计特征成本更高、不一定能很好地泛化
  4. 深度学习方法

    1. RNN

      利用RNN的隐藏状态表示文本,可结合逻辑回归等分类器,也可将分类函数融入网络,使用交叉熵损失训练,可扩展到多标签分类,还可结合语言模型目标构建双目标RNN及使用双向RNN

      RNN分类器类型:可分为生成模型或判别模型,取决于是否建模文本概率等

    2. 其他神经网络

      递归神经网络(遵循句法结构进行组合)、卷积神经网络(可从图像分类适应到文本,利用卷积和池化操作)

NLP的软件和硬件
  1. motivation

    缩短解决问题时间很重要,有些事情取决于用户

  2. CPU vs GPU

    设计决定性能

    1. 设计差异:CPU优化低延迟;GPU优化高吞吐量
    2. 性能差距:GPU在理论单精度GFLOP/s和峰值带宽上远优于CPU
  3. 屋顶线模型 Roofline Model

    1. 定义:分析算法计算强度与浮点吞吐量关系的工具
    2. 计算强度:不同操作有不同值,LSTM待确定
  4. LSTM的计算分析

    1. 计算操作:不同批次大小下的公式和操作
    2. 比率分析:浮点运算与字节的比率
    3. 受限情况:内存和浮点运算受限,探讨小批次选择
  5. LSTM网络级优化

    1. 减少内存流量:随时间展开、释放依赖关系、随时间融合操作等
    2. 减少开销:融合逐点操作到一个内核
    3. 提高并行性:使用流+层等
    4. 优化效果:显著提升速度
  6. cuDNN

    1. cuDNN:英伟达的神经网络加速库
  7. 总结

    硬件和软件选择影响性能,可能需额外工作获最佳性能

http://www.dtcms.com/a/339544.html

相关文章:

  • 【驱动】RK3576:桌面操作系统基本概念
  • 存储系统中的“脏数据”(Dirty Data)概念及其常见误解
  • uniapp 5+App项目,在android studio模拟器上运行调试
  • 光学件加工厂倚光科技:陪跑光学未来力量
  • 算法——质数筛法
  • 强化学习-CH3 最优状态值和贝尔曼最优方程
  • Spring Cloud——服务注册与服务发现原理与实现
  • 零基础从头教学Linux(Day 15)
  • sfc_os!SfcValidateDLL函数分析之cache文件版本
  • “R语言+遥感”的水环境综合评价方法实践技术应用
  • 告别 Dify 工作流,让 NL2SQL 落地更直接
  • 【动态规划:路径问题】最小路径和 地下城游戏
  • JCTools Spsc:单生产者-单消费者无锁队列
  • 使用 Map 存储值和使用对象object储存的区别
  • 18.web api 9
  • C++高频知识点(二十七)
  • three.js学习记录(第三节:平面几何体BufferGeometry)
  • ADSP-21565开发板和ADSP-21569开发板的底板设计区别
  • ComfyUI 里的 Prompt 插值器(prompt interpolation / text encoder 插值方式)的含义和作用!
  • 通信方式:命名管道
  • nuc设置脚本开机自启动
  • 9.Ansible管理大项目
  • 实现LoRa通信与低功耗流程(无SPI中断)
  • Pegasus,HBASE,Redis比较
  • UML常见图例
  • 源代码部署 LAMP 架构
  • C++小游戏NO.1游戏机
  • 通过分布式系统的视角看Kafka
  • Gemini CLI 最近版本更新说明(v0.1.17~v0.1.22)
  • pyecharts可视化图表K线图_Candlestick:从入门到精通 (进阶版)