توصیه شده, رزبری پای, مقاله های سیسوگ, هوش مصنوعی

هوش‌مصنوعی چیست و مقایسه آن با یادگیری ماشین و یادگیری عمیق

هوش‌مصنوعی با OPENCV

در مقاله آموزش نصب کتابخانه OPENCV (آخرین ورژن) در مورد نحوه صحیح نصب کتابخانه OPENCV روی سیستم عامل رزبین توضیح داده شد که چطور باید مراحل نصب به طور کامل انجام بگیرد و در مقاله پروژه تشخیص چهره توسط OPENCV یک پروژه تشخیص چهره توسط این کتابخانه انجام دادیم که در نهایت قابلیت اضافه کردن اشخاص و همچنین شناسایی آنان توسط موتورهای مختلف شناسایی را داشت.

شاید برای شما مفید باشد: آموزش رزبری پای از 0 تا 100 از مقدماتی تا پیشرفته

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

هوش‌مصنوعی چیست؟

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

خب تعریف بالا به صورت خیلی علمی بیان شده است حال اگر کمی ساده‌‌تر توضیح بدهیم، به این صورت است که:

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

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

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

 

هوش مصنوعی چیست

ماشین‌لرنینگ چیست؟

به عنوان یکی از شاخه‌های وسیع و پرکاربرد هوش مصنوعی، یادگیری ماشین (Machine learning) به تنظیم و اکتشاف شیوه‌ها و الگوریتم‌هایی می‌پردازد که بر اساس آن‌ها رایانه‌ها و سامانه‌ها توانایی تعلٌم و یادگیری پیدا می‌کنند.

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

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

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

دیپ‌لرنینگ چیست؟

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

دیپ‌لرنینگ چیست

شبکه عصبی چیست؟

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

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

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

تفاوت هوش‌مصنوعی، ماشین‌لرنینگ و دیپ‌لرنینگ چیست؟

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

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

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

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

چرا شبکه عصبی از اهمیت بسیار زیادی برخوردار است؟

دلایل متعددی را دارد که موارد زیر از جمله مهم‌ترین این موارد هستند:

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

شاید برای شما مفید باشد: آموزش FPGA

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

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

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

Google Brain یک پروژه پژوهشی هوش‌مصنوعی مبتنی بر دیپ‌لرنینگ متعلق به شرکت گوگل است که پژوهش‌های ماشین‌لرنینگ را در کنار مهندسی سیستم و منابع محاسباتی عظیم گوگل به کار می‌گیرد تا بتواند به آن واقعیت ببخشد.

دیپ‌لرنینگ چیست

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

درواقع اگر علاقمند به کار‌کردن در این حوزه هستید حتما این جمله را مدنظر داشته باشید. “دیتای ما مهم ترین چیز ماست

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

منبع

author-avatar

درباره BLO OM

«السَّلَامُ عَلَیْکَ یَا أَبَا عَبْدِ اللَّهِ، السَّلَامُ عَلَیْکَ وَ رَحْمَهُ اللَّهِ وَ بَرَکَاتُهُ».

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

10 دیدگاه در “هوش‌مصنوعی چیست و مقایسه آن با یادگیری ماشین و یادگیری عمیق

  1. Avatar for اکبر عبدی اکبر عبدی گفت:

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

    همین دو سه خط اخرو به زبون چینی هم بنویسی معلوم میشه یه ایرانی مقاله رو نوشته Lol

  2. Avatar for کاظم کاظم گفت:

    سلام
    لطفا راهنمایی می فرمایید که آیا امکان هست هوش مصنوعی را روی میکرو کنتلر پیاده سازی کنیم

    1. Avatar for زئوس Zeus زئوس Zeus گفت:

      جواب شما بله است
      ولی باید دید منظور شما چه نوع هوش مصنوعی با چه مدل یادگیریی است ؟ تاجایی میشه این کار رو انجام داد

      1. Avatar for کاظم کاظم گفت:

        اگر در این مور مطلبی تهیه کنید خیلی عالی میشه

        1. Avatar for زئوس Zeus زئوس Zeus گفت:

          در دست اقدام هست دوست عزیز 🙂

  3. بازتاب: ساخت سریع Image classifier با Tensorflow - سیسوگ - Sisoog
  4. Avatar for anahita anahita گفت:

    تشکر بابت مطلب خوبتون

    1. Avatar photo BLO OM گفت:

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

  5. Avatar for MSON MSON گفت:

    بیار مطلب جم و جور و مفیدی بود .ممنون

    1. Avatar photo BLO OM گفت:

      سلام دوست عزیزم
      خواهش میکنم
      ان شالله در قسمت های بعدی مقاله مفیدتر هم خواهد شد بالاخص زمانیکه تئوریات را در عمل ببینید.
      موفق باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *