科学网深度学习框架 fast.ai 2.0 新版正式发布

 米尔军事     |      2020-08-25 18:07

科学网深度学习框架 fast.ai 2.0 新版正式发布

如果你想入门深度学习,这是个难得的好机会。软件、样例、课程,还有配套教材的开源版本,全都免费提供

发布

经历了长久的等待之后,深度学习框架 fast.ai 2.0 版本终于正式发布了。

科学网深度学习框架 fast.ai 2.0 新版正式发布

fast.ai 课程,是为了践行 Jeremy Howard “让深度学习不再酷”的承诺。这话的意思是也消除掉门槛,让更多没有高等数学和统计专业基础的人,都有机会来了解和应用深度学习。关于这个事儿,我在《如何从零基础学最前沿的 Python 深度学习?》一文中,给你介绍过。

顺便给你介绍一下这个课程的迭代过程。

课程的第一个轮次,使用的是 Keras 作为框架讲解。这在当时是个不错的选项。因为比起当时存在的各种深度学习框架,Keras 是其中最为简单易学的。我也不止一次,在教程里面给你推荐过 Keras 作者 François Chollet 的配套教材。

科学网深度学习框架 fast.ai 2.0 新版正式发布

但是很快,Jeremy Howard 就发现了 Keras 存在的问题。这个框架提供的 API 虽然简单,但是如果用户希望进行深度定制,会比较费劲。因为一旦尝试定制,就必然需要调用后端框架。而 Keras 的后端框架是 Tensorflow (当时还是1.x 版本)。Tensorflow 在当时几乎是以“用户不友好”著称。

可是 Keras 明明已经提供了深度学习的模型建构、训练、调试等功能,为什么用户还需要定制呢?这是因为 fast.ai 并不是一门 101 课程。Jeremy 不会认为只教你调用软件包,做个 "hello world!" 就满足了教学的目标。相反,他总是希望把最前沿的东西融入课堂。

例如文本深度迁移学习 ULMfit,在当时的理念上,着实是划时代的。可以说,后面 BERT 和一系列的 Transformers 架构,都从中吸取了不少有益的特点。

科学网深度学习框架 fast.ai 2.0 新版正式发布

这么重要的一个架构,别人肯定是先把论文发了,然后再找时间看要不要在课上讲解。Jeremy 不是。他先在课程中对 ULMfit 做了介绍,让学生们第一时间尝试这种新的语言模型,然后才受邀发了论文。ULMfit 里面采用了一种“差序训练速率”(discriminative learning rate),即对于不同层次,训练速率都不同。这种对于模型架构的深度修改,没有可扩展定制能力,显然是不行的。

因为用 Keras 不顺手,Jeremy 做出了一个决定:

干脆自己开发一个前端 API 框架。

过程

一开始, Jeremy 是打算基于 Tensorflow 来做的。在准备迭代第二次课程的时候,PyTorch 的出现让他眼前一亮。PyTorch 的 API 更加简洁,一致性更强,用户友好程度比起 Tensorflow 1.x 要好很多。于是 Jeremy 修改了方案,基于 PyTorch 开发前端 API ,名字就叫做 fast.ai 。

科学网深度学习框架 fast.ai 2.0 新版正式发布

这个框架当时是为了上课用的。一边备课一边编写,所以开发的时候非常紧迫。甚至导致他晚上上课,下午还在调代码。进度赶得真叫一个惊心动魄。

好在,尽管过程磕磕碰碰,Jeremy 总算没有因为 fast.ai 的开发进度耽误上课。这一框架受到了初学者与研究界广泛的好评。这好评主要包括两个方面:

首先是低门槛。fast.ai 把一切能自动化完成的过程全都包裹了起来。这种简便性,使得你只要看得懂函数名称,就大致会用了。而且还有完整的课程,从头教起。遇到问题,论坛上的回答氛围也很活跃。

科学网深度学习框架 fast.ai 2.0 新版正式发布

其次是高天花板。简单并不一定意味着能力弱。fast.ai 不断融合吸收大量深度学习领域前沿技术。例如数据增强、模型解释等。

科学网深度学习框架 fast.ai 2.0 新版正式发布