深圳Yolo 视觉
深圳
立即加入
词汇表

表征工程(RepE)

探索表征工程(RepE),以监控和控制人工智能的行为。了解如何操控Ultralytics 的内部状态,从而构建更安全、可控的模型。

表征工程(RepE)是机器学习领域的一种先进方法,它通过分析和直接 操纵神经网络的内部认知状态(即表征),来监控和控制其 行为。 作为一种针对 人工智能安全与对齐的自上而下方法,RepE将关注点从 单纯修改模型的输入或输出转移开来。相反,它在实时推理过程中读取并改变 大型语言模型和视觉系统的内部隐藏状态, 从而使开发者 无需重新训练 网络,即可引导模型朝着诚实、无害或特定视觉特征等预期概念发展。

表征工程的工作原理

RepE的核心概念在人工智能安全中心(Center for AI Safety)发表的奠基性论文《表征工程》(Representation Engineering)中进行了详尽阐述, 该概念主要分为两个阶段:读取和控制。

在“阅读”阶段,研究人员分析模型的隐藏层是如何编码特定概念的。通过 观察不同提示或图像下的激活函数输出 ,工程师能够从潜空间中分离出与某个概念(例如真实性或特定物体类别) 相对应的具体“方向”。这在很大程度上基于 Anthropic机制可解释性研究,该研究旨在 对神经网络进行逆向工程。

在“控制”阶段,这些被隔离的表征会在 前向传播过程中被人工增强或抑制。这种干预能够实时有效地改变模型的行为,该技术与OpenAI关于构建可控、 可预测的人工智能系统的对齐与安全指南高度契合。

区分 RepE 与相关概念

要全面理解RepE,必须将其与计算机视觉和自然语言处理中常用的其他技术区分开来:

  • 提示词工程这 涉及设计特定的文本或视觉输入,以引导模型的输出。RepE 不会改变输入;它 改变的是模型在内部处理输入的方式。
  • 微调微调会使用自定义数据集永久 更新模型权重, 通常通过Ultralytics 等工具进行管理。RepE 则不更改原始权重,而是运行时对激活值应用动态变换。
  • 特征工程一种 传统的数据预处理步骤,其中由人工专家手动选择数据输入。正如 维基百科中关于特征学习的条目所指出的,RepE 处理的是 模型已经自主学习到的特征。

实际应用

RepE正在推动多个领域内健壮且可控的人工智能取得重大进展,其背后得到了 诸如 麻省理工学院计算机科学与人工智能实验室(MIT CSAIL)在神经网络可解释性方面研究等机构的支持

  • 缓解AI幻觉:通过识别“真实性”的内部表征, 工程师可以在推理过程中人工增强这一信号。这一方法被广泛应用于 减少大型语言模型(LLMs)中的幻觉,从而确保 聊天机器人提供事实信息,而非编造答案。
  • 引导多模态视觉系统: 多模态模型中,RepE 可用于控制 AI 代理的视觉关注点。例如,在自动驾驶中,增强对 “行人危险”的内部表征,可促使模型在复杂环境中优先处理对安全至关重要的检测, 这也是 IEEE 关于 AI 透明度的出版物中重点强调的领域。

在视觉模型中实现概念提取

虽然直接编辑激活函数需要高深的数学处理,但RepE的第一步——读取 表征——可以通过现代深度学习框架来实现。通过利用 PyTorch 钩子文档,开发者可以提取诸如 Ultralytics 模型的内部状态,从而分析视觉概念是如何 被编码的。

from ultralytics import YOLO

# Load the recommended Ultralytics YOLO26 model for state-of-the-art vision tasks
model = YOLO("yolo26n.pt")

# Access the underlying PyTorch model to register a forward hook
pytorch_model = model.model
internal_representations = []


# Define a hook function to capture the output of a specific hidden layer
def hook_fn(module, input, output):
    internal_representations.append(output)


# Attach the hook to a middle layer (e.g., layer index 5) to read representations
handle = pytorch_model.model[5].register_forward_hook(hook_fn)

# Run inference on an image to capture the cognitive state of the model
results = model("https://ultralytics.com/images/bus.jpg")

# The captured representations can now be analyzed for RepE steering
print(f"Captured latent representation shape: {internal_representations[0].shape}")

# Remove the hook to clean up memory
handle.remove()

随着模型日益复杂, TensorFlow 关于表征学习的指南以及 Google 安全研究中所述的技术均强调, 理解并优化这些内部状态,对于构建下一代安全、可靠的人工智能 架构至关重要。

让我们一起共建AI的未来!

开启您的机器学习未来之旅