激活函数介绍(绘制图像与介绍篇)

由于加入了非线性因素,激活函数可以提取图像的高语义信息,帮助提升神经网络的表达能力。

常见的激活函数有Sigmoid, ReLU, Softmax函数。

1.Sigmoid函数

Sigmoid函数又称Logistic函数,模拟了生物的神经元特性。就是当神经元获得的输入信息累计超过一定的阈值后,神经元被激活处于兴奋状态,否则处于抑制状态。函数表达式:

\sigma (x) = \frac{1}{1+exp(-x)}

Sigmoid函数可以用来完成二分类任务,但计算量大,容易出现梯度消失现象

Sigmoid的函数曲线:

# 绘制Sigmoid函数
import math
import matplotlib.pyplot as plt
import numpy as np

def sigmoid(x):
  return 1 / (1 + math.exp(-x))
values_of_sigmoid = []
values_of_x = []
for i in range(-500, 500, 1):
    i = i*0.01
    values_of_x.append(i)
    values_of_sigmoid.append(sigmoid(i))
    plt.plot( values_of_x ,values_of_sigmoid)
plt.xlabel("values of x")
plt.ylabel("value of sigmoid")
plt.show()

激活函数介绍(绘制图像与介绍篇)_第1张图片

可以看出Sigmoid将输入数值集中在0-1

Sigmoid的梯度曲线 

import math
import matplotlib.pyplot as plt
import numpy as np

def sigmoid(x):
    return 1 / (1 + math.exp(-x))

def sigmoid_D(x):
    return sigmoid(x)*(1-sigmoid(x))
values_of_sigmoid = []
values_of_x = []
for i in range(-500, 500, 1):
    i = i*0.01
    values_of_x.append(i)
    values_of_sigmoid.append(sigmoid_D(i))
    plt.plot( values_of_x ,values_of_sigmoid)
plt.xlabel("values of x")
plt.ylabel("value of sigmoid'(x)")
plt.show()

激活函数介绍(绘制图像与介绍篇)_第2张图片

 

使用Pytorch实现Sigmoid函数:

import torch
form torch import nn
input = torch.ones(1, 1, 2, 2)
print(input)
# 使用nn.Sigmoid()实例化sigmoid
sigmoid = nn.Sigmoid()
sigmoid(input)

2. ReLU函数

ReLU( Rectified Linear Unit) 修正线性单元可解决梯度消失现象,是卷积神经网络中最常用的激活函数之一。ReLU的表达式:

ReLU(x)=max(0, x) = \left\{\begin{matrix} 0, if \, x<0\\ x, if \, x\geqslant 0 \end{matrix}\right.

ReLU的函数曲线:

def ReLU(x):
    return max(0,x)
values_of_relu = []
values_of_x = []
for i in range(-500, 500, 1):
    i = i*0.01
    values_of_x.append(i)
    values_of_relu.append(ReLU(i))
plt.plot(values_of_x, values_of_relu)
plt.xlabel("values of x")
plt.ylabel("value of relu(x)")
plt.show()

激活函数介绍(绘制图像与介绍篇)_第3张图片

使用pytoch实现ReLU函数

# ReLU
import torch
from torch import nn
input = torch.randn(1, 1, 2, 2)
print(input)
relu = nn.ReLU(inplace = True)
relu(input)

你可能感兴趣的:(深度学习,人工智能,机器学习)