اجزای یادگیری در AI؛ هوش مصنوعی چگونه کار میکند؟
با گسترش هیاهوی پیرامون AI، شرکتهای زیادی درصدد تبلیغ استفاده از این علم در محصولات و خدمات خود هستند.
حالا سوال بعدی اینجاست که ای آی چگونه کار میکند و آموزش میبیند؟
با گسترش هیاهوی پیرامون AI، شرکتهای زیادی درصدد تبلیغ استفاده از این علم در محصولات و خدمات خود هستند. اما چیزی که اکثر این شرکتها تحت عنوان Artificial Intelligence از آن یاد میکنند، صرفا بخشی از یک تکنولوژی یا یک علم نظیر یادگیری ماشینی است.
برنامه نویسی مبتنی بر هوش مصنوعی بر مهارتهای شناختی متمرکز است که شامل موارد زیر هستند:
- یادگیری (Learning): این جنبه از برنامهنویسی AI بر کسب داده و ساخت قوانین نحوه تبدیل آن به اطلاعات عملی متمرکز است. این قوانین که الگوریتم نام دارند، دستورالعملهای گام به گام نحوه انجام وظایف خاص را برای دستگاههای محاسبهگر فراهم میکنند.
- استدلال (Reasoning): این جنبه از برنامهنویسی ای آی بر انتخاب الگوریتم مناسب جهت دستیابی به خروجی مطلوب اشاره دارد.
- خود اصلاحی (Self-correction): این جنبه برای بهبود مستمر الگوریتمها و تضمین تولید دقیقترین نتایج ممکن طراحی شده است.
- خلاقیت (Creativity): این جنبه از AI از شبکههای عصبی، سیستمهای قانونمحور، روشهای آماری و دیگر تکنیکهای هوش مصنوعی جهت تولید تصاویر، متن، موسیقی و ایدههای جدید استفاده میکند.
هوش مصنوعی چگونه اموزش می بینند؟
یادگیری و آموزش در هوش مصنوعی شباهت زیادی به فرآیند جایزه و تنبیه در یک کودک دارد. شما بهعنوان «معلم» باید عواقب کارهایی که جایزه یا تنبیه بههمراه خواهند داشت را تعریف کنید.
از آنجایی که هوشهای مصنوعی حتی در صورت نیاز به «تقلب» همیشه بهدنبال راههایی برای دریافت حداکثر پاداش هستند، تعریف طرح پاداش مناسب نیز اغلب بزرگترین مشکل در برنامه نویسی آنها محسوب میشود. بنابراین، گاهی اوقات شما خودتان باید پس از اینکه Artificial Intelligence به سطح خاصی از آموزش رسید، سیستم پاداش را اصلاح یا تعدیل کنید. در واقع، شما کم و بیش از طریق همین سیستم پاداش به «راهنمایی» ای آی میپردازید.
زمانی که یک کودک برای اولین بار سعی میکند روی پاهایش بایستد، بهاحتمال زیاد به زمین خواهد افتاد. اما این کودک به تلاش خودش ادامه داده و هر بار این کار را متفاوتتر انجام میدهد. تلاشهایی که نتیجه بهتری داشته باشند، یک موفقیت محسوب شده و حس جایزه را در کودک ایجاد میکنند. اما تلاشهایی که ناموفق باشند، بهخاطر افتادن کودک (جریمه) حتی ممکن است حس درد را ایجاد کنند. حالا مغز کودک روی تلاشهایی که نتیجه بهتری داشتهاند تمرکز میکند.
پس از تلاشهای کافی، مغز میآموزد که یک تلاش موفق چه حسی باید داشته باشد و چگونه ماهیچهها را برای رسیدن به آن کنترل کند. این امر به این معناست که شبکه عصبی (مغز) کودک به اندازه کافی برای این کار آموزش دیده است.
انواع الگوریتم هوش مصنوعی چیست؟
حالا برای اینکه فرآیند یادگیری در ای آی را بهتر درک کنید، باید با الگوریتمهای آن نیز آشنا شوید. همانطور که در بخش معرفی یادگیری ماشینی نیز گفتیم، سیستمهای هوش مصنوعی از طریق فرآیندهای مختلفی نظیر یادگیری تحت نظارت (Supervised Learning)، یادگیری نظارت نشده (Unsupervised Learning) و یادگیری تقویتی (Reinforcement Learning) آموزش میبینند.
اما اینها تنها الگوریتمهای یادگیری در AI نیستند. روشهای آموزش و یادگیری مستقل در هوش مصنوعی شامل موارد زیر هستند:
یادگیری نظارت نشده (Unsupervised Learning)
الگوریتمهای یادگیری نظارت نشده میتوانند دیتاستهای بزرگ را بدون خروجیهای برچسبدار تجزیه و تحلیل و الگوها یا گروهبندیها را در دادهها شناسایی کنند. از جمله تکنیکهای مرسوم در الگوریتمهای یادگیری نظارتنشده شامل موارد زیر هستند:
- خوشبهبندی: یکی از تکنیکهای رایج برای این کار، کلاسترینگ (Clustering) یا همان خوشهبندی است که نقاط دادهای دارای شباهتهای مشترک را گروهبندی میکند. خوشهبندی K-means یک مثال مناسب برای این رویکرد است.
- کاهش ابعاد: تکنیک دیمنشیالیتی ریداکشن (Dimentiality Reducation) میتواند با شناسایی ویژگیها یا ابعاد مهم، پیچیدگی دادهها را کاهش دهد. آنالیز مؤلفه اصلی (Principal Component Analysis) یا PCA نمونهای از تکنیک کاهش ابعاد است.
- مدلهای مولد: جنراتیور مادلز (Generative Models) تکنیک دیگری در الگوریتمهای یادگیری بدون نظارت هستند که میتوان از آنها برای ساخت مدلهای مولد نظیر خودرمزگذاریهای متغیر (Variational Autoencoders) یا VAE و شبکههای متخاصم مولد (Generative Adversarial Networks) یا GAN استفاده کرد، که نحوه تولید دادههای جدید شبیه به دادههای آموزشی اولیه را فرا میگیرند.
یادگیری تقویتی (Reinforcement Learning)
در الگوریتمهای یادگیری تقویتی (RL) نیز رویکردها و تکنیکهای مختلفی وجود دارند از جمله:
- یادگیری مبتنی بر پاداش: ریوارد-بیسد لرنینگ (Reward-Based Learning) یکی از رویکردها در الگوریتمها یادگیری تقویتی است که بر اساس آن، ایجنتهای هوش مصنوعی از طریق تعامل با یک محیط یاد میگیرند و آموزش میبینند. این ایجنتها بر اساس اقداماتشان، بازخوردهایی را در قالب پاداش یا جریمه دریافت میکنند. بنابراین، هدف یک ایجنت، به حداکثر رساندن پاداشهای انباشته در طول زمان است.
- آزمون و خطا: ترایال اند ارور (Trial and Error) رویکردی است که در آن، ایجنتهای الگوریتمهای یادگیری تقویتی اقدامات مختلف را بررسی کرده و از پیامدهای آنها درس میگیرند. در واقع، این ایجنتها از طریق آزمون و خطا، استراتژیها یا خطمشیهای بهینه برای دستیابی به اهداف خاص را کشف میکنند.
- شبکههای Q عمیق: در تکنیک دیپ کیو-نتورکس (Deep Q-Netwotks)، الگوریتمهای یادگیری تقویتی عمیق از شبکههای عصبی برای تقریب توابع ارزش-عمل (Action-value) استفاده کرده و اجازه مدیریت وظایف پیچیده و فضاهای حالت بزرگ (State Space) را به ایجنتهای یادگیری تقویتی میدهند.
یادگیری خود نظارتی (Self-Supervised Learning)
یادگیری خود نظارتی روشی است که در آن، مدلهای هوش مصنوعی سیگنالهای نظارتی اختصاصی خود را از دادهها میسازند. تکنیکها و رویکردهای رایج در الگوریتمهای یادگیری خودنظارتی شامل موارد زیر هستند:
- داده افزایی: در رویکرد دیتا آگمنتیشن (Data Augmentation)، هدف افزودن داده به دادههای موجود است. بنابراین، مثلا یک مدل میتواند قسمتهای گمشده یک تصویر (ترمیم تصویر) را پیشبینی کند یا از طیق خواندند بخشی از متن، مضمون آن را بفهمد.
- وظایف مُستَمسِک: پریتکست تسک (Pretext Tasks) که در برخی از منابع فارسی، وظایف مُستَمسِک (بهمعنای دستاویز) ترجمه شده، تکنیکی است که از دادههای بدون برچسب، برچسب تولید میکند و این کار هم ارتباط مستقیمی با وظایف پاییندستی که خواهان حلشان هستیم، ندارد. در این روش از الگوریتم یادگیری خود نظارتی، مدل مورد نظر، وظایف کمکی خود نظیر پیشبینی کلمه بعدی در یک جمله یا تشخیص مضمون از یک متن را میسازد. این وظایف در واقع بهعنوان اهداف میانی عمل کرده و در یادگیری بازنماییهای مفید به مدل ما کمک میکنند.
الگوریتمهای تکاملی (Evolutionary Algorithms)
الگوریتمهای تکاملی، فرآیند انتخاب طبیعی را جهت بهینهسازی جمعیتی از ایجنتهای هوش مصنوعی برای یک کار خاص، شبیهسازی میکنند. در این نوع از الگوریتمهای ای آی، احتمال «بقا» و تولید فرزندانی با ویژگیهای مشابه در ایجنتهای دارای عملکرد بهتر، بیشتر است. در طول نسلها، این الگوریتمها عملکرد جمعیت را بهبود میبخشند.
تکامل عصبی (Neuroevolution)
الگوریتم تکامل عصبی در AI، شبکههای عصبی و الگوریتمهای تکاملی را با یکدیگر ترکیب میکند. این امر برای بهینهسازی عملکرد ایجنتهای هوش مصنوعی در وظایفی نظیر بازی کردن یا کنترل رباتیک، باعث تکامل ساختارها یا پارامترهای شبکه عصبی میشود.
یادگیری متا (Meta-Learning)
متا لرنینگ یا یادگیری متا تکنیکی است که با استفاده از آن، مدلهای ای آی نحوه یادگیری را یاد میگیرند. در این الگوریتم، مدلها از طریق انجام تسکهای مختلف، استراتژیها و دانشی را کسب میکنند که به آنها اجازه میدهد با وظایف جدید و ناآشنا سریعا خودشان را تطبیق دهند.
یادگیری مستمر (Continual Learning)
الگوریتمهای کانتینیوآل لرنینگ یا یادگیری مستمر بر توانایی سیستمهای Artificial Intelligence در جهت کسب دانش جدید بهصورت تدریجی در طول زمان و بدون فراموش کردن اطلاعات آموختهشده قبلی، تمرکز دارند.
تکنیکهایی مانند تثبیت وزن الاستیک (elastic weight consolidation) یا بهطور خلاصه EWC، برای جلوگیری از فراموشی فاجعهآمیز در الگوریتمها کاربرد دارند.
مکانیزمهای توجه (Attention Mechanisms)
- اتنشن مکانیزم یا مکانیسمهای توجه، الگوریتمهایی هستند که با فراهمآوری قابلیت تمرکز بر بخشهای خاصی از دادههای ورودی برای مدلهای هوش مصنوعی، توانایی آنها در یادگیری الگوهای مرتبط را افزایش میدهند. مدلهای ترانسفورماتور که بهطور گسترده در شاخه پردازش زبان طبیعی استفاده میشوند، بر مکانیسمهای توجه متکی هستند.