- यह लेख Python का उपयोग करके automatic differentiation जैसी एक महत्वपूर्ण अवधारणा को समझाता है, जो neural network training का एक मुख्य घटक है.
- लेखक एक machine learning engineer हैं, जो Tensorflow और Pytorch जैसी libraries का उपयोग करते हैं, और automatic differentiation करने वाला सबसे सरल code लिखने का लक्ष्य रखते हैं.
- लेखक Python code लिखकर शुरुआत करते हैं जो दो variables
x और y के बीच जोड़ करता है और परिणाम को variable z में assign करता है. लेकिन z उपयोग किए गए variables को track नहीं करता, इसलिए x या y का मान बदलने पर z के मान को अपने-आप update करना संभव नहीं होता.
- इसे हल करने के लिए, लेखक
Tensor class पेश करते हैं, जो variables के लिए symbolic computation की अनुमति देती है. इस class में addition operation को override किया जाता है.
Tensor class को binary tree का उपयोग करके और बेहतर बनाया जाता है. हर tensor में दो अन्य tensors और उसे बनाने वाला operation शामिल हो सकता है. यह Children tuple को शामिल करके किया जाता है.
- लेखक computation graph चलाने और tensor के वास्तविक मान की गणना करने के लिए
Tensor class में forward method जोड़ते हैं.
- लेखक
Tensor class द्वारा समर्थित basic operations के लिए differentiation जोड़कर computation graph में automatic differentiation लाते हैं. grad function की recursive call computation graph को traverse करती है और complex functions को simple functions के संयोजन में तोड़ती है.
Tensor class को subtraction, division, exponentiation और negation जैसे अतिरिक्त operations जोड़कर अधिक जटिल formulas को handle करने लायक बनाया जाता है.
- लेखक जटिल formulas बनाकर और उनका derivative निकालकर
Tensor class के उपयोग को दिखाते हैं.
- अंत में, लेखक
Tensor class के लिए संभावित सुधार और optimization सुझाते हैं, जैसे arbitrary size के arrays पर operations जोड़ना, उन nodes पर traversal रोकना जो tensor x पर निर्भर नहीं हैं, और computation की पुनरावृत्ति से बचने के लिए cache सेट करना.
- इस लेख का उद्देश्य पाठकों को यह समझने में मदद करना है कि neural network optimization और training के लिए automatic differentiation कैसे काम करता है.
1 टिप्पणियां
Hacker News की राय