ai vs ml vs dl

تفاوت یادگیری ماشین و یادگیری عمیق | تفاوت هوش مصنوعی و یادگیری ماشین7 دقیقه مطالعه

هدیه فنولوژی به شما!

یکی از مسائل گیج‌کننده‌ای که همواره وجود داشته است تفاوت یادگیری ماشین و یادگیری عمیق یا تفاوت هوش مصنوعی و یادگیری ماشین است. به طور خلاصه، یادگیری عمیق (Deep Learning) زیرمجموعه‌ی یادگیری ماشین (Machine Learning) و یادگیری ماشینی زیرمجموعه‌ی هوش مصنوعی (Artificial Intelligence) است. هوش مصنوعی، لغتی بسیار عمومی است و به هر برنامه‌ای که کاری هوشمند انجام می‌دهد، اطلاق می‌شود. در این مقاله از فنولوژی، تفاوت یادگیری ماشین و یادگیری عمیق و هوش مصنوعی را به طور کامل توضیح خواهیم داد.

تفاوت یادگیری ماشین و یادگیری عمیق | تفاوت ماشین لرنینگ و دیپ لرنینگ

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

تفاوت هوش مصنوعی و یادگیری عمیق

می‌توان گفت مفاهیم هوش مصنوعی و یادگیری عمیق تفاوت زیادی دارند. در واقع تفاوت هوش مصنوعی و یادگیری عمیق مانند تفاوت یک قاره و یک استان است! اگر هوش مصنوعی به وسعت یک قاره باشد، یادگیری عمیق تنها یک استان در یکی از کشورهای این قاره (یادگیری ماشین!) است. عموم افراد وقتی از یادگیری عمیق صحبت می‌کنند، منظورشان شبکه عصبی عمیق است که تنها بخشی از یادگیری عمیق می‌باشد.

تفاوت هوش مصنوعی و یادگیری ماشین

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

در ادامه هر یک از مفاهیم، هوش مصنوعی، یادگیری ماشین و یادگیری عمیق را توضیح می‌دهیم.

هوش مصنوعی: هوش مصنوعی نمادین و منتقدان!

جان مک‌کارتی (John McCarthy)، که از او  به عنوان یکی از پدران هوش مصنوعی یاد می‌شود، هوش مصنوعی را دانش و مهندسی ساخت ماشین‌های هوشمند معرفی کرده‌است. برخی دیگر از تعاریف برای هوش مصنوعی عبارتند از:

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

جان مک‌کارتی (John McCarthy)

روش‌های هوش مصنوعی

روش‌های متعددی برای شبیه‌سازی هوشمندی انسان وجود دارد. برخی از این روش‌ها، هوشمندتر از سایر روش‌ها هستند. هوش مصنوعی می‌تواند مجموعه‌ای از کدهای ساده‌ی پر از دستورات if و then باشد. همچنین می‌تواند، مدل‌های پیچیده‌ی آماری باشد که داده‌های خام را از کاربر گرفته و آن‌ها را طبقه‌بندی می‌کند. برنامه‌های ساده‌ی هوش مصنوعی که پر از دستورات if و then هستند، با نام هوش مصنوعی نمادین (Symbolic AI) شناخته می‌شوند. برخی نیز اصطلاحا آن را هوش مصنوعی خوب قدیمی (GOFAI) می‌نامند که سرواژه‌ی عبارت Good, Old-Fashioned AI است.

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

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

یادگیری ماشین: ماشین‌هایی که خودشان را تغییر می‌دهند!

همان‌طور که اشاره کردیم، تفاوت هوش مصنوعی و یادگیری ماشین خیلی روشن است. یادگیری ماشینی یا ماشین لرنینگ (Machine Learning) زیرمجموعه‌ی هوش مصنوعی است. یادگیری ماشینی، هوش مصنوعی نیز محسوب می‌شود؛ اما، هوش مصنوعی الزاما یادگیری ماشینی نیست. برای مثال، گراف دانش (knowledge graphs) و منطق نمادین (symbolic logic) شاخه‌هایی از هوش مصنوعی هستند اما هیچ‌کدام، یادگیری ماشینی محسوب نمی‌شوند.

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

تولد یادگیری ماشین

در سال ۱۹۵۹، آرتور ساموئل (Arthur Samuel) که یکی از پیشگامان حوزه‌ی یادگیری ماشینی است، یادگیری ماشین را این‌چنین تعریف کرد: روش‌هایی که رایانه‌ها را قادر می‌سازند، یاد بگیرند، بدون آن‌که به طور صریح برنامه‌نویسی شده باشند. در واقع یک الگوریتم یادگیری ماشینی شبیه یک بچه‌ی تازه متولد شده عمل می‌کند. بچه، به مرور زمان و با قرار گرفتن در معرض تجارب گوناگون، توانا می‌شود. الگوریتم‌های یادگیری ماشین نیز با قرار گرفتن در معرض داده‌ها، یاد می‌گیرند.

آرتور ساموئل (Arthur Samuel)

آرتور ساموئل، سعی داشت به یک رایانه یاد دهد تا چکرز، بازی کند. هدف او این بود که برنامه‌ای بنویسد تا بتواند خودش را در بازی چکرز، شکست دهد. او نهایتا موفق به این کار شد و در سال ۱۹۶۲، برنامه‌ی او، یکی از قهرمانان چکرز را شکست داد.

وقتی از یادگیری حرف می‌زنیم، منظورمان این است که الگوریتم‌های یادگیری ماشینی، تلاش می‌کنند، بهینه‌تر شوند و خطای خود را حداقلی کنند. اگر بخواهیم دقیق‌تر توضیح دهیم، باید مفهومی به نام تابع خطا (Error Function یا Loss Function یا Objective Function) را معرفی کنیم. تابع خطا در واقع نشان‌دهنده‌ی میزان خطای تخمین در الگوریتم یادگیری ماشین است. در روش‌های یادگیری ماشینی، با استفاده از داده‌های موجود، تابعی می‌سازیم تا اطلاعات جدید را پیش‌بینی کند. این تابع همواره با خطایی همراه است که سعی ما کمینه کردن آن خطاست.

چگونه خطا در یادگیری ماشین کمینه می‌شود؟

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

یادگیری عمیق: دقت بیشتر، ریاضیات بیشتر و محاسبات بیشتر

یادگیری عمیق، زیرمجموعه‌ی یادگیری ماشین است. وقتی افراد کلمه‌ی یادگیری عمیق را به کار می‌برند، عمدتا منظورشان شبکه‌های عمیق عصبی (deep artificial neural networks) است و نه یادگیری تقویتی عمیق (deep reinforcement learning).

شبکه‌های عمیق عصبی، راه‌حل بسیاری از مسائل موجود در حوزه‌ی هوش مصنوعی هستند. موارد متعددی مانند تشخیص تصویر (image recognition)، تشخیص صدا (sound recognition)، سیستم‌های پیشنهاددهنده (recommender systems)، پردازش زبان طبیعی (natural language processing) و … به وسیله‌ی شبکه‌های عمیق عصبی، قابل پیاده‌سازی هستند. توضیحات بیشتر درباره‌ی موضوع جذاب شبکه‌های عصبی را به مقالات بعدی فنولوژی مؤکول می‌کنیم.

کلمه‌ی عمیق (Deep)، یک کلمه‌ی فنی برای اشاره به لایه‌های مختلف موجود در یک شبکه‌ی عصبی است. یک شبکه‌ی کم عمق، حداکثر سه لایه دارد و شبکه‌های عمیق، لایه‌های متعدد و بیشتری دارند. تصویر کنید، بخواهید به وسیله‌ی رایانه، یک خط را تشخیص دهید. خط، از نقاط و پیکسل‌های مختلفی تشکیل شده‌است. بنابراین، برای تشخیص خط، ایتدا باید در لایه‌ی اول شبکه‌ی عصبی، پیکسل‌ها را تشخیص دهید. لایه‌های متعدد پنهان، شبکه‌ی عصبی را قادر می‌سازند تا سلسله‌مراتب ویژگی‌ها (feature hierarchy) را به خوبی شناسایی کند و به خروجی مطلوب برسد. شبکه‌های عصبی با لایه‌های درونی بیشتر، نیازمند انجام محاسبات بیشتری نیز هستند. نیاز به انجام محاسبات سنگین، یکی از ملزومات جدایی‌ناپذیر شبکه‌های عصبی عمیق است؛ بنابراین، برای انجام این‌گونه پردازش‌ها، نیاز به سخت‌افزاری قدرتمند نیز داریم.

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

ai vs ml vs dl vs nn

آینده‌ هوش مصنوعی

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

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

منبع: SKYMIND

بخوانید:   سیستم پیشنهاد دهنده چیست؟
علیرضا کریمی
علیرضا کریمی
دانشجوی مهندسی کامپیوتر دانشگاه امیرکبیر - بنیان‌گذار فنولوژی
عضویت
اطلاع از
5 دیدگاه‌ها
قدیمی‌ترین‌ها
جدیدترین‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

شما دارید عالی کار میکنید. ادامه بدید لطفا

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

حرف نداشت😊

فنولوژی را در شبکه‌های اجتماعی دنبال کنید

©۲۰۲۰ – کلیه حقوق مادی و معنوی متعلق به فنولوژی است.