深度学习一 —— 手撕softmax
深度学习一 —— 手撕softmax
·
1. softmax
softmax 公式
softmax(xi)=exi∑j(exj)softmax(x_i) = \frac{e^{x_i}}{\sum_j(e^{x_j})}softmax(xi)=∑j(exj)exi
代码
import numpy as np
def softmax(x, axis = 1):
assert (len(x.shape) > 1, "dimension must be larger than 1")
x -= np.max(x, axis=axis, keepdims=True)
x = np.exp(x) / np.sum(np.exp(x), axis=axis, keepdims=True)
return x
注意:
为了稳定的计算softmax概率,防止exe^xex过大,出现nannannan的情况,会选择减去其最大值。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)