1. 深度学习核心概念全景解析
在深度学习领域摸爬滚打多年后,我深刻体会到理解基础概念的重要性。就像建房子需要稳固的地基,掌握这些核心术语能让你在模型调优时事半功倍。今天我们就来深入探讨五个关键概念:嵌入向量、表征、潜向量、Batch和学习率。
提示:本文假设读者已具备基础的机器学习知识,但会尽量用生活化类比解释复杂概念。建议边阅读边在Jupyter Notebook中实践代码示例。
1.1 嵌入向量:从离散符号到连续空间
我第一次接触词向量是在2013年Word2Vec论文发表后。当时被一个简单演示震撼了:vec("king") - vec("man") + vec("woman") ≈ vec("queen")。这揭示了嵌入向量的本质——将离散对象映射到连续向量空间,同时保留语义关系。
技术实现细节:
- 嵌入层本质是一个查找表,通过
nn.Embedding(vocab_size, embedding_dim)实现 - 维度选择需要权衡:Glove常用300维,BERT-base采用768维
- 训练方式分为:
- 静态嵌入:预训练后固定(如Word2Vec)
- 动态嵌入:随模型微调(如BERT的token嵌入)
python复制# 进阶嵌入示例:使用预训练GloVe
import torchtext.vocab as vocab
glove = vocab.GloVe(name='6B', dim=100)
print(glove['apple'].shape) # 输出: torch.Size([100])
print(glove['apple'][:5]) # 查看前5维数值
常见误区:
- 认为嵌入维度越高越好(实际可能引入噪声)
- 忽略OOV(Out-Of-Vocabulary)问题处理
- 混淆token嵌入与position嵌入的作用
1.2 表征学习:神经网络的认知革命
2012年AlexNet的成功证明了深度网络自动学习特征的能力。在我参与的图像分类项目中,通过可视化不同层的激活,清晰看到了从边缘->纹理->部件->物体的层次化表征形成过程。
典型网络层的表征能力:
| 网络层类型 | 输入尺寸 | 输出特征 | 适用场景 |
|-
