borgwang/tinynn

激活函数问题

Mylszd opened this issue · 4 comments

大佬您好,在看到激活函数的时候有一点不清楚,为什么forward和backward要再增加两个函数fun和derivative_func?

@Mylittledream Activation 类的 forward/backward 中会调用 func/derivative 两个函数,在 Activation 各个子类里实现这两个函数。

嗯嗯,谢谢,激活函数可以像Dense层一样把运算直接写在forward和backward里吗?而不再增加func/derivative两个函数。

@Mylittledream 独立 func/derivative 两个函数是为了将激活函数 forward/backward 计算中的公有逻辑放到父类,子类只需要实现对应的函数/导函数即可,避免重复代码,让代码更加清晰。

如果每个激活函数都实现 backward,那么在每个 backward 函数里面除了实现导函数之外还要再乘上 gradient,是不必要的重复。

@borgwang 明白了,感谢大佬!