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

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


تاریخچه هوش مصنوعی

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

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

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

تاریخچه یادگیری ماشین

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

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

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

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

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

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

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

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

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

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

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

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

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