当前位置:网站首页>基于JAX的激活函数、softmax函数和交叉熵函数
基于JAX的激活函数、softmax函数和交叉熵函数
2022-08-01 22:59:00 【Albert·Darren】
1.tanh激活函数公式
tanh ( x ) = e x − e − x e x + e − x \tanh \left( x \right) =\frac{e^x-e^{-x}}{e^x+e^{-x}} \notag tanh(x)=ex+e−xex−e−x
2.基于JAX实现tanh激活函数
import jax.numpy as jnp
from jax import random
def tanh(x):
"""tanh function"""
return (jnp.exp(x)-jnp.exp(-x))/(jnp.exp(x)+jnp.exp(-x))
# 设置伪随机数种子
rng=random.PRNGKey(0)
# 标准正态采样得到输入向量
x=random.normal(rng,shape=(4,1))
# 调用内置tanh函数实现
print(jnp.tanh(x))
# 调用自定义tanh函数实现
print(tanh(x))
3.softmax函数公式
s i = e x i ∑ i = 0 j e x i s_i=\frac{e^{x_i}}{\sum\limits _{i=0}^{j}e^{x_i} } \notag si=i=0∑jexiexi
其中 x i x_i xi表示第 i i i个神经元实值输出
4.基于JAX实现softmax函数
import jax.numpy as jnp
import jax.nn as nn
def softmax(x,axis=-1):
"""softmax function"""
unnormalized=jnp.exp(x)
return unnormalized/jnp.sum(unnormalized)
# 定义数组
arr=jnp.arange(-2,4)
# 调用自定义softmax函数
print(softmax(arr))
# 调用jax自带softmax函数
print(nn.softmax(arr))
5.交叉熵函数公式
H ( p , q ) = − ∑ i = 1 n p ( x i ) log ( q ( x i ) ) H\left( p,q \right) =-\sum_{i=1}^n{p\left( x_i \right) \log \left( q\left( x_i \right) \right)} \notag H(p,q)=−i=1∑np(xi)log(q(xi))
其中 p ( x ) p(x) p(x)表示真实概率分布, q ( x ) q(x) q(x)表示预测概率分布
6.基于JAX实现交叉熵函数
import jax.numpy as jnp
def cross_entropy(y_true,y_pred,eps=1e-7):
"""cross entropy function :param y_true:真实标签 :param y_pred:神经网络预测标签 :param eps:默认极小正数,保证对数真数不为0,增强log函数数值稳定性 :return:交叉熵,保留到小数点后4位 """
y_true=jnp.array(y_true)
y_pred=jnp.array(y_pred)
res=-jnp.sum(y_true*jnp.log(y_pred+eps),axis=-1)
return jnp.round(res,4)
# 预测概率分布
y_pred=[0.1,0.05,0.6,0.0,0.05,0.1,0.0,0.1,0.0,0.0]
# 真实概率分布
y_true=[0,0,1,0,0,0,0,0,0,0]
# 交叉熵为0.5108
print(cross_entropy(y_true,y_pred))
边栏推荐
- 小程序毕设作品之微信体育馆预约小程序毕业设计成品(2)小程序功能
- 罗克韦尔AB PLC RSLogix5000中的比较指令使用方法介绍
- JS prototype hasOwnProperty in Add method Prototype end point Inherit Override parent class method
- 小程序毕设作品之微信美食菜谱小程序毕业设计成品(8)毕业设计论文模板
- 杭电多校3 1012. Two Permutations dp*
- Error creating bean with name ‘dataSource‘:Unsatisfied dependency expressed through field ‘basicPro
- 自建 Prometheus 采集腾讯云容器服务监控数据最佳实践
- 线程池分析
- [机缘参悟-58]:《素书》-5-奉行仁义[遵义章第五]
- [深入研究4G/5G/6G专题-48]: 5G Link Adaption链路自适应-4-下行链路自适应DLLA-PDCCH信道
猜你喜欢

华为无线设备配置全局双链路冷备份(AC全局配置方式)

10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享

深度学习Course2第二周Optimization Algorithms习题整理

y84. Chapter 4 Prometheus Factory Monitoring System and Actual Combat -- Advanced Prometheus Alarm Mechanism (15)
![[ASM] Bytecode Operation MethodWriter](/img/54/a9f3ddd02ffc02aa965a083c03d322.jpg)
[ASM] Bytecode Operation MethodWriter

2022-08-01 第八组 曹雨 泛型 枚举

从0到1:图文投票小程序设计与研发笔记

SRv6 L3VPN的工作原理

xctf攻防世界 Web高手进阶区 web2

解决yolov5训练时出现:“AssertionError: train: No labels in VOCData/dataSet_path/train.cache. Can not train ”
随机推荐
excel split text into different rows
y84. Chapter 4 Prometheus Factory Monitoring System and Actual Combat -- Advanced Prometheus Alarm Mechanism (15)
萍不回答
Go 微服务开发框架DMicro的设计思路
String - Trie
数据增强--学习笔记(图像类,cnn)
复现gallerycms字符长度限制短域名绕过
feel so stupid
visual studio code multiple editing
(翻译)按钮的对比色引导用户操作的方式
Ten years after graduation, financial freedom: those things that are more important than hard work, no one will ever teach you
xctf攻防世界 Web高手进阶区 webshell
2022/7/31
img 响应式图片的实现(含srcset属性、sizes属性的使用方法,设备像素比详解)
自建 Prometheus 采集腾讯云容器服务监控数据最佳实践
SQL Server(设计数据库--存储过程--触发器)
欧拉路径与欧拉回路
How to use pywinauto and pyautogui to link the anime lady and sister please go home
小程序容器+自定义插件,可实现混合App快速开发
数据分析04