هوش مصنوعی و یادگیری ماشینی
سومین تکنولوژی بزرگ و موثر در پیشبرد دگرگونی دیجیتال «هوش مصنوعی» است که علم و مهندسی ساخت ماشینهای هوشمند و برنامههای کامپیوتری پیشرفتهای است که امکان یادگیری و حل مساله را که تا پیش از این به هوش انسانی نیاز داشت فراهم میآورد. انواع مسائلی که بهطور سنتی توسط هوش مصنوعی حل میشود شامل مواردی چون پردازش طبیعی زبان و ترجمه، تشخیص تصاویر و الگوها و حمایت از تصمیمگیریها میشود. بهطورکلی، تعداد و پیچیدگی اپلیکیشنهای هوش مصنوعی به سرعت در حال افزایش است. به عنوان مثال امروزه هوش مصنوعی میتواند مسائل بسیار پیچیده مربوط به زنجیره تامین یا مشکلات مدیریت داراییها و همچنین پیشبینی میزان اعتیادآوری داروها و مواردی از این نوع را بهراحتی حل کند و تصمیمگیری در این موارد را به سرعت و با دقت بیشتری امکانپذیر سازد. هوش مصنوعی دارای زیرشاخههای مختلفی است که دو مورد از آنها بیشتر از سایرین در دگرگونی دیجیتال تاثیرگذار هستند و عبارتند از «یادگیری ماشینی» و «یادگیری عمیق».
یادگیری ماشینی
یادگیری ماشینی یکی از زیرمجموعههای گسترده و مهم هوش مصنوعی است که به مجموعهای از الگوریتمها گفته میشود که قادر به یادگیری از طریق مثالها و تجربیات بهصورت مجموعه دیتای ورودی/ خروجی هستند و از این جهت با الگوریتمهای سنتی که به کدگذاریهای سخت و قوانین از پیش تعیینشده متکی بودند تفاوت دارند. یک مثال ساده برای درک مفهوم الگوریتم به الگوریتم، مرتب کردن اعداد به هم ریخته از کمترین عدد به بالاترین عدد یا بالعکس است که ورودی آن، یکسری اعداد به هم ریخته و خروجیاش یک توالی درست از اعداد از کمترین عدد تا بالاترین عدد است و این نمونهای است بسیار ساده از یک الگوریتم سنتی.
باید دانست که الگوریتمها از نخستین روزهای شکلگیری محاسبات وجود داشتهاند. با این همه نمیتوان با استفاده از روشهای سنتی، الگوریتمهای پیچیده و موثری را توسعه داد و مسائل پیچیدهای را که در دنیای مدیریت، تولید، پزشکی، لجستیک، هوافضا، زنجیره تامین و خدمات مالی وجود دارد حل کرد و در این میان به الگوریتمهای پیشرفتهتری نیاز است. الگوریتمهای یادگیری ماشینی برخلاف قواعد تعریفشده برای الگوریتمهای سنتی این قابلیت را دارند تا با استفاده از تحلیل ریاضی همه نوع دیتا شامل تصویر، متن، صدا، توالی زمانی و ... و روابط موجود بین آنها دست به استنباط و نتیجهگیری بزنند. هوش مصنوعی که ایده اولیه آن در دهه ۱۹۵۰ شکلگرفته بود در سالهای اخیر به سرعت تکامل پیدا کرده و از طریق بهکارگیری یادگیری ماشینی و یادگیری عمیق به درجات بسیار بالای اثرگذاری رسیده است. در اینجا بد نیست مثالی بزنیم از یادگیری ماشینی: الگوریتمی را در نظر بگیرید که قرار است یک تصویر (ورودی) را تحلیل کرده و آن را به عنوان یک «هواپیما» یا «غیر هواپیما» (خروجی) طبقهبندی کند. چنین الگوریتمی برای استفاده در زمینه کنترل ترافیک هوایی و ایمنی هوایی میتواند بسیار مفید و کاربردی باشد. این الگوریتم میتواند «تحت آموزش قرار گیرد»؛ به این صورت که هزاران یا میلیونها تصویر با عنوان «هواپیما» و «غیر هواپیما» به این الگوریتم داده میشود و پس از مشخص کردن اینکه کدام تصویر یک هواپیماست و کدام تصویر غیرهواپیما، الگوریتم به این توانایی میرسد که تصمیم بگیرد آیا تصویر جدیدی که به آن داده میشود یک هواپیماست یا یک هواپیما نیست.
پیشرفت یادگیری ماشینی همراه شد با پیشرفتهای خیرهکننده در قدرت محاسباتی که در نهایت باعث شکلگیری نسل جدیدی از الگوریتمهایی شد که میتوانستند مسائل بسیار پیچیده و غیرقابلحل گذشته را بهراحتی حل کنند. مثلا درباره ارزیابی ریسک از کار افتادن موتور هواپیما، با مشخص کردن تمام ورودیهای مربوطه شامل ساعت پرواز، شرایط پرواز، سوابق نگهداری هواپیما، دمای موتور، فشار روغن و... و همچنین جمعآوری اطلاعات مربوط به هزاران مورد از کارافتادن موتور هواپیماها، میتوان پیشبینی کرد احتمال از کار افتادن موتور یک هواپیما چقدر است و حتی میتوان علت ازکارافتادن موتور را نیز پیشبینی کرد و تمام این پیشبینیها را میتوان بدون نیاز به استفاده از علم ترمودینامیک و فقط بر اساس دیتای کافی و مفید مربوط به گذشته انجام داد. با این همه، یادگیری ماشینی بهصورت سنتی نیازمند «مهندسی ویژگی» بوده است، حال آنکه در یادگیری عمیق که در ادامه به آن خواهم پرداخت به این نوع مهندسی که زمانبر و پرهزینه است نیازی نیست. مهندسی ویژگی به یکسری دیتای تجربی متکی است که باید در جریان تعامل و ارتباط با کارشناسان حوزهای خاص جمعآوری و پردازش شوند. مثلا درباره پیشبینی از کار افتادن موتور هواپیما به یکسری اطلاعات تخصصی و تجربی درباره موتور هواپیما شامل تغییرات دمایی موتور یا ساعت پرواز نیاز است که برای جمعآوری آنها به متخصصان مهندسی پرواز نیاز داریم. در این حالت مسالهای که وجود دارد این است که باید بین صدها یا شاید هزاران ویژگی و فاکتور دست به انتخاب زد و یک یا چند ویژگی خاص را برگزید که خود این کار یک فرآیند تخصصی و پیچیده است. با این حال الگوریتمهای یادگیری ماشینی با دریافت هزاران و گاه میلیونها مورد تاریخی و پردازش آنها میتوانند میزان اهمیت ویژگیهای مختلف را تشخیص داده و مهمترین و کلیدیترین آنها را برای پیشبرد مهندسی ویژگی انتخاب کنند.
بهطورکلی میتوان گفت اگرچه کل این فرآیند، یعنی آموزش دادن به الگوریتمهای یادگیری ماشینی و پردازش دیتا یک فرآیند زمانبر و پرهزینه است اما در سالهای اخیر سختافزارهای پیشرفتهای برای ارتقای توان و سرعت محاسبه در یادگیری ماشینی طراحی و ساخته شدهاند که به بهبود عملکرد اپلیکیشنهای یادگیری ماشینی کمکهای شایانی کردهاند. به عنوان نمونه، واحدهای پردازش گرافیکی یا GPU یا EPGA وارد بازارهای جهانی شدهاند که کارکرد اصلیشان عبارت است از ارتقای کارآیی و تواناییهای اپلیکیشنهای یادگیری ماشینی و بینیاز ساختن آنها از یادگیریهای بلندمدت و پرهزینه و اجرای فرآیند پیچیده مهندسی ویژگی و تبدیل آنها به چیزی شبیه به الگوریتمهای مخصوص یادگیری عمیق که در قسمت بعد بهطور مفصل به آن خواهیم پرداخت.