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

激活函数篇 04 —— softmax函数

在这里插入图片描述

将模型的输出转换为概率分布,使得模型能够输出每个类别的概率值。
Softmax ( a i ) = e a i ∑ j = 1 n e a j \text{Softmax}(a_i)=\frac{e^{a_i}}{\sum_{j=1}^n e^{a_j}} Softmax(ai)=j=1neajeai
其中, a i a_i ai 是输入向量中的第 i i i 个元素, n n n 是输入向量的长度。

将输入向量中的每个元素转换为一个概率值,使得所有输出的概率值之和为 1。这样,Softmax 函数可以将模型的输出解释为一个概率分布,从而方便地进行多分类任务。

在零点不可微,负输入的梯度为零,会产生永不激活的死亡神经元。复杂度可能会有点高,因为要做求和。输入值太大的话可能梯度会变小导致梯度消失。

假设有一个输入向量 a = [ 2 , 1 , 0.1 ] a=[2,1,0.1] a=[2,1,0.1],通过 Softmax 计算每个元素的概率值:
Softmax ( 2 ) = e 2 e 2 + e 1 + e 0.1 ≈ 7.389 11.212 ≈ 0.659 \text{Softmax}(2)=\frac{e^2}{e^2+e^1+e^{0.1}} \approx \frac{7.389}{11.212} \approx 0.659 Softmax(2)=e2+e1+e0.1e211.2127.3890.659
Softmax ( 1 ) = e 1 e 2 + e 1 + e 0.1 ≈ 2.718 11.212 ≈ 0.242 \text{Softmax}(1)=\frac{e^1}{e^2+e^1+e^{0.1}} \approx \frac{2.718}{11.212} \approx 0.242 Softmax(1)=e2+e1+e0.1e111.2122.7180.242
Softmax ( 0.1 ) = e 0.1 e 2 + e 1 + e 0.1 ≈ 1.105 11.212 ≈ 0.099 \text{Softmax}(0.1)=\frac{e^{0.1}}{e^2+e^1+e^{0.1}} \approx \frac{1.105}{11.212} \approx 0.099 Softmax(0.1)=e2+e1+e0.1e0.111.2121.1050.099

输出概率分布为 [ 0.659 , 0.242 , 0.099 ] [0.659,0.242,0.099] [0.659,0.242,0.099],这些概率值之和为 1。

应用场景

1. 多分类任务: 例如图像分类、文本分类等。它将模型的输出转换为每个类别的概率值,从而方便地进行分类预测。

2. 语言模型: 用于语言模型的输出层,将模型的输出转换为每个单词的概率值,从而预测下一个单词。

3. 推荐系统: 用于计算用户对不同物品的偏好概率,从而进行个性化推荐。

torch实现

import torch
import torch.nn.functional as F
z = torch.tensor([2, 1, 0.1])
pb = F.softmax(z, dim=0)
print(pb)

tensorflow实现

import tensorflow as tf
z = tf.constant([2, 1, 0.1])
pb= tf.nn.softmax(z)
print(pb)

http://www.kler.cn/a/539120.html

相关文章:

  • html文件怎么转换成pdf文件,2025最新教程
  • Linux中设置开机运行指令
  • Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!
  • 4G核心网的演变与创新:从传统到虚拟化的跨越
  • DNS攻击方式有哪些,应该采取哪些应对措施?
  • SpringBoot速成(七)注册实战P2-P4
  • windows + visual studio 2019 使用cmake 编译构建静、动态库并调用详解
  • C# 封送和远程编程介绍
  • 消息编号BK062 请给会计事项RKS设置一数字域
  • AI大模型,我选本地部署国产开源DeepSeek
  • json格式化html
  • HTML开发常见错误排查技巧与浏览器兼容性解决方案
  • Java 大视界 -- Java 大数据在智能政务中的应用与服务创新(78)
  • Linux高并发服务器开发 第十六天(execlp/execl 进程回收/孤儿进程/僵尸进程 wait/waitpid回收 进程间的通信)
  • 【BUUCTF杂项题】刷新过的图片
  • [8-2-2] 队列实验_多设备玩游戏(红外改造)_重录
  • LLMs之DeepSeek r1:TinyZero(复现 DeepSeek R1 Zero 的核心功能)的简介、安装和使用方法、案例应用之详细攻略
  • SpringBoot 接口内容加密方案(RSA+AES+HMAC校验)认知
  • Python基础语法精要
  • 笔记:理解借贷相等的公式
  • Linux debugfs虚拟文件系统
  • COBOL语言的安全开发
  • 背包问题1
  • 交易一张股指期货需要多少钱?
  • Snipaste 截图软件下载与使用教程:附百度网盘地址
  • Leetcode 3449. Maximize the Minimum Game Score