پروژه کد نت IBM – نهایت کاربری 100 درصدی هوش مصنوعی در توسعه نرم افزار:

Machine learning is the study of computer algorithms that improve automatically through experience and by the use of data. It is seen as a part of artificial intelligence

این مقاله بخشی از تحقیقات گسترده ما در حوزه هوش مصنوعی است. دنباله ای از مقاله ها که آخرین دستاورد های هوش مصنوعی را مورد بررسی قرار میدهد. دایره تحقیق و توسعه هوش مصنوعی IBM به تازگی یک مجموعه داده (DataSet) 14 میلیون موردی را منتشر کرد. این مجموعه برای توسعه برنامه هایی در بحث یادگیری ماشین مورد استفاده قرار خواهد گرفت. این پروسه در قالب پروژه کد نت (CodeNet) این مجموعه نام خود را از پروژه ای مشابه به نام ImageNet اقتباس کرده است.

Machine learning is the study of computer algorithms that improve automatically through experience and by the use of data. It is seen as a part of artificial intelligence.

با وجود اینکه شانس کمی وجود دارد تا این مجموعه داده باعث هم افزایی توامندی برنامه نویسان شود، IBM امیدوار است این فرآیند به افزایش خلاقیت توسعه دهندگان کمک شایانی کند.

خودکار کردن برنامه نویسی با استفاده از یادگیری عمیق

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

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

تلاش های بسیاری در خصوص ساخت مجموعه داده ها و معیار ها برای توسعه و ارزشگذاری سیستم های «هوش مصنوعی در برنامه نویسی» صورت گرفته است. اما با توجه به نیازمندی خلاقیت و فضای وسیع توسعه نرم افزار، توسعه مجموعه داده ای برای برنامه نویسی بسیار دشوار بوده است.

مجموعه داده CodeNet

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

این مجموعه داده شامل 14 میلیون کد نمونه است که مجموعا از500 میلیون کد در زبان های مختلف تشکیل شده است. این نمونه ها از پاسخ های نزدیک به 4000 هزار چالش آنلاین بدست آمده است. در میان این نمونه ها بسیاری جواب درست و نادرست نیز وجود دارد.

یکی از مزیت های CodeNet حاشیه(annotation) های فراوانی است که در نمونه ها وجود دارد. همراه هر مورد از این مجموعه ها فایل توضیحاتی مبنی بر CPU clock و میزان حافظه مصرفی است. علاوه بر آن زبان نگاشته شده، زمان گسترش، اندازه و زمان اجراست. در صورت صحیح نبودن نوع Error نیز ذکر شده است.

همچنین محققان تمامی تلاش خود را نموده اند، تا این مجموعه متناسب از نوع زبان، گوناگونی راه حل و مشتمل بر ایراد (Error) های فراوان باشد.

وظایف برنامه نویسی در بحث یادگیری ماشین

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

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

یک تلاش مهندسی عظیم

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *