AI-For-Beginners 课程搭建与学习指南:从环境配置到 12 周自学/教学全流程
AI-For-Beginners 课程搭建与学习指南:从环境配置到 12 周自学/教学全流程
本指南围绕 AI-For-Beginners 课程的开篇文档(lessons/0-course-setup/setup.md)展开,系统说明该"12 周、24 课、面向所有人"的 AI 入门课程的定位、自学与课堂教学两种使用路径、项目式加频繁测验的教学理念,以及从本地 Conda 环境、云端笔记本到离线 Docsify 阅读等一整套代码运行方案。阅读完成后,你将能够独立搭建课程运行环境、规划自学节奏,或基于 GitHub Classroom 将本课程直接用于课堂教学。
课程定位与面向人群
AI-For-Beginners 是一套为期 12 周、包含 24 节课程的入门教程,覆盖从 AI 与神经网络基础、计算机视觉、NLP 到强化学习、多智能体系统与 AI 伦理的完整知识谱系。课程代码以 Jupyter Notebook 形式分布在 lessons 目录下,例如经典的感知机实验、自建神经网络框架、CNN、Transformer、GAN 等各章节都配有可执行的 .ipynb 文件。
课程的起点文档同时服务于两类人群:
- 学生/自学者:可以直接在仓库内阅读讲义、浏览代码,也可完整 fork 仓库按自己的节奏完成全部练习;
- 教师/教育者:仓库提供了专门的课堂教学建议,支持直接使用或配合 GitHub Classroom 分课下发。
无论是哪种身份,都不需要预先具备深度 AI 知识——课程设计目标就是"AI for All"。
学生资源与学习入口
文档为学生列出了两类官方学习入口资源:
- 学生中心(Student Hub):汇集了适合初学者的学习资源、学生工具包,以及获取免费认证代金券的渠道,内容每月更新,建议收藏后定期查看;
- 微软学生大使(Student Ambassadors):面向学生的全球社区,加入后有机会深度参与微软生态的学习与交流。
对于学生读者,最直接的用法是在 GitHub 上直接阅读讲义文本、浏览课程代码;当希望真正运行任意笔记本中的代码时,请遵循 lessons/0-course-setup/how-to-run.md 中的指引操作(下文"代码运行方式"一节会给出完整展开)。
自学路径:一门课的完整闭环
若把课程当作自学项目来做,文档建议先 fork 整个仓库到自己的账号,然后按以下闭环流程推进每一节课:
- 课前测验:先完成一节课对应的课前小测验,让大脑带着问题进入学习;
- 通读讲义:阅读该节课的导论与正文讲解;
- 动手跑笔记本:如果该节附带额外笔记本,逐本阅读并执行代码。若同一节同时提供了 TensorFlow 与 PyTorch 两个版本,可只专注其中一个框架,选择自己偏好的即可;
- 完成挑战:笔记本中常包含"挑战"环节,需要你微调代码做实验验证;
- 课后测验:完成课后测验以巩固理解;
- 完成作业:如果该模块关联了实验(lab),完成对应的 assignment;
- 讨论区"大声学":访问仓库讨论区分享心得、答疑解惑,把学习过程外化。
文档同时给出进阶建议:想要进一步深化的读者,可跟进 Microsoft Learn 上对应的模块与学习路径。
教学理念:项目式学习 + 频繁测验
课程构建时确立了两条核心教学原则:hands-on 的项目式学习与频繁的测验。
- 项目式:让内容与项目对齐,学习过程对学生更有吸引力,概念记忆留存率也更高。课程项目从小处着手,在 12 周周期内逐步增加复杂度——从 examples/01-hello-ai-world.py 这类最小示例,到最终章节中完整的生成网络与多智能体系统。
- 频繁测验:课前一次低压力测验设定学习意图,课后第二次测验强化记忆。整套课程设计了每课 3 道题的测验体系(setup.md 中记为 50 个测验,quiz-app 的 README 中按 24 课计为 40 个,编号从 0 开始),测验链接内嵌在每节课文中,测验应用本身也可以本地运行。
测验应用位于 etc/quiz-app,是一个 Vue.js 项目。它的本地运行方式(详见 etc/quiz-app/README.md)为:
npm install # 安装依赖
npm run serve # 本地开发,支持热重载
npm run build # 生产构建与压缩
npm run lint # 代码检查与自动修复
从源码结构看,测验题库按课程组织在 etc/quiz-app/src/assets/translations 下(如 lesson-1.json 到 lesson-24.json),由 index.js 统一导入,语言切换逻辑位于 src/App.vue,测验组件实现在 src/components/Quiz.vue。课程鼓励社区翻译测验,并通过 ?loc=xx 查询参数在课文中按语言定位测验。
代码运行方式
课程包含大量可执行示例与实验,运行它们需要能够执行 Jupyter Notebook 中的 Python 代码。根据 lessons/0-course-setup/how-to-run.md,共有本地、容器、云端、GPU 云端四类途径,可按自己的硬件条件与网络环境选择。
方式一:本机运行(Conda + VS Code + Jupyter)
本机运行推荐安装 miniconda——它很轻量,且提供 conda 包管理器以管理 Python 虚拟环境。安装后克隆仓库并创建课程专用环境:
git clone http://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
本仓库根目录的 environment.yml 即为课程环境定义文件,环境名为 ai4beg,通道包含 defaults 与 conda-forge,核心依赖包括:
| 依赖 | 版本(根目录 environment.yml) | 用途 |
|---|---|---|
| python | 未锁版本 | 基础解释器 |
| jupyter / ipykernel / ipywidgets | 未锁版本 | 笔记本运行环境与交互控件 |
| numpy | 1.26 | 数值计算基础库 |
| matplotlib | 3.9 | 可视化绘图 |
| scikit-learn / scipy | 未锁 / 1.13 | 机器学习与科学计算 |
| requests | 2.32 | 网络请求(拉取模型/数据) |
| pytorch / torchtext / torchvision / torchdata | 未锁版本 | 深度学习框架(PyTorch 生态) |
| opencv(conda-forge 通道) | 未锁版本 | 计算机视觉章节依赖 |
环境创建完成后,requirements.txt 还会通过 pip 安装 TensorFlow 生态(tensorflow==2.17.0、keras==3.13.2、tensorflow-hub、tensorboard 等)、自然语言处理库(nltk、gensim==4.3.3、tokenizers、huggingface)、强化学习与仿真库(gym==0.26.2、pygame)以及通用科学计算库(pandas、pillow、scikit-image、seaborn 等),覆盖从第 3 章神经网络到第 6 章强化学习的全部动手需求。
装好环境后有两种开发方式:
- Visual Studio Code + Python 扩展:克隆并用 VS Code 打开目录后,编辑器会自动建议安装 Python 扩展;若 VS Code 建议"在容器中重新打开仓库",应选择拒绝,以使用本机 Python 安装;
- 浏览器中的 Jupyter:在课程目录下执行
jupyter notebook(经典 Jupyter)或jupyterhub,然后在网页中打开任意.ipynb文件即可工作,享受自动补全、语法高亮等便利。
方式二:容器运行(面向进阶用户)
仓库提供了 .devcontainer 配置,可指导 VS Code 构建并"在容器中重新打开代码"。该方案需要先安装 Docker,配置过程也更复杂,文档建议经验更丰富的用户采用。作为轻量替代,binder 目录中的 environment.yml、postBuild.sh 与 requirements.txt 即为云端构建笔记本容器所用(注意该文件对 Python、numpy、pytorch 等做了精确版本锁定,且 pip 安装设置了 --default-timeout=120)。
方式三:云端运行(零安装)
如果不想在本地安装 Python,并且有可用的云端资源,可以直接在云上运行:
- GitHub Codespaces:在仓库页点击 Code 按钮启动 codespace,即可通过 VS Code 浏览器界面获得预配置的虚拟环境,几乎零成本起步;
- Binder:使用 Binder 提供的免费云端计算资源,仓库首页有打开 Binder 的按钮,构建底层容器并启动 Jupyter Web 界面。
注意:为防滥用,Binder 会屏蔽部分外部 Web 资源,这可能导致某些需要从公网拉取模型或数据集的代码无法运行,需要自行寻找变通方案;且 Binder 的计算资源较基础,后期较复杂课程中的训练会明显偏慢。
方式四:云端 GPU 运行(面向后期课程)
课程后期章节(如 GAN、Transformer 等)会显著受益于 GPU 加速,否则模型训练会非常缓慢。在具备云资源(如 Azure for Students 或机构账号)的前提下,可以:
- 创建 Data Science Virtual Machine(DSVM) 并通过 Jupyter 连接,把仓库直接克隆到机器上开始学习,其中 NC 系列虚拟机提供 GPU 支持。注意部分订阅(含 Azure for Students)默认不开放 GPU,可能需要通过技术支持申请额外 GPU 配额;
- 创建 Azure Machine Learning Workspace 并使用其 Notebook 功能,将仓库克隆进 Azure ML 笔记本后开始使用;
- 使用 Google Colab,它自带部分免费 GPU,可将笔记本逐个上传到 Colab 执行。
离线阅读:用 Docsify 本地起站
课程文档支持完全离线运行。操作方法是:fork 仓库、在本机安装 Docsify,然后在仓库根目录执行:
docsify serve
站点随即在本机 3000 端口提供服务:localhost:3000。此外,课程的完整 PDF 版本位于 etc/pdf/readme.pdf,适合离线打印或通读。整个仓库还提供了 index.html 作为 Docsify 的入口页面,方便直接基于仓库结构渲染整套课程。
面向教师:直接授课或接入 GitHub Classroom
课程欢迎直接用于课堂,文档给出了两种落地方式(详见 lessons/0-course-setup/for-teachers.md):
- 配合 GitHub Classroom:fork 本仓库后,把每个 lesson 目录抽取为独立仓库,让 GitHub Classroom 能按课分别抓取、下发给学生;
- 仓库原样使用:不进 Classroom,直接与学生约定共同学习的课程进度。线上授课(Zoom、Teams 等)时,可以为测验开设分组讨论间、安排导师帮助学生做学习准备;课后让学生把测验与作业答案以 "issues" 形式在规定时间提交,或将仓库逐课 fork 为私有仓库并授予教师访问权限,以更私密的方式完成测验与作业提交。
课程团队欢迎教师在讨论区反馈使用体验,以便让课程更好地适配真实课堂。
多语言支持与社区参与
本仓库的课程文本与配图均支持大量语言:讲义与笔记本翻译位于 translations(含 ar、zh-CN、zh-TW、ja、ko、ru、fr、de、es 等 60 余种),配图翻译位于 translated_images。学习者完全可以基于母语版本配合本文的环境搭建流程开始学习。若希望贡献新的语言版本,可参考 translations/README.md 的说明(注意 setup.md 本身即由 AI 翻译服务生成,关键信息建议以英文原版 lessons/0-course-setup/setup.md 为准)。
快速上手指南:从零到第一节课
综合以上内容,一条最短的上手路径是:
- fork 或克隆仓库到本地;
- 按上文"方式一"安装 miniconda 并执行
conda env create --name ai4beg --file environment.yml与conda activate ai4beg; - 在课程根目录启动
jupyter notebook,打开 lessons/1-Intro 的第 1 课讲义并完成课前测验; - 依次跑通 examples 中的示例(如 02-simple-neural-network.py、04-text-sentiment.py),再进入各章节的
.ipynb实验; - 每节课按"课前测验 → 讲义 → 笔记本 → 挑战 → 课后测验 → 作业"的闭环推进,遇到问题到讨论区"大声学"。
12 周后,你将完整走过从符号 AI、神经网络到视觉、NLP、强化学习与伦理的全部课程,并在每个项目中积累可复用的实验代码。