主要内容

softmax

应用softmax激活通道维度

描述

softmax激活操作将softmax函数应用于输入数据的通道维度。

softmax函数在通道维度上规范化输入数据的值,使其和为1。你可以把softmax函数的输出看作一个概率分布。

请注意

该函数应用softmax操作dlarray数据。如果你想应用softmax在layerGraph对象或数组,使用以下图层:

例子

海底= softmax (dlX计算输入的softmax激活dlX通过将softmax传递函数应用于输入数据的通道维度。中的所有值海底之间0而且1,和为1.输入dlX必须是格式化的dlarray.输出海底是格式化的dlarray相同的维度格式dlX

海底= softmax (dlX“DataFormat”,FMT还指定维度格式FMTdlX不是格式化的dlarray.输出海底是未格式化的dlarray相同的维度顺序dlX

例子

全部折叠

使用softmax函数将输入数据中的所有值设置为之间的值0而且1这个和等于1通过所有渠道。

将输入分类数据创建为两个随机变量的观察值。数据可以属于10个类别中的任何一个。

numCategories = 10;观察结果= 2;X = rand(numCategories,观察值);dlX = dlarray(X,“CB”);

计算softmax激活。

dlY = softmax(dlX);totalProb = sum(dlY,1)
dlY = 10(C) × 2(B) dlarray 0.1151 0.0578 0.1261 0.1303 0.0579 0.1285 0.1270 0.0802 0.0959 0.1099 0.0562 0.0569 0.0673 0.0753 0.0880 0.1233 0.1328 0.1090 0.1337 0.1288 totalProb = 1(C) × 2(B) dlarray 1.0000 1.0000

中的所有值海底之间0而且1.所有通道上的值和为1对于每一个观察。

输入参数

全部折叠

输入数据,指定为格式化的dlarray或未格式化的dlarray.当dlX不是格式化的dlarray,则必须指定尺寸标签格式FMT, DataFormat”

dlX必须包含“C”通道尺寸。

数据类型:|

未格式化输入数据的维度顺序,指定为由逗号分隔的对组成的“DataFormat”和字符数组或字符串FMT它为数据的每个维度提供了一个标签。中的每个字符FMT必须是以下其中之一:

  • “年代”——空间

  • “C”——频道

  • “B”-批次(例如,样品和观察)

  • “T”-时间(例如,序列)

  • “U”——未指明的

您可以指定多个有标记的维度“年代”“U”.你可以使用标签“C”“B”,“T”最多一次。

您必须指定FMT, DataFormat”当输入数据未被格式化时dlarray

例子:“DataFormat”、“SSCB”

数据类型:字符|字符串

输出参数

全部折叠

Softmax激活,返回为dlarray.中的所有值海底之间0而且1.输出海底具有与输入相同的底层数据类型dlX

如果输入数据dlX是格式化的dlarray海底维度格式与dlX.如果输入数据没有格式化dlarray海底是未格式化的dlarray具有与输入数据相同的维度顺序。

更多关于

全部折叠

Softmax激活

softmax函数对跨通道维度的输入进行规格化,使其和为1。有关的详细信息,请参见Softmax层softmaxLayer参考页面。

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。

R2019b引入