网上流传一份 Ilya Sutskever(OpenAI 联合创始人、前首席科学家)推荐的论文清单,据说“真正学懂这些,就掌握了当下 90% 的要点”。开源项目 30u30 把它排成 30 天,每天从零实现一篇论文,配笔记本和练习。本站为每一天写了一篇原创中文导读:论文讲了什么、为什么重要、怎么用原仓库学、今天再看还剩什么。
据 John Carmack 在访谈里回忆,他向 Ilya Sutskever 请教怎么入门 AI,Ilya 给了他一份大约 40 篇的阅读清单。完整版从未公开。网上流传的版本约 27 项,包括论文、博客文章、一本书、一篇博士论文和一门课。
开发者 Harsh Ojha 的 30u30 项目以这份清单为骨架,补入几篇自己的选择,排成 30 天。其中第 12 天 Dropout、第 29 天 PPO、第 30 天 RLHF 一般不在网传版本里。每天一个目录,包含论文笔记、速查表、从零实现的代码、Jupyter 笔记本和 5 道左右练习。
这份清单的价值在于主线清楚:从循环网络到 Transformer,从压缩理论到 Scaling Law,最后落到 ChatGPT 用到的强化学习。读完你能说清楚大语言模型的每一块零件从哪来。
单元划分沿用原仓库,按时间线和主题递进。
从“预测下一个字符”出发,理解循环网络和 LSTM;再用压缩和信息论回答“学习到底是什么”。
AlexNet 点燃深度学习,ResNet 让网络能堆到上百层,空洞卷积和 Dropout 是两件常用工具。
注意力从机器翻译的配件变成整个架构。今天所有大语言模型都站在这 4 天的内容上。
神经网络能不能像计算机一样读写内存、输出位置、比较对象、在分子图上传消息?外加一套工业级语音识别。
生成模型、超大模型的并行训练、Scaling Law,再回到 Kolmogorov 复杂度和“智能的定义”,最后用 CS231n 补齐基本功。
PPO 和基于人类偏好的强化学习:ChatGPT 这类助手“听话”的两块关键拼图。
点标题进入中文导读;点“代码”跳到原仓库对应目录。
| 天 | 论文 | 年份 | 一句话 · 链接 |
|---|---|---|---|
| D01 | 循环神经网络的惊人效果The Unreasonable Effectiveness of Recurrent Neural Networks · Andrej Karpathy | 2015 | 字符级 RNN 只学预测下一个字符,就能生成各类文本 · 导读 · 代码 |
| D02 | 图解 LSTM 网络Understanding LSTM Networks · Christopher Olah | 2015 | 用细胞状态和 3 个门解决 RNN 的长程依赖 · 导读 · 代码 |
| D03 | 循环神经网络的正则化Recurrent Neural Network Regularization · Wojciech Zaremba, Ilya Sutskever, Oriol Vinyals | 2014 | 只在层间加 dropout,让大 LSTM 不再过拟合 · 导读 · 代码 |
| D04 | 用最短描述长度让神经网络保持简单Keeping Neural Networks Simple by Minimizing the Description Length of the Weights · Geoffrey E. Hinton, Drew van Camp | 1993 | 给权重加可学习的高斯噪声,用比特数衡量复杂度 · 导读 · 代码 |
| D05 | 最小描述长度原则入门A Tutorial Introduction to the Minimum Description Length Principle · Peter Grünwald | 2004 | 把模型选择变成压缩问题:总编码最短者胜 · 导读 · 代码 |
| D06 | 复杂动力学第一定律The First Law of Complexodynamics · Scott Aaronson | 2011 | 用限时的 Kolmogorov 复杂度定义“有趣程度” · 导读 · 代码 |
| D07 | 咖啡自动机:量化封闭系统中复杂度的兴衰Quantifying the Rise and Fall of Complexity in Closed Systems: The Coffee Automaton · Scott Aaronson, Sean M. Carroll, Lauren Ouellette | 2014 | 用奶油混入咖啡的模拟,量化复杂度的兴衰 · 导读 · 代码 |
| 天 | 论文 | 年份 | 一句话 · 链接 |
|---|---|---|---|
| D08 | 用深度卷积神经网络做 ImageNet 分类(AlexNet)ImageNet Classification with Deep Convolutional Neural Networks · Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton | 2012 | 8 层卷积网络,ImageNet 上领先第二名约 11 个点 · 导读 · 代码 |
| D09 | 深度残差学习Deep Residual Learning for Image Recognition · Kaiming He, Xiangyu Zhang, Shaoqing Ren, et al. | 2015 | 加一条恒等捷径,网络深到 152 层仍然好训 · 导读 · 代码 |
| D10 | 深度残差网络中的恒等映射(ResNet v2)Identity Mappings in Deep Residual Networks · Kaiming He, Xiangyu Zhang, Shaoqing Ren, et al. | 2016 | BN 和 ReLU 挪到卷积前,信号从头直通到尾 · 导读 · 代码 |
| D11 | 用空洞卷积聚合多尺度上下文Multi-Scale Context Aggregation by Dilated Convolutions · Fisher Yu, Vladlen Koltun | 2016 | 空洞卷积:感受野指数增长,分辨率不丢 · 导读 · 代码 |
| D12 | Dropout:防止神经网络过拟合的简单方法Dropout: A Simple Way to Prevent Neural Networks from Overfitting · Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, et al. | 2014 | 训练时随机丢弃神经元,近似指数个网络的集成 · 导读 · 代码 |
| 天 | 论文 | 年份 | 一句话 · 链接 |
|---|---|---|---|
| D13 | 注意力就是全部所需Attention Is All You Need · Ashish Vaswani, Noam Shazeer, Niki Parmar et al. | 2017 | Transformer 诞生:用自注意力取代 RNN · 导读 · 代码 |
| D14 | 带注释的 TransformerThe Annotated Transformer · Alexander M. Rush(2022 版:Austin Huang, Suraj Subramanian, Jonathan Sum et al.) | 2018 | 用 PyTorch 逐段复现 Transformer 论文 · 导读 · 代码 |
| D15 | 联合学习对齐与翻译的神经机器翻译Neural Machine Translation by Jointly Learning to Align and Translate · Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio | 2014 | 注意力机制的开端:解码时回看源句 · 导读 · 代码 |
| D16 | 顺序很重要:面向集合的序列到序列Order Matters: Sequence to sequence for sets · Oriol Vinyals, Samy Bengio, Manjunath Kudlur | 2015 | 集合没有顺序,seq2seq 却很在意 · 导读 · 代码 |
| 天 | 论文 | 年份 | 一句话 · 链接 |
|---|---|---|---|
| D17 | 神经图灵机Neural Turing Machines · Alex Graves, Greg Wayne, Ivo Danihelka | 2014 | 可微读写的外部记忆,学会复制和排序 · 导读 · 代码 |
| D18 | 指针网络Pointer Networks · Oriol Vinyals, Meire Fortunato, Navdeep Jaitly | 2015 | 注意力当输出:指向输入解凸包和 TSP · 导读 · 代码 |
| D19 | 用于关系推理的简单神经网络模块A simple neural network module for relational reasoning · Adam Santoro, David Raposo, David G. T. Barrett et al. | 2017 | 两两配对再求和,让网络学会比较物体 · 导读 · 代码 |
| D20 | 关系循环神经网络Relational recurrent neural networks · Adam Santoro, Ryan Faulkner, David Raposo et al. | 2018 | 用多头注意力让记忆槽互相交流的 RNN · 导读 · 代码 |
| D21 | 用于量子化学的神经消息传递Neural Message Passing for Quantum Chemistry · Justin Gilmer, Samuel S. Schoenholz, Patrick F. Riley et al. | 2017 | 用传消息、更新、读出三步统一图神经网络 · 导读 · 代码 |
| D22 | Deep Speech 2:英语与普通话的端到端语音识别Deep Speech 2: End-to-End Speech Recognition in English and Mandarin · Dario Amodei, Rishita Anubhai, Eric Battenberg et al. | 2015 | 一套端到端模型同时识别英语和普通话 · 导读 · 代码 |
| 天 | 论文 | 年份 | 一句话 · 链接 |
|---|---|---|---|
| D23 | 变分有损自编码器Variational Lossy Autoencoder · Xi Chen, Diederik P. Kingma, Tim Salimans et al. | 2016 | 让 VAE 只编码全局信息,把细节交给像素模型 · 导读 · 代码 |
| D24 | GPipe:用流水线并行训练超大神经网络GPipe: Efficient Training of Giant Neural Networks using Pipeline Parallelism · Yanping Huang, Youlong Cheng, Ankur Bapna et al. | 2018 | 流水线并行加微批次,训练单卡装不下的模型 · 导读 · 代码 |
| D25 | 神经语言模型的规模定律Scaling Laws for Neural Language Models · Jared Kaplan, Sam McCandlish, Tom Henighan et al. | 2020 | 损失随参数、数据、算力按幂律下降 · 导读 · 代码 |
| D26 | 柯氏复杂度与算法随机性Kolmogorov Complexity and Algorithmic Randomness · A. Shen, V. A. Uspensky, N. Vereshchagin | 2017 | 用最短程序长度定义信息和随机 · 导读 · 代码 |
| D27 | 机器超级智能Machine Super Intelligence · Shane Legg | 2008 | 用 2^-K 加权所有环境,定义通用智能 · 导读 · 代码 |
| D28 | 斯坦福 CS231n:用卷积网络做视觉识别CS231n: Convolutional Neural Networks for Visual Recognition · Fei-Fei Li, Andrej Karpathy, Justin Johnson et al. | 2015 | 斯坦福视觉课:亲手推导卷积网络 · 导读 · 代码 |
给 10 岁左右孩子的版本:每课一个大白话讲解、2 个纸笔动手活动、词语卡片和思考题,A4 打印 5 页左右(第 28 课多 1 页大格子附页)。全部原创,可免费打印用于家庭和课堂。
建议每天 3 小时,分 3 段。第 1 段读本站导读和原论文的摘要、图表。第 2 段读原仓库的实现代码,跑通笔记本。第 3 段做练习,卡住再看答案。
先在本地准备环境(需要 Python 3.8 以上):
git clone https://github.com/Ojhaharsh/30u30.git cd 30u30 pip install -r requirements.txt
每天的目录里,你会反复用到这几类文件:
README.md、paper_notes.md、CHEATSHEET.md:作者的讲解、论文笔记和速查表(英文)。implementation.py:从零实现论文的核心模型,是当天最值得精读的文件。train_minimal.py、visualization.py:最小训练脚本和可视化脚本,用来看模型真的在学。notebook.ipynb:把实现、训练、画图串起来的交互式笔记本。exercises/:每天 5 道左右练习,附答案。部分目录还有 assessments/ 自测题。看不懂英文讲解时,回到本站导读找“关键概念”和“容易卡住的地方”两节。
30u30 的课程结构、代码和讲解由 Harsh Ojha 创作,采用 CC BY-NC-ND 4.0 许可:可以署名分享,不可商用,不可发布改编版本(包括译文)。
本站只做两件事:写原创导读,链接到原仓库。我们没有复制、翻译或修改原仓库的任何内容。如果你想要完整中文版,欢迎和我们一起联系原作者申请授权。