ML-For-Beginners 实战:构建并部署「机器学习与人工智能发展史」时间线(History of ML 作业指南)
本篇技术指南面向正在学习开源课程 ML-For-Beginners 的学习者,聚焦第 1 单元「机器学习简介」中 2-history-of-ML(机器学习的历史) 一课结尾的动手作业:把 AI/ML 发展历程做成一条带多媒体要素、可交互浏览并最终部署为 GitHub 页面的时间线。读完本文,你将理解该作业的全部硬性要求与评分细则,掌握「选题 → 研究 → 组织内容 → 部署 → 对照 Rubric 自查」的完整执行路径,并可直接复用本仓库课程正文中已经梳理好的历史里程碑素材。
上图是课程作者为 2-history-of-ML 一课绘制的 sketchnote(视觉笔记),以时间轴形式浓缩了机器学习史的关键节点,可作为你设计时间线版式与叙事主线的直观参照。
一、作业概览:它在课程中处于什么位置
本作业是 ML-For-Beginners 课程作业体系中的一环。该课程共 12 周、26 课、52 个测验,面向所有背景的学习者;每一课的结构通常为「课前测验 + 正文讲解 + 动手作业(assignment)」。本作业所属单元 1-Introduction 由四课构成:机器学习导论、机器学习的历史、机器学习中的公平性、机器学习的技术方法,其中本作业对应的正是第二课。
课程正文在末尾以「Assignment」小节链接了作业文件(英文原版 与 保加利亚语译本),说明作业的设计意图是:不要求背诵日期,而是要求你把课堂上学到的历史叙事,转化为一件自研的可视化作品——这正是历史类知识「做中学」的经典练习。
二、作业要求逐条拆解(Instructions)
把两份作业文件的指令合并解读,可以得到以下四条硬性要求:
- 使用指定工具:作业明确要求借助 GitHub 上由 Digital-Humanities-Toolkit 组织维护的开源项目
timeline-builder来完成时间线的构建。需要说明的是,该工具并不包含在当前 ML-For-Beginners 仓库中,其具体数据格式、命令与用法请以其项目内的 README 为准。 - 主题范围:为「算法、数学、统计学、AI 或 ML 的历史」中的某个方面制作时间线,也允许取其中多个方面的交叉组合。
- 聚焦方式三选一:你可以聚焦于一个人物(one person)、一个思想/概念(one idea),或一段较长的思想演进跨度(a long timespan of thought)。这意味着作业考查的不是「把所有年份堆上去」,而是有选择、有叙事主线。
- 必须包含多媒体元素(add multimedia elements):时间线不能只是纯文字日期列表,需要配合图片、照片、视频、引言等视觉/媒体素材来增强表达。
作业的最终交付物不是一个普通网页,而是可以公开访问的 GitHub Pages 页面(详见评分标准一节),这一点决定了你在技术选型与完成度上的努力方向。
三、研究起点:课程正文已备好的时间线素材
作业对「研究是否充分(well researched)」有明确要求,而最省力的起步素材就在本课正文中。课程 README 已按「Notable discoveries」和「历史分期」两条线索整理了核心内容,下面把它们整理成可直接进入时间线草稿的「素材卡」:
| 时间 | 里程碑 | 一句话要点(据课程正文整理) |
|---|---|---|
| 1763 / 1812 | 贝叶斯定理及其前身 | 奠定推断(inference)的数学基础,用先验知识描述事件发生的概率 |
| 1805 | 最小二乘理论(Adrien-Marie Legendre) | 服务于数据拟合,课程第 2 单元回归专题会深入学习 |
| 1913 | 马尔可夫链(Andrey Markov) | 用前一状态描述一系列可能事件的序列 |
| 1950 | 图灵与「能思考的机器」 | 艾伦·图灵提出图灵测试,为「机器能否思考」提供经验性判据 |
| 1956 | 达特茅斯夏季研究项目 | 「人工智能」一词在此被正式提出,参与者包括 John McCarthy、Marvin Minsky |
| 1957 | 感知机 Perceptron(Frank Rosenblatt) | 一种线性分类器,被视为深度学习发展的底层推动力之一 |
| 1967 | 最近邻算法 Nearest Neighbor | 最初用于路线规划,在 ML 语境中被用来识别模式 |
| 1970 | 反向传播 Backpropagation | 用于训练前馈神经网络 |
| 1972 前后 | Shakey 机器人 / ELIZA / Blocks World | 黄金年代的代表性原型机与「微世界」(SHRDLU)实验 |
| 1974–1980 | 「AI 寒冬」 | 算力受限、组合爆炸、数据匮乏,以及中文房间理论等对研究范式的质疑 |
| 1982 | 循环神经网络 RNN | 由前馈神经网络衍生,可建立时间维度的图结构 |
| 1980 年代 | 专家系统 Expert Systems | 首批真正成功的 AI 软件形态:规则引擎 + 推理引擎的混合系统 |
| 1987–1993 | 「AI 寒潮」 | 专用硬件过于封闭,个人电脑兴起,计算走向民主化 |
| 1993–2011 | 数据与算力的复兴 | 数据量激增(2007 年智能手机普及)、算力指数增长,ML 走向成熟学科 |
| 当下 | ML 无处不在 | 隐私、表达自由等议题凸显,呼唤负责任的开发与合理监管 |
除此之外,正文还提供了贯穿全篇的历史分期叙事:1956–1974 的「黄金年代」(政府对研究大力资助,NLP、搜索、微世界研究蓬勃发展)、「scruffy vs. neat AI」两大学派的路线之争、1980 年代专家系统与神经网络关注度的回升,以及进入大数据时代后学科的逐渐成熟。
使用方法建议:把上表当作时间线的「初稿素材池」,再结合课程正文与可靠公开资料逐条核对日期、人名与表述,这既是提升时间线质量的过程,也直接对应 Rubric 中「研究是否充分」的评分维度。
四、三种典型选题与大纲示例
作业给了三种聚焦方式,下面结合课程正文各给出一种可落地的示范思路:
- 聚焦一个人物:例如围绕艾伦·图灵展开,从 1950 年的「模仿游戏」与图灵测试出发,延伸到他为「会思考的机器」概念所做的辩护与经验验证。人物选题的核心是写出「他在哪个问题上、如何改变了领域」。
- 聚焦一个思想/概念:例如「神经网络这条思想线」,把 1957 感知机、1970 反向传播、1982 循环神经网络、1980 年代神经网络关注度回升直至当代深度学习串成一条主线——这是课程正文中反复出现的暗线,叙事完整性很高。
- 聚焦一段长跨度:例如从 1763 年贝叶斯定理出发,经 1805 最小二乘、1913 马尔可夫链,一路走到 1956 达特茅斯会议与之后的数次热潮/寒冬,呈现「数学基础先于 AI 学科成熟」的整体图景,正好呼应正文「人们已思考这些问题数百年」的开篇论断。
无论选哪条路,都建议先写一句「一句话选题声明」(我要讲什么、为什么这条线值得讲),再据此筛选时间点,避免把时间线做成没有观点的流水账。
五、时间线条目结构与多媒体要素设计
为了让时间线兼具信息密度与可读性,建议每个条目标签统一包含以下字段:
- 时间点:尽量精确到年份,必要时给出区间(如 1974–1980 AI 寒冬);
- 标题:一句话点名事件或人物;
- 正文:2~4 句说明「是什么 + 为什么重要」;
- 来源标注:记录每条信息的出处,便于自查与复核;
- 媒体素材:为该条目配一张图、一段视频或一句引言。
关于「多媒体要素」,课程正文本身就是很好的范例仓库:例如黄金年代部分配了 Shakey 机器人的历史照片 shakey.jpg 和早期聊天机器人 ELIZA 的截图 eliza.png,并为 Blocks World/SHRDLU 实验嵌入了演示视频。在为自己的时间线选择媒体时,应优先使用明确可授权的内容或自行绘制的示意图(课程采用 CC 授权信息与作者署名的做法值得参考),避免随意转载来源不明的素材。
六、构建与部署:把时间线变成 GitHub Pages
评分标准中「已部署」是优秀档位的硬门槛,因此工程上要把「生成静态页面 → 托管到 GitHub Pages」作为闭环目标。由于作业指定的 timeline-builder 属于仓库外的第三方项目,其具体命令请按其项目文档执行;这里给出与交付形态相关的通用部署路径:
- 在本地按工具要求准备数据(通常是按「时间、标题、描述、媒体链接」组织的结构化条目)并生成静态页面;
- 将成果初始化为 Git 仓库并推送到 GitHub;
- 在仓库设置中开启 GitHub Pages,选择对应的发布分支与目录(如
main分支的根目录或/docs目录); - 得到公开访问 URL,即为作业要求中的「presented as a GitHub page」。
部署完成后,建议同时交付可访问的页面 URL 与完整可复现的源码仓库,前者证明「已部署」,后者证明「代码完整」,二者共同构成优秀档位的证据。
七、对照 Rubric 做交付前自查
作业文件附带的评分表是整个任务的验收标准,原文(保加利亚语译本,与英文原版一致)为三档评价,翻译整理如下:
| 标准 | 优秀(Exemplary) | 合格(Adequate) | 待改进(Needs Improvement) |
|---|---|---|---|
| 整体评价 | 已开发完成的时间线以 GitHub 页面形式呈现 | 代码不完整且未部署 | 时间线不完整、研究不充分且未部署 |
据此可把交付前自查变成三条硬检查:
- 是否完整:选题范围内的事件是否成链、有无明显断档或留空;
- 是否研究充分:每一条目的日期、人物、归属关系是否经过交叉核对并标注来源,而非只依赖单一二手资料;
- 是否已部署:是否已生成静态页面并成功托管为 GitHub Pages,URL 能否在无本地环境时正常访问。
「合格」与「优秀」的分界线往往只在第 3 条:代码写完但未部署,就停留在合格档。因此哪怕时间线规模较小,也务必先跑通部署闭环。
八、让一次历史作业连接后续课程
这门课的巧妙之处在于,你在时间线里写下的很多条目,会在后面的课程中「重逢」:1805 年的最小二乘理论是第 2 单元 回归 的数学地基;图灵测试与 ELIZA 会在第 6 单元 NLP(自然语言处理) 中再次登场;感知机与神经网络的思想线则贯穿分类等后续专题。做完这次时间线后,如果想让叙事更丰满,可以回到 课程正文 末尾的 Review & Self Study 与 🚀Challenge 小节,深入挖掘某位历史人物所处的时代背景——正如正文所提醒的,没有任何科学发现诞生在文化真空中。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0624
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
