Zatrzymuje obliczenia gradientu.
Po wykonaniu na wykresie ta operacja wyprowadza tensor wejściowy w niezmienionej postaci.
Podczas tworzenia operacji do obliczania gradientów ta operacja uniemożliwia uwzględnienie wkładu danych wejściowych. Zwykle generator gradientów dodaje do wykresu opcje w celu obliczenia pochodnych określonej „straty” poprzez rekurencyjne wyszukiwanie danych wejściowych, które przyczyniły się do jej obliczenia. Jeśli wstawisz tę opcję na wykres, wprowadzone dane zostaną zamaskowane z generatora gradientów. Nie są one brane pod uwagę przy obliczaniu gradientów.
Jest to przydatne za każdym razem, gdy chcesz obliczyć wartość za pomocą TensorFlow, ale musisz udawać, że wartość jest stała. Na przykład funkcję softmax dla wektora x można zapisać jako
def softmax(x):
numerator = tf.exp(x)
denominator = tf.reduce_sum(numerator)
return numerator / denominator
def stable_softmax(x):
z = x - tf.reduce_max(x)
numerator = tf.exp(z)
denominator = tf.reduce_sum(numerator)
return numerator / denominator
tf.reduce_max(x)
(jeśli wartości maksymalne nie są unikalne, gradient może spłynąć do niewłaściwych danych wejściowych) i traktować to jako stałą. Dlatego powinniśmy to zapisać jakodef stable_softmax(x):
z = x - tf.stop_gradient(tf.reduce_max(x))
numerator = tf.exp(z)
denominator = tf.reduce_sum(numerator)
return numerator / denominator
- Algorytm EM , w którym krok M nie powinien obejmować propagacji wstecznej na wyjściu kroku E.
- Trening dywergencji kontrastowej maszyn Boltzmanna, gdzie przy różniczkowaniu funkcji energii trening nie może ulegać wstecznej propagacji po wykresie, który wygenerował próbki z modelu.
- Szkolenie kontradyktoryjne, podczas którego nie powinno odbywać się żadne wsparcie w procesie generowania przykładów kontradyktoryjnych.
Metody publiczne
Wyjście <T> | jako wyjście () Zwraca symboliczny uchwyt tensora. |
statyczny <T> StopGradient <T> | |
Wyjście <T> | wyjście () |
Metody dziedziczone
Metody publiczne
publiczne wyjście <T> asOutput ()
Zwraca symboliczny uchwyt tensora.
Dane wejściowe operacji TensorFlow są wynikami innej operacji TensorFlow. Ta metoda służy do uzyskania symbolicznego uchwytu reprezentującego obliczenia danych wejściowych.
public static StopGradient <T> utwórz (zakres zakresu , wejście argumentu <T>)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację StopGradient.
Parametry
zakres | aktualny zakres |
---|
Powroty
- nowa instancja StopGradient