[pytorch]activation function "swish"
swishは、GoogleがRELUに取って代わるために作成したアクティブ化関数です.深さニューラルネットワークでは,RELUよりも精度が高く,EfficientとMobileNetで実用化されている.(MobileNetはh-swish関数を使用)
f(x)=x∗sigmoid(x)f′(x)=f(x)+sigmoid(x)(1−f(x))\begin{aligned} f(x)&=x * sigmoid(x)\\f'(x)&=f(x) + sigmoid(x)(1-f(x))\end{aligned}f(x)f′(x)=x∗sigmoid(x)=f(x)+sigmoid(x)(1−f(x))
Swish
f(x)=x∗sigmoid(x)f′(x)=f(x)+sigmoid(x)(1−f(x))\begin{aligned} f(x)&=x * sigmoid(x)\\f'(x)&=f(x) + sigmoid(x)(1-f(x))\end{aligned}f(x)f′(x)=x∗sigmoid(x)=f(x)+sigmoid(x)(1−f(x))
Codes
def sigmoid(x):
return 1 / (1 + np.exp(-x))
def ReLU(x):
return np.maximum(0,x)
def swish(x):
return x * sigmoid(x)
Result
Reference
この問題について([pytorch]activation function "swish"), 我々は、より多くの情報をここで見つけました https://velog.io/@glee623/pytorchactivation-function-swishテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol