IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> PyTorch----激活函数 -> 正文阅读

[人工智能]PyTorch----激活函数

什么是激活函数?

  • 在神经网络中我们经常使用线性运算来解决分类问题,这就需要激活函数来解决非线性问题

  • 传统的全连接网络是让数据不断的通过线性函数和激活函数层,从而得到最终的预测结果。


Sigmoid函数

sigmoid函数是最经典、最早使用的激活函数,公式如下:

ρ = 1 1 + e ? z \rho = \frac{1}{1+ e^{-z}} ρ=1+e?z1?

在这里插入图片描述

  • 激活函数Sigmoid在定义域内处处可以求导,当输入一个较小或者较大的数据时,该函数的导数会变得很小,梯度趋近于0。
  • 如果每次梯度值都减小,神经网络具有很多层,当梯度穿过很多层,会逐渐趋近于0,出现梯度消失现象,模型无法继续收敛,sigmoid函数以前被广泛使用,现在很少被人使用。
import torch
import torch.nn as nn
# 实现方式1
x = torch.tensor([-1.0,1.0,2.0,3.0])
output = torch.sigmoid(x)
print(output)
# 实现方式2
s = nn.Sigmoid()
output = s(x)
print(output)

在这里插入图片描述


Tanh激活函数

  • Tanh是双曲函数中的双曲正切函数.在数学中, 双曲正切函数都是由双曲正弦函数和双曲余弦函数推导而来

  • t a n h ( x ) = e x ? e ? x e x + e ? x tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} tanh(x)=ex+e?xex?e?x?

在这里插入图片描述

  • 和Sigmoid函数很相似,但是Tanh函数的输出范围为(-1,1),Sigmoid函数的输出范围为(0,1)。
  • PyTorch中同样有两种实现方式
import torch
import torch.nn as nn
# 方式1
output = torch.tanh(x)
print(output)
# 方式2
t = nn.Tanh()
output = t(x)
print(output)

在这里插入图片描述


ReLU激活函数

  • 双曲正切函数和Sigmoid函数都差不多,都有梯度消失的现象,解析式中也存在幂运算,计算的时间也慢。

  • 为了解决梯度消失的问题,线性修正单元函数(Rectified Linear Units,简称ReLU) 就被发明了出来。

ReLU函数是现在最常用的激活函数之一:

在这里插入图片描述

  • x为常数,当x<0时,ReLU全部取值为0,梯度也为0,减少了梯度运算的成本。

  • 当x>=0时,ReLU的取值为x,梯度始终为固定的一个值,解决了梯度消失的问题。
    在这里插入图片描述

import torch
import torch.nn as nn
# 方式1
output = torch.relu(x)
print(output)
# 方式2
t = nn.ReLU()
output = t(x)
print(output)

总结

  • 解决二分类问题, 我们一般会将最后一层设置为Sigmoid函数层. 因此, 从Sigmoid函数图像可以看出,该函数范围为(0,1) 这样可以很好的表示概率值。

  • 如果在神经网络内部(隐藏层)需要使用激活函数,一般会使用ReLU函数或者ReLU函数的改进来进行激活。

  • 如果是二分类问题,那么在神经网络最后一层加上Sigmoid函数层。

  • 如果是多分类问题,那么会在神经网络最后一层加上Softmax函数层。

  • Softmax函数通常和交叉熵函数一起使用。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 18:10:12  更:2022-05-24 18:14:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:53:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码