我正在使用keras开发Deep Nets。有一个激活“硬S形”。它的数学定义是什么?
我知道什么是乙状结肠。有人在Quora上问了类似的问题:https://www.quora.com/What-is-hard-sigmoid-in-artificial-neural-networks-Why-is-it-faster-than-standard-sigmoid-Are-there-any-disadvantages-over-the-standard-sigmoid
但是我在任何地方都找不到精确的数学定义吗?
最佳答案
由于Keras同时支持Tensorflow和Theano,因此每个后端的确切实现可能会有所不同-我将仅介绍Theano。对于Theano后端,Keras使用T.nnet.hard_sigmoid
,而linearly approximated standard sigmoid又是ojit_a:
slope = tensor.constant(0.2, dtype=out_dtype)
shift = tensor.constant(0.5, dtype=out_dtype)
x = (x * slope) + shift
x = tensor.clip(x, 0, 1)
即它是:
max(0, min(1, x*0.2 + 0.5))
关于math - 硬乙状结肠如何定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35411194/