通常计算
编写深度学习系统,最大系统仍然是编程语言
层级 : ops-layer-module-network
编写时,各级极度耦合,存在调用情况的占比,如network级存在ops,大量的module;但ops绝不会出现高层函数调用
原子算子(ops)皆存在翻转模式
- 只是没有设计出来
数学算子(ops.math):多元算子
其实多元算子的flip,就仅仅是identity?
乘法是因为我们只知道无状态的,前向计算的算子它的计算方法,忽视了输入端是有状态的
张量算子(ops.tensor):【逆】张量的轴,维发生,扩张,收缩
编程算子(ops.python):【反转计算】if max 等等具有布尔运算参与的算子(可翻转形式需要储存大量前激活)
大多数数学算子可以被逻辑算子表示(数学可导更可靠)
- 数学方程可以被转化成编程算法
1.数学编程复合,如relu
2.张量编程复合,轴,维发生重排
3.数学张量复合,轴,维发生,扩张,收缩【jacobian】
元算子有属性:(bool : saved_for_backward【是否保存多元输入提供给反向计算】),(bool : seq_keep【对于计算图优化,节点先后无关(如copy,轴收缩扩张)】)
张量算子
(N)->(N,M)
(N,M)->(M,N)
数学算子
(N,M)-*W1->(N,M)
最简单的复合数学算子:数学计算图
a1

本文探讨了神经网络的构建基础,包括计算图的概念,强调原子算子的翻转模式和张量节点的理解。介绍了前向与反向模式计算,以及网络动力学的猜想,涉及到学习框架组件和工程实践中的问题。通过分析计算图的动态行为,提出在网络内部,前向传播和反向传播的交互可能影响网络的记忆和动力学特性。
最低0.47元/天 解锁文章
1770

被折叠的 条评论
为什么被折叠?



