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ğinizde ancak değerin bir sabitmiş gibi davranmanız gerektiğinde kullanışlıdır. Örneğin, bir x vektörü için softmax fonksiyonu

def softmax(x):
     numerator = tf.exp(x)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
olarak yazılabilir. Ancak bu, x'teki değerler büyükse 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ı boyunca geri destek yapmak istemiyoruz (eğer maksimum değerler benzersiz değilse o zaman gradyan yanlış girişe akabilir) ve bunu şu şekilde ele almak istiyoruz: bir sabit. Bu nedenle bunu
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
 
olarak yazmalıyız. 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
İadeler
  • StopGradient'in yeni bir örneği

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