首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【手撕深度学习算法】(3月23日群讨论笔记)关于Sigmoid和活化函数

【手撕深度学习算法】(3月23日群讨论笔记)关于Sigmoid和活化函数

作者头像
GPUS Lady
发布2018-04-02 14:08:57
1.2K0
发布2018-04-02 14:08:57
举报
文章被收录于专栏:GPUS开发者GPUS开发者

1手撕深度学习算法答疑微信群建立了!

为了更好地服务于关注于我们手撕深度学习算法讲座的学员,我们成立专门的答疑微信群。4月8日后,我们将再继续释放LSTM后半部讲座视频,敬请关注!届时我们会开放入群。


说在前面

有人问关于深度学习有没有入门的资料,初学者怎么破?

Kalvar Lin老师建议先看看这个视频:

视频内容

回到今天的话题

首先群里Kalvar Lin老师在群里发了两篇他的手写算式:

老师说:让大家假单认识一下Sigmoid,Hyperbolic Tangent的原型:Logistic Function,这样想试试设计自己的Sigmoid,Tanh是可行的。

问题来了

啥叫Sigmoid?

接着有人补充:

Kalvar Lin老师晚上来总结了一下:

Sigmoid,Hyperbolic Tangent都是常用的激活函式(Activation Function),而这2个都能从Logistic Function推论出来。

Sigmoid 把概率分佈壓在 [0.0, 1.0] 之間,Tanh 則壓在 [-1.0, 1.0] 之間

能看到上面有一張 1/(1+exp(-x)) 的 Sigmoid 曲線圖,神經元的訊號(信号)在做加總後,會把訊號再丟入這 sigmoid(x) 進行活化後輸出對應的 y 值。圖裡有 x, y 這 2 軸,我們就是在輸入 x 變量去求出 y 的分佈值。

开头 2 張的用意是能從源頭去理解,而後設計自己的激活函式

Sigmoid 是以 0.5 為分野,>= 0.5 為正樣本,< 0.5 為負樣本。Tanh 以 0 點為分野。第 2 張圖就是刻意把 x 軸向右偏移 5 單位,再把 y 軸向下移 0.5 單位。

假設神經元訊號總和為 0.5, 則 x = 0.5 分別代入 :

a). 1/(1 + exp(-x)) = 1/(1 + exp(-0.5)) = 0.622

b). 1/(1 + exp(-(x - 5))) - 0.5 = 1/(1 + exp(-(0.5 - 5))) - 0.5 = -0.48901305736

就能讓原本輸入的訊號,由正樣本分佈的 0.622 落入負樣本 -0.489。這作法也能理解為建立了一個門檻 (threshold) 進行活化,去為自己的學習數據彈性的設計自己的函式做數據分割。

那 2 張手稿就是在撕這件事。

Logistic Function 常被用來做 Non-linear (非線性) 分割,LSTM 裡則是利用 Sigmoid 來做訊號壓縮與管控。

补充知识点

LSTM是long short term memory的縮寫 他的基礎是RNN,適合RNN的類型 又需要加上一些"記憶"性質。

http://www-dsi.ing.unifi.it/~paolo/ps/tnn-94-gradient.pdf,這裡有篇文章據說解釋了為什麼原本的RNN面對需要記憶的時候做得不好。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档