可以将深度学习(机器学习)应用划分为offline,online predict,online learning,local learning和Global learning等多种形态。不同形态下不同的技术实现路径我们将面临不同的挑战和问题。
这篇文章主要讲的是online predict(在线预测)和offline(离线预测)。模型学习过程是离线的,不是在线的。
online predict
移动端用于做数据输入的预处理,接着向服务器发送请求,把数据传到服务器,在服务器执行深度学习模型,然后接受服务器回传数据进行展示。现在很多APP都是这个思路, 优点是这个方式部署相对简单,现成的框架(caffe,theano,mxnet,Torch) 做下封装就可以直接拿来用,服务器性能大, 能够处理比较大的模型,缺点是必须联网。
offline
离线在设备端(mobile、pad等)计算,受限于设备端的计算速度,需要在模型(模型压缩、“阉割”)层面、代码层面做大量计算优化以减少延迟、保护用户体验。