برای توسعهٔ اپلیکیشن‌های مبتنی بر هوش مصنوعی باید به چه مواردی توجه شود؟


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

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

لزوم ارائهٔ نتایج تحلیل‌ها به صورت بلادرنگ
بسیاری از کسب‌وکارها نیاز به استفاده از نرم‌افزارهایی در حوزۀ هوش مصنوعی دارند که پاسخ‌هایی به صورت بلادرنگ تولید کنند که در ادامه برخی از نرم‌افزار‌های مبتنی بر هوش مصنوعی در صنایع مختلف را نام می‌بریم که تمامی آن‌ها نتایجی به اصطلاح Real-time را تولید می‌کنند:

- تشخیص تقلب در انجام فرآیندهای بانکی
- تشخیص گفتار (سرویس‌های تبدیل صوت به متن)
- ترجمه (نظیر Google Translate و یا Skype Translator)
- پیشنهاد کالاهای مرتبط به یکدیگر در خدمات فروش آنلاین
- دستیارهای شخصی دیجیتال و هوشمند (همچون Siri و Cortana)
- تشخیص چهره
- چت‌بات‌ها
- وسایل نقلیۀ خودران
- خانه‌های هوشمند

کلود به عنوان زیرساختی کلیدی برای اپلیکیشن‌های مبتنی بر AI
یادگیری ماشینی در طول دورۀ Train (آموزش) نیاز به منابع محاسباتی قابل‌توجهی دارد اما این در حالی است که مرحلۀ پردازش داده‌ها خیلی سخت نبوده و نیاز به منابع محاسباتی پیشرفته‌ای ندارد. پیش از این، تفاوت در منابع محاسباتی مورد نیاز مدل‌های یادگیری ماشینی چالشی برای دولوپرهایی بود که قصد پیاده‌سازی این مدل‌ها را بدون سرمایه‌گذاری روی خرید سرورهای قدرتمند داشتند که البته با ظهور تکنولوژی کلود، این نیاز به آسانی برطرف شده است و از همین روی دولوپرها می‌توانند سرویس‌های توسعۀ نرم‌افزارهای هوش مصنوعی را با اتِکا بر سرویس‌های کلود مورد استفاده قرار دهند.

راه‌کار‌های هوش مصنوعی چیزی فراتر از پیاده‌سازی یک الگوریتم‌ها است
بدون شک در توسعۀ نرم‌افزارهای مبتنی بر ML، الگوریتم‌های مورد استفاده بسیار مهم هستند؛ با این حال، در موفقیت این الگوریتم‌ها عناصر دیگری نیز تأثیرگذارند که چند مورد از آن‌ها را مورد بررسی قرار می‌دهیم:

- دیتاست مورد استفاده در فرآیند آموزش: در حقیقت، دیتاست‌ مورد استفاده در آموزش مدل‌های ML کلید موفقیت آن‌ها است به طوری که اگر یک شرکت دیتای کافی نداشته باشد و یا این دیتا کیفیت پایینی داشته باشد، به احتمال زیاد نرم‌افزار تولیدشده تصمیمات اشتباهی را خواهد گرفت!

- فرآیند آموزش: فرآیندهای آموزش و یادگیری در مدل‌های یادگیری ماشینی به دو روش انجام می‌شود؛ یادگیری نظارت‌شده و یادگیری بدون نظارت که در یادگیری نظارت‌شده، آموزش مدل‌های ML با استفاده از یکسری دیتای آموزشی برچسب‌دار و خروجی مورد انتظار از آن انجام می‌شود اما در یادگیری بدون نظارت، خروجی الگوریتم‌های ML ناشناخته بوده و مدل باید الگوی به کار گرفته شده در دیتای آموزشی را کشف کرده و آن را یاد بگیرد و از همین روی یک شرکت باید در ابتدای کار رویکرد مد نظر خود را در آموزش مدل‌های ML انتخاب کند.

- ادغام با فرآیندهای کسب‌وکار روزمرۀ شرکت: برای دستیابی به نتایج کاربردی تکنولوژی هوش مصنوعی باید آن را به بخشی جدایی‌ناپذیر از فرآیندهای کسب‌وکار روزانۀ خود تبدیل کنیم و برای دستیابی به چنین هدفی نیز نرم‌افزارهای هوش مصنوعی باید با سایر سیستم‌های کسب‌وکارمان سازگاری داشته باشند؛ سیستم‌هایی که دیتای جدیدی را از نرم‌افزار دریافت می‌کنند و همچنین سیستم‌هایی که دیتای دریافتی از آن را پردازش کرده و تبدیل به خروجی می‌کنند.

راه‌حل مبتنی بر ML برای انجام تَسک‌های مختلف باید مجدداً آموزش ببیند
متأسفانه یک راه‌حل هوش مصنوعی مبتنی بر ML چیزی نیست که یک بار طراحی شده و برای حل تمامی مسائل قابل استفاده باشد و از همین روی باید دقت شود که راه‌حل‌های هوش مصنوعی را نمی‌توان به انجام چندین تَسک مختلف تعمیم داد. برای مثال، یک نرم‌افزار مبتنی بر هوش مصنوعی بر خلاف انسان نمی‌تواند دو بازی مختلف را آموزش ببیند و چنانچه برای بازی شطرنج آموزش دیده باشد، این کار را بسیار موفقیت‌آمیز انجام خواهد داد اما همین نرم‌افزار برای انجام بازی گو، باید دوباره آموزش داده شود و تنها در این صورت است که قادر خواهد بود چنین تَسک جدیدی را انجام دهد. اساساً مدل‌های یادگیری ماشینی به دو دلیل نیاز به آموزش‌های مجدد دارند که در ادامه هر یک از آن‌ها را بررسی خواهیم کرد:

- فضای کسب‌وکار دائماً در حال تغییر است و رقبای جدیدی وارد بازار می‌شوند، تِرندهای جدید در صنعت ظاهر می‌شود و غیره که همۀ این موارد جزو تغییرات خارج از ساختار شرکت بوده و احتمالاً منجر به تغییر تَسک‌هایی خواهند شد که یک کسب‌وکار نیاز به حل آن‌ها با استفاده از نرم‌افزارهای هوش مصنوعی دارد.

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

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

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

منبع


اکرم امراه‌نژاد