Picture: یک زبان برنامه‌نویسی بهینه برای یادگیری ماشینی

Picture: یک زبان برنامه‌نویسی بهینه برای یادگیری ماشینی

یادگیری ماشینی، مفهومی است که روز به روز بیشتر از گذشته دربارهٔ آن می‌شنویم. پیشرفت‌های سریع در این زمینه، در آینده به جزء جدایی‌ناپذیری از اخبار فناوری تبدیل خواهد شد چرا که نگاه‌داری حجم عظیمی از اطلاعات و پیدا کردن الگوهای پنهان در آنها کار دشواری است اما هوش مصنوعی این مهم را امکان‌پذیر ساخته است. به منظور سرعت بخشیدن به کارها در این حوزه، موسسهٔ MIT یک زبان برنامه‌نویسی تحت عنوان Picture را توسعه داده است که نسخهٔ تغییر یافتهٔ زبان Julia است. در واقع، زبان برنامه‌نویسی Picture زبانی قدرتمند است که قادر است در 50 خط کد، تَسک‌هایی را که سیستم‌های معمول با هزاران خط کدنویسی انجام می‌دهند، اجرا کند.

Tejas Kulkarni فارغ‌التحصیل علوم مغزی و شناختی موسسهٔ MIT دربارهٔ این زبان می‌گوید:

این اولین باره که ما این زبان برنامه‌نویسی رو در حوزهٔ بینایی کامپیوتری معرفی می‌کنیم و امیدواریم که با استفاده از این زبان بتونیم مدل‌های انعطاف‌پذیر متمایزی رو با کوتاه‌ترین حالت ممکن بنویسیم. هدف نهایی اینه که الگوها بتونن در حل مسائل یاری کنندهٔ ما باشن.

شاید هنوز سؤالاتی دربارهٔ این زبان اصطلاحاً Probabilistic Programming Language که به اختصار PPL به معنی «زبان برنامه‌نویسی احتمالاتی» گفته می‌شود در ذهن داشته باشید. اگر بخواهیم آن را ساده‌تر توضیح دهیم، بایستی بگوییم که اساس زبان برنامه‌نویسی پیکچر استفاده از مدل‌های احتمالاتی است که روند عملکرد کامپیوتر را سرعت می‌بخشد و کمک می‌کند که بسته‌های اطلاعات و الگوها سریع‌تر و مؤثرتر اسکن شوند. زبان پیکچر از یک الگوریتم استنتاجی بهره می‌گیرد که به طور مداوم احتمالات را بر پایهٔ داده‌های جدید، دوباره تنظیم می‌کند و اصلاحاتی در خود انجام می‌دهد (برای آشنایی بیشتر با این زبان برنامه‌نویسی، به ریپازیتوری گیت‌هاب زبان Picture مراجعه نمایید).

به بیان دیگر، زبان‌های برنامه‌نویسی احتمالاتی از استنباط آماری برای انجام محاسبات مورد نیاز برای Computer Vision (بینایی کامپیوتری) بهره می‌گیرند. به گزارش مؤسسه MIT، یکی از وظایفی که محققان مورد بررسی قرار دادند ساختن یک مدل سه‌بعدی چهرهٔ انسان از یک تصویر دوبعدی بود. برنامهٔ آنها ویژگی‌های اصلی چهره را این‌گونه تشریح کرد که دو شیٔ متقارن (چشم‌ها) و دو شیٔ مستقر شده در مرکز در زیر آنها (بینی و دهان) وجود دارد. سپس با کمی کار روی تفسیر این توضیحات به ساختارهای زبان برنامه‌نویسی احتمالاتی پیکچر، نمونه تکمیل شد. در نهایت، با اضافه کردن نمونه‌هایی از تصاویر دوبعدی و مدل‌های سه‌بعدی متناسب با آنها، برنامه این توانایی را پیدا کرد تا بقیه را به تنهایی کشف کند.

گرچه این دست زبان‌‌ها برای کار کردن به Machine Learning (یادگیری ماشینی) نیازی ندارند، اما این‌گونه زبان‌‌ها می‌توانند راهی برای ساده‌تر کردن استفاده از یادگیری ماشینی را پیش روی ما بگذارند.

منبع