StopGradient

genel final sınıfı StopGradient

Gradyan hesaplamasını durdurur.

Bir grafikte yürütüldüğünde, bu işlem giriş tensörünü olduğu gibi çıkarır.

Gradyanları hesaplamak için operasyonlar oluştururken bu operasyon, girdilerinin katkısının dikkate alınmasını engeller. Normalde, gradyan oluşturucu, hesaplamaya katkıda bulunan girdileri yinelemeli olarak bularak belirli bir 'kayıp'ın türevlerini hesaplamak için bir grafiğe ops ekler. Bu işlemi grafiğe eklerseniz, girişler degrade oluşturucudan maskelenir. Gradyanların hesaplanmasında bunlar dikkate alınmaz.

Bu, TensorFlow ile bir değer hesaplamak istediğiniz ancak değerin bir sabitmiş gibi davranmanız gerektiği durumlarda kullanışlıdır. Örneğin, bir x vektörü için softmax fonksiyonu şu şekilde yazılabilir:

def softmax(x):
     numerator = tf.exp(x)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
Ancak bu, x'teki değerlerin büyük olması durumunda taşmaya karşı hassastır. Daha kararlı bir alternatif yol, değerlerin her birinden maksimum x'i çıkarmaktır.
def stable_softmax(x):
     z = x - tf.reduce_max(x)
     numerator = tf.exp(z)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
Bununla birlikte, softmax üzerinden x'e geri destek yaptığımızda, tf.reduce_max(x) hesaplaması üzerinden geri destek yapmak istemiyoruz (eğer maksimum değerler benzersiz değilse o zaman degrade yanlış girişe akabilir) ve bunu bir sabit olarak ele almak istiyoruz. Bu nedenle bunu şu şekilde yazmalıyız:
def stable_softmax(x):
     z = x - tf.stop_gradient(tf.reduce_max(x))
     numerator = tf.exp(z)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
Diğer bazı örnekler şunları içerir:
  • M-adımının, E-adımının çıkışı boyunca geri yayılımı içermemesi gereken EM algoritması.
  • Boltzmann makinelerinin karşılaştırmalı ıraksama eğitimi; enerji fonksiyonunun türevini alırken, eğitimin modelden örnekleri oluşturan grafik boyunca geri yayılmaması gerekir.
  • Çekişmeli örnek oluşturma süreci aracılığıyla hiçbir arka planın gerçekleşmemesi gereken çekişmeli eğitim.

Genel Yöntemler

Çıkış <T>
Çıkış olarak ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> Gradyan Durdurma <T>
create ( Kapsam kapsamı, İşlenen <T> girişi)
Yeni bir StopGradient işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Çıkış <T>

Kalıtsal Yöntemler

Genel Yöntemler

genel Çıkış <T> asOutput ()

Bir tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.

public static StopGradient <T> create ( Kapsam kapsamı, İşlenen <T> girişi)

Yeni bir StopGradient işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
İade
  • StopGradient'in yeni bir örneği

genel Çıkış <T> çıkışı ()