คำเตือน: API นี้เลิกใช้งานแล้วและจะถูกลบออกใน TensorFlow เวอร์ชันในอนาคตหลังจาก การแทนที่ เสถียรแล้ว

StopGradient

คลาสสุดท้ายสาธารณะ StopGradient

หยุดการคำนวณแบบไล่ระดับ

เมื่อดำเนินการในกราฟ op นี้จะส่งออกเทนเซอร์อินพุตตามที่เป็นอยู่

เมื่อสร้าง ops เพื่อคำนวณการไล่ระดับสี op นี้จะป้องกันการมีส่วนร่วมของอินพุตที่จะถูกนำมาพิจารณา โดยปกติตัวสร้างเกรเดียนท์จะเพิ่ม ops ให้กับกราฟเพื่อคำนวณอนุพันธ์ของ 'การสูญเสีย' ที่ระบุโดยการค้นหาอินพุตซ้ำ ๆ ที่มีส่วนในการคำนวณ หากคุณแทรกตัวเลือกนี้ในกราฟ อินพุตจะถูกปิดบังจากตัวสร้างการไล่ระดับสี สิ่งเหล่านี้จะไม่ถูกนำมาพิจารณาสำหรับการไล่ระดับสีของคอมพิวเตอร์

สิ่งนี้มีประโยชน์ทุกครั้งที่คุณต้องการคำนวณค่าด้วย TensorFlow แต่ต้องแสร้งทำเป็นว่าค่านั้นเป็นค่าคงที่ ตัวอย่างเช่น ฟังก์ชัน softmax สำหรับเวกเตอร์ x สามารถเขียนเป็น

def softmax(x):
     numerator = tf.exp(x)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
อย่างไรก็ตาม อาจมีการโอเวอร์โฟลว์ได้หากค่าใน x มีขนาดใหญ่ อีกวิธีหนึ่งที่เสถียรกว่าคือการลบค่าสูงสุดของ x ออกจากแต่ละค่า
def stable_softmax(x):
     z = x - tf.reduce_max(x)
     numerator = tf.exp(z)
     denominator = tf.reduce_sum(numerator)
     return numerator / denominator
 
อย่างไรก็ตาม เมื่อเรา backprop ผ่าน softmax ถึง x เราไม่ต้องการ backprop ผ่าน tf.reduce_max(x) (หากค่าสูงสุดไม่ซ้ำกัน การไล่ระดับสีอาจไหลไปยังอินพุตที่ไม่ถูกต้อง) การคำนวณและถือว่า ค่าคงที่ ดังนั้น เราควรเขียนสิ่งนี้เป็น
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
 
ตัวอย่างอื่นๆ ได้แก่:
  • อัลกอริธึ ม EM ที่ขั้นตอน M ไม่ควรเกี่ยวข้องกับการขยายพันธุ์ย้อนหลังผ่านเอาต์พุตของ ขั้นตอน E
  • การฝึกอบรมความแตกต่างที่ตรงกันข้ามของเครื่องจักร Boltzmann โดยที่เมื่อแยกความแตกต่างของฟังก์ชันพลังงาน การฝึกอบรมจะต้องไม่ย้อนกลับผ่านกราฟที่สร้างตัวอย่างจากแบบจำลอง
  • การฝึกอบรมฝ่ายตรงข้าม โดยที่ backprop ไม่ควรเกิดขึ้นผ่านกระบวนการสร้างตัวอย่างที่เป็นปฏิปักษ์

วิธีการสาธารณะ

เอาท์พุต <T>
เป็นเอาต์พุต ()
ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์
คงที่ <T> StopGradient <T>
สร้าง ( ขอบเขต ขอบเขต อินพุต ตัวถูกดำเนินการ <T>)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ StopGradient ใหม่
เอาท์พุต <T>

วิธีการสืบทอด

วิธีการสาธารณะ

เอาต์พุต สาธารณะ <T> asOutput ()

ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการทำงานของ TensorFlow เป็นเอาต์พุตของการดำเนินการอื่นของ TensorFlow วิธีนี้ใช้เพื่อขอรับหมายเลขอ้างอิงเชิงสัญลักษณ์ที่แสดงถึงการคำนวณของอินพุต

StopGradient สาธารณะแบบคงที่ <T> สร้าง ( ขอบเขต ขอบเขต อินพุตตัวถูกดำเนินการ <T>)

วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ StopGradient ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
คืนสินค้า
  • ตัวอย่างใหม่ของ StopGradient

เอาต์พุต สาธารณะ <T> เอาต์พุต ()