![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
گریڈینٹ ڈیسنٹ مشین لرننگ (ML) ماڈلنگ میں سب سے مقبول اصلاحی تکنیک ہے۔ الگورتھم پیش گوئی شدہ اقدار اور زمینی سچائی کے درمیان غلطی کو کم کرتا ہے۔ چونکہ تکنیک غلطی کو سمجھنے اور اسے کم کرنے کے لیے ہر ڈیٹا پوائنٹ پر غور کرتی ہے، اس لیے اس کی کارکردگی کا انحصار تربیتی ڈیٹا کے سائز پر ہوتا ہے۔ Stochastic Gradient Descent (SGD) جیسی تکنیکوں کو حساب کی کارکردگی کو بہتر بنانے کے لیے ڈیزائن کیا گیا ہے لیکن کنورجنسی درستگی کی قیمت پر۔
Stochastic Average Gradient کلاسک نقطہ نظر کو متوازن کرتا ہے، جسے Full Gradient Descent اور SGD کہا جاتا ہے، اور دونوں فوائد پیش کرتا ہے۔ لیکن اس سے پہلے کہ ہم الگورتھم استعمال کر سکیں، ہمیں پہلے ماڈل کی اصلاح کے لیے اس کی اہمیت کو سمجھنا چاہیے۔
ہر ML الگورتھم میں ایک منسلک نقصان کا فنکشن ہوتا ہے جس کا مقصد ماڈل کی کارکردگی کو کم کرنا یا بہتر کرنا ہوتا ہے۔ ریاضیاتی طور پر، نقصان کی تعریف اس طرح کی جا سکتی ہے:
یہ صرف اصل اور پیشن گوئی کی پیداوار کے درمیان فرق ہے، اور اس فرق کو کم کرنے کا مطلب یہ ہے کہ ہمارا ماڈل زمینی سچائی اقدار کے قریب آتا ہے۔
مائنسائزیشن الگورتھم نقصان کے فنکشن کو عبور کرنے اور عالمی کم از کم تلاش کرنے کے لیے گریڈینٹ ڈیسنٹ کا استعمال کرتا ہے۔ ہر ٹراورسل قدم میں آؤٹ پٹ کو بہتر بنانے کے لیے الگورتھم کے وزن کو اپ ڈیٹ کرنا شامل ہوتا ہے۔
روایتی گریڈینٹ ڈیسنٹ الگورتھم پورے ڈیٹاسیٹ میں شمار کیے گئے تمام گریڈینٹ کی اوسط کا استعمال کرتا ہے۔ ایک تربیتی مثال کا لائف سائیکل مندرجہ ذیل کی طرح لگتا ہے:
وزن کی تازہ کاری کی مساوات مندرجہ ذیل کی طرح نظر آتی ہے:
جہاں W
ماڈل وزن کی نمائندگی کرتا ہے اور dJ/dW
ماڈل وزن کے حوالے سے نقصان کے فنکشن کا مشتق ہے۔ روایتی طریقہ میں ایک اعلی کنورجنسی کی شرح ہے لیکن لاکھوں ڈیٹا پوائنٹس پر مشتمل بڑے ڈیٹا سیٹس کے ساتھ کام کرتے وقت کمپیوٹیشنل طور پر مہنگا ہو جاتا ہے۔
SGD طریقہ کار سادہ GD جیسا ہی رہتا ہے، لیکن گریڈینٹ کا حساب لگانے کے لیے پورے ڈیٹاسیٹ کو استعمال کرنے کے بجائے، یہ ان پٹس سے ایک چھوٹا سا بیچ استعمال کرتا ہے۔ یہ طریقہ بہت زیادہ کارآمد ہے لیکن عالمی منیما کے ارد گرد بہت زیادہ ہاپ کر سکتا ہے کیونکہ ہر تکرار سیکھنے کے لیے ڈیٹا کا صرف ایک حصہ استعمال کرتی ہے۔
Stochastic Average Gradient (SAG) اپروچ کو GD اور SGD کے درمیان درمیانی بنیاد کے طور پر متعارف کرایا گیا تھا۔ یہ ایک بے ترتیب ڈیٹا پوائنٹ کا انتخاب کرتا ہے اور اس مقام پر گراڈینٹ اور اس مخصوص ڈیٹا پوائنٹ کے لیے ذخیرہ کیے گئے پچھلے گریڈینٹ کے وزنی اوسط کی بنیاد پر اس کی قدر کو اپ ڈیٹ کرتا ہے۔
SGD کی طرح، SAG ہر مسئلے کو محدب، تفریق پذیر افعال کے ایک محدود مجموعہ کے طور پر ماڈل کرتا ہے۔ کسی بھی تکرار پر، یہ وزن کی تازہ کاری کے لیے موجودہ میلان اور پچھلے میلان کی اوسط کا استعمال کرتا ہے۔ مساوات مندرجہ ذیل شکل لیتا ہے:
دو مشہور الگورتھم، فل گریڈینٹ (FG) اور سٹاکاسٹک گراڈینٹ ڈیسنٹ (SGD) کے درمیان، FG الگورتھم ایک بہتر کنورجننس ریٹ رکھتا ہے کیونکہ یہ حساب کے لیے ہر تکرار کے دوران سیٹ کے پورے ڈیٹا کو استعمال کرتا ہے۔
اگرچہ SAG کا ڈھانچہ SGD سے ملتا جلتا ہے، لیکن اس کی ہم آہنگی کی شرح مکمل تدریجی نقطہ نظر سے موازنہ اور کبھی کبھی بہتر ہے۔ ذیل میں جدول 1 کے تجربات کے نتائج کا خلاصہ پیش کرتا ہے۔
اس کی حیرت انگیز کارکردگی کے باوجود، کارکردگی کو بہتر بنانے میں مدد کے لیے اصل SGD الگورتھم میں کئی ترمیمات تجویز کی گئی ہیں۔
گریڈینٹ ڈیسنٹ ایک مقبول اصلاح ہے جو فراہم کردہ معروضی فنکشنز کے عالمی منیما کو تلاش کرنے کے لیے استعمال ہوتی ہے۔ الگورتھم فنکشن ڈھلوان کو عبور کرنے کے لیے معروضی فنکشن کے گریڈینٹ کا استعمال کرتا ہے جب تک کہ یہ سب سے نچلے مقام تک نہ پہنچ جائے۔
فل گریڈینٹ ڈیسنٹ (FG) اور Stochastic Gradient Descent (SGD) الگورتھم کی دو مقبول تغیرات ہیں۔ FG ہر تکرار کے دوران پورے ڈیٹاسیٹ کا استعمال کرتا ہے اور ایک اعلی حساب کی قیمت پر ایک اعلی کنورجنسی کی شرح فراہم کرتا ہے۔ ہر تکرار پر، SGD الگورتھم کو چلانے کے لیے ڈیٹا کا سب سیٹ استعمال کرتا ہے۔ یہ کہیں زیادہ موثر ہے لیکن غیر یقینی کنورجن کے ساتھ۔
Stochastic Average Gradient (SAG) ایک اور تغیر ہے جو پچھلے دونوں الگورتھم کے فوائد فراہم کرتا ہے۔ یہ کم حساب کے ساتھ اعلی کنورجنسی کی شرح فراہم کرنے کے لیے ماضی کے گریڈینٹ کی اوسط اور ڈیٹاسیٹ کے ذیلی سیٹ کا استعمال کرتا ہے۔ ویکٹرائزیشن اور منی بیچز کا استعمال کرتے ہوئے اس کی کارکردگی کو بہتر بنانے کے لیے الگورتھم میں مزید ترمیم کی جا سکتی ہے۔