[pytorch]activation function "swish"

도리도리·2021년 11월 7일
0

pytorch

목록 보기
1/1
post-thumbnail

swish는 ReLU를 대체하기 위해 구글이 만든 활성화 함수이다. 깊은 신경망에서 ReLU보다 높은 정확도를 가진다고 알려져있고, EfficientNet과 MobileNet에서 실제로 사용되고 있다. (MobileNet은 h-swish함수 사용)

Swish

f(x)=xsigmoid(x)f(x)=f(x)+sigmoid(x)(1f(x))\begin{aligned} f(x)&=x * sigmoid(x) \\ f'(x)&=f(x) + sigmoid(x)(1-f(x)) \end{aligned}

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

profile
정희선

0개의 댓글