当前位置: 首页 > news >正文

PyTorch -- 最常见激活函数的选择

  • 首先,简单复习下什么是梯度:梯度是偏微分的集合

    • 举例说明:对于 z = y 2 − x 2 : ∇ z = ( ∂ z ∂ x , ∂ z ∂ y ) = ( 2 x , 2 y ) z = y^2-x^2: \nabla z= (\frac{\partial z}{\partial x}, \frac{\partial z}{\partial y}) = (2x, 2y) z=y2x2:z=(xz,yz)=2x,2y
  • 获取极小值 minima 的方法核心: θ t + 1 = θ t − α ∇ f ( θ t ) \theta_{t+1}=\theta_t-\alpha\nabla f(\theta_t) θt+1=θtαf(θt)


  • torch.sigmoid() Sigmoid ( x ) = 1 1 + e − x \text{Sigmoid}(x)=\frac{1}{1+e^{-x}} Sigmoid(x)=1+ex1
    在这里插入图片描述

    • 优点:连续函数,便于求导,可以用作输出层
    • 缺点:在变量取绝对值非常大时会出现饱和现象(函数会变得很平),且对输入的微小改变会变得不敏感;在反向传播时,当梯度接近于0,容易出现梯度消失,从而无法完成深层网络训练
  • torch.tanh() Tanh ( x ) = e x − e − x e x + e − x \text{Tanh}(x) = \frac{e^x-e^{-x}}{e^x+e^{-x}} Tanh(x)=ex+exexex
    在这里插入图片描述

    • 优点:同 sigmoid 且均值是0 (更好)
    • 缺点:仍存在饱和问题
  • torch.relu() ReLU ( x ) = max ⁡ ( 0 , x ) \text{ReLU}(x)=\max(0,x) ReLU(x)=max(0,x)
    在这里插入图片描述

    • 优点:高效;在x>0区域上,不会出现梯度饱和、梯度消失
    • 缺点:Dead ReLU Problem (在x<0时,梯度为0:这个神经元及之后的神经元梯度永远为0,不再对任何数据有所响应,导致相应参数永远不会被更新)

  • B站视频参考资料
http://www.lryc.cn/news/371046.html

相关文章:

  • 人工智能--制造业和农业
  • go语言,拼接字符串有哪些方式
  • C++类型转换深度解析:从基础数据类型到字符串,再到基础数据类型的完美转换指南
  • 一文了解:渐进式web应用(PWA),原生应用还香吗?
  • SOLIDWORKS学生支持 可访问各种产品资源
  • VCS基本仿真
  • Hbase中Rowkey的设计方法
  • Python基础总结之functools.wraps介绍与应用
  • UE5基础1-下载安装
  • 前端实现获取后端返回的文件流并下载
  • Windows下对于Qt中带 / 的路径的处理
  • [leetcode]swap-nodes-in-pairs
  • 国思RDIF.vNext全新低代码快速开发框架平台6.1版本发布(支持vue2、vue3)
  • 中国地市分布图
  • HCIA11 网络安全之本地 AAA 配置实验
  • 用Python处理Excel的资源
  • 2024年中国移动游戏市场研究报告
  • JS-12-es6常用知识-async
  • 使用winscp 通过中转机器(跳板机、堡垒机)密钥远程连接服务器,保姆级别教程
  • 力扣-1984. 学生分数的最小差值
  • 激动人心的LayerDiffusion终于可以在ComfyUI中使用了
  • 【JVM】finalize() 方法的定义与作用
  • 这10个前端库,帮我在工作中赢得了不少摸鱼时间!!
  • (2024最新)CentOS 7上在线安装MySQL 5.7
  • 【C++高阶】C++继承学习手册:全面解析继承的各个方面
  • 使用GPT-soVITS再4060下2小时训练声音模型以及处理断句带来的声音模糊问题
  • 如何对stm32查看IO功能。
  • docker构建jdk17镜像
  • Android Uri转File path路径,Kotlin
  • iOS界面设计要点:四大模块解析