هوش مصنوعی

رابطه یادگیری عمیق با یادگیری ماشینی و هوش مصنوعی

تفاوت این سه حوزه با هم چیست؟

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

در این مقاله سعی بر توضیح هوش مصنوعی و رابطه آن با دیگر اعضای خانواده خود را داریم.

هوش مصنوعی یا Artificial Intelligence که به اختصار AI گفته می‌شود، مفهوم وسیعی دارد و دو مقوله دیگر یعنی یادگیری ماشینی(ML) و یادگیری عمیق(DL) زیرمجموعه آن محسوب می‌شوند. در واقع، یادگیری ماشینی، زیر مجموعه هوش مصنوعی و یادگیری عمیق، زیرمجموعه تکنولوژی یادگیری ماشینی است.

یادگیری عمیق و یادگیری ماشینی، خانواده هوش مصنوعی هستند.
یادگیری عمیق و یادگیری ماشینی بخشی از خانواده هوش مصنوعی هستند.

هوش مصنوعی

به گفته دیکشنری کالینز، هوش مصنوعی، شبیه سازی انسان‌ها و رفتارهای ذهنی آنها توسط یک برنامه کامپیوتری است.

هوش مصنوعی از دو  کلمه «هوش» و «مصنوعی» تشکیل شده است. چیزی که طبیعی نیست و توسط انسان خلق شده باشد را مصنوعی می‌گویند. هوش نیز یعنی توانایی درک، منطق سازی، برنامه ریزی و غیره. به عبارت دیگر، یک کد، تکنولوژی یا الگوریتمی که بتواند مقوله درک شناختی مخصوص انسان را تقلید کرده و در خود یا در دستاوردهای خود به ظهور بگذارد، هوش مصنوعی ست.

مفهوم هوش مصنوعی، قدمت زیادی دارد اما تنها در عصر جدید توسعه پیدا کرده است. اما چرا؟

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

یادگیری ماشینی

هوش مصنوعی باعث پیداش شاخه یادگیری ماشینی شده است.

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

در مسیر پیدا کردن جواب به این سوالات بود که یادگیری ماشینی ظهور کرد.

یادگیری ماشینی چیست؟

بر اساس تعریف ارائه شده توسط دانشگاه استنفورد، یادگیری ماشینی، علم آموزش یک کامپیوتر، بدون برنامه نویسی دقیق قبلی است.

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

به عنوان مثال:

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

برای شروع، یک فرمول ساده برای پیش‌بینی وزن بر اساس داده قد، ایجاد می‌کنیم مثلا فرمول زیر:

W=H-100

W  نشانگر وزن به کیلوگرم و H نشانگر قد به سانتی متر است.

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

هدف، کم کردن میزان اشتباه است پس بدین منظور هرچه که تعداد داده‌ها بیشتر باشد، کار مدل ما نیز راحت‌تر است و نتیجه دقیق‌تری به دست می‌آید.

پس با تغذیه داده‌های بیشتر به ماشین هوشمندمان، پیش‌بینی قد فرد بر اساس وزن برای کامپیوتر راحت‌تر می‌شود.

یادگیری عمیق

Machine Learning Mastery ، یادگیری عمیق را این گونه توضیح می‌دهد:

« زیرمجموعه‌ای از یادگیری ماشینی که  شبکه‌های عصبی مصنوعی(artificial neural networks) داشته و می‌تواند عملکردی مشابه مغز داشته داشته باشد.»

یادگیری عمیق، یک حوزه به خصوص از یادگیری ماشینی است که بر اساس شیوه علمکرد مغز طراحی شده و یک سیستم عصبی مخصوص به خود دارد که artificial neural network نامیده می‌شود.  این سیستم، قسمت‌های مشابه نورون‌های مغز داشته که در چند لایه قرار گرفته‌اند و با دریافت داده‌های ورودی فعالیت می‌کند.

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

لایه های شبکه عصبی مصنوعی

یک مثال ساده در مورد نحوه رفتار این سیستم:

چگونه می‌توانید یک مربع را از دیگر اشکال تشخیص دهید؟

اول از همه باید دید که شکل مورد نظر، 4 خط داشته باشد. اگر دارد، باید نگاه کرد و دید آیا چهار خط، به یکدیگر وصل هستند یا خیرو اگر وصل هستند باید تساوی اضلاع را بررسی کرد.

اگر تمام شروط ذکر شده برقرار باشد، مطمئن می‌شویم که شکل مورد نظرمان یک مربع است.

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

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

تشیخص سگ یا گربه با استفاده از الگوریتم های یادگیری عمیق

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

مرتبط: خوددرمانی شاخه جدید در هوش مصنوعی

تقابل یادگیری ماشینی و یادگیری عمیق

ساده‌ترین راه برای درک تفاوت بین دو شاخه یادگیری ماشینی و یادگیری عمیق، متد «DL IS ML» است. در ادامه می خواهیم به برخی از پارامترهای مهم این متد اشاره کنیم.

  • استقلال داده

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

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

  • استقلال سخت افزاری

الگوریتم‌های یادگیری عمیق تنها در ماشین‌های فوق حرفه‌ای،  پیشرفته و مجهز، استقلال زیادی دارند اما الگوریتم‌های یادگیری ماشینی حتی در ضعیف‌ترین سیستم‌ها نیز قابل استفاده هستند. یکی از الزامات فعالیت یادگیری عمیق، وجود GPU است و برای انجام دستورات مختلف و پیچیده، وجود GPU برای ماشین مجهز به یادگیری عمیق، ضرروریست.

مرتبط: کاربرد هوش مصنوعی در فرودگاه دوبی

  • مهندسی قابلیت‌ها

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

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

  • شیوه‌های حل مسئله

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

مثلا:

هدف مدنظر، تشخیص چند مدل شی در تصویر است، اینکه آن شی چیست و کجای تصویر قرار دارد.

ببینیم یادگیری ماشین چطور این مسئله را حل می‌کند:

در شیوه یادگیری ماشینی، مسئله باید به دو قسمت تقسیم شود: شخیص شی و شناسایی مکان شی.

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

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

  • زمان اجرای عمیلات

توسعه و آموزش الگوریتم‌های یادگیری عمیق زمان زیادی می‌طلبد. زیرا پارامترهای زیادی باید بررسی شود وآموزش آن به سیستم، زمان بر است. اما در یادگیری ماشین، زمان آموزش بسیار کمتر است.

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

منبع: towardsdatascience

نوشته های مشابه

دکمه بازگشت به بالا