啟用函式Mish

2021-10-08 21:27:42 字數 847 閱讀 3610

y = x*tanh(ln(1+exp(x)))

實驗中,隨著層深的增加,relu啟用函式精度迅速下降,而mish啟用函式在訓練穩定性、平均準確率(1-2.8%)、峰值準確率(1.2% - 3.6%)等方面都有全面的提高。

從圖中可以看出,mish是乙個平滑的曲線,平滑的啟用函式允許更好的資訊深入神經網路,從而得到更好的準確性和泛化;在負值的時候並不是完全截斷,允許比較小的負梯度流入。

code:

# -*- coding: utf-8 -*-

import torch

import torch.nn as nn

import torch.nn.functional as f

from matplotlib import pyplot as plt

class mish(nn.module):

def __init__(self):

super().__init__()

print("mish activation loaded...")

def forward(self, x):

x = x * (torch.tanh(f.softplus(x)))

return x

mish = mish()

x = torch.linspace(-10, 10, 1000)

y = mish(x)

plt.plot(x, y)

plt.grid()

plt.show()

什麼是啟用函式?常用的啟用函式

啟用函式是神經網路中的重要一環,也是神經網路之所以能叫 神經網路 的原因。初中應該就學過關於神經元的知識了。神經系統的結構和功能的基本單位是神經元,神經元的基本結構包括細胞體和突起兩部分神經元的功能是神經元接受刺激並能產生興奮 神經衝動 並能把興奮傳導到其它的神經元。也就是說其作用主要有三個 接受刺...

啟用函式作用

在神經網路結構中,通過啟用函式將非線性的特性引入到神經網路中,從而讓神經網路可以理解 處理複雜的資料及問題。通常啟用函式的形式可以寫成 y f x 這裡的 x 是啟用函式f 的輸入,y 是 x經過啟用函式變換得到的輸出。通過f 將原來的輸入 x 對映成為另外一種形式表達y。通常在神經網路結構中常用的...

啟用函式總結

一 主要作用 啟用函式的主要作用就是加入非線性因素,以解決線性模型表達能力不足的缺陷,在整個神經網路起到至關重要的作用。在神經網路中常用的啟用函式有sigmoid tanh和relu等,下面逐一介紹。二 sigmod函式 1 函式介紹 sigmoid是常用的非線性的啟用函式,數學公式如下 2 函式曲...