跳到主要内容

作业 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。