当前位置:网站首页>基于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))
边栏推荐
- 欧拉路径与欧拉回路
- String - Trie
- Use Jenkins for continuous integration, this knowledge point must be mastered
- 深度学习Course2第一周Practical aspects of Deep Learning习题整理
- blender3.2.1 unit setting
- 最短路模板
- SAP Spartacus Accessibility E2E 端到端测试
- 2022年最新河北建筑八大员(机械员)模拟考试题库及答案
- 自建 Prometheus 采集腾讯云容器服务监控数据最佳实践
- Quarantine and downgrade
猜你喜欢
小程序毕设作品之微信体育馆预约小程序毕业设计成品(2)小程序功能
03、GO语言变量定义、函数
分享10套开源免费的高品质源码,免费源码下载平台
xctf attack and defense world web master advanced area web2
PHP算法之电话号码的字母组合
小程序毕设作品之微信美食菜谱小程序毕业设计成品(5)任务书
The must-have "fishing artifact" for programmers is here!
How to prevent governance attacks in DAOs?
编曲软件FL studio20.8中文版功能和作用
使用分类权重解决数据不平衡的问题
随机推荐
System availability: 3 9s, 4 9s in SRE's mouth... What is it?
excel edit a cell without double clicking
SQL Server(设计数据库--存储过程--触发器)
PHP算法之有效的括号
13、学习MySQL 分组
leetcode 204. Count Primes 计数质数 (Easy)
vscode hide menu bar
基于 OData 模型和 JSON 模型的 SAP UI5 表格控件行项目的添加和删除实现
[ASM] Bytecode Operation MethodWriter
NgRx Store createSelector 的单步调试和源代码分析
JS prototype hasOwnProperty in 加方法 原型终点 继承 重写父类方法
SAP Spartacus Accessibility E2E 端到端测试
【好书推荐】第一本无人驾驶技术书
【开源】Sentinel高性能高可用集群限流解决方案
华为无线设备配置全局双链路冷备份(AC全局配置方式)
欧拉路径与欧拉回路
img 响应式图片的实现(含srcset属性、sizes属性的使用方法,设备像素比详解)
2022 edition of MySQL tutorial, top collection good, take your time
华为无线设备配置双链路冷备份(AP指定配置方式)
2022-08-01 第八组 曹雨 泛型 枚举