कोड शिकणे म्हणजे प्रोग्रामची रचना कशी करायची आणि प्रत्येक शेवटचा तपशील योग्यरित्या कसा भरायचा हे ओळखणे समाविष्ट आहे. हे इतके निराशाजनक असू शकते यात आश्चर्य नाही.

Way to AI that learns to write code; कोड लिहायला शिकणाऱ्या कृत्रिम बुद्धिमत्तेकडे पाऊलवाट : एक नवीन प्रोग्रामर AI, SketchAdapt एक मार्ग ऑफर करते. हजारो प्रोग्राम उदाहरणांवर प्रशिक्षित केलेले, स्केचअॅडप्ट लहान, उच्च-स्तरीय प्रोग्राम कसे तयार करायचे हे शिकते, अल्गोरिदमच्या दुसऱ्या संचाला तपशील भरण्यासाठी योग्य उप-प्रोग्राम शोधू देते.
ऑटोमेटेड प्रोग्राम-राइटिंगसाठी समान पध्दतींच्या विपरीत, स्केचअॅडॅपला सांख्यिकीय पॅटर्न-मॅचिंगमधून कमी कार्यक्षम, परंतु अधिक बहुमुखी, प्रतिकात्मक तर्क मोडमध्ये कधी स्विच करायचे हे माहित आहे.
SketchAdapt –
एमआयटीच्या कॉम्प्युटर सायन्स अँड आर्टिफिशियल इंटेलिजेंस लॅबोरेटरी (सीएसएआयएल) मधील प्राध्यापक अरमांडो सोलर-लेझामा म्हणतात की,
- “संरचना योग्यरित्या मिळविण्यासाठी तंत्रिका जाळे खूपच चांगले आहेत, परंतु तपशील नाही.”
- “मजुरीचे विभाजन करून – न्यूरल नेट्सना उच्च-स्तरीय संरचना हाताळू देऊन,
- आणि रिकाम्या जागा भरण्यासाठी शोध धोरण वापरून-आम्ही योग्य उत्तर देणारे कार्यक्षम प्रोग्राम लिहू शकतो.”
SketchAdapt हे सोलार-लेझामा (Solar-Lezama) आणि CSAIL आणि MIT चे सेंटर फॉर ब्रेन, माइंड्स अँड मशिन्सचे प्राध्यापक जोश टेनेनबॉम यांच्यातील सहकार्य आहे.
- प्रोग्राम संश्लेषण, किंवा संगणकांना कोड शिकवणे, हे एआय संशोधकांचे दीर्घकाळापासून ध्येय राहिले आहे. जो संगणक स्वतः प्रोग्राम करू शकतो तो भाषा अधिक जलद शिकू शकतो, अस्खलितपणे संभाषण करू शकतो.
- आणि मानवी आकलनशक्ती देखील मॉडेल करू शकतो. या सर्वांनी सोलर-लेझामाला (Solar-Lezama)पदवीधर विद्यार्थी म्हणून मैदानात आणले, जिथे त्याने SketchAdapt चा पाया घातला.
Solar-Lezama चे सुरुवातीचे काम –
Solar-Lezama चे सुरुवातीचे काम, Sketch , या कल्पनेवर आधारित आहे की उच्च-स्तरीय रचना प्रदान केल्यास प्रोग्रामचे निम्न-स्तरीय तपशील यांत्रिकरित्या शोधले जाऊ शकतात.
इतर ऍप्लिकेशन्समध्ये, स्केचने स्पिनऑफला प्रोग्रॅमिंग होमवर्कला आपोआप ग्रेड देण्यासाठी आणि हाताने काढलेल्या आकृत्यांना कोडमध्ये रूपांतरित करण्यासाठी प्रेरित केले.
नंतर, जसजसे न्यूरल नेटवर्क्सची लोकप्रियता वाढत गेली, तसतसे टेनेनबॉमच्या संगणकीय संज्ञानात्मक विज्ञान प्रयोगशाळेतील विद्यार्थ्यांनी एक सहयोग सुचवला, ज्यातून स्केचअॅडप्ट तयार झाले.
प्रोग्राम स्ट्रक्चर आणि SketchAdapt प्रोग्राम –
प्रोग्राम स्ट्रक्चर परिभाषित करण्यासाठी तज्ञांवर अवलंबून राहण्याऐवजी, स्केचअॅडॅप सखोल शिक्षण वापरून ते शोधून काढते. संशोधकांनी एक ट्विस्ट देखील जोडला:
जेव्हा न्यूरल नेटवर्क्सना कोणता कोड कुठे ठेवायचा याची खात्री नसते, तेव्हा शोध अल्गोरिदम भरण्यासाठी स्पॉट रिक्त ठेवण्यासाठी SketchAdapt प्रोग्राम केले जाते.
“प्रणाली स्वतःच ठरवते की तिला काय माहित आहे आणि काय माहित नाही.”मॅक्सवेल नाय, एमआयटीच्या मेंदू आणि संज्ञानात्मक विज्ञान विभागातील पदवीधर विद्यार्थी म्हणतात की,
“जेव्हा ते अडखडतात, आणि त्यावर काढण्यासाठी कोणतेही परिचित नमुने नसतात, तेव्हा ते कोडमध्ये प्लेसहोल्डर सोडते.
ते नंतर छिद्रे भरण्यासाठी अंदाज आणि तपासण्याचे धोरण वापरते.”
SketchAdapt च्या कार्यक्षमतेची तुलना –
संशोधकांनी SketchAdapt च्या कार्यक्षमतेची तुलना Microsoft च्या प्रोप्रायटरी RobustFill आणि DeepCoder सॉफ्टवेअरनंतर तयार केलेल्या प्रोग्राम्सशी केली.
Excel च्या FlashFill वैशिष्ट्याचे उत्तराधिकारी, जे तुम्ही टाइप करता तेव्हा सूचना देण्यासाठी समीप सेलचे विश्लेषण करते. उदाहरणार्थ,
- नावांच्या स्तंभाला संबंधित ईमेल पत्त्यांच्या स्तंभात रूपांतरित करणे शिकणे.
- RobustFill उदाहरणांमधून उच्च-स्तरीय प्रोग्राम लिहिण्यासाठी सखोल शिक्षणाचा वापर करते,
- तर DeepCoder निम्न-स्तरीय तपशील शोधण्यात आणि भरण्यात माहिर आहे.

संशोधकांना असे आढळले की, SketchAdapt ने त्यांच्या संबंधित विशेष कार्यांमध्ये RobustFill आणि DeepCoder च्या पुन्हा लागू केलेल्या आवृत्त्यांपेक्षा जास्त कामगिरी केली.
SketchAdapt ने मागे टाकले RobustFill सारख्या प्रोग्रामला –
SketchAdapt ने स्ट्रिंग ट्रान्सफॉर्मेशन्समध्ये RobustFill-सारख्या प्रोग्रामला मागे टाकले; उदाहरणार्थ,
- सामाजिक सुरक्षा क्रमांकांचे संक्षिप्त रूप तीन अंकी, आणि प्रथम नावे त्यांच्या पहिल्या अक्षराने लिहिणे.
- SketchAdapt ने देखील संख्यांची सूची बदलण्यासाठी प्रोग्राम लिहिण्याच्या बाबतीत DeepCoder सारख्या प्रोग्रामपेक्षा चांगले केले.
- केवळ तीन-लाइन सूची-प्रोसेसिंग प्रोग्रामच्या उदाहरणांवर प्रशिक्षित, SketchAdapt आपले ज्ञान नवीन परिस्थितीत हस्तांतरित करण्यात आणि योग्य चार-लाइन प्रोग्राम लिहिण्यास सक्षम होते.
- आणखी एका कार्यात, गणिताच्या समस्या इंग्रजीमधून कोडमध्ये रूपांतरित करणे आणि उत्तराची गणना करणे या दोन्ही कार्यक्रमांना SketchAdapt ने मागे टाकले.
न्यूरल पॅटर्न-मॅचिंगवरून नियम-आधारित प्रतिकात्मक शोधाकडे जाण्याची क्षमता ही त्याच्या यशाची गुरुकिल्ली आहे, ऋषभ सिंग म्हणतात की,
सोलर-लेझामाचे माजी पदवीधर विद्यार्थी, आता Google ब्रेनचे संशोधक आहेत. “SketchAdapt हे शिकते की, प्रोग्रामचे परिचित भाग लिहिण्यासाठी किती नमुना ओळख आवश्यक आहे आणि तपशील भरण्यासाठी किती प्रतिकात्मक तर्क आवश्यक आहे ज्यात नवीन किंवा क्लिष्ट संकल्पना समाविष्ट असू शकतात.”
SketchAdapt हे अगदी लहान कार्यक्रम लिहिण्यापुरते मर्यादित आहे. आणखी कशासाठीही खूप गणना आवश्यक आहे.
असे असले तरी, प्रोग्रामरला पुनर्स्थित करण्याऐवजी त्यांना पूरक बनवण्याचा अधिक हेतू आहे, संशोधक म्हणतात की,
- “आमचा फोकस ज्या लोकांना प्रोग्रामिंग साधने हवी आहेत त्यांना देण्यावर आहे,” न्ये म्हणतात. “ते संगणकाला काय करायचे ते सांगू शकतात आणि संगणक प्रोग्राम लिहू शकतो.”
प्रोग्रामिंग शेवटी, नेहमीच विकसित झाले आहे. १९५० च्या दशकात जेव्हा फोरट्रानची ओळख झाली, तेव्हा ते मानवी प्रोग्रामर बदलण्यासाठी होते. “त्याचे पूर्ण नाव फोरट्रान ऑटोमॅटिक कोडिंग सिस्टीम होते, आणि त्याचे उद्दिष्ट मनुष्यांप्रमाणेच प्रोग्राम लिहिणे हे होते.
परंतु त्रुटीशिवाय,” सोलर-लेझामा म्हणतात. “फोरट्रानच्या आधी प्रोग्रामरने जे काही केले होते ते ते खरोखरच स्वयंचलित होते. यामुळे प्रोग्रामिंगचे स्वरूप बदलले.“
हे सुद्धा वाचा :-