南加州大学等开源元学习研究库learn2learn

近日,南加州大学单位等开源了一个元学习研究库learn2learn,旨在促进越来越多的元学习的研究,该库基于PyTorch,文档完善,样例丰富,是从事相关研究值得参考的开源库。

 

相关论文:

learn2learn: A Library for Meta-Learning Research

https://arxiv.org/pdf/2008.12284.pdf

 

什么是元学习?

维基百科的解释:

“improve the performance of existing learning algorithms or to learn (induce) the learning algorithm itself, hence the alternative term learning to learn” 改进现存学习算法的性能或者学习【学习算法】本身,因此可认为是学习如何学习。

元学习是让机器学习如何进行学习的领域,让机器能够为了实现机器学习而自我学习,这也是该库名称“learn2learn”(学习去学习)的由来吧。

 

learn2learn 开源目的

作者希望从两个方面加速元学习的研究:

  • 快速原型设计,让研究者可以快速探索新的算法;
  • 验证算法的可重复性,使得算法的比较更公平。

所以learn2learn提供了大量的低级有用的组件和高级算法实现,和有效的评测基准实验。

另外learn2learn拥抱PyTorch开源大家庭,使得其与torchvision, torchaudio, torchtext, cherry等开源库之间的相互调用很方便。

 

learn2learn 整体结构

  • learn2learn.data: 用来管理数据集,可方便从任意PyTorch数据集中创建少样本学习的任务。
  • learn2learn.vision: 用于计算机视觉和少样本学习的模型、数据集与基准测试。
  • learn2learn.gym: 元强化学习的编程环境和组件。
  • learn2learn.algorithms: 现有元学习的高级封装接口。
  • learn2learn.optim: 可微分优化算法与元下降算法的组件和算法,用于灵活涉及新的元学习算法。

 

资源

  • 主页: http://learn2learn.net/
  • 文档: http://learn2learn.net/docs/
  • 教程: http://learn2learn.net/tutorials/getting_started/
  • 例程: 

https://github.com/learnables/learn2learn/tree/master/examples

  • 代码: https://github.com/learnables/learn2learn/
  • Twitter: https://twitter.com/metalearn2learn
  • Slack: http://slack.learn2learn.net/

元学习被认为是通往通用人工智能的重要方向,欢迎感兴趣的同学继续研究。

转载请注明:《南加州大学等开源元学习研究库learn2learn