日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

sigmoid函数的数值稳定性

發(fā)布時(shí)間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sigmoid函数的数值稳定性 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在深度學(xué)習(xí)中,我們常常選用sigmoid函數(shù)作為激活函數(shù)。sigmoid函數(shù)的具體形式如下:

f(x)=11+e?x
曲線表示為:




再畫(huà)大一點(diǎn),取x區(qū)間更大一些,則為:



顯然從圖像上看,sigmoid函數(shù)是數(shù)值穩(wěn)定的,即對(duì)于更大范圍的x,y的取值是連續(xù)的,有效的。

從理論上看,

limx+f(x)=1;limx?f(x)=0
且中間數(shù)值可以從數(shù)學(xué)上證明是穩(wěn)定的。
但我們考慮1-f(x)呢?
1?f(x)=e?x1+e?x
我們用matlab繪制其曲線:



我們發(fā)現(xiàn)這時(shí),當(dāng)x趨向負(fù)無(wú)窮,甚至僅僅x趨向-800,此時(shí)1-f(x)就不再穩(wěn)定了,在matlab的值變成了NAN了

其實(shí)我們發(fā)現(xiàn),對(duì)于 1- f(x),顯然當(dāng)x趨向正無(wú)窮時(shí),還是穩(wěn)定的,此時(shí):
分子:e?x0,而分母:1+e?x1,

顯然01,結(jié)果趨向0.

但是當(dāng)x趨向負(fù)無(wú)窮時(shí),此時(shí),
分子: e?x+,而分母:1+e?x+,
此時(shí):
e?x1+e?x就會(huì)變得不穩(wěn)定,盡管理論上趨向1。
因此就出現(xiàn)了以上的圖像。

那么如何解決這種不穩(wěn)定問(wèn)題的解呢?

其實(shí)有兩種辦法:

(一)先計(jì)算穩(wěn)定的f(x),結(jié)果賦予y,再計(jì)算1-y .

乍看從數(shù)學(xué)上,好像完全一致,但是在數(shù)值解上不等價(jià)。 y=f(x)是穩(wěn)定的,因此對(duì)于1-f(x)=1-y也變成了穩(wěn)定的解。

我們從圖像上證明:




此時(shí)就正確了,與理論解完全一致。

(二)直接從1-f(x)著手
這里我們從caffe的sigmoid_cross_entropy_loss_layer.cpp得到啟發(fā)。

主要辦法就是對(duì)于

1?f(x)=e?x1+e?x
分別考慮正負(fù)x.

當(dāng)x0時(shí),維持上式不變;
當(dāng)x<0時(shí),分子分母同時(shí)乘以ex,則有:

e?x1+e?x=???????e?x1+e?x11+exx0x<0

此時(shí)繪制曲線為:



因此在實(shí)際coding中,我們需要考慮計(jì)算的穩(wěn)定性。

總結(jié)

以上是生活随笔為你收集整理的sigmoid函数的数值稳定性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。