آیا تا کنون به این موضوع فکر کردهاید که فرق یادگیری ماشین با یادگیری عمیق و شبکه عصبی مصنوعی در چیست؟ این اصطلاحات اغلب جای هم استفاده میشوند، اما چه تفاوتهایی باعث شده که هرکدام یک فناوری منحصربهفرد باشند؟
فناوری هر لحظه بیشتر با زندگی روزمره ما عجین میشود. شرکتها نیز برای عقب نماندن از انتظارات مصرفکنندگان، بیشتر بر الگوریتمهای یادگیری اتکا میکنند تا کارها را آسانتر سازند.
در شبکههای اجتماعی (از طریق بازشناسی شی در عکسها) یا صحبت مستقیم با دستگاهها (مانند الکسا یا سیری) میتوانید کاربرد آن را ببینید.
این فناوریها معمولاً با هوش مصنوعی، یادگیری ماشین، یادگیری عمیق و شبکههای عصبی مرتبط هستند. هر چند همگی به نوعی نقش خود را ایفا میکنند، اما معمولاً هنگام صحبت، این اصطلاحات به جای هم استفاده میشوند. این امر به ایجاد نوعی سردرگمی پیرامون تفاوتهای ظریف بین آنها میانجامد. امیدواریم بتوانیم از این پست وبلاگ برای روشن ساختن برخی از این ابهامات در خصوص فرق یادگیری ماشین با یادگیری عمیق و شبکه عصبی بهره جوییم.
تفاوت یادگیری ماشین با یادگیری عمیق و شبکه عصبی مصنوعی در چیست؟
شاید سادهترین راه برای اندیشیدن راجع به هوش مصنوعی، یادگیری ماشین، شبکههای عصبی و یادگیری عمیق تصور آنها مانند عروسکهای تو در توی روسی باشد. اساساً هر یک جزیی از اصطلاح قبلی است. با این توصیف فرق یادگیری ماشین با یادگیری عمیق و شبکهی عصبی مصنوعی ملموستر خواهد بود.
یعنی یادگیری ماشین زیرشاخه هوش مصنوعی است. یادگیری عمیق زیرشاخه یادگیری ماشین است و شبکههای عصبی ستون فقرات الگوریتمهای یادگیری عمیق را میسازند. در حقیقت، وجه تمایز یک شبکۀ عصبی واحد از الگوریتم یادگیری عمیق، تعداد لایههای گره یا عمق شبکههای عصبی است که در الگوریتم یادگیری عمیق باید بیشتر از سه باشد.
شبکه عصبی چیست؟
شبکههای عصبی یا به بیان دقیقتر، شبکههای عصبی مصنوعی (ANN)، از طریق مجموعهای از الگوریتمها از کار مغز انسان تقلید میکنند. در سطح پایه، شبکه عصبی از چهار جزء اصلی تشکیل شده است:
- ورودیها
- وزنها
- بایاس یا آستانه
- خروجی.
مشابه رگرسیون خطی، فرمول جبری شبکههای عصبی مصنوعی چیزی شبیه به فرمول زیر است:
حال بگذارید این فرمول را برای یک مثال ملموستر به کار گیریم. مانند این مثال که آیا برای شام باید یک پیتزا سفارش دهید یا خیر؟! جواب این پرسش، نتیجه پیشبینیشده ما یا همان y-hat خواهد بود. بگذارید فرض کنیم سه عامل اصلی در تصمیم شما اثر خواهد گذاشت:
- آیا با سفارش غذا از بیرون در وقت صرفهجویی خواهید کرد؟ (بله: ۱؛ خیر: ۰)
- آیا با سفارش پیتزا لاغر خواهید شد؟ (بله: ۱؛ خیر: ۰)
- آیا در پول صرفهجویی خواهید کرد؟ (بله: ۱؛ خیر: ۰)
بهعلاوه، بیایید موارد زیر را فرض کنیم، که ورودیهای زیر را به ما میدهد:
- X1 = 1، چون شام درست نمیکنید.
- X2 = 0، چون همه لایه رویی را خواهیم خورد.
- X3 = 1، چون فقط ۲ قاچ میخوریم.
به منظور سادگی، ورودیهای ما مقدار دودویی ۰ یا ۱ خواهند داشت. این کار به لحاظ فنی آن را به عنوان یک پرسپترون تعریف میکند، زیرا شبکههای عصبی اصولاً از نورونهای سیگموئید استفاده میکنند، که نمایانگر مقادیر از منفی بینهایت تا مثبت بینهایت هستند.
این تمایز از آن رو اهمیت دارد که اکثر مسائل دنیای واقعی غیرخطی هستند. لذا به مقادیری نیاز داریم که میزان تأثیری را که هر ورودی منفرد میتواند در نتیجه داشته باشد کاهش دهد. با این حال، جمعبندی بدین طریق، در درک اصول ریاضی که در اینجا ایفای نقش میکند به شما کمک خواهد کرد.
با گذر از این موضوع، اکنون برای تعیین اهمیت بایستی وزنهایی را تخصیص دهیم. وزنهای بزرگتر سهم یک ورودی واحد در خروجی را در مقایسه با سایر ورودیها بااهمیتتر میکند.
- W1 = 5، چون برای زمان ارزش قائلید.
- W2 = 3، چون به حفظ تناسب اندامتان اهمیت میدهید.
- W3 = 2، چون در بانک پول دارید.
در آخر، مقدار آستانه را برابر ۵ فرض خواهیم کرد که به مقدار بایاس ۵- ترجمه میشود. از آنجا که تمام مقادیر مربوطه برای عمل جمع خود را تعیین کردیم، حال میتوانیم آنها را درون این فرمول قرار دهیم:
اکنون با استفاده از تابع فعالسازی زیر میتوانیم خروجی (یعنی تصمیم خود برای سفارش پیتزا) را محاسبه کنیم:
بهطور خلاصه:
Y-hat (نتیجه پیشبینیشده ما) = تصمیمگیری برای سفارش دادن پیتزا یا سفارش ندادن آن
Y-hat = (1 * 5) + (0 * 3) + (1 * 2) – ۵
Y-hat = 5 + 0 + 2 – ۵
Y-hat = 2، که بزرگتر از صفر است.
از آنجا که Y-hat برابر ۲ است، خروجی تابع فعالسازی برابر ۱ خواهد بود. یعنی اینکه پیتزا سفارش خواهیم داد. منظور این است که مگر میشود کسی عاشق پیتزا نباشد؟!
اگر خروجی هر گره مجزا بالاتر از مقدار آستانۀ مشخصی باشد، آن گره فعال شده و دادهها را به لایه بعدی شبکه میفرستد. در غیر اینصورت، هیچ دادهای به لایه بعدی شبکه منتقل نمیشود.
حال، تصور کنید فرایند فوق برای یک تصمیم واحد چندین بار تکرار شود. زیرا شبکههای عصبی بهعنوان بخشی از الگوریتمهای یادگیری عمیق، معمولاً چندین لایه پنهان دارند. هر لایه پنهان تابع فعالسازی خاص خود را دارد. بهطور بالقوه نیز اطلاعات را از لایه قبلی به لایه بعدی انتقال میدهد.
پس از تولید تمام خروجیهای لایههای پنهان، از آنها بهعنوان ورودی جهت محاسبه خروجی نهایی شبکه عصبی استفاده میشود.
تفاوت اصلی بین رگرسیون و شبکه عصبی، تأثیر تغییر یک وزن واحد است. در رگرسیون، میتوانید یک وزن را تغییر دهید بیآنکه بر سایر ورودیهای یک تابع تأثیر بگذارید. با این حال، این حرف در مورد شبکههای عصبی صادق نیست. از آنجا که خروجی یک لایه به لایه بعدی شبکه منتقل میشود، یک تغییر واحد میتواند بر سایر نورونهای موجود در شبکه اثر آبشاری داشته باشد.
یادگیری عمیق چه فرقی با شبکههای عصبی دارد؟
هرچند این موضوع در توضیح شبکههای عصبی بهطور ضمنی بیان شد. اما سزاوار است صریحتر به آن توجه شود. عمیق در یادگیری عمیق به عمق لایهها در یک شبکه عصبی اشاره دارد. یک شبکه عصبی متشکل از بیش از سه لایه، که شامل ورودیها و خروجیها هم میشود، را میتوان یک الگوریتم یادگیری عمیق دانست. این شبکه در حالت کلی با استفاده از دیاگرام زیر نشان داده میشود:
اکثر شبکههای عصبی عمیق پیشخور هستند. یعنی اینکه فقط در یک جهت از ورودی به خروجی جریان دارند. با این حال، همچنین میتوانید از طریق پسانتشار هم مدلتان را آموزش دهید. یعنی حرکت در جهت مخالف از خروجی به ورودی.
پسانتشار امکان محاسبه و تخصیص خطای مربوط به هر نورون را به ما داده و به این وسیله ما را قادر به تنظیم و برازش الگوریتم به نحو مناسب میسازد.
یادگیری عمیق چه فرقی با یادگیری ماشین دارد؟
یادگیری عمیق صرفاً زیر مجموعهای از یادگیری ماشین است. تفاوت آنها در نحوه یادگیری هر الگوریتم است.
یادگیری ماشین کلاسیک یا غیر عمیق برای یادگیری به مداخله انسان وابسته است. همچنین برای درک تفاوتها بین دادههای ورودی به مجموعه دادههای برچسبدار نیز احتیاج دارد. برای مثال، اگر بخواهم یک سری تصاویر از انواع مختلف فست فود به شما نشان دهیم. هر عکس را با یک نوع فست فود مثل پیتزا، همبرگر یا هر فست فود دیگری برچسبگذاری میکنیم.
مدل یادگیری ماشین براساس دادههای برچسبدار داده شده به آن، آموزش دیده و یاد خواهد گرفت. به این مدل، یادگیری نظارتشده نیز گفته میشود.
یادگیری ماشین عمیق برای مطلع ساختن الگوریتم خود میتواند از مجموعه دادههای برچسبدار بهره گیرد. اما لزوماً به مجموعه داده برچسبدار نیازی ندارد. بلکه برای آموزش خود میتواند از یادگیری نظارتنشده نیز بهره گیرد. درحالیکه یادگیری نظارتشده از دادههای برچسبدار بهره میگیرد. یادگیری نظارتنشده از دادههای بدون ساختار یا بدون برچسب استفاده میکند.
مدل یادگیری ماشین با مشاهده الگوهای موجود در دادهها میتواند ورودیها را خوشهبندی و دستهبندی کند. با در نظر گرفتن همان مثال قبلی، میتوانستیم براساس شباهتهای شناسایی شده در تصاویر، عکسهای پیتزاها، همبرگرها را در گروههای مربوطه دستهبندی کنیم.
با این اوصاف، مدل یادگیری عمیق برای بهبود دقت خود به نقاط داده بیشتری احتیاج خواهد داشت. در حالی که مدل یادگیری ماشین با توجه به دادهساختار زمینهای، بر دادههای کمتری متکی است. یادگیری عمیق اصولاً در موارد کاربرد پیچیدهتر مانند دستیارهای مجازی یا کشف تقلب استفاده میشود.
یادگیری ماشین چه تفاوتی با هوش مصنوعی (AI) دارد؟
در نهایت، هوش مصنوعی (AI) کلیترین اصطلاح به کار رفته برای دستهبندی ماشینهایی است که از هوش انسان تقلید میکنند. از آن برای پیشبینی، خودکارسازی و بهینهسازی کارهایی که بهطور تاریخی توسط انسانها انجام میشد نظیر تشخیص گفتار و چهره، تصمیمگیری و ترجمه استفاده میشود.
هوش مصنوعی به سه شاخۀ اصلی تقسیم میشود:
- هوش مصنوعی محدود (ANI)
- هوش مصنوعی عمومی (AGI)
- هوش مصنوعی ابرهوشمند (ASI)
هوش مصنوعی محدود بهعنوان هوش مصنوعی ضعیف تلقی میشود. در حالی که دو نوع دیگر بهعنوان هوش مصنوعی قوی دسته بندی میشوند.
هوش مصنوعی ضعیف با توانایی آن در انجام یک کار بسیار خاص، مانند برنده شدن در بازی شطرنج یا شناسایی یک فرد خاص در یک سری عکس، تعریف میشود. هرچه به سمت اشکال قویتر هوش مصنوعی مانند AGI و ASI برویم، رفتارهای انسانی بیشتر، بیشتر به چشم میآید. مانند توانایی تفسیر لحن و احساسات. چتباتها و دستیارهای مجازی مانند سیری توانستهاند کمی به این سطح نزدیک شوند، هرچند هنوز نمونههایی از ANI به شمار میآیند.
هوش مصنوعی قوی با توانایی آن در مقایسه با انسان تعریف میشود. هوش عمومی مصنوعی (AGI) هم تراز با انسان دیگر عمل میکند. در حالی که هوش مصنوعی ابرهوشمند (ASI)، که به ابرهوش نیز معروف است، از هوش و توانایی انسان پیشی خواهد گرفت.
از آنجا که این حوزه از هوش مصنوعی هنوز به سرعت در حال تکامل است، بهترین مثالی که میتوانیم در این باره ارائه دهیم شخصیت دولورس در سریال تلویزیونی وستورلد شبکه HBO است.
سرویس احراز هویت یوآیدی به عنوان اولین راهکار احراز هویت دیجیتال، با استفاده از الگوریتم های هوش مصنوعی مانند یادگیری عمیق، تشخیص چهره و تشخیص زنده بودن چهره کاربر، فرایند احراز هویت ثنا، احراز هویت سجام برای دریافت کد بورسی و همچنین احراز هویت صرافی رمز ارز را با ضریب خطای کمتر از ۰.۰۱ درصد انجام می دهد.
1 دیدگاه دربارهٔ «تفاوت یادگیری ماشین با یادگیری عمیق و شبکه عصبی چیست؟»
ممنون از توضیحاتتون