مصنوعي ذهانت (AI) تازو سالن ۾ مقبوليت جو هڪ اهم مقدار حاصل ڪيو آهي.
جيڪڏهن توهان هڪ سافٽ ويئر انجنيئر، ڪمپيوٽر سائنسدان، يا عام طور تي ڊيٽا سائنس جو شوقين آهيو، ته پوءِ توهان شايد هن فيلڊ پاران مهيا ڪيل تصويري پروسيسنگ، نمونن جي سڃاڻپ ۽ اعتراض جي ڳولا جي شاندار ايپليڪيشنن سان دلچسپي وٺندا آهيو.
AI جو سڀ کان اهم ذيلي فيلڊ جنهن بابت توهان شايد ٻڌو آهي ڊيپ لرننگ. هي فيلڊ طاقتور الگورتھم تي ڌيان ڏئي ٿو (ڪمپيوٽر پروگرام هدايتون) انساني دماغ جي ڪارڪردگي کان پوء ماڊل طور سڃاتو وڃي ٿو قدرتي نيٽورڪ.
هن آرٽيڪل ۾، اسان نيورل نيٽ ورڪ جي تصور تي وڃون ٿا ۽ انهن ماڊل کي ڪيئن ٺاهيو، گڏ ڪرڻ، فٽ ۽ جائزو وٺڻ Python.
قدرتي نيٽورڪ
نيورل نيٽ ورڪ، يا NNs، انساني دماغ جي حياتياتي سرگرمي کان پوء ماڊل ڪيل الگورتھم جو هڪ سلسلو آهن. نيورل نيٽ ورڪ نوڊس تي مشتمل هوندا آهن، جن کي نيورون پڻ سڏيو ويندو آهي.
عمودي نوڊس جو هڪ مجموعو پرت طور سڃاتو وڃي ٿو. ماڊل ھڪڙي ان پٽ، ھڪڙي آئوٽ، ۽ ڪيترن ئي لڪيل تہن تي مشتمل آھي. هر پرت نوڊس تي مشتمل آهي، جنهن کي نيورون پڻ سڏيو ويندو آهي، جتي حساب ڪتاب ٿئي ٿو.
ھيٺ ڏنل ڊراگرام ۾، دائرا نوڊس جي نمائندگي ڪن ٿا ۽ نوڊس جو عمودي مجموعو تہن جي نمائندگي ڪن ٿا. هن ماڊل ۾ ٽي پرت آهن.
ھڪڙي پرت جا نوڊس ايندڙ پرت سان ٽرانسميشن لائينن ذريعي ڳنڍيل آھن جيئن ھيٺ ڏجي ٿو.
اسان جو ڊيٽا سيٽ ليبل ٿيل ڊيٽا تي مشتمل آهي. هن جو مطلب آهي ته هر ڊيٽا جي اداري کي مقرر ڪيو ويو آهي هڪ خاص نالو قدر.
تنهن ڪري جانورن جي درجي بندي واري ڊيٽا سيٽ لاءِ اسان وٽ ٻليون ۽ ڪتن جون تصويرون هونديون جيئن اسان جي ڊيٽا، 'ڪتي' ۽ 'ڪتو' سان اسان جي ليبل طور.
اهو نوٽ ڪرڻ ضروري آهي ته ليبلن کي عددي قدرن ۾ تبديل ڪرڻ جي ضرورت آهي اسان جي ماڊل لاءِ انهن کي سمجهڻ لاءِ، تنهن ڪري اسان جي جانورن جا ليبل بڻجي ويندا '0' ٻلي لاءِ ۽ '1' ڪتي لاءِ. ٻئي ڊيٽا ۽ ليبل ماڊل ذريعي گذري ويا آهن.
سکيا
ڊيٽا کي فيڊ ڪيو ويندو آهي ماڊل هڪ ادارو هڪ وقت ۾. هي ڊيٽا ٽڪرن ۾ ورهايل آهي ۽ ماڊل جي هر نوڊ ذريعي گذري ٿو. نوڊس انهن ٽڪڙن تي رياضياتي عمل ڪندا آهن.
توھان کي ھن سبق لاءِ رياضياتي افعال يا حسابن کي ڄاڻڻ جي ضرورت نه آھي، پر اھو ضروري آھي ته عام خيال ھجي ته اھي ماڊل ڪيئن ڪم ڪن ٿا. ھڪڙي پرت ۾ حسابن جي ھڪڙي سيريز کان پوء، ڊيٽا کي ايندڙ پرت تي منتقل ڪيو ويندو آھي ۽ ائين ئي.
هڪ دفعو مڪمل ٿيڻ بعد، اسان جو ماڊل اڳڪٿي ڪري ٿو ڊيٽا ليبل جي آئوٽ پرت تي (مثال طور، جانورن جي درجي بندي جي مسئلي ۾ اسان کي ٻلي لاءِ اڳڪٿي '0' ملي ٿي).
ماڊل وري اڳتي وڌي ٿو هن پيش گوئي ڪيل قيمت کي حقيقي ليبل جي قيمت سان موازنہ ڪرڻ لاءِ.
جيڪڏهن قيمتون ملن ٿيون، اسان جو ماڊل ايندڙ انپٽ کڻندو پر جيڪڏهن قدرن ۾ فرق آهي ته ماڊل ٻنهي قدرن جي وچ ۾ فرق کي ڳڻپ ڪندو، جنهن کي نقصان سڏيو ويندو آهي، ۽ نوڊ جي حسابن کي ترتيب ڏيڻ لاءِ ايندڙ وقت ۾ ملندڙ ليبل پيدا ڪرڻ لاءِ.
ڊيپ لرننگ فريم ورڪ
ڪوڊ ۾ نيورل نيٽ ورڪ ٺاهڻ لاءِ، اسان کي درآمد ڪرڻو پوندو ڊيپ لرننگ فريم ورڪ اسان جي Integrated Development Environment (IDE) استعمال ڪندي لائبريرين جي نالي سان سڃاتو وڃي ٿو.
اهي فريم ورڪ اڳ ۾ لکيل ڪمن جو مجموعو آهن جيڪي هن سبق ۾ اسان جي مدد ڪندا. اسان کي استعمال ڪيو ويندو Keras فريم ورڪ اسان جي ماڊل کي تعمير ڪرڻ لاء.
Keras هڪ Python لائبريري آهي جيڪا هڪ گہرے سکيا ۽ مصنوعي ذهانت جي پس منظر کي استعمال ڪندي آهي. ٽنسور فلو آساني سان سادي ترتيب واري ماڊل جي صورت ۾ NNs ٺاهڻ لاءِ.
ڪيراس پڻ اچي ٿو پنهنجي اڳوڻي ماڊل سان جيڪي پڻ استعمال ڪري سگھجن ٿيون. هن سبق لاءِ، اسان پنهنجو ماڊل ٺاهينداسين Keras استعمال ڪندي.
توهان هن ڊيپ لرننگ فريم ورڪ بابت وڌيڪ سکو سگهو ٿا مان Keras ويب سائيٽ.
نيورل نيٽورڪ جي تعمير (ٽيوٽوريل)
اچو ته پيٿون استعمال ڪندي نيورل نيٽ ورڪ ٺاهڻ تي اڳتي وڌون.
مسئلي جو بيان
نيورل نيٽ ورڪ AI جي بنياد تي مسئلن جو حل جو هڪ قسم آهن. هن سبق لاءِ اسان پيما انڊين ذیابيطس ڊيٽا تي وڃي رهياسين، جيڪو موجود آهي هتي.
يو سي آء مشين لرننگ هن ڊيٽا سيٽ کي مرتب ڪيو آهي ۽ هندستاني مريضن جو طبي رڪارڊ شامل آهي. اسان جي ماڊل کي اڳڪٿي ڪرڻي آهي ته ڇا مريض کي 5 سالن اندر ذیابيطس جي شروعات ٿيندي يا نه.
لوڊ ڪندي ڊيٽا سيٽ
اسان جو ڊيٽا سيٽ هڪ واحد CSV فائل آهي جنهن کي 'diabetes.csv' سڏيو ويندو آهي جيڪو آساني سان استعمال ڪري سگهجي ٿو Microsoft Excel استعمال ڪندي.
اسان جي ماڊل ٺاهڻ کان پهريان، اسان کي اسان جي ڊيٽا سيٽ کي درآمد ڪرڻ جي ضرورت آهي. ھيٺ ڏنل ڪوڊ استعمال ڪندي توھان ھي ڪري سگھو ٿا:
پي ڊي جي طور تي پانڊا درآمد ڪريو
ڊيٽا = pd.read_csv('diabetes.csv')
x = data.drop ("نتيجو")
y = ڊيٽا["نتيجو"]
هتي اسان استعمال ڪري رهيا آهيون پنڌ لائبريري اسان جي CSV فائل ڊيٽا کي ترتيب ڏيڻ جي قابل ٿي، read_csv() Pandas جو هڪ بلٽ ان فنڪشن آهي جيڪو اسان کي اجازت ڏئي ٿو ته اسان جي فائل ۾ موجود قدرن کي 'ڊيٽا' نالي هڪ متغير ۾ محفوظ ڪري سگهون.
متغير x اسان جي ڊيٽا سيٽ تي مشتمل آهي بغير نتيجو (ليبل) ڊيٽا. اسان هن کي data.drop() فنڪشن سان حاصل ڪريون ٿا جيڪو x لاءِ ليبل هٽائي ٿو، جڏهن ته y صرف نتيجو (ليبل) ڊيٽا تي مشتمل آهي.
بلڊنگ جي ترتيب واري ماڊل
قدم 1: لائبريريون درآمد ڪرڻ
پهرين، اسان کي اسان جي ماڊل لاء گهربل ڪجهه پيٽرولن سان گڏ، TensorFlow ۽ Keras درآمد ڪرڻ جي ضرورت آهي. هيٺ ڏنل ڪوڊ اسان کي ائين ڪرڻ جي اجازت ڏئي ٿو:
tf طور tensorflow درآمد ڪريو
tensorflow درآمد ڪيرا کان
tensorflow.keras.models کان ترتيب وار درآمد ڪريو
tensorflow.keras.layers کان درآمد ايڪٽيويشن، ڊينس
tensorflow.keras.optimizers کان آدم درآمد ڪريو
tensorflow.keras.metrics مان categorical_crossentropy درآمد ڪريو
اسان جي ماڊل لاءِ اسان گھڻا پرت درآمد ڪري رهيا آهيون. اهي مڪمل طور تي ڳنڍيل پرت آهن؛ يعني، هڪ پرت ۾ هر نوڊ مڪمل طور تي ايندڙ پرت ۾ ٻئي نوڊ سان ڳنڍيل آهي.
اسان پڻ درآمد ڪري رهيا آهيون چالو نوڊس ڏانهن موڪليل ڊيٽا اسڪيلنگ لاءِ گهربل فنڪشن. اصلاح ڪندڙ نقصان کي گھٽائڻ لاءِ پڻ درآمد ڪيا ويا آھن.
آدم هڪ نامور اصلاح ڪندڙ آهي جيڪو اسان جي ماڊل تازه ڪاري نوڊ حسابن کي وڌيڪ موثر انداز سان گڏ ڪري ٿو. categorical_crossentropy جيڪو آهي نقصان جي فنڪشن جو قسم (حقيقي ۽ پيش ڪيل ليبل جي قيمتن جي وچ ۾ فرق جي حساب سان) جيڪو اسان استعمال ڪنداسين.
قدم 2: اسان جي ماڊل کي ڊزائين ڪرڻ
مان جيڪو ماڊل ٺاهي رهيو آهيان ان ۾ هڪ ان پٽ (16 يونٽن سان)، هڪ لڪيل (32 يونٽن سان) ۽ هڪ آئوٽ (2 يونٽن سان) پرت آهي. اهي انگ مقرر نه آهن ۽ مڪمل طور تي ڏنل مسئلي تي منحصر هوندا.
يونٽن ۽ تہن جي صحيح تعداد کي ترتيب ڏيڻ ھڪڙو عمل آھي جنھن کي مشق جي ذريعي اوور ٽائيم بھتر ڪري سگھجي ٿو. چالو ڪرڻ اسڪيلنگ جي قسم سان مطابقت رکي ٿو جيڪو اسان جي ڊيٽا کي نوڊ ذريعي گذرڻ کان اڳ انجام ڏينداسين.
Relu ۽ Softmax هن ڪم لاء مشهور ڪارڪردگي ڪارڪردگي آهن.
ماڊل = ترتيب وار ([
گھڻا (يونٽس = 16، ان پٽ_شپي = (1،)، چالو = 'relu')،
گھڻا (يونٽس = 32، چالو = 'relu')،
گھڻا (يونٽس = 2، چالو = 'softmax')
])
هتي اهو آهي ته ماڊل جو خلاصو هن جهڙو ڏسڻ گهرجي:
ماڊل جي تربيت
اسان جي ماڊل کي ٻن مرحلن ۾ تربيت ڏني ويندي، پهريون ماڊل کي گڏ ڪرڻ (ماڊل کي گڏ ڪرڻ) ۽ ايندڙ ماڊل کي ڏنل ڊيٽا سيٽ تي فٽ ڪرڻ.
اهو استعمال ڪري سگهجي ٿو model.compile() فنڪشن بعد ۾ model.fit() فنڪشن.
نموني
model.fit(x، y، epochs = 30، batch_size = 10)
'درستگي' ميٽرڪ جي وضاحت ڪندي اسان کي تربيت دوران اسان جي ماڊل جي درستگي کي ڏسڻ جي اجازت ڏئي ٿي.
جيئن ته اسان جا ليبل 1 ۽ 0 جي شڪل ۾ آهن، اسان حقيقي ۽ اڳڪٿي ڪيل ليبل جي وچ ۾ فرق کي ڳڻڻ لاءِ بائنري نقصان جي فنڪشن کي استعمال ڪنداسين.
ڊيٽا سيٽ کي 10 جي بيچ ۾ پڻ ورهايو پيو وڃي (batch_size) ۽ ماڊل 30 ڀيرا (epochs) ذريعي گذريو ويندو. ڏنل ڊيٽا سيٽ لاءِ، x ڊيٽا هوندي ۽ y ڊيٽا سان لاڳاپيل ليبل هوندو.
جاچ ماڊل استعمال ڪندي اڳڪٿيون
اسان جي ماڊل کي جانچڻ لاءِ، اسان اڳڪٿيون ڪيون ٿا ٽيسٽ ڊيٽا تي predict() فنڪشن استعمال ڪندي.
اڳڪٿيون = ماڊل. اڳڪٿي (x)
۽ اهو ئي آهي
توھان کي ھاڻي چڱيءَ طرح سمجھڻ گھرجي گروي سکيا ايپليڪيشن، نيورل نيٽورڪ، اهي عام طور تي ڪيئن ڪم ڪن ٿا ۽ پٿون ڪوڊ ۾ ماڊل ڪيئن ٺاهي، ٽريننگ ۽ ٽيسٽ ڪن ٿا.
مون کي اميد آهي ته هي سبق توهان کي پنهنجو ڊيپ لرننگ ماڊل ٺاهڻ ۽ ترتيب ڏيڻ لاءِ ڪيڪ اسٽارٽ ڏيندو.
اچو ته راين ۾ ڄاڻون ته مضمون مددگار هو.
جواب ڇڏي وڃو