لگو وب سایت هوشمندان
جستجو

هوش مصنوعی در حال تغییر برنامه نویسی برنامه های کامپیوتری است

آیا هوش مصنوعی می تواند دنیای برنامه نویسی را تغییر دهد؟

GPT-3 عنوان پروژه ای در یکی از آزمایشگاه های نرم افزار ساکن شهر سانفرانسیسکو می باشد. هدف این پروژه استفاده از هوش مصنوعی OpenAI برای استفاده در تولید محتوا و همچنین در آینده ای نزدیک برای استفاده در برنامه نویسی نزم افزارهای کامپیوتری می باشد.

همانطور که می دانید هوش مصنوعی شاخه های بسیار متنوعی دارد که یکی از آن ها یادگیری ماشین می باشد. اساس کار این پروژه مبتنی بر یادگیری ماشین می باشد. حجم بسیار زیادی از مطالب و مقالات آموزشی در اختیار این نرم افزار طراحی شده توسط محققین این گروه استارتاپی قرار داده شده است. الگوریتم این پروژه به گونه ای نوشته شده است که بتواند در آینده ای نزدیک سوالات زیادی را پاسخ بدهد و به موازات آن در ادامه برنامه نویسی را نیز از دست برنامه نویسان برباید. 

در سال 2015 ، آندره کارپاتی دکترای علوم کامپیوتر دانشگاه استانفورد و پژوهشگر و مدیر AI در کمپانی تسلا ، از شبکه های عصبی مکرر برای تولید کد استفاده می کند. او یک ابر دیتا از لینوکس (همه سورس کدهای لینوکسی) را گرفت و آن را در یک سند بزرگ (بیش از 400 مگابایت کد) ذخیره کرد و RNN را با این کد آموزش داد.

همانطور که از خبرهای مختلفی که از موفقیت های هوش مصنوعی در زمینه های مختلف می شنویم، کم کم باید آمادگی همکاری با این فناوری برای نوشتن برنامه های مختلف از جمله برنامه های کامپیوتری را داشته باشیم. توانایی سیستم هایی که از یادگیری ماشین قدرت می گیرند به مراتب خیلی بیشتر از انسان خواهد بود، این اتفاق به خاطر این است که ما از این سیستم ها یک رفتار و عملکرد مشخص را انتظار داریم و درگیر مباحث غیرمرتبط نیستند. سرعت آن ها در یادگیری با توجه به اینکه عموما روی ابر کامپیوترها اجرا می شوند خیلی بالاست و از این رو وقتی هدف از این فرآیند استفاده در کدنویسی باشد با ارائه انبوهی از برنامه های نوشته به آن( به خصوص برنامه هایی که استاندارد کدنویسی در آن ها رعایت شده است) و همچنین یادگیری دستورات و قواعد زبان برنامه نویسی خاص، هوش مصنوعی یاد می گیرد از این دستورات چگونه استفاده نماید.

به طور مثال؛ هوش مصنوعی در حال حاضر منجر به پیشرفت هایی در تشخیص پزشکی شده است.

در آزمایشی در سال 2013 ، هوش مصنوعی وظیفه یادگیری تشخیص سرطان سینه را بر عهده گرفت. یک شبکه عصبی برای یافتن علائم سرطان با استفاده از ده ها هزار تصویر ماموگرافی از این بیماری، آموزش داده شد. شبکه عصبی متوجه شد که در جستجوی خود تومورها چندان مهم نیستند ، بلکه برخی دیگر از تغییرات بافتی که در مجاورت سلول های تومور قرار دارند ، اهمیت دارد. این یک پیشرفت جدید و مهم در تشخیص سرطان سینه بود.

از همین رو برای یادگیری برنامه نویسی توسط هوش مصنوعی نیز، به آن مجموعه ای از کدهای نوشته شده استاندارد را وارد شبکه عصبی یادگیری می کنند و هوش مصنوعی در ابتدای راه برنامه هایی می نویسد که شاید زیاد مورد قبول نباشد اما در ادامه با اصلاح برنامه ها توسط محقق، هوش مصنوعی یاد می گیرد که با چه الگو و الگوریتمی برنامه ها را بنویسد. بنابراین زمان آن فرارسیده است که از هوض مصنوعی برای تولید برنامه ها نیز استفاده گردد. 

سیستم یادگیری ماشین امروزه در زمینه های مختلفی در حال آموزش دیدن است و این آموزش ها در آینده به سیستم های مختلف به اشتراک گذاشته می شود تا ابر کامپیوترها، آموزش های مختلف را با اتلاف زمان کمتر در سیستم عصبی خود داشته باشند و از الگوریتم های مختلفی که در طول فرآیند یادگیری به دست آورده اند می توانند در نهایت در انجام کدنویسی ها استفاده نمایند.

مگنتا یک پروژه بزرگ هوش مصنوعی است که بر پایه گوگل برین(Google Brain) توسعه داده شده است. هدف آن این است که بفهمد آیا از یادگیری ماشین می توان برای ایجاد هنر و موسیقی جذاب استفاده کرد و چگونه باید در این زمینه پیش برویم.تیم ایجاد مگنتا از TensorFlow ، که یک کتابخانه یادگیری ماشین Google است، استفاده کرد. خروجی این پروژه یک آهنگ بود که باعث شگفتی شنوندگان شد. 

اساس کار پروژه GPT-3 که قرار است کدنویسی کند نیز بر پایه همین پروژه های ذکر شده می باشد. آن ها روزانه بیش از چند هزار کد را وارد سیستم عصبی یادگیری که طراحی نموده اند می کنند. در دسامبر 2015 ، گوگل کتابخانه TensorFlow را برای عموم آزاد کرد. در حال حاضر این یک نرم افزار منبع باز برای یادگیری ماشین است. چرا گوگل این نرم افزار قدرتمند را رایگان ارائه داد؟ به گفته پروفسور کریستین باوکهاجه از سازمان (IAIS) آلمان ، می توانید پاسخ این سوال را در تاریخ گوگل بیابید. حدود 10 سال پیش ، گوگل سیستم عامل اندروید را برای گوشی های هوشمند منبع باز کرد. امروزه 85 درصد از کل تلفن های هوشمند جهان از سیستم عامل اندروید استفاده می کنند. این همان چیزی است که گوگل در حال حاضر تلاش می کند، انجام دهد. ایده این است که 10 سال دیگر، 80 درصد از هوش مصنوعی در Google TensorFlow اجرا شود.

نمونه کد تولید شده توسط هوش مصنوعی

همانطور که مشاهده می نمایید، به معنای واقعی کلمه یک شبه ، کد ایجاد شده توسط هوش مصنوعی شامل توابع و ساختار عملکرد است. پارامترها ، متغیرها ، حلقه ها و تورفت های صحیح در آن دیده می شود. براکت ها باز و بسته وجود دارد و حتی توضیحاتی هم نوشته شده است. 

البته هوش مصنوعی برخی اشتباهات را مرتکب شده است. در برخی موارد ، از متغیرها استفاده نشده است. در موارد دیگر ، از متغیرهایی که قبلاً اعلام نشده بود استفاده شد. اما آندره کارپاتی پژوهشگر این پروژه، از نتیجه راضی است. او در صحبت هایش اشاره کرد که من می دانم این کد برای کامپایل کردن مناسب نیست و هنوز مشکلاتی را دارد اما باید در نظر داشته باشید که این کدها بعد از اولین مرحله آموزش، تولید شده است و در صورتی که مسیر آموزش ها ادامه پیدا کند در آینده شاهد کدهایی خواهیم بود که شاید بتوان مستقیم در برنامه های حرفه ای استفاده کرد و بعد از طی این مراحل ممکن است کل فرایند نوشتن برنامه خاص توسط همین سیستم انجام بپذیرد. 

رقابت در این زمینه نیز بین غول های فناوری شکل گرفته است. محققان مایکروسافت و دانشگاه کمبریج، هوش مصنوعی را توسعه داده اند که می تواند کد بنویسد و آن را DeepCoder نامیدند.

این ابزار می تواند پس از جستجو در پایگاه داده عظیم کد ، کد مورد نظر خود را بنویسد. سپس سعی می کند بهترین ترتیب و ترکیب ممکن را برای بخش های مختلف کد برداشت شده، ایجاد کند و کارایی آن را در طول زمان بهبود می بخشد. با این حال ، این بدان معنا نیست که هوش مصنوعی کد را می دزدد ، یا آن را از نرم افزار موجود کپی می کند ، یا در اینترنت راه حل ها را جستجو می کند. در همین راستا، سازندگان DeepCoder انتظار دارند که در آینده نزدیک در مسابقات برنامه نویسی شرکت کنند و توانایی های حل مسئله این سیستم را مورد ارزیابی قرار داده و توانایی های آن را به مشتریان و رقبا نشان دهند.

نمونه برنامه به زبان خاص دامنه (DSL) که توسط DeepCoder ایجاد شده است

مارک بروکسمیت از تیم تحقیقات DeepCoder مایکروسافت ، که مسئولیت بخشی از این پروژه را بر عهده دارد، می گوید: چنین سیستمی می تواند برای غیر برنامه نویس ها بسیار مفید باشد، آنها فقط باید ایده برنامه خود را به DeepCoder توصیف کنند و منتظر بمانند تا سیستم آن را تولید کند. در ادامه او اشاره کرد که ممکن است در چند سال آینده چنین سیستمی داشته باشیم. اما در حال حاضر ، قابلیت های DeepCoder محدود به برنامه های متشکل از پنج خط کد است. 

کد پایتون ساخته شده توسط هوش مصنوعی

در ژوئن 2016 ، یک مهندس فرانسوی با نام مستعار BenjaminTD یک پست در وبلاگ خود منتشر کرد و در آن توضیح داد که چگونه "به هوش مصنوعی آموزش نوشتن کد پایتون با استفاده از این زبان برنامه نویسی" را آموزش می دهد. او از حافظه کوتاه و بلند مدت ،که یکی از معماری های محبوب شبکه های عصبی مکرر است، استفاده کرد. او هوش مصنوعی توسعه داده شده توسط خودش را با تعداد زیادی کد پایتون (با استفاده از کتابخانه هایی مانند Pandas ، Numpy ، Scipy ، Django ، Scikit-Learn ، PyBrain ، Lasagne ، Rasterio) تغذیه کرد. فایل ترکیبی 27 مگابایت حجم داشت. هوش مصنوعی سپس کد خود را تولید کرد. این در ابتدا تعریف می کرد:

و در ادامه با استفاده از عبارات بولی چنین کدی را تولید کرد:

و تولید کد با استفاده از آرایه ها:

اگر با دقت به آرایه ها نگاه کنید ، خطای نحوی پیدا خواهید کرد. کد بنیامین خیلی خوب نیست. اما این مهندس فکر می کند که برای شبکه ای که مجبور بود همه چیز را از خواندن کد مثال یاد بگیرد ، بد نیست. همانطور که قابل مشاهده است این پروژه ها هنوز در ابتدای راه خود هستند و وقتی حرف از آینده این فناوری به میان می آید منظور صد سال آینده نیست، ممکن است تا سال 2030 برنامه نویسان به سیستم هوش مصنوعی دسترسی داشته باشند که برای نوشتن کدهای استاندارد در بخشی از برنامه ها، بتوانند به راحتی از آن کمک بگیرند و همین همکاری در نهایت باعث یادگیری بیشتر برای توسعه همین سیستم ها استفاده خواهد شد. 

Diffblue  هوش مصنوعی برای تست خودکار کدها

Diffblue ، شرکتی است که از بخش علوم کامپیوتر دانشگاه آکسفورد زاده شده است. این استارتاپ ابزاری را منتشر کرد که به توسعه دهندگان اجازه می دهد از قدرت هوش مصنوعی برای ایجاد تست های واحد برای کدهای خود، استفاده کنند. تصور کنید چه زمانی را برنامه نویسان صرف تست کد می کنند و با این ابزار چقدر از این زمان صرفه جویی می شود. بنابراین به فناوری های فوق در ابتدا به عنوان دستیار باید نگریست و از قدرت و توانایی موجود آن ها در تسریع پایان یک پروژه برنامه نویسی استفاده کرد. نوشتن آزمون های واحد اغلب توسط برنامه نویسان یک امر ضروری تلقی می شود ، بنابراین راه اندازی چنین محصولی برای بسیاری از آنها یک فرصت عالی خواهد بود تا بتوانند با بهره گیری از این فناوری، از نوشتن آزمون های تست برای برنامه هایشان خلاص شوند. همچنین برای اولین بار است که چنین ابزاری بدون هیچ هزینه ای در اختیار کل جامعه برنامه نویسان و عموم دانشجویان و محققان، قرار می گیرد. به گفته پیتر اشرمل مدیر اجرایی این استارتاپ، دسترسی به ابزارهای آزمایش و تست خودکار برنامه با استفاده از هوش مصنوعی قبلاً به شرکتهای تجاری محدود شده بود. استفاده Diffblue از هوش مصنوعی به آن اجازه می دهد تا از روش های توسعه دهندگان انسانی برای اطمینان از عملکرد صحیح کد آنها تقلید کند. علاوه بر این ، این ابزار فقط چند ثانیه طول می کشد تا آزمایش ها را تولید کند و نیازی به تلاش اضافی از طرف کاربر را ندارد.

ذکر شرکت های مختلف در توسعه هوش مصنوعی ای که در نهایت این امکان را فراهم خواهد کرد که ابر کامپیوتر ها بدون نیاز به برنامه نویسان، کد مورد نظر برای ساخت برنامه های مختلف را تولید کنند؛ فقط در راستای روشن شدن اهمیت این پروژه ها بود و پروژه های مشابه دیگری در نقاط مختلف دنیا در حال تست چنین فناوری هستند. 

سخن پایانی

داستان های هالیوودی درباره هوش مصنوعی که جایگزین انسان می شوند ، هنوز محقق نشده است. ما با شخصیت هایی که در این فیلم ها به نمایش در آمده، همچنان فاصله داریم اما این موضوع، فیلمسازان را از استفاده سخاوتمندانه از موضوع شورش هوش مصنوعی در آثار خود باز نمی دارد. شکی نیست که کامپیوترها در آینده نزدیک بسیار بهتر از حال حاضر، در برنامه نویسی خواهند بود. این دیدگاه، ما را به یک نتیجه گیری کاملاً متفاوت می رساند. این فقط یک موضوع زمان است، تا شبکه های عصبی کد مفیدی برای استفاده در برنامه های کاربردی پلتفرم های مختلف تولید کنند. بنابراین همه چیز برای دانشمندان کامپیوتر واضح و قابل دسترس می باشد و بدون شک در آینده ای خیلی نزدیک برنامه های هوشمند نیز تولید خواهند شد تا در تعامل با انسان، بتوانند او را در انجام وظایف روزانه یاری رسانند و صد البته که در تجهیزات بیمارستانی به صورت شگفت انگیزی در تشخیص بیماری ها و همچنین تولید داروهای موثر، نقش آفرینی خواهند کرد.

داستان عجیب دو تریدر برتر تاریخ که شما را شوکه میکندبهترین از نظر کاربران
داستان عجیب دو تریدر برتر ...
چرا باید یک عکاس شویمآخرین پست
چرا باید یک عکاس شویم