通过图的反向传播:便于部署,反向传播的计算不需要被定义为图。但是灵活性低,因为图可用的特征可能不能用于反向传播的计算。 作为扩展图的反向传播:部署变得复杂。但是灵活性高,因为任何图可用的特征都能用于反向传播的计算。
如何表征参数 作为操作器节点的一部分的参数 图中作为独立节点的参数
作为操作器节点的一部分的参数:直觉,这种表征和经典的神经网络形式很像,但是有较低的灵活性和重复利用性。 图中作为独立节点的参数:灵活性和重复利用性很高。
Chainer 的例子 Chainer 最初使用的是经典的设计 后来被重新设计为两层的视角:一个是现代视角,一个是经典的视角。 这种多层的压缩,在现代的框架中很常见。(比如,Keras,PyTorch)
如何升级参数? 通过图以外的常规升级参数:容易部署,但是一致性很低。 把升级的方程式作为图的一部分进行表征:部署变得复杂,但是一致性高。
什么时候运行用户的代码?
什么时候运行用户的代码? 静态计算图:计算容易优化,灵活性和重复利用性低 动态计算图:计算很难优化,灵活性和重复利用性高
运行时间语言句法的灵活性和可用性
如何实现计算性能? 图迁移,以优化计算, 提供简单的方式来写定制的运行节点
如何扩展计算 多GPU平行计算 分布式计算 以下是BenchMark的比较:
我们主要介绍了每一个框架的能力 但是,并没有包括围绕框架的详细比较 框架的选择实际上依赖于写神经网络时的舒适度 在这里,试错很重要 【寻找AI独角兽】新智元联手10大资本 启动2017创业大赛 (责任编辑:本港台直播) |