李宏毅2022机器学习HW11解析

这篇具有很好参考价值的文章主要介绍了李宏毅2022机器学习HW11解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

李宏毅2022机器学习HW11解析

准备工作

作业十一是域适应(Domain Adaptation),通过训练真实图片得到分类模型,并将其应用到涂鸦图片上进行分类,来获得更高的精准度。作业过程需要助教代码和数据集,关注本公众号,可获得代码和数据集(包括解析代码,文末有方法)。

提交地址

Kaggle:http://www.kaggle.com/competitions/ml2022-spring-hw11,有想讨论沟通的同学可进QQ群:156013866。以下为作业解析。

Simple Baseline (acc >0.44194)

方法:直接运行助教代码。注意在本地或kaggle上运行时候,需要调整相应的文件名称或者路径。代码提交kaggle得到score:0.52368 。

李宏毅2022机器学习HW11解析

Medium Baseline (acc >0.64950)

方法:增加epoch+ 改变lamb值。epoch从200增加到800,lamb从0.1变为0.7,提升lamb意味着更注重domainclassifier的表现,让source domain和target domain的表现更一致,不过也不能一味的提升,太大会影响labelpredictor的能力,我试验了下发现0.7是一个不错的值。改动后提交kaggle得到socre:0.70924

李宏毅2022机器学习HW11解析

Strong Baseline (acc >0.75470)

方法:增加epoch+ 动态调整lamb值。将epoch调整到1000。根据DANN论文,可使用动态调整的lamb值,从0.02动态的调整为1,这样前期可让labelpredictor更准确,后期更注重domainclassifier的表现,我们也使用这种方式。提交kaggle的socre是:0.76310

epochs = 1000
....
for epoch in range(epochs):
    lamb = np.log(1.02 + 1.7*epoch/epochs)
    ....

李宏毅2022机器学习HW11解析

我们看下第0,399,999 epoch的训练效果图。在这些epoch,将5000张source和target图片,输入到feature_extractor模型,每张图片的输出是一个512维度的图片,然后利用t-sne方法降维到2维,最后画出source图片的不同类别分布图和source target分布对比度。可以看出,在第0个epoch,图较乱,到第399个epoch,分类已经比较明显,target的分布和source的分布也基本上保持一致,不过边缘仍然比较模糊,最后第999个epoch,分类已经很明显,target和source的分布基本一致了,达到了DANN模型的目的。

李宏毅2022机器学习HW11解析

李宏毅2022机器学习HW11解析

李宏毅2022机器学习HW11解析

Boss Baseline (acc > 0.80394)

方法:利用DANN模型生成伪标签(pseudo-label)。我们借鉴DIRT的两步训练法,第一步用adversarial的方法训练一个模型,这里我们使用strong baseline得到的模型,所以第一步已经完成,第二步是利用第一步产生的模型,对target图片生成伪标签,有了标签,就可以对target做有监督学习,该方法能充分利用模型的潜在价值。在具体的实现环节,为了保证伪标签的可靠性,设计了一个超参数赋值0.95,所产生的伪标签概率高于该值才被使用,另外为保证训练的稳定性,使用了teacher网络,利用teacher网络生成伪标签,teacher网络的初始值也来自strong base模型,在训练过程中,teacher网络更新比较慢,做法是设计了一个超参数赋值0.9,teacher网络的更新中0.9的权重来自于自己,0.1的权重来自于主干网络,代码变动相对之前比较多,可用文末方式获得。提交kaggle的socre是:0.80948,相信通过调整参数能得到更好的效果。

李宏毅2022机器学习HW11解析

模型被训练了400个epoch,这里画出了第0,199,399epoch的t-sne图。可以看出,第0个epoch和strong baseline最后的效果差不多,这跟我们网络的初始参数来自于strong baseline相呼应,第199个epoch,图形变动较大,source和target有了明显的区分,不过分类仍然清晰,第399个epoch,更进了一步,source和target的分布不同是因为二者来自不同的domain,即使同属一个类,他们的feature也会有所区分。

李宏毅2022机器学习HW11解析

李宏毅2022机器学习HW11解析

李宏毅2022机器学习HW11解析

作业十一答案获得方式:文章来源地址https://www.toymoban.com/news/detail-491375.html

  1. 关注微信公众号 “机器学习手艺人”
  2. 后台回复关键词:202211

到了这里,关于李宏毅2022机器学习HW11解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 李宏毅机器学习 hw7 boss baseline分享

    使用bert来做问答任务 答案是都是可以在 Document 找到的,输入 Document 和 Query 输出两个数字分别表示答案在Document中的开始和结束位置。 输入格式如下: doc stride ,初始时 Doc stride 等于 max_paragraph_len ,这样会导致在测试时如果答案在边界附近就会被切割到两个不同的 window 中

    2024年02月06日
    浏览(26)
  • 2023李宏毅机器学习HW05样例代码中文注释版

    这里只是 2023 李宏毅机器学习 HW05 样例代码的中文注释版的分享,下面的内容绝大部分是样例代码,补充了小部分函数的功能解释,没有做函数功能上的修改,是 Simple baseline 版本。 notebook 代码下载: [EN] [ZH] 进阶阅读:李宏毅2023机器学习作业HW05解析和代码分享 英译中(繁体

    2024年02月05日
    浏览(68)
  • 李宏毅_机器学习_作业4(详解)_HW4 Classify the speakers

    本次作业需要学习完transformer后完成! 做语者辨识任务,一共有600个语者,给了每一个语者的语音feature进行训练,然后通过test_feature进行语者辨识。(本质上还是分类任务Classification) Simple(0.60824):run sample code and know how to use transformer Medium(0.70375):know how to adjust parameters of tra

    2024年02月01日
    浏览(24)
  • 李宏毅-机器学习hw4-self-attention结构-辨别600个speaker的身份

    一、慢慢分析+学习pytorch中的各个模块的参数含义、使用方法、功能: 1.encoder编码器中的nhead参数: self.encoder_layer = nn.TransformerEncoderLayer( d_model=d_model, dim_feedforward=256, nhead=2) 所以说,这个nhead的意思,就是有window窗口的大小,也就是一个b由几个a得到 2.tensor.permute改变维度的用

    2024年02月09日
    浏览(29)
  • 李宏毅-21-hw3:对11种食物进行分类-CNN

    一、代码慢慢阅读理解+总结内化: 1.关于torch.nn.covd2d()的参数含义、具体用法、功能: (1)参数含义: 注意,里面的“padding”参数:《both》side所以是上下左右《四》边都会加一个padding数量的0列: 证明如下: 运行结果:torch.Size([3, 4, 5, 4] (2)具体用法: 输入:x[ batch_size,

    2024年02月09日
    浏览(28)
  • 李宏毅机器学习作业11——Transfer Learning,Domain Adversarial Training

    Domain Adversarial Training见: ​李宏毅机器学习——领域适应Domain Adaptation_iwill323的博客-CSDN博客_领域适应 迁移学习参见2022CS231n PPT笔记 - 迁移学习_iwill323的博客-CSDN博客_cs231n ppt 目录 任务和数据集 任务 数据集 方法论:DaNN 导包 数据处理 显示图片 Canny Edge Detection transforms datas

    2024年02月09日
    浏览(101)
  • 【李宏毅】HW12

    在这个HW中,你可以自己实现一些深度强化学习方法: 1、策略梯度Policy Gradient 2、Actor-Critic 这个HW的环境是OpenAI gym的月球着陆器。希望这个月球着陆器落在两个旗子中间。 什么是月球着陆器? “LunarLander-v2”是模拟飞行器在月球表面着陆时的情况。 这项任务是使飞机能够“

    2024年02月10日
    浏览(28)
  • 机器学习HW15元学习

    任务对象是Omniglot数据集上的few-shot classification任务,内容是利用元学习找到好的初始化参数。 The Omniglot dataset Omniglot数据集-背景集: 30个字母 -评估集: 20个字母 问题设置: 5-way 1-shot classification Training MAML on Omniglot classification task. Training / validation set:30 alphabets multiple charac

    2024年02月16日
    浏览(28)
  • 机器学习李宏毅学习笔记37

    ChatGPT简单原理介绍 Chatgpt以句子为输入,输出这个句子后面接的词汇的概率分布,给每一个可能的符号一个概率,根据这个分布进行sample,每次sample出来的词汇可能都是不一样的,所以答案每次也都不相同。把输出的词汇加在输入给gpt的句子后面,重复上面的过程,直到最后

    2024年02月16日
    浏览(26)
  • 机器学习李宏毅学习笔记39

    大模型+大资料 大模型的顿悟时刻 随数据量增加,模型可以从量变达到质变,从某一刻开始突然学会东西。 当成为大模型时,分数会从0,0突然变成100,完成“顿悟”. 横轴表示分布中产生答案的概率(信心分数),纵轴表示答案正确的概率。可以发现小模型的信心分数跟答案

    2024年02月14日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包