理解神经网络中的表示学习(附 PyTorch 示例)

发布: (2026年3月13日 GMT+8 01:22)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的具体文本内容,我将为您翻译成简体中文。

引言

深度学习系统之所以强大,是因为它们能够自动学习数据的表征。与工程师手动设计特征不同,神经网络在训练过程中自行发现模式。这种能力被称为 表征学习,是现代 AI 模型优于传统机器学习方法的核心原因。从图像识别到大型语言模型,表征学习推动了人工智能的诸多突破。

什么是表征学习?

表征学习指模型将原始输入数据转换为有意义的内部特征,以帮助完成任务的能力。传统机器学习通常依赖人工设计的特征,而深度神经网络通过训练自动学习这些表征。

传统特征 vs. 学习特征

问题传统特征学习到的表征
图像分类边缘、颜色直方图分层视觉特征

神经网络的每一层都会将输入数据转换为更抽象的表征,逐步细化数据的表征。

分层特征提取

在计算机视觉中,学习到的特征的层次通常如下:

  1. 边缘 – 梯度的低层检测器。
  2. 纹理 – 由边缘组合形成的模式。
  3. 物体部件 – 对纹理的更高层次分组。
  4. 完整物体 – 完整的语义概念。

网络越深,表示越抽象,这也是深度神经网络在建模复杂模式方面表现出色的原因。

示例:PyTorch 中的简单神经网络

以下是一个最小的 PyTorch 模型,演示隐藏层如何将输入数据转换为内部表征。

import torch
import torch.nn as nn

class SimpleRepresentationNet(nn.Module):
    def __init__(self):
        super().__init__()
        self.layer1 = nn.Linear(10, 32)
        self.layer2 = nn.Linear(32, 16)
        self.output = nn.Linear(16, 2)

    def forward(self, x):
        x = torch.relu(self.layer1(x))
        x = torch.relu(self.layer2(x))
        return self.output(x)

model = SimpleRepresentationNet()
x = torch.randn(1, 10)
prediction = model(x)
print(prediction)

层转换

转换
输入原始 10‑维向量
层 1线性 → ReLU (10 → 32)
层 2线性 → ReLU (32 → 16)
输出线性 (16 → 2)

在训练过程中,网络会学习哪些内部表征最能解决任务,从而无需手动进行特征工程。

对关键 AI 技术的影响

  • 卷积神经网络 (CNNs) – 从原始像素中学习空间特征。
  • Transformer 模型 – 学习上下文令牌表示。
  • 推荐系统 – 将用户行为编码为潜在向量。
  • 语音与音频模型 – 将声学信号转换为语言表示。

这些内部表示使神经网络能够超越训练数据进行泛化。

大语言模型中的表征学习

典型工作流程:

  1. Tokenization – 将标记转换为嵌入。
  2. Attention layers – 精炼上下文关系。
  3. Hidden states – 成为丰富的语义表征。
  4. Output layers – 将表征转换为预测。

此过程使模型能够捕获诸如语义相似性、句法和上下文依赖等关系,而无需任何显式特征工程。

相关概念

  • Feature Learning
  • Embeddings
  • Latent Representations
  • Transformer Attention
  • Self‑Supervised Learning

这些理念共同构成了现代 AI 架构的基础。

结论

表征学习是一项关键创新,使深度学习模型能够自动发现有意义的特征。通过此方式,神经网络可以在以下领域的复杂任务和海量数据集上进行扩展:

  • 计算机视觉
  • 语音识别
  • 自然语言处理
  • 生成式 AI

理解表征学习对于构建视觉系统、训练语言模型或开发推荐引擎的任何人来说都是必不可少的。

0 浏览
Back to Blog

相关文章

阅读更多 »

PyTorch 可视化入门

PyTorch 目前是最受欢迎的深度学习框架之一。它是基于 Torch 库构建的开源库。大多数教程假设你是 c...