اسان ڪيترن ئي حقيقي دنيا جي حالتن ۾ اصلاح جي مسئلن کي منهن ڏيون ٿا جتي اسان کي ڪم جي گھٽ ۾ گھٽ يا وڌ کان وڌ سڃاڻپ ڪرڻ جي ضرورت آهي.
ھڪڙي فنڪشن کي ھڪڙي سسٽم جي رياضياتي نمائندگي سمجھو، ۽ ان جي گھٽ ۾ گھٽ يا وڌ کان وڌ مقرر ڪرڻ مختلف ايپليڪيشنن لاء نازڪ ٿي سگھي ٿو جهڙوڪ مشين سکيا، انجنيئرنگ، فنانس، ۽ ٻيا.
ٽڪرين ۽ وادين سان گڏ ھڪڙي نظارن تي غور ڪريو، ۽ اسان جو مقصد آھي گھٽ ۾ گھٽ پوائنٽ (گھٽ ۾ گھٽ) ڳولڻ لاء اسان جي منزل تي جلدي حاصل ڪرڻ لاء.
اهڙين اصلاحي چئلينجن کي حل ڪرڻ لاءِ اسان اڪثر گريڊينٽ ڊيسنٽ الگورٿمس استعمال ڪندا آهيون. اهي الورورٿمس هڪ فنڪشن کي گھٽائڻ لاءِ اڀرندڙ اصلاحي طريقا آهن جيڪي تيز ترين نزول (منفي گرڊيئيٽ) جي طرف قدم کڻڻ سان.
گريڊيئنٽ فڪشن ۾ تمام تيز ترين واڌ سان هدايت کي عڪاسي ڪري ٿو، ۽ مخالف طرف سفر ڪرڻ اسان کي گھٽ ۾ گھٽ طرف وٺي ٿو.
ڇا اصل ۾ Gradient Descent Algorithm آهي؟
Gradient descent هڪ فنڪشن جي گھٽ ۾ گھٽ (يا وڌ ۾ وڌ) جو تعين ڪرڻ لاءِ مشهور تکراري اصلاح جو طريقو آهي.
اهو ڪيترن ئي شعبن ۾ هڪ نازڪ اوزار آهي، بشمول مشين جي سکيا, deep learning, artificial intelligence, Engineering, and Finance.
الورورٿم جو بنيادي اصول گريجوئيٽ جي استعمال تي مبني آهي، جيڪو ڪم جي قدر ۾ تيز ترين واڌ جي هدايت کي ڏيکاري ٿو.
الورورٿم موثر طريقي سان فعل جي منظرنامي کي گھٽ ۾ گھٽ ڏانھن نيويگيٽ ڪري ٿو بار بار گريڊيئنٽ جي طور تي مخالف طرف ۾ قدم کڻڻ سان، بار بار حل کي سڌارڻ تائين ڪنورجينس تائين.
اسان ڇو استعمال ڪندا آهيون Gradient Descent Algorithms؟
شروعات ڪندڙن لاءِ، اھي استعمال ڪري سگھجن ٿيون وسيع قسم جي اصلاحي مسئلن کي حل ڪرڻ لاءِ، جن ۾ اھي آھن جن ۾ اعليٰ طول و عرض ۽ پيچيده ڪم شامل آھن.
ٻيو، اهي تڪڙو تڪڙو حل ڳولي سگهن ٿا، خاص طور تي جڏهن تجزياتي حل دستياب ناهي يا حسابي طور تي قيمتي آهي.
تدريسي نزول ٽيڪنڪ انتهائي اسپيبلبل آهن ۽ ڪاميابي سان وڏي ڊيٽا سيٽ کي سنڀالي سگهن ٿيون.
نتيجي طور، اهي وڏي پيماني تي استعمال ڪيا ويا آهن مشيني سکيا جا الگورٿم جيئن ڊيٽا مان سکڻ لاءِ نيورل نيٽ ورڪ جي تربيت ۽ اڳڪٿين جي غلطين کي گهٽائڻ لاءِ انهن جي پيٽرولن کي تبديل ڪرڻ.
Gradient Descent مرحلن جو تفصيلي مثال
اچو ته هڪ وڌيڪ تفصيلي مثال ڏسون ته گريڊيئيٽ ڊيسينٽ ٽيڪنڪ کي بهتر سمجهڻ لاءِ.
غور ڪريو 2D فنڪشن f(x) = x2، جيڪو هڪ بنيادي پارابولڪ وکر ٺاهي ٿو گھٽ ۾ گھٽ (0,0). هن گهٽ ۾ گهٽ نقطي جو تعين ڪرڻ لاءِ گريڊينٽ ڊيسنٽ الگورٿم استعمال ڪيو ويندو.
قدم 1: شروعات
gradient decent algorithm variable x جي قيمت کي شروع ڪرڻ سان شروع ٿئي ٿو، x0 طور پيش ڪيو ويو آهي.
شروعاتي قيمت الورورٿم جي ڪارڪردگي تي ڪافي اثر پئجي سگھي ٿي.
بي ترتيب شروع ڪرڻ يا مسئلي جي اڳئين ڄاڻ کي ملازمت ٻه عام ٽيڪنالاجيون آهن. فرض ڪريو ته x₀ = 3 اسان جي ڪيس جي شروعات ۾.
مرحلا 2: گريجوئيٽ حساب ڪريو
موجوده پوزيشن x₀ تي فنڪشن f(x) جو درجو. ان کان پوء حساب ڪرڻ گهرجي.
گريجوئيٽ انهي خاص پوزيشن تي فنڪشن جي سلپ يا تبديلي جي شرح کي اشارو ڪري ٿو.
اسان ف(x) = x2 جي فنڪشن لاءِ x بابت نڪتل نڪتل حساب ڪريون ٿا، جيڪو مهيا ڪري ٿو f'(x) = 2x. اسان x0 تي گريڊيئنٽ حاصل ڪندا آهيون 2 * 3 = 6 جي بدلي ۾ x₀ = 3 کي گرڊيئينٽ جي حساب سان.
قدم 3: تازه ڪاري پيٽرولر
تدريسي معلومات استعمال ڪندي، اسان x جي قيمت کي ھيٺئين طور تي اپڊيٽ ڪيو: x = x₀ - α * f'(x₀)، جتي α (alpha) سکيا جي شرح کي ظاهر ڪري ٿو.
سکيا جي شرح هڪ هائپرپراميٽر آهي جيڪا تازه ڪاري جي عمل ۾ هر قدم جي سائيز کي طئي ڪري ٿي. هڪ مناسب سکيا جي شرح مقرر ڪرڻ انتهائي اهم آهي ڇو ته سست سکيا جي شرح سبب ٿي سگهي ٿي الخوارزمي تمام گھڻا ورجائڻ لاءِ گھٽ ۾ گھٽ پھچڻ لاءِ.
هڪ اعلي سکيا جي شرح، ٻئي طرف، نتيجو ٿي سگهي ٿو الورورٿم جي اچ وڃ يا ڪنورج ٿيڻ ۾ ناڪامي. اچو ته هن مثال جي خاطر α = 0.1 جي سکيا جي شرح فرض ڪريون.
قدم 4: ٻيهر ڪريو
ان کان پوءِ اسان وٽ x جي تازه ڪاري قدر آهي، اسان ورجائيندا آهيون مرحلا 2 ۽ 3 اڳواٽ طئي ٿيل تعداد لاءِ يا جيستائين x ۾ تبديلي گهٽ ۾ گهٽ نه ٿئي، ڪنورجنسي جو اشارو ڪندي.
طريقو گريڊيئينٽ کي ڳڻائي ٿو، x جي قيمت کي اپڊيٽ ڪري ٿو، ۽ عمل کي جاري رکي ٿو ھر ھڪڙي ورجائي تي، ان کي گھٽ ۾ گھٽ ويجھو وڃڻ جي اجازت ڏئي ٿو.
قدم 5: ڪنورجينس
ٽيڪنڪ ڪجھه ورهاڱي کان پوء هڪ نقطي تي تبديل ڪري ٿي جتي وڌيڪ تازه ڪاريون مادي طور تي فنڪشن جي قيمت تي اثر انداز نه ڪندا آهن.
اسان جي حالت ۾، جيئن ٻيهر ورجائي جاري آهي، x 0 تائين پهچندي، جيڪا f(x) = x^2 جي گھٽ ۾ گھٽ قيمت آهي. ڪنورجنسي لاءِ ضروري تکرارن جو تعداد فڪٽرن طرفان طئي ڪيو ويندو آهي جيئن ته سکيا جي شرح چونڊيل آهي ۽ فنڪشن جي پيچيدگي کي بهتر ڪيو پيو وڃي.
سکيا جي شرح چونڊيو ()
هڪ قابل قبول سکيا جي شرح چونڊڻ () گريڊيئينٽ ڊيسنٽ الگورٿم جي اثرائتي لاءِ اهم آهي. جيئن اڳ بيان ڪيو ويو آهي، هڪ گهٽ سکيا جي شرح سست ڪنورجنس کي متاثر ڪري سگهي ٿي، جڏهن ته اعلي سکيا جي شرح اوور شوٽنگ ۽ ڪنورجن ۾ ناڪامي سبب ٿي سگهي ٿي.
مناسب بيلنس ڳولڻ ضروري آهي انهي کي يقيني بڻائڻ لاءِ ته الورورٿم ممڪن حد تائين موثر انداز ۾ گهٽ ۾ گهٽ گهربل حد تائين بدلجي وڃي.
سکيا جي شرح کي ترتيب ڏيڻ عام طور تي عملي طور تي آزمائشي ۽ غلطي جو طريقو آهي. محقق ۽ عمل ڪندڙ باقاعده طور تي مختلف سکيا جي شرحن سان تجربا ڪندا آهن اهو ڏسڻ لاءِ ته اهي ڪيئن اثرانداز ٿين ٿا الگورتھم جي ڪنورجنسي تي انهن جي خاص چئلينج تي.
غير ڪنويڪس ڪمن کي سنڀالڻ
جڏهن ته اڳئين مثال ۾ هڪ سادو محدب فعل هو، ڪيترن ئي حقيقي دنيا جي اصلاح جي مسئلن ۾ غير محدب افعال شامل آهن ڪيترن ئي مقامي مينيما سان.
جڏهن اهڙين حالتن ۾ تدريسي نزول کي استعمال ڪيو وڃي، اهو طريقو عالمي گهٽ ۾ گهٽ بجاء مقامي گهٽ ۾ گهٽ ٿي سگهي ٿو.
هن مسئلي تي قابو پائڻ لاء ڪيترن ئي ترقي يافته فارمن کي ترتيب ڏني وئي آهي. Stochastic Gradient Descent (SGD) هڪ اهڙو طريقو آهي جيڪو بي ترتيبيءَ کي متعارف ڪرائي ٿو ڊيٽا پوائنٽس جي هڪ بي ترتيب ذيلي سيٽ (جنهن کي مني-بيچ جي نالي سان سڃاتو وڃي ٿو) کي هر ورجائي تي گريجوئيٽ جي حساب سان.
هي بي ترتيب نموني الورورٿم کي اجازت ڏئي ٿو ته مقامي گهٽي کان بچڻ ۽ فنڪشن جي علائقي جي نئين حصن کي ڳولڻ، هڪ بهتر گهٽ ۾ گهٽ دريافت ڪرڻ جا موقعا وڌائڻ.
آدم (Adaptive Moment Estimation) ھڪڙو ٻيو نمايان تغير آھي، جيڪو ھڪ اَپٽيوٽو لرننگ ريٽ آپٽمائيزيشن اپروچ آھي جيڪو RMSprop ۽ رفتار ٻنهي جا فائدا شامل ڪري ٿو.
آدم هر پيرا ميٽر لاءِ سکيا جي شرح کي تبديل ڪري ٿو متحرڪ طور تي پوئين گريڊينٽ معلومات جي بنياد تي، جنهن جي نتيجي ۾ ٿي سگهي ٿي غير محدب افعال تي بهتر ڪنورجنسي.
اهي نفيس گريڊينٽ ڊيسينٽ ويريشنز تمام گهڻي پيچيده ڪمن کي سنڀالڻ ۾ اثرائتو ثابت ٿيا آهن ۽ مشين لرننگ ۽ ڊيپ لرننگ ۾ معياري اوزار بڻجي ويا آهن، جتي غير محدب اصلاح جا مسئلا عام آهن.
قدم 6: توهان جي ترقي کي ڏسو
اچو ته تدريسي نزول الورورٿم جي ترقي کي ڏسو ان جي ٻيهر عمل جي بهتر سمجھڻ لاءِ. هڪ گراف تي غور ڪريو هڪ x-محور سان تکرار جي نمائندگي ڪري ٿو ۽ هڪ y-محور فنڪشن f(x) جي قيمت جي نمائندگي ڪري ٿو.
جيئن ته الورورٿم ٻيهر ٿئي ٿو، x جي قيمت صفر تائين پهچندي آهي ۽ نتيجي طور، فنڪشن جي قيمت هر قدم سان گهٽجي ويندي آهي. جڏهن گراف تي پلاٽ ڪيو ويندو، اهو هڪ الڳ گهٽجڻ واري رجحان کي ظاهر ڪندو، گهٽ ۾ گهٽ پهچڻ جي طرف الورورٿم جي ترقي کي ظاهر ڪندي.
قدم 7: سکيا جي شرح کي ٺيڪ ڪرڻ
سکيا جي شرح () الورورٿم جي ڪارڪردگي ۾ هڪ اهم عنصر آهي. عملي طور تي، مثالي سکيا جي شرح جو تعين ڪرڻ لاءِ بار بار آزمائش ۽ غلطي جي ضرورت پوي ٿي.
ڪجھ اصلاحي ٽيڪنڪ، جيئن سکيا جي شرح شيڊول، سکيا جي شرح کي متحرڪ طور تي تبديل ڪري سگھن ٿيون ٽريننگ دوران، ھڪ اعليٰ قدر سان شروع ٿيندي ۽ ان کي گھٽائي گھٽ ڪندي جيئن الورورٿم ڪنورجنسيءَ تائين پھچندو آھي.
اهو طريقو شروع ۾ تيز ترقي ۽ اصلاح جي عمل جي آخر ۾ استحڪام جي وچ ۾ هڪ توازن هڙتال ڪرڻ ۾ مدد ڪري ٿو.
ٻيو مثال: هڪ Quadratic فنڪشن کي گھٽائڻ
اچو ته تدريسي نزول کي بهتر سمجهڻ لاءِ هڪ ٻيو مثال ڏسون.
غور ڪريو ٻه طرفي quadratic فعل g(x) = (x – 5)^2. x = 5 تي، ھن فنڪشن ۾ گھٽ ۾ گھٽ آھي. ھن کي گھٽ ۾ گھٽ ڳولڻ لاء، اسان کي لاڳو ڪنداسين گريجوئيٽ نزول.
1. شروعات: اچو ته شروع ڪريون x0 = 8 سان اسان جي شروعاتي نقطي طور.
2. گ (x) جي درجي کي ڳڻيو: g'(x) = 2(x – 5). جڏهن اسان x0 = 8 کي متبادل بڻايون ٿا، x0 تي گريجوئيٽ 2 * (8 - 5) = 6 آهي.
3. اسان جي سکيا جي شرح جي طور تي = 0.2 سان، اسان x کي هن ريت اپڊيٽ ڪندا آهيون: x = x₀ – α * g'(x₀) = 8 – 0.2 * 6 = 6.8.
4. ٻيهر ورجايو: اسان 2 ۽ 3 کي ڪيترائي ڀيرا ورجائيندا آهيون جيترو ضروري هجي جيستائين ڪنورجنسي پهچي وڃي. هر چڪر x کي 5 جي ويجھو آڻي ٿو، گھٽ ۾ گھٽ قدر g(x) = (x – 5)2.
5. ڪنورجينس: طريقو آخر ۾ x = 5 ۾ بدلجي ويندو، جيڪو گھٽ ۾ گھٽ قدر آھي g(x) = (x – 5)2.
سکيا جي شرحن جو مقابلو
اچو ته مختلف سکيا جي شرحن لاءِ گريڊيئينٽ نزول جي ڪنورجنسي اسپيڊ جو مقابلو ڪريون، چئو α = 0.1، α = 0.2، ۽ α = 0.5 اسان جي نئين مثال ۾. اسان ڏسي سگهون ٿا ته هڪ هيٺين سکيا جي شرح (مثال طور، = 0.1) جي نتيجي ۾ هڪ ڊگهو ڪنورجنسي ٿيندو پر هڪ وڌيڪ صحيح گهٽ ۾ گهٽ.
هڪ اعليٰ سکيا جي شرح (مثال طور، = 0.5) تيزيءَ سان بدلجي ويندي پر گھٽ ۾ گھٽ جي باري ۾ اوور شوٽ يا اوسيليٽ ڪري سگھي ٿي، نتيجي ۾ خراب درستگي.
غير ڪنويڪس فنڪشن هينڊلنگ جو هڪ ملٽي موڊل مثال
غور ڪريو h(x) = sin(x) + 0.5x، هڪ غير محدب فعل.
ھن فنڪشن لاءِ ڪيترائي مقامي مينيما ۽ ميڪسيما آھن. شروعاتي پوزيشن ۽ سکيا جي شرح تي مدار رکندي، اسان معياري گريڊيئيٽ ڊيسنٽ استعمال ڪندي مقامي منيما مان ڪنھن به ھڪڙي کي تبديل ڪري سگھون ٿا.
اسان ان کي حل ڪري سگھون ٿا وڌيڪ جديد اصلاحي ٽيڪنڪ استعمال ڪندي جيئن آدم يا اسٽوچسٽڪ گريڊينٽ ڊيسنٽ (SGD). اهي طريقا استعمال ڪن ٿا adaptive learning rates or random sampling to explore the different regions of functions landscape , وڌندا وڌندا هڪ بهتر گهٽ ۾ گهٽ حاصل ڪرڻ جو امڪان.
ٿڪل
Gradient decent algorithms طاقتور اصلاحي اوزار آھن جيڪي وڏي پيماني تي صنعتن جي وسيع رينج ۾ استعمال ٿيندا آھن. اھي ڳولھيندا آھن ھڪڙي فنڪشن جي گھٽ ۾ گھٽ (يا وڌ ۾ وڌ) کي ترتيب سان تازه ڪاري ڪندي پيرا ميٽرز کي گريجوئيٽ جي هدايت جي بنياد تي.
الورورٿم جي تکراري نوعيت جي ڪري، اهو اعليٰ طول و عرض ۽ پيچيده ڪمن کي سنڀالي سگھي ٿو، ان کي مشين جي سکيا ۽ ڊيٽا پروسيسنگ ۾ ناگزير بڻائي ٿو.
تدريسي نزول آساني سان حقيقي دنيا جي مشڪلاتن کي منهن ڏئي سگهي ٿو ۽ ٽيڪنالاجي جي ترقي ۽ ڊيٽا تي ٻڌل فيصلو سازي ۾ تمام گهڻو حصو ڏئي سگهي ٿو احتياط سان سکيا جي شرح کي منتخب ڪندي ۽ ترقي يافته تبديليون لاڳو ڪرڻ جهڙوڪ اسٽوچسٽڪ گريڊينٽ ڊيسنٽ ۽ آدم.
جواب ڇڏي وڃو