ग्रेडिएंट्स के साथ ऑप्टिमाइज़ करना
आपको एक लॉस फंक्शन दिया गया है, \(y = x^{2}\), जिसे आप न्यूनतम करना चाहते हैं. आप x के अलग-अलग मानों पर GradientTape() ऑपरेशन का उपयोग करके ढाल (slope) निकालकर ऐसा कर सकते हैं. अगर ढाल पॉज़िटिव हो, तो x घटाने से लॉस कम होगा. अगर ढाल नेगेटिव हो, तो x बढ़ाने से लॉस कम होगा. इसी तरह ग्रेडिएंट डिसेंट काम करता है.

व्यवहार में, आप ग्रेडिएंट डिसेंट अपने-आप चलाने के लिए हाई-लेवल tensorflow ऑपरेशन का उपयोग करेंगे. लेकिन इस अभ्यास में, आप x के -1, 1, और 0 मानों पर ढाल की गणना करेंगे. निम्न ऑपरेशंस उपलब्ध हैं: GradientTape(), multiply(), और Variable().
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में TensorFlow परिचय
अभ्यास निर्देश
xको वैरिएबल के रूप में परिभाषित करें, जिसकी शुरुआती वैल्यूx0हो.- लॉस फंक्शन
yकोxगुणाxके बराबर सेट करें. ऑपरेटर ओवरलोडिंग का उपयोग न करें. - फंक्शन को ऐसा सेट करें कि वह
xके सापेक्षyका ग्रेडिएंट लौटाए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def compute_gradient(x0):
# Define x as a variable with an initial value of x0
x = ____(x0)
with GradientTape() as tape:
tape.watch(x)
# Define y using the multiply operation
y = ____
# Return the gradient of y with respect to x
return tape.gradient(____, ____).numpy()
# Compute and print gradients at x = -1, 1, and 0
print(compute_gradient(-1.0))
print(compute_gradient(1.0))
print(compute_gradient(0.0))