自然语言处理NLP(2)

word2vec改进

word2vec:单词向量化

  1. trouble

    1. 当语料库很大时,仅one-hot本身就需要占用非常多元素的内存大小,还需要计算one-hot表示和输入权重矩阵的乘积:引入新的Embedding层
    2. 当语料库很大时,中间层和输出权重矩阵的成绩需要大量计算,Softmax层的计算量也大:引入Negative Sampling损失函数
  2. Embedding层:单词ID对应行

    在forward时,提取单词ID对应的向量

  3. Negative Sampling:负采样

    用二分类问题来拟合多分类问题

    负采样方法既可以求将正例作为目标词时的损失,同时也可以采样若干个负例,对这些负例求损失,然后将上述的两种损失加起来,作为最终的损失

    1. 如何选出若干个负例?

      基于语料库的统计数据进行采样,计算语料库中各个单词的出现次数,表示为概率分布,使用概率分布对单词进行采样,让语料库中经常出现的单词容易被抽到

  4. word2vec的应用

    1. 迁移学习:先在大规模语料库上学习,将学习好的分布式表示应用于某个单独的任务

    2. 单词向量化

RNN 循环神经网络
  1. 概念区分:

    前馈神经网络:网络的传播方向是单项的,比如,输入层将输入信号传给隐藏层,接收到后又传给下一层,然后再传给下一层,,,,信号在一个方向上传播

    这种网络不能很好地处理时间序列数据,RNN循环神经网络用来解决这类问题

  2. 语言模型 language model

    给出单词序列发生的概率,使用概率来评估一个单词序列发生的可能性,即在多大程度上是自然的单词序列

  3. 马尔科夫性:未来的状态仅依存于当前状态

  4. RNN Recurrent Neural Network 循环神经网络

    1. 循环:反复并持续

    2. rnn拥有一个环路,可以使数据不断循环,通过循环,rnn一边记住过去的数据,一边更新到最新的数据

    3. 结构

      Wh:前一个RNN层的输出转化为当前时刻的输出的权重

      Wx:输入x转为化输出h的权重

      b:偏置

    4. BPTT

      基于时间的反向传播:按时间顺序展开的神经网络的误差反向传播法

    5. Truncated BPTT

      截断的BPTT:处理长时序数据时,通常将网络连接截成适当的长度,对截出来的小型网络执行误差反向传播法

      但只是网络的反向传播的连接被截断,正向传播的连接依然被维持

    6. Truncated BPTT的mini_batch学习

      对各个批次中的输入数据的开始位置进行偏移

  5. RNNLM RNN Language Model RNN 语言模型

    Embedding -> rnn -> Affine -> Softmax

  6. 评价

    困惑度(平均分叉度):概率的倒数;困惑度越小越好

相关推荐
AI_gurubar1 小时前
大模型教机器人叠衣服:2025年”语言理解+多模态融合“的智能新篇
人工智能·机器人
搏博2 小时前
基于Python3.10.6与jieba库的中文分词模型接口在Windows Server 2022上的实现与部署教程
windows·python·自然语言处理·flask·中文分词
XINVRY-FPGA2 小时前
EPM240T100I5N Altera FPGA MAX II CPLD
人工智能·嵌入式硬件·fpga开发·硬件工程·dsp开发·射频工程·fpga
HuggingFace3 小时前
开源开发者须知:欧盟《人工智能法案》对通用人工智能模型的最新要求
人工智能
Coovally AI模型快速验证4 小时前
农田扫描提速37%!基于检测置信度的无人机“智能抽查”路径规划,Coovally一键加速模型落地
深度学习·算法·yolo·计算机视觉·transformer·无人机
媒体人8884 小时前
GEO 优化专家孟庆涛:技术破壁者重构 AI 时代搜索逻辑
大数据·人工智能
小菜AI科技4 小时前
Windsurf 评测:这款 人工智能 IDE 是你需要的颠覆性工具吗?
人工智能
RaymondZhao344 小时前
【全面推导】策略梯度算法:公式、偏差方差与进化
人工智能·深度学习·算法·机器学习·chatgpt
zhangfeng11335 小时前
DBSCAN算法详解和参数优化,基于密度的空间聚类算法,特别擅长处理不规则形状的聚类和噪声数据
算法·机器学习·聚类
yzx9910135 小时前
小程序开发APP
开发语言·人工智能·python·yolo