برنامه‌نویسان چگونه یک سیستم هوش مصنوعی را طراحی می‌کنند؟
۱۴۰۰/۰۳/۳۰ تاریخ انتشار

گارتنر بر این باور است که تا پایان سال ۲۰۲۰، فناوری هوش مصنوعی تقریبا در تمام محصولات و سرویس‌های جدید راه پیدا کرده و فراگیر می‌شود. مطالعات موسسه Tractica روی بازار هوش مصنوعی نشان می‌دهد، درآمد حاصل از ساخت و به‌کارگیری این فناوری در سراسر دنیا تا سال ۲۰۲۵ به بیش از ۶۰ میلیارد دلار خواهد رسید.

هوش مصنوعی چیست؟

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

مثال بارزی از مورد مذکور: فرض کنید 20 ساعت از وقت محاسبات را برای تولید مدل‌های خود صرف کرده و طی یک ماه 890000 پیش‌بینی لحظه‌ای به دست آورده‌اید. این فرآيند تنها 100 دلار هزینه برای شما خواهد داشت. برای ارزیابی این نوشتار کوتاه، ما باید روی یادگیری ماشین (ML) به عنوان بخشی که شاخه‌ای از هوش مصنوعی که بیشتر مورد استفاده قرار می‌گیرد تمرکز کنیم. در طراحی یک سامانه هوشمند اصل مهمی که باید به آن دقت کرد درک درست نقطه شروع است. به عبارت دقیق‌تر، اگر در ابتدای راه اشتباهی در نحوه طراحی مدل و نوع داده‌های جمع‌آوری شده به وجود آید، همه چیز باید نو تکرار شوند.

مراحل طراحی یک سیستم هوش مصنوعی

  1. شناسایی مسئله
  2. آماده‌سازی داده‌ها
  3. انتخاب الگوريتم‌ها
  4. آموزش الگوريتم‌ها
  5.  انتخاب یک زبان برنامه‌نویسی مخصوص این کار
  6.  اجرا روی یک پلتفرم مشخص

1. شناسایی و درک مسئله

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

2. آماده‌سازی داده‌ها

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

3. انتخاب الگوريتم

در این مقاله قصد نداریم وارد جزئیات فنی شویم، اما لازم است به تفاوت بین انواع رایج الگوريتم‌ها اشاره کنیم. به‌طور کلی، الگوریتم‌های یادگیری ماشینی را می‌‌توان در دو دسته یادگیری به روش تحت نظارت (Supervised) و بدون نظارت (Unsupervised) طبقه‌بندی کرد.

الف. یادگیری تحت نظارت

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

ب. یادگیری بدون نظارت

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

4. آموزش الگوريتم‌ها

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

5. بهترين زبان برنامه‌نویسی برای هوش مصنوعی کدام است؟

اگر وظیفه ساخت یک سیستم مبتنی بر هوش مصنوعی را عهده‌دار هستید کدام زبان برنامه‌نویسی را انتخاب می‌کنید؟ این یک سوال نسبتا گیج‌کننده است. انتخاب یک زبان برنامه‌نویسی به نیازهای شما و عوامل گوناگونی بستگی دارد. همان‌گونه که می‌دانید زبان‌های برنامه نویسی مختلفی از C++ و جاوا تا پایتون و R برای این کار وجود دارد. پایتون و R محبوب‌ترين زبان‌های کدنویسی در این زمینه هستند، زیرا مجموعه قدرتمندی از ابزارها از جمله مجموعه گسترده‌ای از کتابخانه‌های یادگیری ماشین را به کاربران ارائه می‌کنند. یکی از این کتابخانه‌های مفید پردازش زبان طبیعی (NLTK) است. این کتابخانه قدرتمند یک بستر پیشرو برای ساخت برنامه‌های پایتون برای کار با داده‌های زبان انسانی است.

6. انتخاب پلتفرم‌ها

پلتفرمی‌ را انتخاب کنید که تمام خدمات را ارائه می‌کند و دیگر لازم نیست خدمات کاربردی، پایگاه داده و موارد دیگر را خودتان خریداری کنید. یک پلتفرم از پیش ساخته (یادگیری ماشین به عنوان سرویس) اجازه می‌دهد با دقت و سرعت بیشتری روی گسترش و توسعه مدل‌ها متمرکز شوید. این پلتفرم‌ها به گونه‌ای ساخته شده‌اند تا با ارائه تحلیل‌های پیشرفته مبتنی بر ابر که می‌توان آن‌را با ادغام چند الگوريتم و چند زبان مختلف استفاده کرد روند طراحی الگوریتم‌های یادگیری ماشین را ساده کرده و روند به‌کارگیری را تسهیل کرد. استقرار سریع نیز یکی از عوامل کلیدی در موفقیت سیستم‌های یادگیری ماشین به عنوان سرویس است. پلتفرم‌ها معمولا با پیش پردازش داده‌ها، آموزش مدل و پیش‌بینی ارزیابی به حل مسائل کمک می‌کنند. محیط ابری به سازمان‌ها و کسب‌و‌کارها اجازه می‌دهد به مجموعه داده‌های بزرگی دست پیدا کرده و سیستم‌های خود را با مقیاس لازم جهت ارائه سرویس‌های مبتنی بر داده‌های فشرده، مطابقت دهند. محققین و دانشمندان کامپیوتری حالا با استفاده از محاسبات و کامپیوترهای قدرتمند می‌توانند مدل‌های داده بسیار پیچیده و دشوار را به اجرا درآورند. استفاده از فناوری ابری و کاربرد قدرت پردازش محاسباتی بسیار بالا راه را برای محاسبات یادگیری ماشین و یادگیری عمیق هموارتر می‌کند. از معروف‌ترین این پلتفرم‌ها می‌توان به  Microsoft Azure Machine Learning، Google Cloud Prediction API،  TensorFlow و  Ayasdi اشاره کرد.

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

به این مطلب چند ستاره می‌دهید؟(امتیاز: 4.8 - رای: 2)

ثبت نظر تعداد نظرات: 0 تعداد نظرات: 0
usersvg