深度学习框架
使用深度学习框架完成模型构建有如下两个优势:
- 节省编写大量底层代码的精力:屏蔽底层实现,用户只需关注模型的逻辑结构。同时,深度学习工具简化了计算,降低了深度学习入门门槛
深度学习框架设计思路
深度学习框架的本质是框架自动实现建模过程中相对通用的模块,建模者只实现模型个性化的部分,这样可以在“节省投入”和“产出强大”之间达到一个平衡。我们想象一下:假设你是一个深度框架的创造者,你期望让框架实现哪些功能呢?
相信对神经网络模型有所了解的读者都会得出如 表1 所示的设计思路。在构建模型的过程中,每一步所需要完成的任务均可以拆分成个性化和通用化两个部分。
- 个性化部分:往往是指定模型由哪些逻辑元素组合,由建模者完成。
表1:深度学习框架设计示意图
无论是计算机视觉任务还是自然语言处理任务,使用的深度学习模型结构都是类似的,只是在每个环节指定的实现算法不同。因此,多数情况下,算法实现只是相对有限的一些选择,如常见的Loss函数不超过十种、常用的网络配置也就十几种、常用优化算法不超过五种等等。这些特性使得基于框架建模更像一个编写“模型配置”的过程。