动手学深度学习(pytorch)学习记录12-激活函数[学习记录]

激活函数

激活函数(activation function)通过计算加权和并加上偏置来确定神经元是否应该被激活, 它们将输入信号转换为输出的可微运算。

import torch  
import matplotlib.pyplot as plt 

简单定义一个画图的函数

def graph_drawing(x_,y_,label_=None): plt.figure(figsize=(5, 2.5))  # 设置图形窗口的大小if label_ is None:plt.plot(x_, y_)else:plt.plot(x_, y_, label = label_)# plt.plot()里不要marker='x'更好看plt.legend()  # 显示图例      plt.show()

创建数据

# 创建 x 数据,并设置 requires_grad=True  
x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True) 

ReLU函数

ReLU(Rectified Linear Unit)函数是一种在深度学习中广泛使用的激活函数,其表达式为f(x) = max(0, x)。它简单地将所有的负值置为0,保持正值不变,有助于解决梯度消失问题,并加速神经网络的训练过程。
在这里插入图片描述

# 应用 ReLU 函数  
y = torch.relu(x)  
graph_drawing(x_=x.detach(),y_=y.detach(),label_='relu(x)')

在这里插入图片描述
当输入为负时,ReLU函数的导数为0,而当输入为正时,ReLU函数的导数为1。 当输入值精确等于0时,ReLU函数不可导。可以忽略这种情况,因为输入可能永远都不会是0.

# 绘制ReLU函数的导函数图像
y.backward(torch.ones_like(x), retain_graph=True)
# retain_graph=True:这是一个可选参数,用于控制梯度图(即用于计算梯度的图结构)的保留。在默认情况下,.backward()会清除梯度图以节省内存。
graph_drawing(x_=x.detach(),y_=x.grad.numpy(),label_='grad of ReLU')
#转换为 numpy 数组,似乎转不转都行

在这里插入图片描述

sigmoid函数

对于一个定义域在R中的输入, sigmoid函数将输入变换为区间(0, 1)上的输出。 因此,sigmoid通常称为挤压函数(squashing function): 它将范围(-inf, inf)中的任意输入压缩到区间(0, 1)中的某个值。
当我们想要将输出视作二元分类问题的概率时, sigmoid仍然被广泛用作输出单元上的激活函数 (sigmoid可以视为softmax的特例)。
当输入接近0时,sigmoid函数接近线性变换。
在这里插入图片描述

# 绘制sigmoid函数图像
y = torch.sigmoid(x)
graph_drawing(x_=x.detach(),y_=y.detach(),label_='sigmoid(x)')

在这里插入图片描述
sigmoid函数的导数当输入为0时,sigmoid函数的导数达到最大值0.25; 而输入在任一方向上越远离0点时,导数越接近0。
在这里插入图片描述

# 清除以前的梯度
x.grad.data.zero_()
y.backward(torch.ones_like(x),retain_graph=True)
graph_drawing(x_=x.detach(),y_=x.grad.numpy(),label_='grad of sigmoid')

在这里插入图片描述

tanh函数

与sigmoid函数类似, tanh(双曲正切)函数也能将其输入压缩转换到区间(-1, 1)上。
在这里插入图片描述

y = torch.tanh(x)
graph_drawing(x_=x.detach().numpy(), y_=y.detach().numpy(), label_='tanh(x)')

在这里插入图片描述
tanh函数的导数图像: 当输入接近0时,tanh函数的导数接近最大值1。 与sigmoid函数图像类似, 输入在任一方向上越远离0点,导数越接近0
在这里插入图片描述

# 清除以前的梯度
x.grad.data.zero_()
y.backward(torch.ones_like(x),retain_graph=True)
graph_drawing(x_=x.detach(),y_=x.grad.numpy(),label_='grad of tanh')

在这里插入图片描述
封面图片来源

欢迎点击我的主页查看更多文章。
本人学习地址https://zh-v2.d2l.ai/
恳请大佬批评指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/401778.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

static、extern,const关键字

1、static关键字 static关键字:延长生命周期,限制作用域 static修饰局部变量:静态局部变量 static修饰全局变量:静态全局变量 static修饰函数:静态函数 2、extern关键字 extern:引用其他文件 .c 中的全局…

私域场景中的数字化营销秘诀

​在当今的商业世界,私域场景的营销变得愈发重要。今天咱们就来深入探讨一下私域场景中的几个关键营销手段。 一、会员管理与营销 企业一旦拥有完善的会员体系,数字化手段就能大放异彩。它可以助力企业对会员进行精细划分,深度了解会员的消费…

STM32 GPIO 模块

B站视频地址:芯片内部GPIO模块细节 引脚 将 STM32 芯片,类比为【大脑】 而旁边的引脚,类比为【神经】 通过引脚,使得,STM32,可以和外部世界,进行交流 比如,当我们和别人说话时&am…

【安全工具推荐-Search_Viewer资产测绘】

目录 一、工具介绍 二、工具配置 三、传送门 一、工具介绍 Search_Viewer,集Fofa、Hunter鹰图、Shodan、360 quake、Zoomeye 钟馗之眼、censys 为一体的空间测绘gui图形界面化工具,支持一键采集爬取和导出fofa、shodan等数据,方便快捷查看…

基于808协议和1078协议的视频监控系统

卫星定位云服务平台 卫星定位云服务平台是一个车载视频终端监控系统,用于对卫星定位设备进行实时监控、实时定位、轨迹回放、指令下发、拍照记录、报警信息、实时视频、历史视频等功能。808协议和1078协议 内置功能 车队管理:车队信息的增删改查。型号管理&#…

快速MD5强碰撞生成器:fastcoll

问:可以制作两个具有相同哈希值的不同文件吗? 答:可以。 在密码学中,哈希函数将输入数据转换成固定长度的字符串。但由于输入的无限性和输出的固定性,不可避免地会有不同输入产生相同的哈希值,这就是碰撞。…

力扣面试经典算法150题:找出字符串中第一个匹配项的下标

找出字符串中第一个匹配项的下标 今天的题目是力扣面试经典150题中的数组的简单题: 找出字符串中第一个匹配项的下标 题目链接:https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/?envTypestudy-plan-v2&envIdto…

短视频SDK解决方案,降低行业开发门槛

美摄科技匠心打造了一款集前沿技术与极致体验于一体的短视频SDK解决方案,它不仅重新定义了短视频创作的边界,更以行业标杆级的短视频特效,让每一帧画面都闪耀不凡光芒。 【技术赋能,创意无限】 美摄科技的短视频SDK,…

基于DVWA-Brute Force(LowMedium)的渗透测试

Brute force主要是通过爆破达到渗透目的&#xff1a; Low 查看源代码&#xff1a; <?phpif( isset( $_GET[ Login ] ) ) {// Get username$user $_GET[ username ];// Get password$pass $_GET[ password ];$pass md5( $pass );// Check the database$query "SE…

遗传算法与深度学习实战(4)——遗传算法详解与实现

遗传算法与深度学习实战&#xff08;4&#xff09;——遗传算法详解与实现 0. 前言1. 遗传算法简介1.1 遗传学和减数分裂1.2 类比达尔文进化论 2. 遗传算法的基本流程2.1 创建初始种群2.2 计算适应度2.3 选择、交叉和变异2.4算法终止条件 3. 使用 Python 实现遗传算法3.1 构建种…

Adobe Audition AU 2023-23.6.6.1 解锁版下载和安装教程(专业的音频处理工具)

前言 Audition是Adobe旗下一款非常好用的音频处理工具&#xff0c;软件为用户们提供了功能强大的音频编辑功能和一个相对完善的工作流程&#xff0c;用户们无论是录制音乐、无线电广播还是视频配音&#xff0c;多音频合成&#xff0c;这款软件都能够给你足够的创作动力。audit…

7za解压缩工具

1、unzip无法解压缩大于4G的文件 从Windows平台通过MobaXterm上传一个大小约为5G的zip文件到AutoDL Linux系统上&#xff0c;使用unzip解压过程中出现如下错误&#xff1a; 从网上搜索了一下相关资料&#xff0c;发现是当前的unzip版本不支持4G以上的压缩包。要么升级到最新…

贪吃蛇(C语言详解)

贪吃蛇游戏运行画面-CSDN直播 目录 贪吃蛇游戏运行画面-CSDN直播 1. 实验目标 2. Win32 API介绍 2.1 Win32 API 2.2 控制台程序&#xff08;Console&#xff09; 2.3 控制台屏幕上的坐标COORD 2.4 GetStdHandle 2.5 GetConsoleCursorlnfo 2.5.1 CONSOLE_CURSOR_INFO …

60万奖池,CV算法+大模型创新应用双赛道——2024无锡国际人工智能创新应用大赛正式启动!

2024无锡国际人工智能创新应用大赛于8月15日开赛&#xff0c;本次大赛开放计算机视觉算法和大模型创新应用双赛道&#xff0c;召唤全球开发者、创新团队和企业实现人工智能技术创新与应用。 聚焦前沿&#xff0c;双重赛道 算法赛道参赛者将使用Jittor框架进行无人机视角下的算…

Wireshark显示过滤器常用关键字及过滤表达式

Wireshark显示过滤器常用关键字及过滤表达式 1. 过滤器类型 Wireshark抓包工具提供了两种类型过滤器&#xff1a;抓包过滤器 和 显示过滤器。 抓包过滤器&#xff1a; 抓取满足过滤条件的数据包&#xff0c;不满足过滤条件的数据包不会被抓取。 显示过滤器&#xff1a; 包已…

软件测试面试必杀篇:【2024软件测试面试八股文宝典】

800道软件测试面试真题&#xff0c;高清打印版打包带走&#xff0c;横扫软件测试面试高频问题&#xff0c;涵盖测试理论、Linux、MySQL、Web测试、接口测试、App测试、Python、Selenium、性能测试、LordRunner、计算机网络、数据结构与算法、逻辑思维、人力资源等模块面试题&am…

【计算机网络】TCP实战

其实有了UDP的基础&#xff0c;TCP不管怎么说学习起来都还是比较舒服的&#xff0c;至少是比直接就学习TCP的感觉好。 这篇文章最多就是介绍一下起手式&#xff0c;如果想带业务的话和UDP那篇是完全一样的&#xff0c;就不进行演示了。 总的来说还是很简单的。 目录 Echo服务端…

食品零食小吃商城管理系统-计算机毕设Java|springboot实战项目

&#x1f34a;作者&#xff1a;计算机毕设残哥 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目、 源…

科技云报道:“大模型+机器人”,具身智能将开启“智械时代”

科技云报道原创。 从15世纪达芬奇绘制出世界上第一份人形机器人手稿&#xff0c;到如今波士顿动力、本田、特斯拉、Figure AI等企业相继推出了人形机器人产品&#xff0c;机器人新物种持续衍生&#xff0c;人形机器人产业已经从萌芽概念阶段进入产业化落地前期。 近日&#x…

OriginPro快速上手指南:数据可视化与分析的利器

目录 OriginLab - Origin and OriginPro - Data Analysis and Graphing Softwarehttps://www.originlab.com/​编辑 一、安装与界面概览 安装 界面概览 二、基础操作 数据输入 创建图表 三、高级功能 数据分析 自动化与脚本 Origin 提供了几个小工具 四、技巧与提示…