作业 3
此作业截止时间为2025 年 5 月 30 日星期五美国太平洋时间晚上 11:59。
包含 Colab 笔记本的起始代码可以 在此处下载。
环境准备
请您熟悉一下 开始之前的推荐工作流程 作业。您还应该观看下面的 Colab 演练教程。
注意。确保定期保存笔记本 (File -> Save),以免在以下情况下丢失进度:
退出任务,Colab 虚拟机将断开连接。
虽然我们不正式支持本地开发,但我们添加了一个 requirements.txt 文件,您可以使用它来 设置虚拟环境。
完成所有 Colab 笔记本除 collect_submission.ipynb 后,继续执行
提交说明。
学习目标
在本作业中,您将实现语言网络并将其应用于 COCO 数据集上的图像描述。然后 您将了解自监督学习,以自动学习未标记的视觉表示 数据集。接下来,您将实现扩散模型 (DDPM) 并将其应用于图像生成。最后,您将探索 CLIP和DINO,两种自监督学习方法,利用大量未标记数据来学习视觉 表示。
本次作业的目标如下:
- 了解并实施 Transformer 网络。将它们与 CNN 网络相结合以实现图像描述。
- 了解如何利用自监督学习技术来帮助完成图像分类任务。
- 实现并理解扩散模型 (DDPM) 并将其应用于图像生成。
- 实施并理解 CLIP 和 DINO,这两种利用大量未标记数据的自监督学习方法 学习视觉表示的数据。
您将使用 PyTorch 完代价作业的大部分内容。
问题 1:使用 Transformer 生成图像描述
笔记本 Transformer_Captioning.ipynb 将引导您完成 Transformer 模型的实现并应用它
COCO 上的图像描述。
问题 2:用于图像分类的自监督学习
在笔记本 Self_Supervised_Learning.ipynb 中,您将学习如何利用自监督预训练来获得
在图像分类任务上有更好的表现。 首次打开笔记本时,转到
为 Runtime > Change runtime type 并将 Hardware accelerator 设置为 GPU。
问题 3:去噪扩散概率模型
在笔记本 DDPM.ipynb 中,您将实现去噪扩散概率模型
(DDPM)并将其应用于图像生成。
问题 4:CLIP 与 DINO
在笔记本 CLIP_DINO.ipynb 中,您将实现 CLIP 和 DINO,这两种自监督学习方法利用
大量未标记的数据来学习视觉表示。
提交作业
重要。请确保提交的笔记本已运行且单元输出可见。
完成所有笔记本并填写必要的代码后,您需要按照以下说明进行操作 提交你的作品:
1. 在 Colab 中打开 collect_submission.ipynb 并执行笔记本单元。
该笔记本/脚本将:
- 将代码文件(
.py和.ipynb)打包成名为a3_code_submission.zip的 ZIP 文件。 - 将所有笔记本转换为名为
a3_inline_submission.pdf的单个 PDF 文件。
如果您成功提交此步骤,您应该看到以下显示消息:
### Done! Please submit a3_code_submission.zip and a3_inline_submission.pdf to Gradescope. ###
2. 将 PDF 和 zip 文件提交到 Gradescope。
请记住在提交到 Gradescope 之前在本地下载 a3_code_submission.zip 和 a3_inline_submission.pdf。