全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2019-09-14_三四行代码打造元学习核心,PyTorch元学习库L2L现已开源

您的位置:首页 >> 新闻 >> 行业资讯

三四行代码打造元学习核心,PyTorch元学习库L2L现已开源 选自Github 项目作者:learnables 机器之心编译 元学习似乎一直比较「高级」,毕竟学习如何学习这个概念听起来就很难实现。在本文中,我们介绍了这两天新开源的元学习库 learn2learn,它是用 PyTorch 写的,只需要三四行代码就能构建元学习最为核心的部分。 learn2learn 是一个用于实现元学习的 Pytorch 库,我们只需要加几行高层 API,就能为一般的机器学习流程添加元学习能力。例如在元学习 MNIST 案例中,我们可以用 PyTorch 构建整个流程,但只要加上三行 L2L 代码就能打造元学习模型。这三行代码只干三件事:获取元数据集、生成元学习任务、定义元学习模型。 项目地址:https://github.com/learnables/learn2learn 元学习的目标是让智能体学习如何学习,也就是说,我们希望智能体能够在解决更多问题的过程中成为更好的学习器。例如,下图展示的智能体正在学习如何跑步,尽管它只会更新一个参数。 L2L 有什么特性 L2L 是一个元学习库,可以为用户提供 3 个级别的功能。在最高级别上,它有很多使用元学习算法在大量数据集/环境上训练的示例。在中间级别上,它为若干流行的元学习算法提供了功能接口以及便于加载其他数据集的数据加载器。在最低级别上,它为模块提供了可扩展功能。 L2L 的一些特性包括: 模块化 API:使用这个库中的底层工具实现你自己的训练循环; 提供多个元学习算法(如 MAML、FOMAML、MetaSGD、ProtoNets、DiCE); 具有统一 API 的任务生成器,兼容 torchvision、torchtext、torchaudio 和 cherry; 提供标准化的视觉(Omniglot、mini-ImageNet)、强化学习(Particles、Mujoco)甚至文本(新闻分类)元学习任务; 100% 兼容 PyTorch——使用你自己的模块、数据集或库。 最后,整个 L2L 库都是由 PyTorch 写的,因此它的源代码并不难理解,我们可以通过项目的源码学习怎样从底层实现元学习算法。 L2L 实现 MAML 元学习算法的局部源代码,它的源码拥有大量的注释,可以帮助理解实现过程。 示例代码 下面我们来看看 learn2learn 到底该如何学习一个能实现 MNIST 分类任务的模型,它使用非常高层的应用,因此理解起来很容易。 如下代码所示,总体而言,整个过程可以分为导入数据、定义元学习任务、定义元学习模型与最优化方法、在元学习任务内不同的学习器适配不同的数据,最后就是标准的损失计算与模型更新了。 importlearn2learnasl2l mnist=torchvision.datasets.MNIST(root="/tmp/mnist",train=True) mnist=l2l.data.MetaDataset(mnist) task_generator=l2l.data.TaskGenerator(mnist, ways=3, classes=[0,1,4,6,8,9], tasks=10) model=Net() maml=l2l.algorithms.MAML(model,lr=1e-3,first_order=False) opt=optim.Adam(maml.parameters(),lr=4e-3) foriterationinrange(num_iterations): learner=maml.clone()#Createsacloneofmodel adaptation_task=task_generator.sample(shots=1) #Fastadapt forstepinrange(adaptation_steps): error=compute_loss(adaptation_task) learner.adapt(error) #Computeevaluationloss evaluation_task=task_generator.sample(shots=1, task=adaptation_task.sampled_task) evaluation_error=compute_loss(evaluation_task) #Meta-updatethemodelparameters opt.zero_grad() evaluation_error.backward() opt.step() 整个 API 非常高层,只需要很少的代码量就能完成模型。但与此同时,L2L 库还提供了中层和底层方面的 API,它允许我们做更多定制化的修改。更多的例子读者可以在 GitHub 中查阅,其示例模型分为强化学习、文本处理和视觉模型三方面: 如果读者也想要试试这个库,那么直接在命令行中运行 pip install learn2learn 就行了,剩下的再看看文档和教程,就可以快速学会怎样使用元学习。 文档地址:http://learn2learn.net/docs/learn2learn/ 教程地址:http://learn2learn.net/tutorials/getting_started/ 本文为机器之心编译,转载请联系本公众号获得授权。 ?------------------------------------------------加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com投稿或寻求报道:content@jiqizhixin.com广告 & 商务合作:bd@jiqizhixin.com

上一篇:2024-09-04_大模型走向物理世界,TeleAI 发布大模型驱动的具身智能综述,覆盖300篇文献 下一篇:2025-09-12_姚顺雨离职OpenAI,开启下半场

TAG标签:

19
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价