Udostępnij przez


Operacje redukcji

Zmniejsz dane wejściowe, np. sumę obliczeniową lub średnią dla elementów.

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

Parametry

  • x: dane do zmniejszenia
  • axis (ustawienie domyślne: None): jeśli określono, wykonaj tylko redukcję na tej osi. Ta wartość jest oparta na 1; tj. 1 oznacza pierwszą oś statyczną .x

Wartość zwracana

Zmniejszona wartość. W przypadku axis=1 (wartość domyślna) jest to skalarna. Jeśli zostanie określona oś, ta oś zostanie zmniejszona, aby mieć wymiar 1.

Opis

Te funkcje obliczają agregacje (suma, średnia itp.) dla wszystkich wartości wektora wejściowego lub tensor. Dostępne agregacje to:

  • ReduceSum(): suma elementów
  • ReduceLogSum(): suma elementów w reprezentacjach dziennika (logC = log (exp (logA) + exp (logB)))
  • ReduceMean(): średnia nad elementami
  • ReduceMax(): maksymalna wartość elementów
  • ReduceMin(): wartość minimalna

Domyślnie agregacja jest wykonywana na wszystkich elementach. W przypadku tensoru o klasyfikacji>1 opcjonalny axis parametr określa pojedynczą oś, nad którą jest wykonywana redukcja. Na przykład axis=2 zastosowanie do [M x N]macierzy -wymiarowej spowoduje agregowanie we wszystkich kolumnach, co [M x 1] daje wynik.

Zmniejszanie liczby sekwencji

Jeśli dane wejściowe są sekwencją, redukcja jest wykonywana oddzielnie dla każdego elementu sekwencji. Te operacje nie obsługują redukcji liczby sekwencji. Zamiast tego można to osiągnąć za pomocą cyklu. Na przykład, aby podsumować wszystkie elementy sekwencji x, można powiedzieć:

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

i do maksymalnej puli, można użyć

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

Przykłady

Normalizuj wartość, odejmując średnią jej elementów (np. w ramach normalizacji warstwy):

mean = ReduceMean (x)
xNorm = x - mean

Alternatywnie można ręcznie zdefiniować entropię krzyżową z kryterium softmax przy użyciu metody ReduceLogSum():

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