深度学习中的表征乐观主义质疑: Fractured Entangled Representation 假说
akarshkumar0101/fer
文件夹和文件
名称| 名称| 最后提交消息| 最后提交日期
---|---|---|---
最新提交
历史
3 次提交
assets| assets
data| data
picbreeder_genomes| picbreeder_genomes
src| src
.gitignore| .gitignore
LICENSE| LICENSE
README.md| README.md
requirements.txt| requirements.txt
查看所有文件
仓库文件导航
The Fractured Entangled Representation Hypothesis
📝Paper PDF
Akarsh Kumar1, Jeff Clune2,3, Joel Lehman4, Kenneth O. Stanley5 1MIT, 2University of British Columbia, 3Vector Institute, 4University of Oxford, 5Lila Sciences
摘要
现代AI的许多兴奋之处都源于对现有系统进行扩展可以带来更好性能的观察。但是,更好的性能是否一定意味着更好的内部表征?虽然表征乐观主义者认为这是必然的,但本文对这种观点提出了挑战。我们将通过开放式搜索过程演化的神经网络与通过传统的随机梯度下降 (SGD) 训练的网络在生成单个图像的简单任务上进行比较。这种最小设置提供了一个独特的优势:每个隐藏神经元的完整功能行为都可以轻松地可视化为图像,从而揭示网络的输出行为如何在内部逐个神经元地构建。结果令人震惊:虽然两个网络都产生相同的输出行为,但它们的内部表征却截然不同。经过 SGD 训练的网络表现出一种我们称之为 fractured entangled representation (FER) 的无序形式。有趣的是,进化后的网络在很大程度上缺乏 FER,甚至接近于 unified factored representation (UFR)。在大型模型中,FER 可能会降低模型的核心能力,例如泛化、创造力和(持续)学习。因此,理解和减轻 FER 对于表征学习的未来至关重要。
更多数据和可视化
中间特征图:
- Skull:
- Butterfly:
- Apple:
所有权重扫描:
- Skull:
- Butterfly:
- Apple
论文中选择的权重扫描:
- Skull:
- Butterfly:
- Apple
其他资源
论文中的所有其他重要资源都可以在 ./assets/ 中找到。
代码
- 从论文中加载 picbreeder 基因组
- 将其分层化为 MLP 格式
- 训练一个 SGD 网络来模仿该输出
- 可视化内部表征
- 进行权重扫描并可视化结果
Google Colab
为了快速开始,请在 Google Colab 中打开 src/fer.ipynb:
本地运行
git clone https://github.com/akarshkumar0101/fer
然后,使用 conda 设置 Python 环境:
conda create --name=fer python=3.10.16 --yes
conda activate fer
现在您可以安装这些库。 版本控制需要非常具体。 但是,如果您不需要训练 SGD 网络来使用结果; 在这种情况下,您可以按照官方指南简单地安装 jax 的 CPU 版本。
python -m pip install jax==0.4.28 jaxlib==0.4.28+cuda12.cudnn89 -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html --no-cache-dir
python -m pip install flax==0.10.2 evosax==0.1.6 orbax-checkpoint==0.11.0 optax==0.2.4 --no-deps
然后,安装所有其他必要的 Python 库:
python -m pip install -r requirements.txt
现在您可以运行 notebook src/fer.ipynb,该 notebook 快速涵盖了您需要的一切。 但是,以下是有关文件结构的一些其他详细信息:
- ./assets 包含论文中的其他数据和所有资源
- ./picbreeder_genomes/ 包含 skull、butterfly 和 apple 的原始 picbreeder 基因组
- ./data/ 包含分层 picbreeder CPPN 和 SGD CPPN 的数据,我们已经为您预先计算了此目录
- ./src/ 包含代码
- ./src/color.py 是将 hsv 转换为 rgb 的代码
- ./src/cppn.py 是 flax CPPN 代码,用于对具有任意激活函数的 MLP 进行建模
- ./src/process_pb.py 处理 picbreeder 基因组以创建分层 CPPN
- ./src/train_sgd.py 使用指定架构在目标图像上训练 SGD CPPN
- ./src/util.py 和 ./src/picbreeder_util.py 包含一些实用函数
联系方式
如果您想访问更多用于研究的 Picbreeder 基因组,请通过 akarshkumar0101@gmail.com 与我们联系。
Bibtex 引用
@article{kumar2025fractured,
title = {Questioning Representational Optimism in Deep Learning: The Fractured Entangled Representation Hypothesis},
author = {Akarsh Kumar and Jeff Clune and Joel Lehman and Kenneth O. Stanley},
year = {2025},
url = {https://arxiv.org/abs/2505.11581}
}
关于
Code for the Fractured Entangled Representation Hypothesis position paper!
资源
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
语言
页脚
页脚导航
You can’t perform that action at this time.