CS231N assignment3-transformer,GAN,self-supervised,LSTM

这部分作业内容很大,上传到github费了很多时间,参考的是这篇:如何在GitHub上传大文件(≥100M) | 码农家园 (codenong.com)

但是还是没传成功···

所以我直接传到网盘里了

链接:https://pan.baidu.com/s/1T8Sc2Owq6OMtDSo5SNKlaA 
提取码:784w 
--来自百度网盘超级会员V2的分享

然后简单介绍一下作业3

1.RNN 在之前的博客写过了

2.transformer:

这部分作业完成的是decoder的部分,目标是为图片生成字幕。

步骤:

训练时将图片的feature(这里直接从它提供的cocodateset的utils中得到)作为cross-attention中的K,V。将captions+position embedding作为input,送入每一个decorder中,先进行mask-self-attention,resnet,ln再进行cross-attention,res,ln最后feedforwardNN,res,LN;

测试时由features和<start>这个embedding产生caption.

PS:captions是原始word经过word_to_idx这个字典转化成独热编码,再用torch.nn.Embedding转化成连续的嵌入

3.GAN:

完成了三个版本的GAN,朴素版,最小二乘版,CNN版

总的思想就是完成一个判别器和一个生成器,用生成器从一些随机噪声开始生成图片,用判别器判别真实图片和来自生成器的图片,目标是最大化判别器判别真实图片为真的概率,最小化判别器判别由生成器产生的图为真的概率。

为了方便反向传播实现最小化损失函数,令L(discriminator)=-E[logD(x)]-E[log(1-D(G(z)))]

L(generator)=-E[logD(G(z))],用平均值替代期望

朴素GAN的判别器和生成器都由FC+激活层组成

最小二乘的判别器和生成器与朴素GAN相同,只是把损失函数变成预测值与真实样本预测值之间的距离了(缓解梯度消失/爆炸问题,生成器和判别器的能力差异很大时,梯度很容易消失。生成器和判别器的能力相近时,梯度很容易爆炸。 LSGAN通过引入最小二乘损失函数来缓解梯度消失或梯度爆炸的问题。最小二乘损失函数将生成器和判别器之间的对抗损失转化为一个回归问题,通过最小化生成器和判别器之间的均方差来进行训练。这种损失函数可以更好地稳定训练过程,减轻梯度消失或梯度爆炸的问题)

CNNGAN的判别器是由卷积层-relu-maxpool构成,生成器由反卷积层-relu-bn组成

4.自监督学习,完成的是一个simCLR(simple contrastive learning representation)对一个图片以两种策略生成两种图片变种,用f作为一个encoder(这里用的是resnet50),得到这两个图片的表示向量hi,hj,再将向量对送入g(一个小的神经网络,比如MLP)目标是最大化g(hi),g(hj)的一致性。将自监督学习模型应用于具体任务时,去掉g,改成FC等其他NN,完成任务。自监督学习相当于预训练,提取特征,学习特征。

损失函数是温度scaled交叉熵(使模型更关注于较大概率的类别,减小对较小概率类别的惩罚)

没搞懂的点:训练的时候用的是pairs(成对的数据)那test的时候是如何进行的?自监督有没有val? 感觉还是不太明白,等用的时候再回来仔细看看吧

5.LSTM:

在RNN,LSTM,ATTETION那篇博客写过,这里写一下在完成这个作业的时候的注意点:

分清是逐元素相乘* 还是矩阵点积运算@

tanx'=1-tanx²

sigmoid'=sigmoid(1-sigmoid)

虽然有cell state,但是最终还是把最后的hiddenstate送入映射层,再由softmax层得到损失。

不明白的地方:

为什么dnext_h = dh[:,t,:]+dprev_h?为什么要加上dprev_h?直觉上我可以理解,因为next_h除了由它本身以外还有prev_h,但是数学上不理解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机网络》文档包含了70个关于计算机网络基础知识的单项选择题,内容涉及互联网起源、网络协议、IP地址、DNS服务、电子邮件、网络拓扑结构、网络设备、网络连接方式、网络速度等多个方面。每个问题后面都提供了正确答案,适合作为学习和测试材料。 ### 适用人群 本文档适合以下人群: - 计算机科学与技术、信息技术、网络工程等专业的在校学生。 - 准备计算机网络相关考试或认证的专业人士。 - 对计算机网络基础知识感兴趣的自学者。 - 信息技术教师,作为教学资源或测试材料。 ### 使用场景及目标 1. **学习测试**:作为学生学习计算机网络理论知识后的测试工具,检验学习效果。 2. **教学辅助**:教师可以用于课堂教学,作为课后作业或课堂小测验,增强学生的理解和记忆。 3. **自学检验**:个人自学者可以通过这些题目检验自己对计算机网络基础知识的掌握程度。 4. **职业发展**:职场人士可以通过学习和测试,提升自己在计算机网络领域的专业能力。 5. **竞赛准备**:适合准备计算机网络相关竞赛的学生,作为强化训练材料。 文档的目标是通过这些精心设计的题目,帮助读者全面了解和掌握计算机网络的基本概念、原理和应用,提高解决实际问题的能力。通过学习和练习,读者将能够更加深入地理解计算机网络的工作原理,为进一步的专业学习或职业发展打下坚实的基础。
### 回答1: CS231n 第三次作业的内容包括使用深度学习来完成图像分类任务。具体来说,包括使用卷积神经网络 (CNN) 来训练图像分类器,并使用预训练网络 (pre-trained network) 来进行微调 (fine-tuning)。还可能包括使用数据增强 (data augmentation) 来提高模型的泛化能力,以及使用可视化工具来理解 CNN 的内部工作原理。 ### 回答2: CS231n作业3是斯坦福计算机视觉课程的第三个作业,该作业涵盖深度学习模型的生成和推理,以及如何创建生成性对抗网络(GAN)。 此次作业主要涉及三个任务: 1. Image Captioning 图片说明任务,也是本次作业的第一个任务。仔细研读与Image Captioning任务相关的代码,并以此为基础,使用RNN中的LSTM层来生成图像的描述。这个一项技术非常实用,可以让图片在搜索引擎中体现出来,提高用户使用体验。学生需要研究encoder和decoder的实现,了解他们生成文本的方法。最终,利用逆向传播算法(反向传播算法)训练神经网络,学习生成图像标题。 2. Generative Adversarial Networks 生成对抗网络GAN。G和D两个模型构成了GAN模型,是一种强大的生成模型。在这个任务中,学生需要学习如何训练GAN模型,以生成看起来像真实图像的图像样本。这是一个非常复杂的问题,需要合理运用损失函数,较好的优化GAN的训练中表现良好。 3. Neural Style Transfer 神经风格迁移属于图像处理范畴,学生需要实现单张图像的神经风格迁移。方法是,利用一些随机初始化参数,以迭代方式计算输入图像的内容特征和样式特征。最终,需要使用反向传播算法来搜索图像处理的最佳策略。 总之,本次作业难度系数较大,但同时学生在操作过程中也能够学到很多使用深度学习技术解决实际问题的方法,提高对于深度学习的理解、掌握和技能。同时,希望学生能够在本次作业中体验到收获成功带来的成就感。 ### 回答3: CS231n Assignment 3是斯坦福大学计算机视觉课程中的一项作业,主要涉及深度强化学习。它由三个部分组成:Q-learning,Policy Gradients和Actor-Critic。 在Q-learning部分,学生需编写代码来实现Q-learning算法,在智能体与环境之间折衷时间、奖励和学习。Q-learning是一种基于回合的控制算法,它基于时间步长内的奖励和马尔科夫决策过程。在此过程中,学生需要选择一个平衡折衷,以便在训练智能体时最大限度地提高其性能。 在Policy Gradients部分,学生需实现策略梯度算法,该算法通过学习如何最大化预期回报来优化策略。在此步骤中,学生还将学习如何使用梯度上升法确定策略参数。策略梯度算法基于沿向目标策略方向更新参数的概念。 在Actor-Critic部分,学生需实现Actor-Critic算法,这是一种Q-learning和策略梯度算法的组合。该算法包括两个部分:演员即策略,用于决定智能体应采取的行动,评论家即Q值估算器,根据当前状态值和行动值返回平均价值。这两个部分相互作用,以帮助智能体学习最佳策略。 总的来说,CS231n Assignment 3是一项具有挑战性的作业,涉及深度强化学习的各个方面,需要学生掌握许多概念和算法,并将它们应用于代码实现中。完成此项作业需要时间和耐心,但完成后,学生将获得对深度强化学习的深刻理解,这对于今后从事计算机视觉工作将大有裨益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值