یادگیری ماشینی چیست و چه تفاوتی با هوش مصنوعی دارد؟
رسانه کلیک - تفاوت یادگیری ماشینی (Machine Learning) با هوش مصنوعی (Artificial Intelligence) در چیست؟ در این مطلب به تشریح کامل تفاوت های این دو مقوله می پردازیم.
اگر اخبار تکنولوژی را طی چند سال اخیر دنبال کرده باشید، حتما در حوزه هایی مثل یادگیری ماشینی و هوش مصنوعی خبرهایی به گوشتان خورده است. اما آیا میدانید یادگیری ماشینی و هوش مصنوعی دقیقا چه هستند و چه مفهومی را بیان میکنند؟ آیا از تفاوت یادگیری ماشینی و هوش مصنوعی مطلع هستید؟ آیا میتوان یادگیری ماشینی را به نوعی با هوش مصنوعی یکسان و مرتبط دانست؟ متاسفانه خیلی از مراجع و منابع به اشتباه این دو مقوله را یکسان تصور میکنند یا حداقل از یکسان جلوه دادن آن ها برای تبلیغات محصولات خود استفاده می کنند.
اما واقعیت امر این است که یادگیری ماشینی کاملا با هوش مصنوعی تفاوت دارد و این دو تکنولوژی از نظر فنی دو سطح کاملا متفاوت را در بر میگیرند. همچنین نحوه تعاملی که مابین انسان و کامپیوتر در دو حالت مذکور برقرار خواهد بود کاملا متفاوت است. اما تفاوت یادگیری ماشینی با هوش مصنوعی چیست؟ برای درک بهتر تفاوت های بین این دو مقوله بهتر است ابتدا ماهیت شبکه های عصبی را شرح دهیم و سپس قدم به قدم پیش رفته و به سراغ تکنولوژی های بعدی برویم. بدین ترتیب دقیق تر و بهتر با دو مقوله یاد شده آشنا خواهید شد و قادر به تفکیک آن ها میشوید.
همه چیز با شبکه های عصبی (Neural Networks) شروع شد!
یادگیری ماشینی در واقع یک پارادایم محاسباتی (الگوی رایانشی) است که منجر به رشد و ایجاد کلان داده ها و نهایتا پیاده سازی هوش مصنوعی میشود. یادگیری ماشینی مبتنی بر شبکه های عصبی و یادگیری عمقی است، بنابراین تمام این مقوله ها مثل یک زنجیر به هم متصل هستند اما سطوح مختلفی را ارائه میکنند. به صورت خیلی ساده میتوان گفت که شبکه های عصبی به وجود آورنده قابلیت یادگیری ماشینی هستند و یادگیری ماشینی در ابعاد پیشرفته و بزرگ میتواند پدیدار کننده هوش مصنوعی باشد! در یادگیری ماشینی سعی میشود دقیقا مراحل و حالتی که انسان برای یاد گرفتن همه چیز طی میکند برای یک ماشین شبیه سازی شود، اما چگونه؟ دانشمندان با تکیه بر تجزیه و تحلیل آماری و یادگیری تکراری که توسط شبکه های عصبی هدایت میشوند، به یک ماشین این امکان را میدهند تا به مرور قادر به یادگیری باشد.
پس تفاوت یادگیری ماشینی با برنامه نویسی های رایج امروزی چیست؟ در یادگیری ماشینی برخلاف برنامه نویسی های معمولی که مبتنی بر بیانیه های منطقی، درخت تصمیم (اگر این شد پس آن شود و موارد این چنینی) و غیره هستند، از شبکه های عصبی استفاده میشود. یک شبکه عصبی به طور خاص برای آموزش و یادگیری طراحی شده و در این راستا از شبکه نورون های موازی بهره میبرد که هر یک با هدف خاصی تنظیم شدهاند. طبیعت و ساختار یک شبکه عصبی میتواند بسیار پیچیده باشد، اما نکته مهم در عملکرد و طراحی این شبکه ها مربوط به ایجاد عوامل اهمیت برای برخی صفات ورودی خاص میشود. با ایجاد عوامل اهمیت برای ورودی های مختلف میتوان در شبکه های عصبی احتمال یا برآوردی ایجاد کرد که منجر به انطباق ورودی با یک یا چند خروجی شود.
نکته مهم در مورد این نوع از محاسبات آن است که نتیجه کار دقیقا منطبق با چیزی تعیین میشود که انسان به دنبال آن بوده و تعیین کرده است. به بیان دیگر وقتی عوامل اهمیت توسط انسان تعیین میشوند، نتیجه کار هم منطبق با تنظیماتی خواهد بود که توسط سازنده ایجاد شده است. بنابراین عملا در شبکه های عصبی هیچ نشانی از هوش مصنوعی وجود ندارد و عملکرد این شبکه ها دقیقا طبق تنظیماتی خواهد بود که توسط سازنده ارائه شده است. مسئله بعدی این است که برای تنظیم شبکه های عصبی در ابعاد بزرگ نیاز به صرف زمان زیادی وجود دارد و دانشمندان متعددی باید برای ایجاد مسیرهای مشخص و عوامل اهمیت در شبکه های عصبی ساعت ها زمان صرف کنند. تمام عوامل اهمیت در این روش باید توسط انسان به طور دقیق بررسی و تعریف شوند تا مجموعه به تدریج و با استفاده از آن ها قادر به تفکیک مسیر حرکت داده ها و یادگیری شود. به طور کلی یک شبکه عصبی زمانی وارد قلمروی یادگیری ماشینی میشود که یک حلقه بازبینی اصلاحی در آن پدیدار گردد. در این مرحله است که وارد مقوله یادگیری ماشینی شده و به سطح بعدی ارتقاء مییابیم.
یادگیری ماشینی چیست؟
اما به تدریج وارد مقوله یادگیری ماشینی میشویم. وقتی شبکه های عصبی به ایجاد تنظیمات خاص قادر به زیر نظر گرفتن و مقایسه خروجی ها با ورودی ها باشند و به تدریج بتوانند عوامل اهمیت را خود به خود تعیین کنند، یادگیری ماشینی پدیدار شده است. در یادگیری ماشینی، ربات یا رایانه مورد نظر این قابلیت را دارد تا به مرور زمان خود را آموزش داده و با مقایسه خروجی ها و ورودی هایش به تدریج دقیق تر از قبل عمل کند. به بیان دیگر ماشین در این حالت به تدریج یاد میگیرد که چه چیزی بهتر و چه چیزی بدتر است. پس دیگر نیازی به تعریف تک تک عوامل اهمیت توسط انسان وجود نخواهد داشت و ماشین میتواند به مرور زمان عوامل اهمیت تعیین کرده و به یادگیری و بهتر شدن ادامه دهد.
بنابراین مهم ترین نکتهای که یادگیری ماشینی را پدیدار کرده و منجر به تفکیک آن از شبکه های عصبی میشود، این مسئله است که ماشین در این حالت میتواند به مرور زمان برای خود اولویت تعیین کند و عوامل اهمیت بسازد. پس الزامی برای توصیف تمام عوامل اهمیت از سوی انسان در یادگیری ماشینی وجود ندارد. اما شاید این سوال در ذهنتان ایجاد شود که آموزش به یک کامپیوتر یا ماشین بهرهمند از یادگیری ماشینی به چه روش هایی قابل انجام خواهد بود؟ به بیان دیگر چطور باید در یک کامپیوتری که از یادگیری ماشینی بهره میبرد، آموزش داد؟
تمرین دادن به ربات های بهرهمند از یادگیری ماشینی میتواند به چندین روش مختلف انجام شود، اما تمام این روش ها شامل یک ورودی خاص میشوند که منجر به حداکثر شدن دقت خروجی ربات خواهد شد. در این روش با اعمال ورودی، یک الگوریتم و مسیر حرکت در شبکه های عصبی ربات یا کامپیوتر ایجاد میشود که بهترین و دقیق ترین خروجی را ارائه میکند. به تدریج ربات میآموزد که بهترین مسیر شبکه عصبی برای ورودی اعمال شده کدام مورد است. تمرین دادن به ربات در این روش به مراتب از مشخص کردن دستی مسیرهای حرکت شبکه های عصبی و عوام اهمیت در تمام حالات و شرایط ممکن از جانب دانشمندان ساده تر خواهد بود. در این روش ربات با تمرینی که توسط انسان ارائه میشود، یاد خواهد گرفت که بهترین و دقیق ترین نتیجه در ورودی خاص اعمال شده چه بوده و باید چه الگوریتمی را برای دستیابی به بهترین نتیجه ممکن دنبال کند.
زمانی که آموزش های لازم به ربات داده شد، ربات مجهز به سیستم یادگیری ماشینی قادر به مرتب سازی ورودی های جدید در شبکه عصبی هم خواهد شد و این کار را با سرعت بسیار بالایی انجام میدهد و بدین صورت بهتر و بهتر خواهد شد. یعنی دقیقا مثل یک انسان که به تازگی چیزی را آموخته و به تدریج و با کسب تجربه به بهتر و بهتر شدن خود کمک میکند، یادگیری ماشینی هم همین روال را در ربات ها و رایانه ها پیاده سازی خواهد کرد. یادگیری ماشینی یکی از تکنولوژی های ضروری است که در سیستم های پیشرفتهای همچون دید و تشخیص کامپیوتری، تشخیص صدا، پردازش زبان و غیره از آن استفاده می شود. برای ایجاد قابلیت یادگیری ماشینی وجود شبکه های عصبی الزامی است و هم اکنون شبکه های عصبی بهترین شرایط را برای ایجاد یادگیری عمیق فراهم میکنند. در ادامه با شرح ماهیت هوش مصنوعی سعی میکنیم تفاوت یادگیری ماشینی با این مقوله را برایتان آشکار کنیم.
هوش مصنوعی و تفاوت آن با یادگیری ماشینی در چیست؟
اما به بخش اصلی ماجرا یعنی هوش مصنوعی میرسیم که در حال حاضر پیشرفتهترین سطح از قابلیت درک و تشخیص را در ربات ها ارائه میکند. یادگیری ماشینی یک تکنیک هوشمندانه است که انسان با استفاده از آن ربات را قادر به یادگیری میکند و برای ایجاد یادگیری و تمرین دادن ربات هم باید از روش های خاص استفاده شود، اما در این حالت خلا "هوش" به وضوح قابل لمس است. رباتی که از یادگیری ماشینی بهره میبرد، نمیتواند هوشمندانه و به نوعی با تکیه بر قابلیت تفکر خودش انتخاب و عمل کند. این ربات نمیداند چرا به مرور چیزهای مختلف را یاد بگیرد یا چگونه میتواند در آینده تصمیم های دقیق تری گرفته و نتایج بهتری را ارائه کند، اما زمانی که پای هوش مصنوعی به میان می آید، داستان تغییر میکند!
زمانی که یک الگوریتم توسط ربات یاد گرفته شد، میتوان از آن در یک سیستم مجزا برای ایجاد هوش مصنوعی استفاده کرد. هوش مصنوعی در واقع مجموعه عظیمی از الگوریتم های یادگیری ماشینی را در بر میگیرد که منجر میشود یک ربات بتواند با روش های متقاعدکننده و هوشمندانه از انسان تقلید یا با او ارتباط برقرار کند. ربات هایی که از هوش مصنوعی بهره میبرند میتوانند در شرایط مختلف واکنش های مشابه با رفتارهای هوشمندانه انسان ها را از خود نشان دهند. به بین دیگر ربات در این شرایط قادر به درک شرایط محیط خواهد بود و میتواند در قبال آن شرایط عکس العمل های مختلف و هوشمندانهای نشان دهد. اما چطور و چگونه میتوان یک ربات را قادر به درک محیط کرد؟
با پیاده سازی الگوریتم های یادگیری ماشینی در کنار سیستم های پیشرفته دیگر مثل دوربین (ایجاد قابلیت دید برای ربات)، اسپیکر (امکان صحبت کردن برای ربات)، میکروفون (امکان درک صدای محیط برای ربات) و غیره میتوان شرایطی را ایجاد کرد که ربات بتواند با محیط اطراف ارتباط برقرار کند و به نوعی از محیط درک متقابل داشته باشد. حال میتوان با تکیه بر یادگیری ماشینی و شبکه های عصبی شرایطی ایجاد کرد که ربات در هر وضعیت عکسالعملی مناسب و هوشمندانه از خود نشان دهد و حتی به مرور نحوه تعامل خود با محیط اطراف را بهبود بخشد و به سمت ارائه واکنش های هوشمندانهتر سوق پیدا کند.
هوش مصنوعی را میتواند به دو دسته تقسیم کرد که به ترتیب هوش مصنوعی کاربردی و هوش مصنوعی عمومی نامیده میشوند. هوش مصنوعی کاربردی در حال حاضر دست یافتی تر از هوش مصنوعی عمومی است. این نوع از هوش مصنوعی بیشتر نزدیک به مثال های است که برای یادگیری ماشینی ارائه کردیم. از این نوع هوش مصنوعی عموما برای انجام اقدامات خاص استفاده میشود. برای مثال ربات هایی که بتوانند با استفاده از هوش مصنوعی به هدایت اتومبیل ها در خیابان پرداخته یا به یک بیمار کمک کنند، از این نوع هوش مصنوعی بهره میبرند. این دسته از ربات ها اگرچه از هوش مصنوعی بهرهمند هستند، اما باز هم با تکیه بر یادگیری ماشینی روند و رویکردی را دنبال میکنند که بهترین بازده را به همراه داشته باشد.
اما هوش مصنوعی عمومی گسترده تر بوده و مطمئنا پتانسیل بیشتری را ارائه میکند. ربات هایی که از هوش مصنوعی عمومی بهرهمند باشند، قادر به انجام اقدامات گسترده تری خواهند بود و میتوانند داده های ورودی متنوعی را در آن واحد آنالیز و با ادغام یا تفکیک آن ها بهترین نتیجه ممکن را ارائه کنند. نحوه رفتار این ربات ها بسیار نزدیک و شبیه به رفتار انسان ها خواهد بود. از نظر تئوری پیاده سازی هوش مصنوعی عمومی سبب میشود تا ربات هایی ایجاد شوند که پتانسیل یادگیری آن ها از مجموعه دانش اولیه تعریف شده برای ربات بیشتر باشد. بدین صورت طبیعی است که ربات در زمینه های مختلف شروع به یادگیری میکند و میتواند خیلی سریع تر از انسان توانایی های گوناگون را در زمینه های مختلف کسب کند. بنابراین تفاوت یادگیری ماشینی با هوش مصنوعی در این است که هوش مصنوعی سطح ارتقاء یافته یادگیری ماشینی را ارائه میکند و از این مقوله برای ایجاد درک بهتر و تعامل واقعگرایانهتر با محیط استفاده به عمل میآورد.
آینده هوش مصنوعی
حال که با تفاوت یادگیری ماشینی و هوش مصنوعی آشنا شدید و دانستید که هوش مصنوعی پتانسیل بالاتری در مقایسه با یادگیری ماشینی دارد، شاید این سوال در ذهنتان ایجاد شود که هوش مصنوعی به چه سمتی در حال حرکت است؟ اگر پیاده سازی هوش مصنوعی عمومی در ربات ها به واقع عملی شود، چه تغییرانی در زندگی بشر ایجاد میشود؟ بنا به ادعای خیلی از افراد بزرگ، پیاده سازی هوش مصنوعی عمومی میتواند تهدیدی جدی برای بشر باشد و حتی منجر به نابودی بشر به دست ربات ها شود! تصور کنید ربات هایی که کاملا قابلت یادگیری مسائل و موضوعات جدید را دارند و از همه نظر هم توانایی بالاتری نسبت به انسان دارند پا بر زمین بگذارند و به تدریج نحوه ساختن خود را هم بیاموزند. مطمئنا این مسئله میتواند ربات های مجهز به هوش مصنوعی عمومی را به تهدیدی برای بشر بدل کند.
اما در سمت مقابل هوش مصنوعی کاربردی هم اکنون توسط خیلی از ما مورد استفاده قرار میگیرد. گوگل اسیستنت (Google Assistant)، آمازون الکسا (Amazon Alexa)، سیری (Siri) و غیره تقریبا همگی با تکیه بر هوش مصنوعی فعال هستند و ما از آن ها استفاده میکنیم؛ بنابراین به نظر میرسد که اگر از هوش مصنوعی در ابعاد کنترل شده استفاده شود، هیچ تاثیر منفی روی زندگی انسان ها نخواهد داشت و حتی منجر به بهبود زندگی بشر هم میشود. اما مطمئنا پیشرفت در این حوزه هم میتواند خطرات و ریسک هایی را به همراه داشته باشد.
نظر شما در رابطه با هوش مصنوعی چیست؟ آیا این تکنولوژی میتواند منجر به پایان زندگی بشر روی زمین و سلطه ربات ها بر انسان شود؟ آیا تفاوت یادگیری ماشینی و هوش مصنوعی میتواند مرز بین امنیت بشر و به خطر افتادن زندگی انسان ها باشد؟