Поделиться через


Операции сокращения

Уменьшите входные данные, например сумму вычислений или среднее значение для элементов.

ReduceSum (x, axis=None)
ReduceLogSum (x, axis=None)
ReduceMean (x, axis=None)
ReduceMax (x, axis=None)
ReduceMin (x, axis=None)

Параметры

  • x: данные для уменьшения
  • axis (по умолчанию: None): если указано, выполните сокращение только по этой оси. Это значение основано на 1; т. е. 1 обозначает первую статическую ось x.

Возвращаемое значение

Уменьшенное значение. Для axis=1 (по умолчанию) это скаляр. Если указана ось, эта ось уменьшается до измерения 1.

Описание

Эти функции вычисляют статистические выражения (sum, среднее и т. д.) для всех значений входного вектора или тензора. Доступные агрегаты:

  • ReduceSum(): сумма над элементами
  • ReduceLogSum(): сумма элементов в представлениях журнала (logC = log (exp (logA) + exp (logB)))
  • ReduceMean(): среднее значение по элементам
  • ReduceMax(): максимальное значение элементов
  • ReduceMin(): минимальное значение

По умолчанию агрегирование выполняется по всем элементам. В случае тензора с рангом>1 необязательный axis параметр указывает одну ось, которую выполняет сокращение. Например, axis=2 при применении к матрице [M x N]-размерной матрицы будет агрегироваться по всем столбцам, что приведет к получению [M x 1] результата.

Уменьшение количества последовательностей

Если входные данные являются последовательностью, сокращение выполняется отдельно для каждого элемента последовательности. Эти операции не поддерживают сокращение последовательностей. Вместо этого можно добиться этого с повторением. Например, чтобы суммировать все элементы последовательности x, можно сказать:

sum = x + PastValue (0, sum, defaultHiddenActivation=0)

и для максимального пула можно использовать

max = Max(x, PastValue (0, max, defaultHiddenActivation=0))

Примеры

Нормализация значения путем вычитания среднего значения его элементов (например, в рамках нормализации слоя):

mean = ReduceMean (x)
xNorm = x - mean

Кроме того, можно вручную определить перекрестную энтропию с критерием softmax:ReduceLogSum()

myCrossEntropyWithSoftmax (y/*label*/, z/*logit*/) = ReduceLogSum (z) - ReduceSum (y .* z)