هوش مصنوعی چیست؟
پیش از شروع صحبت درباره الگوریتم هوش مصنوعی، بیایید نگاهی سریع به این موضوع داشته باشیم که هوش مصنوعی چیست. هوش مصنوعی شاخهای از علوم کامپیوتر است که به ایجاد ماشینهایی میپردازد که میتوانند مستقل از دخالت انسان فکر کنند و تصمیم بگیرند. این برنامههای هوش مصنوعی میتوانند کارهای پیچیدهای را انجام دهند که قبلاً فقط توسط انسانها انجام میشد. بعضی از برنامههای هوش مصنوعی میتوانند کارهای ساده و بعضی دیگر میتوانند کارهای پیچیدهتر را تکمیل کنند. بعضی دیگر هم میتوانند دادهها را برای یادگیری و بهبود، کاملاً بدون دخالت توسعهدهنده انسانی دریافت کنند.
الگوریتم هوش مصنوعی چیست؟
حالا بیایید ببینیم که الگوریتم هوش مصنوعی چیست. تعریف الگوریتم عبارت است از «مجموعهای از دستورالعملها که باید در محاسبات یا سایر عملیاتها دنبال شوند.» این تعریف هم در مورد ریاضیات و هم در علوم کامپیوتر صدق میکند. بنابراین، الگوریتم هوش مصنوعی، نوعی برنامهنویسی است که به کامپیوتر میگوید چگونه کار کردن را به تنهایی یاد بگیرد.
البته الگوریتم هوش مصنوعی بسیار پیچیدهتر از جبر و ریاضیاتی است که در مدرسه و دانشگاه میآموزیم. این الگوریتم مجموعه پیچیدهای از قوانین برنامههای هوش مصنوعی را هدایت میکند و مراحل و توانایی آنها را برای یادگیری تعیین میکند. بدون الگوریتم، هوش مصنوعی وجود نخواهد داشت.
الگوریتم های هوش مصنوعی چگونه کار میکنند؟
در حالی که یک الگوریتم کلی میتواند ساده و آسان باشد، اما الگوریتمهای هوش مصنوعی طبیعتاً پیچیدهتر هستند. الگوریتمهای هوش مصنوعی با دریافت دادههای آموزشی کار میکنند که به الگوریتم برای یادگیری کمک میکند. نحوه به دست آوردن و برچسبگذاری آن دادهها، تفاوت اصلی بین انواع مختلف الگوریتم های هوش مصنوعی را نشان میدهد.
در سطح اصلی، یک الگوریتم هوش مصنوعی دادههای آموزشی (با برچسب یا بدون برچسب، ارائه شده توسط توسعهدهندگان یا به دست آمده توسط خود برنامه) را دریافت میکند و از آن اطلاعات برای یادگیری و رشد استفاده میکند. سپس با استفاده از دادههای آموزشی به عنوان پایه، وظایف خود را تکمیل میکند. بعضی از انواع الگوریتم های هوش مصنوعی را میتوان آموزش داد تا به تنهایی یاد بگیرند و دادههای جدید را برای تغییر و اصلاح فرآیند خود دریافت کنند. دیگر انواع آن به مداخله یک برنامهنویس برای سادهسازی نیاز دارند.
انواع الگوریتم های هوش مصنوعی
سه دسته اصلی از الگوریتمهای هوش مصنوعی وجود دارد: یادگیری تحت نظارت، یادگیری بدون نظارت و یادگیری تقویتی. تفاوت های کلیدی بین این الگوریتم ها در نحوه آموزش و نحوه عملکرد آنها است.
در این دسته بندیها، دهها الگوریتم مختلف وجود دارد. ما در مورد محبوبترین و پرکاربردترینها از هر دسته و همچنین جایی که معمولاً استفاده میشوند صحبت خواهیم کرد.
۱. الگوریتمهای یادگیری با نظارت
اولین و رایجترین دسته الگوریتمها «یادگیری تحت نظارت» یا «یادگیری بانظارت» است. این الگوریتمها با در نظر گرفتن دادههای دارای برچسب مشخص در حین آموزش و استفاده از آن برای یادگیری و رشد کار میکنند. از دادههای برچسبگذاری شده برای پیشبینی نتایج سایر دادهها استفاده میکند. نام “یادگیری با نظارت” از مقایسه یادگیری دانش آموز در حضور معلم گرفته شده است.
ساختن یک الگوریتم یادگیری نظارت شده که در واقع به درستی کار میکند، تیمی از متخصصان اختصاصی را برای ارزیابی و بررسی نتایج میطلبد، علاوه بر این باید به دانشمندان علوم داده اشاره کنیم که روی مدلهایی آزمایش میکنند که الگوریتم آنها را ایجاد میکند تا از دقت آنها در برابر دادههای اصلی اطمینان حاصل کنند و هر گونه خطا را از هوش مصنوعی دریافت کنند.
تعاریف: طبقهبندی و رگرسیون
در زیر، به توضیح انواع مختلف الگوریتمهای یادگیری نظارت شده میپردازیم. همه آنها میتوانند برای طبقهبندی یا رگرسیون یا هر دو مورد استفاده قرار گیرند.
- طبقهبندی (Classification) به معنای نتیجه یک/ یا با استفاده از باینری (۰ = خیر، ۱ = بله) است. بنابراین الگوریتم یک مقوله را به عنوان “این یکی یا دیگری” طبقهبندی میکند، اما هرگز هر دو را انتخاب نمیکند. همچنین طبقهبندی چند طبقهای وجود دارد که با سازماندهی دادهها در دستهها یا انواع تعریفشده مرتبط با یک نیاز خاص سروکار دارد.
- رگرسیون (Regression) به این معنی است که نتیجه با یک عدد صحیح (یا گرد یا اعشار) به پایان میرسد. شما معمولاً یک متغیر وابسته و یک متغیر مستقل دارید و الگوریتم از هر دو نقطه برای تخمین یک نتیجه احتمالی دیگر (خواه پیشبینی یا برآورد تعمیمیافته) استفاده میکند.
درخت تصمیم
درخت تصمیم یکی از رایجترین الگوریتمهای یادگیری با نظارت است. درختهای تصمیم نام خود را به دلیل ساختار درختیشان گرفتهاند (حتی اگر درخت معکوس باشد). «ریشههای» درخت مجموعه دادههای آموزشی هستند و به گرههای خاصی منتهی میشوند که یک ویژگی آزمایشی را نشان میدهند. گرهها معمولاً به گرههای دیگر منتهی میشوند و گرهای که به جلو منتهی نمیشود، “برگ” نامیده میشود.
درختهای تصمیم همه دادهها را در گرههای تصمیم طبقهبندی میکنند. درخت تصمیم از معیار انتخابی به نام معیارهای انتخاب ویژگی (ASM) استفاده میکند که معیارهای مختلفی را در نظر میگیرد (بعضی از نمونهها آنتروپی، نسبت بهره، افزایش اطلاعات و غیره است). با استفاده از دادههای ریشه و پیروی از ASM، درخت تصمیم میتواند دادههای ارائه شده را با دنبال کردن دادههای آموزشی به گرههای فرعی طبقهبندی کند تا به نتیجه برسد.
جنگل تصادفی
الگوریتم جنگل تصادفی در واقع مجموعه گستردهای از درختان تصمیم مختلف است و نام آن از همین درختان تصمیم آمده است. جنگل تصادفی، درختهای تصمیم گیری متفاوتی را میسازد و آنها را به هم متصل میکند تا نتایج دقیقتری به دست آورد. جنگلهای تصادفی میتوانند هم برای طبقهبندی و هم برای رگرسیون استفاده شوند.
ماشینهای بردار پشتیبانی
الگوریتم ماشین بردار پشتیبان (SVM) یکی دیگر از انواع الگوریتم های هوش مصنوعی است که میتواند برای طبقه بندی یا رگرسیون استفاده شود (اما معمولاً برای طبقهبندی استفاده میشود). SVM با رسم هر قطعه داده روی نمودار (در فضای N بعدی که در آن N = تعداد نقاط داده) کار میکند. سپس، الگوریتم با یافتن ابرمکانی که هر کلاس را از هم جدا میکند، نقاط داده را طبقهبندی میکند. ممکن است بیش از یک ابر صفحه (hyperplane) وجود داشته باشد.
بیز ساده
دلیل اینکه این الگوریتم «بیز ساده» (Naive Bayes) نامیده میشود این است که مبتنی بر قضیه بیز است، و همچنین به شدت بر یک فرض بزرگ متکی است: اینکه وجود یک ویژگی خاص با وجود ویژگیهای دیگر در همان کلاس ارتباطی ندارد. این فرض اصلی، جنبه “ساده” نام است.
بیز ساده برای مجموعه دادههای بزرگ با کلاس های مختلف مفید است. این الگوریتم مانند بسیاری دیگر از الگوریتمهای یادگیری با نظارت، یک الگوریتم طبقهبندی است.
رگرسیون خطی
رگرسیون خطی یکی دیگر از الگوریتم های هوش مصنوعی یادگیری با نظارت است که برای مدلسازی رگرسیون و بیشتر برای کشف رابطه بین نقاط داده، پیشبینیها و پیشبینی استفاده میشود. درست مانند SVM، با رسم قطعات داده روی نمودار با محور X متغیر مستقل و محور Y متغیر وابسته کار میکند. سپس نقاط داده به صورت خطی رسم می شوند تا رابطه آنها مشخص شود و دادههای احتمالی در آینده پیش بینی شود.
رگرسیون لجستیک
یک الگوریتم رگرسیون لجستیک معمولاً از یک مقدار باینری (۰/۱) برای تخمین مقادیر از مجموعهای از متغیرهای مستقل استفاده میکند. خروجی رگرسیون لجستیک یا ۱ یا ۰، یعنی بله یا خیر است. یک مثال از این نوع الگوریتم هوش مصنوعی، فیلتر اسپم در ایمیل است. این فیلتر از رگرسیون لجستیک استفاده میکند تا مشخص کند ایمیل دریافتی هرزنامه است (۰) یا خیر (۱).
رگرسیون لجستیک تنها زمانی مفید است که متغیر وابسته طبقهبندی شده باشد، یعنی با بله یا خیر پاسخ داده شود.
۲. الگوریتم های یادگیری بدون نظارت
در این مرحله ممکن است حدس زدن معنای الگوریتم های یادگیری بدون نظارت در مقایسه با یادگیری نظارت شده نسبتاً آسان باشد. به الگوریتمهای یادگیری بدون نظارت دادههایی داده میشود که برچسبگذاری نشدهاند. الگوریتمهای یادگیری بدون نظارت از دادههای بدون برچسب برای ایجاد مدلها و ارزیابی روابط بین نقاط مختلف داده استفاده میکنند تا اطلاعات بیشتری به دادهها ارائه دهند.
تعریف خوشهبندی
بسیاری از الگوریتمهای یادگیری بدون نظارت عملکرد خوشهبندی (clustering) را انجام میدهند، به این معنی که آنها نقاط داده بدون برچسب را در خوشههای از پیش تعریفشده مرتب میکنند. هدف این است که هر نقطه داده فقط به یک خوشه تعلق داشته باشد، بدون همپوشانی. در هر خوشه میتواند بیش از یک نقطه داده وجود داشته باشد، اما یک نقطه داده نمیتواند به بیش از یک خوشه تعلق داشته باشد.
خوشهبندی K-Means
K-means الگوریتمی است که برای انجام عملکرد خوشهبندی در یادگیری بدون نظارت طراحی شده است. این کار را با گرفتن خوشههای از پیش تعیینشده و ترسیم تمام دادهها بدون توجه به خوشه انجام میدهد. سپس یک قطعه داده انتخاب شده به صورت تصادفی را به عنوان مرکز هر خوشه ترسیم می کند (آن را به صورت دایرهای در اطراف هر خوشه، با آن قطعه داده به عنوان نقطه مرکزی دقیق در نظر بگیرید). از آنجا، نقاط داده باقیمانده را بر اساس نزدیکی آنها به یکدیگر و نقطه داده مرکز برای هر خوشه به خوشهها مرتب میکند.
مدل آمیخته گوسی
مدلهای آمیخته گوسی (Gaussian mixture model) از بسیاری جهات شبیه خوشهبندی K-means هستند. هر دو به مرتبسازی دادهها در خوشههای از پیش تعیینشده بر اساس مجاورت میپردازند. با این حال، مدلهای گوسی کمی تطبیقپذیرتر هستند.
نموداری را با تمام نقاط داده خود ترسیم کنید. خوشهبندی K-means فقط به دادهها اجازه میدهد تا در دایرههایی با مرکز هر خوشه خوشهبندی شوند. مدل آمیخته گوسی میتواند دادههایی را که روی نمودار در الگوهای خطیتری قرار میگیرند، کنترل کند و اجازه ایجاد خوشههای مستطیلیشکل را بدهد. اگر یک نقطه داده در دایره خوشه دیگری قرار گیرد، این امر باعث وضوح بیشتر در خوشهبندی میشود.
۳. هر دو الگوریتم نظارت شده و بدون نظارت
بعضی از الگوریتمهای هوش مصنوعی میتوانند از ورودی دادههای تحت نظارت یا بدون نظارت و عملکرد ثابت استفاده کنند. آنها ممکن است برنامههای کاربردی کمی متفاوتتر بر اساس وضعیت خود داشته باشند.
الگوریتم K-نزدیکترین همسایه
الگوریتم K-نزدیکترین همسایه (KNN) یک الگوریتم هوش مصنوعی ساده است که فرض میکند تمام نقاط داده ارائه شده در مجاورت یکدیگر هستند و آنها را روی نقشه ترسیم میکند تا رابطه بین آنها را نشان دهد. سپس الگوریتم میتواند فاصله بین نقاط داده را به منظور برونیابی رابطه آنها محاسبه کند و فاصله را روی یک نمودار اندازهگیری نماید.
در یادگیری با نظارت، میتوان از آن برای کاربردهای طبقهبندی یا رگرسیون استفاده کرد. در یادگیری بدون نظارت، معمولاً برای تشخیص ناهنجاری استفاده میشود. یعنی یافتن دادههایی که متعلق به آنها نیست و سپس حذف آنها.
شبکههای عصبی
الگوریتم شبکه عصبی اصطلاحی برای مجموعهای از الگوریتم های هوش مصنوعی است که عملکردهای مغز انسان را تقلید میکند. این الگوریتمها پیچیدهتر از بسیاری از الگوریتمهای مورد بحث در بالا هستند و کاربردهایی فراتر از بعضی از الگوریتمهای مورد بحث در اینجا دارند. در یادگیری بدون نظارت و نظارت شده می توان از آن برای طبقهبندی و تشخیص الگو استفاده کرد.
۴. الگوریتمهای یادگیری تقویتی
آخرین نوع اصلی الگوریتم های هوش مصنوعی، الگوریتمهای یادگیری تقویتی (Reinforcement learning algorithms) است که با گرفتن بازخورد از نتیجه عمل خود، یاد میگیرند. این یادگیری معمولاً به شکل “پاداش” است.
یک الگوریتم یادگیری تقویتی معمولاً از دو بخش اصلی تشکیل شده است: عاملی که یک عمل را انجام میدهد و محیطی که عمل در آن انجام میشود. چرخه زمانی شروع میشود که محیط یک سیگنال “وضعیت” را به عامل ارسال کند که عامل را برای انجام یک عمل خاص در محیط در صف قرار میدهد. زمانی که عمل انجام شد، محیط یک سیگنال “پاداش” به عامل ارسال میکند و آن را در مورد آنچه اتفاق افتاده مطلع میکند؛ بنابراین عامل میتواند آخرین اقدام خود را به روز و ارزیابی کند. سپس، با آن اطلاعات جدید، می تواند دوباره اقدام کند. این چرخه تا زمانی که محیط یک سیگنال پایان ارسال کند تکرار میشود.
دو نوع پاداش در یادگیری تقویتی وجود دارد که الگوریتم میتواند از آن استفاده کند: پاداش مثبت و پاداش منفی.
تعاریف: مدل، خط مشی، ارزش
در الگوریتمهای یادگیری تقویتی، با توجه به این که چه چیزی اندازهگیری میشود و چگونه اندازهگیری میشود، رویکردهای کمی متفاوت وجود دارد. در اینجا چند تعریف از مدلها و معیارهای مختلف آورده شده است:
- خط مشی: رویکردی که عامل یادگیری برای تعیین اقدام بعدی انجام شده توسط عامل اتخاذ میکند.
- مدل: وضعیت و پویایی محیط.
- ارزش: نتایج بلند مدت مورد انتظار. این تعریف با پاداش، که نتیجه یک عمل واحد در محیط است، متفاوت است. ارزش، نتیجه بلندمدت بسیاری از اقدامات است.
الگوریتم یادگیری تقویتی مبتنی بر ارزش
در یک الگوریتم یادگیری تقویتی مبتنی بر ارزش، عامل یادگیری به جای تمرکز بر پاداش کوتاه مدت، به سمت بازده بلندمدت مورد انتظار پیش میرود.
الگوریتم یادگیری تقویتی مبتنی بر خط مشی
یک الگوریتم تقویت مبتنی بر خط مشی معمولاً یکی از دو رویکرد را برای تعیین مسیر بعدی انجام میدهد: یا یک رویکرد استاندارد که در آن هر حالت یک اقدام مشابه را ایجاد می کند یا یک رویکرد پویا که در آن احتمالات مشخصی ترسیم شده و احتمالات محاسبه میشود. هر احتمالی واکنش سیاستی خاص خود را دارد.
الگوریتم یادگیری تقویتی مبتنی بر مدل
در این الگوریتم، برنامهنویس برای هر محیط، دینامیک متفاوتی ایجاد میکند. به این ترتیب، زمانی که عامل یادگیری در هر مدل مختلفی قرار میگیرد، یاد میگیرد که تحت هر شرایطی به طور مداوم عمل کند.
کاربرد الگوریتم های هوش مصنوعی
بعضی از کاربردهای رایج الگوریتم های هوش مصنوعی عبارتند از:
- ورود و طبقهبندی دادهها
- تجزیه و تحلیل پیشرفته یا پیش بینی
- موتورهای جستجو (گوگل، یاهو، بینگ و غیره)
- دستیارهای صوتی و دیجیتال (سیری، الکسا و غیره)
- رباتیک (ماشین های مونتاژ، ماشین های خودران و غیره)
الگوریتم های هوش مصنوعی و برنامههای کاربردی کسبوکارها
اکنون که در مورد روشهای مختلف عملکرد هوش مصنوعی و الگوریتم های هوش مصنوعی اطلاعات کافی را کسب کردید، وقت آن است به این بپردازیم که چگونه میتوانید از الگوریتم های هوش مصنوعی در کسب و کار خود استفاده کنید. طبق گزارش ۲۰۲۱ Appen State of AI، کسبوکارها باید هوش مصنوعی را در مدلهای خود بکار گیرند وگرنه با پیشرفت فناوری، نسبت به رقبا عقب خواهند ماند.
یوآیدی یکی از بهترین پلتفرمهای احراز هویت در ایران است که با استفاده از الگوریتم های هوش مصنوعی، مانند تشخیص چهره و تشخیص زنده بودن روند احراز هویت آنلاین سازمانها از جمله احراز هویت ثنا و احراز هویت اداره کار را انجام میدهد.
سوالات متداول
بعضی از متداولترین الگوریتمهای AI عبارتند از: رگرسیون خطی رگرسیون لجستیکی، الگوریتم K-means، الگوریتم درخت تصمیم و الگوریتم KNN.
مجموعه ای از دستورالعمل ها برای حل مسائل منطقی و ریاضی است. این الگوریتم نوعی الگوریتم جستجو است که به یافتن کوتاه ترین مسیر بین نقطه ابتدایی و نهایی کمک می کند. درک آن و اشکالزدایی آن آسان است.
تکنیکها یا رویههایی که به کامپیوترها اجازه میدهد مانند یک انسان کار کنند و تواناییهای فکری مانند انسان را نشان دهند، تکنیکهای هوش مصنوعی هستند. این تکنیکها میتواند درک بصری و تشخیص گفتار باشد.