top of page
アンカー 1

一、前文回顾

上一节我们为小D设计了大脑(四层神经网络)以及下面的激活函数。


这里的h(s1)激活函数我们称之为阶梯函数。上节也说过激活函数有很多种,今天主要对以下三个进行讲解:

①阶梯函数

②sigmoid函数

③ReLu函数

二、激活函数

1.阶梯函数

Python实现


import numpy as npimport matplotlib.pylab as plt

def step_function(x):
    return np.array(x > 0, dtype=np.int)

if __name__ == "__main__":
    # 从-5到5之间每隔0.1取一个数字
    X = np.arange(-5.0, 5.0, 0.1)
    # 调用阶梯函数    
    Y = step_function(X)    
    # 用matplotlib显示函数曲线    
    plt.plot(X, Y)    
    plt.ylim(-0.1, 1.1)    
    plt.show()

2.sigmoid函数


Python实现


import numpy as np
import matplotlib.pylab as plt

def sigmoid(x):
    return 1 / (1 + np.exp(-x))
if __name__ == "__main__":    
  X = np.arange(-5.0, 5.0, 0.1)    
  Y = sigmoid(X)    
  plt.plot(X, Y)    
  plt.ylim(-0.1, 1.1)    
  plt.show()

3.ReLu函数


Python实现

import numpy as np
import matplotlib.pylab as plt


def relu(x):
    return np.maximum(0, x)


if __name__ == "__main__":
    x = np.arange(-5.0, 5.0, 0.1)
    y = relu(x)
    plt.plot(x, y)
    plt.ylim(-1.0, 5.5)
    plt.show()

三、激活函数的区别

通过上面方程式,Python代码以及二维图形我们应该可以对这三种激活函数有个大致的了解。那么这三个激活函数在神经网络的应用里有什么区别?我们举个例子。

假如小D在大马路上散步,对面来了一个人莫名其妙挑衅小D。

再假如挑衅有四个等级:

A:没有挑衅

B:瞪了小D一眼

C:对小D口吐芬芳

D:直接对小D一套组合拳

小D面对挑衅的回应也有四个等级:

a:悠哉游哉散步

b:回瞪对方一眼

c:小D也口吐芬芳

d:小D回击对面两套组合拳

我们先看阶梯函数,阶梯函数的特征是,要么是0,要么是1,所以如果小D的激活函数是阶梯函数的话,它要么完全无视对方的挑衅(哪怕自己挨了一套组合拳),要么直接把对方送进医院(哪怕对方只是瞪了它一眼)。所以呢这时候小D就是个暴脾气,不鸣则已一鸣惊人。用神经网络来解释就是对输入的信号,都简单粗暴的分为0或者1,导致第一层以后的神经网络完全失去意义。


我们再看sigmoid函数,特征就是在当刺激很小时候回应也很小并且平稳,随着刺激不断增强回应越激烈,但是当刺激趋向与无穷大的时候,回应又会趋向于平稳。所以如果小D的激活函数是sigmoid函数的话,那么小D基本会做到以其人之道还治其人之身。但是它有个缺点,就是对面的挑衅很过分的时候(比如给你身上开个洞),那么小D的反应还只是两套组合拳,或者说对面没有挑衅小D,但是小D也会瞪人家一眼。用神经网络来解释就是在面对非常大或者非常小的信号输入时,神经元会趋向于稳定,从而处于一种麻痹状态。这当然不是我们希望看到的。


最后再看看ReLU函数,特征就是没有刺激的时候,它也没有反应,如果有刺激的话,刺激越强回应越猛烈。是不是很完美的做到了以其人之道还治其人之身。所以目前主流的神经网络都会选择ReLu函数或者变种函数来作为激活函数。但是Relu其实也有缺点,就是当输入信号值为负值的话会被完全丢弃掉,而且是无法找回的,这就会导致某些神经元一直处于无刺激状态,也就是死亡状态。甘瓜苦蒂,天下物无全美,相对来说Relu已经算是很完美的激活函数了。


四、总结

我们介绍了三种激活函数,我个人理解的话,感觉激活函数更像是小D的一种性格,暴脾气(阶梯函数),相对理智型(sigmoid函数)或者完美理智型(ReLu函数)。

OK,小D有了大脑,还有了它自己的性格,下一节我们用python来实现一下这个神经网络,所以下节主题便是【详解小D】








bottom of page