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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

منبع

حمایت از BLO OM

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

BLO OM
BLO OM

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

دیدگاه ها

10 دیدگاه

  • اکبر عبدی
    ۱۳ فروردین ۱۴۰۰

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

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

  • کاظم
    ۱۳ آذر ۱۳۹۸

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

    • Zeus ‌
      زئوس Zeus
      ۱۳ آذر ۱۳۹۸

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

      • کاظم
        ۱۳ آذر ۱۳۹۸

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

        • Zeus ‌
          زئوس Zeus
          ۱۶ آذر ۱۳۹۸

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

  • ساخت سریع Image classifier با Tensorflow - سیسوگ - Sisoog
    ۱۶ مهر ۱۳۹۸

    […] می‌کنیم قبل از مطالعه مقاله برای دید بهتر ابتدا “ هوش‌مصنوعی با OPENCV ” را مطالعه […]

  • anahita
    ۶ مرداد ۱۳۹۸

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

    • BLO OM
      BLO OM
      ۶ مرداد ۱۳۹۸

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

  • MSON
    ۴ مرداد ۱۳۹۸

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

    • BLO OM
      BLO OM
      ۵ مرداد ۱۳۹۸

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

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

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

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 11 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک