## 1️⃣ 什么是「表征学习」? **表征学习(Representation Learning)** 的核心目标是: > **让模型自己从原始数据里,把“难用的原料”提炼成“好用的特征向量”。** - 过去:用 SIFT、TF-IDF、统计指标等**手工特征**。 - 现在:把“找特征”这件事**交给模型本身**,常见形式是深层神经网络。它会在多层非线性变换中,逐级抽象 raw data → 低级特征 → 高级语义向量。 这样得到的向量(embeddings)能被后续任务 **直接检索、分类、生成**,且迁移性强——一句话:**模型先学“看懂”,再谈“做对”。** --- ## 2️⃣ 表征学习与「神经网络」的关系 |角色|职责|关键词| |---|---|---| |**表征学习**|目标:产出有用特征|“学到 **表示**”| |**神经网络**|工具:实现这个目标|“拿来 **学习**”| - **深度神经网络(DNN)**天然就是一台多层的“特征加工厂”: - **底层卷积层 / 线性层** → 边缘、频率等**低级特征** - **中层** → 纹理、局部图案、n-gram**中级特征** - **高层** → 物体类别、句子语义、用户意图等**高级表示** > **表征学习 = 目标;神经网络 = 达成目标的最流行手段。** --- ## 3️⃣ Transformer 在这张关系网里的位置 ```Java 表征学习 └── 深度学习 └── 神经网络架构 ├── CNN → 空间局部感受野,擅长图像 ├── RNN/LSTM → 顺序递归,擅长短文本/语音 └── **Transformer** → 全局自注意力,擅长长序列、跨模态 ``` ### Transformer 的两点独特贡献 1. **自注意力 (Self-Attention)** - 每个位置都能直接“看到”全局上下文 → 产生更**丰富、互相关联**的表示。 - 比 RNN 并行度高;比 CNN 接收野大,擅长捕获**长程依赖**。 2. **层叠式 Encoder/Decoder** - Encoder 输出的 **contextual embeddings**(如 BERT、CLIP-Image)就是高级表征,可供下游分类、检索、对齐。 - Decoder 利用这些表征进行 **生成**(GPT 系列)。 > 因而 **Transformer = 一种特别擅长表征学习的神经网络架构**。它把“学特征”这事儿推向了“用上下文自适应地学全局特征”的新高度。 --- ## 4️⃣ 一个类比帮你秒懂 - **表征学习** 像是在炼金:把杂质(原始像素、字符)炼成 24K 金(高维语义向量)。 - **神经网络** 就是炼金炉;炉子有不同型号: - **CNN**:擅长熔炼局部块。 - **RNN**:擅长按顺序慢熬。 - **Transformer**:加了全息搅拌器,能一次性把所有材料混匀、提纯——效果最好也最通用。 --- ## 5️⃣ 你可以如何进一步探索? 1. **亲手查看表示** - 用 `torch.nn.TransformerEncoder` 跑一句话,取每层输出向量,用 t-SNE 可视化,看语义分组效果。 2. **对比不同架构的表征质量** - 在同一数据集上 freeze 网络,只微调最后一层分类器,观察 CNN vs. Transformer 的少样本准确率差距。 3. **尝试自监督表征学习** - 复现 BERT 的 Masked LM 或 SimCLR 的对比损失,体会无需显式标签也能学好表示的乐趣。 --- ### 一句话收束 > **表征学习是目标;神经网络是方法;Transformer 是当下学高质量表征的“明星炉子”。** 懂了这层关系,再去选技术或读论文,会豁然开朗。 ___ 下面是一棵从 **“人工智能”→“对比学习”** 的概念树,层级越往下越具体。 (缩进代表从属关系,➜ 号后面是对该节点的 1-句话说明,方便快速定位范畴。) ```Java 人工智能 (AI) └── 机器学习 (Machine Learning) ➜ 让机器从数据中归纳经验 ├── 传统机器学习 (如 SVM、随机森林) └── 深度学习 (Deep Learning) ➜ 以多层神经网络为核心 ├── 任务视角 │ ├── 监督学习 ➜ 有人工标签 │ ├── 无监督学习 ➜ 只有输入数据 │ └── 自监督 / 半监督学习 ➜ 利用数据内部结构生成训练信号 ├── 表征学习 (Representation Learning) ➜ 学“特征向量”而非直接预测 │ ├── 自动编码器 (AutoEncoder) │ ├── 生成式模型 (VAE、GAN) │ └── **自监督表征学习** │ ├── **对比学习 (Contrastive Learning)** ← 本次主题 │ │ ├── 基本思想 ➜ “相似聚合、不同分离” │ │ ├── 损失函数 │ │ │ ├── InfoNCE / NT-Xent │ │ │ └── Triplet / Quadruplet Loss │ │ ├── 核心技术点 │ │ │ ├── 正负样本构造策略 │ │ │ ├── 大批次或动量队列 (SimCLR, MoCo) │ │ │ └── 免负样本技术 (BYOL, SimSiam, VICReg) │ │ └── 典型应用 │ │ ├── 视觉 (SimCLR, MoCo, BYOL) │ │ ├── 语言 (SimCSE, CoCLR) │ │ ├── 跨模态 (CLIP, ALIGN) │ │ └── 音频 / 时序 (TS-TCC, Wav2Vec) │ └── 其它自监督方法 │ ├── 预测式 (Mask/Next-token Predict, BERT, MAE) │ └── 排序 / 匹配式 (Sentence Order, Permute) └── 领域与架构 ├── 计算机视觉 (CNN, ViT) ├── 自然语言处理 (RNN, Transformer, LLM) ├── 语音、推荐、图神经网络 (GNN) … ``` ## 如何快速定位? - 想知道它在哪门课里:**深度学习 → 表征学习 → 自监督 → 对比学习** - 想找同类技术:同一层级上还有掩码预测(BERT/MAE)、生成式自监督(VAE、GAN)等。 - 想知道用到哪些架构:在视觉多用 CNN/ViT,在文本多用 Transformer,在跨模态常把两种编码器一起对比(如 CLIP 的 ViT + Text Transformer)。 这样,你就能迅速看清 **“对比学习” 在整张 AI 技术版图中的位置**。有需要深入哪一支,告诉我即可!