自然语言处理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. 评价

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

相关推荐
技术小黑40 分钟前
RNN算法实战系列04 | LSTM火灾温度预测
rnn·深度学习·lstm·tensorflow2
GuWenyue7 小时前
放弃云端API!一套React+WebGPU本地LLM方案,零数据上传、离线可用
前端·人工智能·前端框架
love530love8 小时前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
墨舟的AI笔记8 小时前
从文本提示到可交互道具:AIGC 生成游戏资产的语义对齐与合规校验
人工智能
rain_sxr9 小时前
逼近上限就裁剪:大模型 Token 计数与前端上下文预算管理
人工智能
资深数据库专家10 小时前
月之暗面Kimi:K3之后,开源怎么走?
人工智能
小林ixn10 小时前
告别“屎山”与“幻觉”:3个核心心法,让你的Vibe Coding体验起飞
人工智能·agent
汤姆小白11 小时前
06-CLI命令参考
人工智能
颜酱11 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端