cs231n assignment1 Q4 softmax梯度推导

本文详细推导了斯坦福cs231n课程2017年版assignment1的第四题,涉及网络结构为输入-全连接层-ReLU-全连接层-softmax。针对每个训练样本,定义并计算了损失函数,然后推导了从softmax层到第二全连接层权重W2的梯度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文推导了斯坦福课程cs231n(2017)assignment1 Q4的反向传播梯度

网络结构为
输入–全连接层–ReLU–全连接层–softmax
XH=XW1+b1R=max(0,H)F=RW2+b2softmax X − H = X W 1 + b 1 − R = max ( 0 , H ) − F = R W 2 + b 2 − softmax
其中, X X 为输入,每一行表示一个样本, W 1 W 2 分别为第一和第二连接层的权重, b1b2 b 1 , b 2 分别为第一和第二连接层的偏置。 F F 为第二连接层的输出(score)。
首先定义损失函数,对于每个训练样本,损失函数定义如下

L i = log ( e F i , y i j e F i , j ) .

总的损失函数为所有样本损失函数的均值加上正则项

L=1NiLi+λ(klW21kl+klW22kl). L = 1 N ∑ i L i + λ ( ∑ k ∑ l W 1 k l 2 + ∑ k ∑ l W 2 k l 2 ) .


pi,k=
### CS224N Assignment 1 中与 Word2Vec 相关的内容 在自然语言处理领域,Word2Vec 是一种用于生成词向量的技术。其核心思想在于通过上下文关系学习单词的分布式表示[^3]。具体而言,在给定中心词 \(c\) 和周围窗口大小的情况下,目标是从语料库中预测周围的“外部词”。这种技术通常被实现为两种模型:Skip-gram 和 CBOW。 #### 资源推荐 对于 CS224N 的 Assignment 1,官方文档和讲义提供了详细的指导材料。以下是关于如何完成 Word2Vec 部分的一些提示: 1. **理论基础** 学习 Word2Vec 的基本原理可以从 Dan Jurafsky 和 James H. Martin 合著的《Speech and Language Processing》第三版草稿入手[^4]。该书详细介绍了神经网络模型及其应用背景。 2. **实践指南** 官方作业文件会提供 Python 实现框架以及数据集准备方法。重点理解负采样(Negative Sampling)、Softmax 函数优化等内容。以下是一个简单的 Skip-gram 模型实现示例: ```python import torch import torch.nn as nn import torch.optim as optim class SkipGramModel(nn.Module): def __init__(self, vocab_size, embedding_dim): super(SkipGramModel, self).__init__() self.embeddings = nn.Embedding(vocab_size, embedding_dim) def forward(self, target_word_indices): embeds = self.embeddings(target_word_indices) return embeds # Example usage vocab_size = 10000 embedding_dim = 100 model = SkipGramModel(vocab_size, embedding_dim) loss_function = nn.CrossEntropyLoss() optimizer = optim.Adam(model.parameters(), lr=0.001) ``` 上述代码片段展示了如何定义一个基于 PyTorch 的嵌入层并计算损失函数。 3. **调试技巧** 如果遇到收敛速度慢或者结果不理想的情况,可以尝试调整超参数如批量大小、学习率等;另外也可以引入更高效的梯度下降算法比如 Adam 或 RMSProp 来加速训练过程。 #### 注意事项 务必仔细阅读每一步的要求说明,并按照指定格式提交最终成果。此外,建议多查阅论坛上的讨论帖以获取额外的帮助和支持[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值