深度学习——激励函数

一、简介激励函数

神经网络的输入,大部分是线性的,例如y=Wx+b这种形式。但是在现实生活中,都是线性的,是不符合现实情况的。这个时候就需要将线性函数转化成非线性函数。这个时候激励函数就“闪亮登场”了。激活函数的作用就是将线性函数转化成非线性函数!!!

二、常用的激励函数

常用的激活函数有:relu sigmoid tanh
使用这些激活函数对线性函数进行再一次的“包裹”,从而将线性函数转化成非线性函数。
在这里插入图片描述

三、使用激励函数

# coding:utf-8

import numpy as np
import matplotlib.pyplot as plt
import torch
import torch.nn.functional as F


# 造数据
data = torch.linspace(-5, 5, 200)
y_relu = torch.relu(data)
y_sigmoid = torch.sigmoid(data)
y_tanh = torch.tanh(data)
y_softplus = F.softplus(data)

# 绘图
plt.figure()
# 子图1
plt.subplot(221)
plt.plot(data, y_relu, c="red", label="relu")
plt.ylim((-1, 5))
plt.legend(loc="best")

# 子图2
plt.subplot(222)
plt.plot(data, y_sigmoid, c="red", label="sigmoid")
plt.ylim((-1, 5))
plt.legend(loc="best")

# 子图3
plt.subplot(223)
plt.plot(data, y_tanh, c="red", label="tanh")
plt.ylim((-1, 5))
plt.legend(loc="best")

# 子图3
plt.subplot(224)
plt.plot(data, y_softplus, c="red", label="softplus")
plt.ylim((-1, 5))
plt.legend(loc="best")

# 展示
plt.show()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Elon15/article/details/128879130