深度学习模型重现 -- 前奏

作为每天和AI模型打交道的开发者,深度学习模型在不同的框架之间转换一直是一个老生常谈的问题。为了让这个问题变得容易,大家做了很多这样的工作,像是微软推出的MMdnn工具,号称可以将模型在几乎所有的流行AI框架中转换,又比如Facebook和微软一起推出的ONNX不依赖具体框架的中间格式等。

但是,回到我们实际的产品开发过程中,我们总还是感觉现有的这些工具有点使不上劲。比如,当我们某一天发现了一篇论文里面的想法很赞,我们想要参考来优化自己的模型。但是仔细一看,发现论文里面公布的代码和模型是caffe的,而我们自己的模型用kera实现的,咋办呢?类似上面的中间格式或者模型转换工具,这个时候就显得很乏力了,因为我们想要的可能是一段可以直接集成到我们的现有模型中的代码,或者是一个我们可以用来做迁移学习的基础模型。这时,我们可能要回归到原点,从零开始,深入理解论文里面提到的优化,重新实现。

在我们的模型开发过程中,就遇到了这样的问题。看起来很美好的想法和模型,却无法直接使用。下面我将用几篇文章分享一下我们研究过的几个模型。