微信扫码
添加专属顾问
我要投稿
一、NNLM的基本原理
减少维度灾难:传统的独热编码方式在词汇表很大时会导致向量维度极高,而分布式表示则通过低维向量表示单词,大大减少了计算复杂度。
捕捉语义信息:分布式表示能够捕捉到单词之间的语义相似性,使得在向量空间中相似的单词具有相近的表示,这对于处理NLP任务至关重要。
提高模型泛化能力:由于分布式表示能够捕捉到单词之间的语义关系,因此模型在处理未见过的单词或句子时具有更好的泛化能力。
二、NNLM的网络架构
词嵌入层(C):将词汇表中的每个词汇转换成一个实值向量。这些向量代表了词汇的分布式特征,即它们不仅仅表示词汇本身,还包含了词汇在不同上下文中的语义信息。
概率函数(g):
根据给定的上下文信息来预测下一个词汇出现的概率。由多个词汇组成的上下文(比如前面的n-1个词汇),概率函数g会利用这些词汇的向量表示(即词嵌入层输出的向量)来估计下一个词汇出现的概率分布。
NNLM的网络架构:根据《A Neural Probabilistic Language Model》中的描述,NNLM主要由输入层、隐藏层及输出层三部分组成。通过输入层接收前文单词序列的向量表示,在隐藏层中捕捉复杂的语言结构,最后在输出层输出每个单词作为下一个词出现的概率分布。
作用:输入层负责接收原始数据,并将其转换为神经网络可以处理的格式。在自然语言处理中,输入层通常接收的是词汇的向量表示,即词嵌入(word embedding)。
上下文词汇向量:如上文所述,输入层连接的是上下文词汇向量x = (C(wt-1), C(wt-2), …, C(wt-n+1)),其中C(wt-i)表示在时间步t-i时词汇wt-i的词嵌入向量。这些向量共同构成了神经网络的输入。
隐藏层
作用:隐藏层是神经网络中的核心部分,负责学习数据的复杂特征表示。在自然语言处理中,隐藏层通常包含多个神经元,并且这些神经元之间以及与前一层和下一层之间都有连接。
非线性激活函数:为了引入非线性,隐藏层中的神经元通常使用非线性激活函数,如双曲正切函数(tanh)。激活函数使得神经网络能够学习非线性关系,从而捕捉数据的复杂模式。
权重和偏置:隐藏层中的每个神经元都与其前一层的神经元通过权重矩阵U和H(以及偏置向量d)相连接。这些权重和偏置在训练过程中被学习,以最小化预测误差。
作用:输出层是神经网络的最后一层,负责产生最终的预测结果。在自然语言处理中,输出层通常使用softmax函数将隐藏层的输出转换为概率分布,以便在每个时间步预测下一个词汇。
softmax函数:softmax函数将隐藏层的输出转换为概率分布P^(wt | wt-1, …, wt-n+1)。这个概率分布表示在给定上下文条件下,每个词汇作为下一个词汇的概率。
预测:最终,神经网络通过选择概率最高的词汇作为预测结果。
三、NNLM的模型训练
更新参数 θ
其中 ϵ 是学习率。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-02-07
程序员的最后一块拼图:为什么你必须学会用 Claude Code?
2026-02-07
OpenClaw 爆火却难部署?用 Cherry Studio 一键解锁,零门槛打造你的超级 AI Agent
2026-02-06
国产最强 AI 进军终端!Kimi Code CLI 正式发布,让你的命令行直接起飞
2026-02-06
AI记忆正成为新操作系统:检索已过时,生成式记忆才是未来
2026-02-06
简单就是美!Claude Code Ralph循环机制详解
2026-02-06
OpenAI 发布 GPT-5.3-Codex,一文详解
2026-02-06
火拼升级!OpenAI、Anthropic同日发布新模型,一个能替你写代码,一个能替公司管流程
2026-02-06
Claude Code最佳实践
2026-01-24
2026-01-10
2025-11-19
2025-11-13
2026-01-26
2026-01-01
2025-12-09
2025-11-12
2025-12-21
2026-01-09
2026-02-07
2026-02-04
2026-02-03
2026-02-03
2026-02-02
2026-02-02
2026-02-02
2026-01-31