深度学习-03-NLP强化训练

🚀 Day03 - NLP强化训练

📖 导读

第三天,强化训练,掌握更多细节。


🔄 核心知识点回顾

1. 分词与向量化

python 复制代码
import jieba
from tensorflow.keras.preprocessing.text import Tokenizer

# 分词
words = jieba.lcut("自然语言处理")

# 向量化
tokenizer = Tokenizer()
tokenizer.fit_on_texts(corpus)
X = tokenizer.texts_to_sequences(texts)

💪 深入RNN系列

2.1 双向RNN

python 复制代码
bi_rnn = nn.RNN(input_size, hidden_size, num_layers=2, bidirectional=True)
output, hidden = bi_rnn(x, h0)
# output.shape: (seq, batch, hidden*2)

2.2 深层RNN

python 复制代码
deep_rnn = nn.RNN(input_size, hidden_size, num_layers=3)
# 层数越多,梯度传播越困难

🎯 注意力机制详解

3.1 注意力公式

复制代码
Attention(Q, K, V) = softmax(QK^T / √d) * V

3.2 矩阵乘法BMM

python 复制代码
A = torch.randn(3, 4, 5)
B = torch.randn(3, 5, 6)
C = torch.bmm(A, B)  # (3, 4, 6)

🔥 Transformer深化

4.1 多头注意力

python 复制代码
class MultiHeadAttention(nn.Module):
    def __init__(self, embed_size, heads):
        super().__init__()
        self.heads = heads
        self.head_dim = embed_size // heads
        
        self.W_q = nn.Linear(embed_size, embed_size)
        self.W_k = nn.Linear(embed_size, embed_size)
        self.W_v = nn.Linear(embed_size, embed_size)
        
    def forward(self, q, k, v, mask=None):
        # 分头 -> 注意力 -> 拼接
        return output

4.2 位置编码

python 复制代码
class PositionalEncoding(nn.Module):
    def __init__(self, embed_size, max_len=5000):
        super().__init__()
        pe = torch.zeros(max_len, embed_size)
        position = torch.arange(0, max_len).unsqueeze(1)
        div_term = torch.exp(torch.arange(0, embed_size, 2) * (-math.log(10000.0) / embed_size))
        pe[:, 0::2] = torch.sin(position * div_term)
        pe[:, 1::2] = torch.cos(position * div_term)
        self.register_buffer('pe', pe)
    
    def forward(self, x):
        return x + self.pe[:x.size(0)]

🚀 实战技巧

5.1 梯度裁剪

python 复制代码
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)

5.2 学习率调度

python 复制代码
scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=2, gamma=0.1)

📝 总结

Day03深入RNN系列和Transformer核心机制。

相关推荐
修己xj4 小时前
GoTab:打造属于你自己的个性化浏览器新标签页
开源
ZhengEnCi4 小时前
09bad-斯坦福CS336作业一-构建优化器
人工智能
ZhengEnCi5 小时前
09bac-斯坦福CS336作业一-实现训练损失计算
人工智能
冬奇Lab5 小时前
Skill 系列(01):Skill 评测体系——如何量化一个 AI Skill 的质量
人工智能
IT_陈寒8 小时前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
用户35218024547510 小时前
🎆从 Prompt 到 Skill:让 Spring AI Agent 学会"装新技能"
人工智能·spring boot·ai编程
蝎子莱莱爱打怪10 小时前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
米小虾10 小时前
手把手教你搭建第一个生产级AI Agent:从选型到实战的完整指南
人工智能·agent
任沫10 小时前
Agent之Function Call
javascript·人工智能·go
米小虾10 小时前
2026年AI Agent全面爆发:从开源生态到企业级应用的进化之路
人工智能·agent