فهرست عنوانها
ما برای یادگیری یک مهارت به جمع آوری اطلاعات میپردازیم، به دقت تمرین کرده و عملکرد خود را نظارت میکنیم. سپس به تدریج در انجام فعالیت مورد نظر ماهرتر میشویم.
یادگیری ماشینی تکنیکی است که به کامپیوترها اجازه میدهد دقیقا همین کار را انجام دهند. در این مطلب روکیدا این مفهوم را بررسی خواهد کرد. پس تا انتها همراه ما باشید.
آیا کامپیوترها میتوانند یاد بگیرند؟
تعریف هوش و ذکاوت کار سختی است. تمام ما وقتی از واژه هوش و ذکاوت استفاده میکنیم، میدانیم دقیقا منظورمان چیست اما توضیح و تشریح آن کار سختی است. صرف نظر از احساسات و خودآگاهی، اگر بخواهیم یک تعریف مناسب از هوش و ذکاوت بدهیم باید بگوییم به یک قابلیت گفته میشود که با آن میتوان مهارتهای جدید را فرا گرفت و آنها را در موقعیتهای جدید برای دستیابی به نتایج دلخواه به کار برد.
درست مانند سختی تعریف هوش و ذکاوت، شرح هوش مصنوعی نیز به همین اندازه مشکل است. اگر یک دستگاه محاسباتی بتواند کاری را انجام دهد که بهطور عادی نیاز به استدلال و هوش و ذکاوت انسانی داشته باشد، به آن هوش مصنوعی گفته میشود.
بهعنوان مثال، اسپیکرهای هوشمند آمازون اکو یا گوگل نست میتوانند دستورالعملهای شفاهی ما را بشنوند، صدا را به کلمات جداگانه تفسیر کنند، معنی کلمات را استخراج کرده و سپس تلاش کنند درخواست ما را انجام دهند. ممکن است درخواست ما پخش موسیقی، پاسخ به یک پرسش یا کم کردن نور باشد.
در تمام دستورالعملها و حتی بی اهمیتترین آنها، دستورات شفاهی شما برای کامپیوترهای قدرتمندی در شبکههای گسترده شرکت سازنده بازپخش میشوند، جایی که در آن وظیفه دشوار هوش مصنوعی به انجام میرسد. دستور تجزیه شده و معنا استخراج میشود، سپس واکنش مناسب آماده شده و دوباره به سوی اسپیکر هوشمند فرستاده میشود.
یادگیری ماشینی بخش عمدهای از سیستمهای هوش مصنوعی را که ما با آنها در تعامل هستیم، پشتیبانی میکند. بعضی از اینها، وسایل موجود در خانه شما هستند مانند وسایل هوشمند و بعضی دیگر بخشهایی از سرویسهایی را تشکیل میدهند که ما به شکل آنلاین استفاده میکنیم.
ویدئوهای پیشنهادی در یوتیوب و نتفلکیس و لیستهای پخش خودکار در اسپاتیفای از یادگیری ماشینی بهره میبرند. موتورهای جستجو متکی بر یادگیری ماشینی هستند و فروشگاههای آنلاین برای ارائه پیشنهادهای خرید به شما بر اساس تاریخچه جستجو و خریدتان، از یادگیری ماشینی استفاده میکنند.
کامپیوترها میتوانند به مجموعه دادههای عظیمی دسترسی داشته باشند. آنها میتوانند هزاران مرتبه فرآیندهایی را در حوزههایی تکرار کنند که شبیه به تکرار آن کار یک مرتبه توسط انسان خواهد بود.
البته اگر یک انسان بتواند حتی موفق به انجام یک مرتبه از این فرآیندها شود. بنابراین اگر یادگیری به دانش، تمرین و بازخورد عملکرد نیاز داشته باشند، کامپیوتر میتواند داوطلب ایدهآلی برای آن باشد.
البته منظور این نیست که کامپیوتر قادر خواهد بود مانند ما انسانها فکر کند یا درست مانند ما قدرت فهم و درک داشته باشد. بلکه میگوییم که میتواند یاد بگیرد و با تمرین بیشتر مهارت بیشتری در آن کار پیدا کند.
یک سیستم با یادگیری ماشینی که بهطور ماهرانهای برنامه ریزی شده است، میتواند تصور قابل قبولی از یک موجود آگاه و هوشیار به دست آورد.
ما قبلا این سوال را میپرسیدیم که «آیا کامپیوترها میتوانند یاد بگیرند؟» و این پرسش سرانجام به شکل تدریجی به یک سوال عملیتر تبدیل شد. مهندسی چه چالشهایی دارد که ما باید برای اجازه یادگیری به کامپیوترها بر آنها غلبه کنیم؟
شبکههای عصبی و شبکههای عصبی عمیق
مغز حیوانات حاوی شبکههایی از نورونها است. نورونها میتوانند سیگنالها را از یک سیناپس به یک نورون دیگر منتقل کنند. این فعالیت بسیار کوچک که میلیونها مرتبه تکرار میشود، باعث پیشرفت فرآیند افکار و خاطرات ما خواهد شد.
طبیعت به کمک قرار دادن جزئیات سازنده بسیار ساده، ذهنهای آگاه و توانایی استدلال و یادآوری را خلق ایجاد کرده است.
شبکههای عصبی مصنوعی با الهام گرفتن از شبکههای عصبی زیستی ما خلق شدهاند تا بعضی از خصوصیات همتایان طبیعی خود را تقلید کنند. از سال 1940، سختافزار و نرمافزارهایی توسعه یافتهاند که حاوی هزاران یا میلیونها گره هستند.
این گرهها مانند نورونها سیگنالهایی را برای تغذیه گرههای دیگر دریافت میکنند. آنها میتوانند سیگنالهایی تولید کنند که وارد گرههای دیگر شوند. گرهها میتوانند همزمان سیگنالهای ورودی را از گرههای دیگر دریافت کنند و به گرههای زیادی بفرستند.
اگر یک حیوان به این نتیجه برسد که آن حشرات بالدار مشکی و زرد همیشه نیش دردناکی به او میزنند، از تمام حشرات بالدار مشکی و زرد دوری خواهد کرد.
بهعنوان مثال این موضوع به نفع مگسهای گلزار تمام میشود. این حشره درست مانند زنبور مشکی و زرد است، اما هیچ نیشی ندارد.
حیواناتی که توسط زنبورها نیش زده شدهاند، یک درس دردناک فرا گرفتهاند که باعث میشود مگسهای گلزار طول عمر طولانی داشته باشند. آنها یک حشره بالدار با طرح مشکی و زرد روی بدنشان میبینند و تصمیم به عقب نشینی میگیرند.
این حقیقت که مگسهای گلزار میتوانند در حال توقف بال بزنند در صورتی که زنبورها نمیتوانند نیز نمیتواند نظر حیوانات را در عقب نشینی تغییر دهد. به صورتی که اهمیت پرواز کردن، وزوز کردن و طرح راه راه مشکی و زرد باعث میشوند حیوانات هر چیز دیگری را نادیده بگیرند.
اهمیت این نشانهها، ارزش آن اطلاعات نامیده میشود. شبکههای عصبی مصنوعی نیز میتوانند از این ارزش استفاده کنند. یک گره حتما نباید تمام اطلاعات دریافتی را به مساوی در نظر بگیرد و میتواند بعضی نشانهها را به نشانههای دیگر برتری دهد.
یادگیری ماشینی برای پیدا کردن الگوهایی در مجموعههای اطلاعاتی که بر اساس آن آموزش داده شده است، از آمار و ارقام استفاده میکند.
یک مجموعه اطلاعاتی ممکن است شامل کلمات، اعداد، تصاویر، تعاملات کاربر مانند کلیکها در وبسایت یا هر چیز دیگری باشد که بتواند ثبت و به صورت دیجیتال ذخیره شود.
سیستم باید مولفههای ضروری کوئری را تصویرسازی کرده و سپس آنهایی را که در مجموعه اطلاعاتی تشخیص داده است، به الگوها متصل کند.
اگر سیستم در تلاش برای شناسایی یک گل باشد، باید طول ساقه، اندازه و نوع برگ، رنگ و تعداد گلبرگها و ویژگیهای دیگر آن را بداند. البته در واقعیت سیستم به اطلاعات بسیار بیشتری نیاز دارد، اما در این مثال ساده تنها تعدادی از موارد را ذکر کردیم.
زمانی که سیستم این جزئیات را درباره نمونه آزمایشی بداند، شروع به فرآیند تصمیمگیری کرده و این فرآیند نیز به نوبه خود یک مورد مطابق از مجموعه اطلاعاتی خود ایجاد میکند. سیستمهای یادگیری ماشینی بهطور موثری درخت تصمیم گیری را به تنهایی ایجاد میکنند.
یک سیستم یادگیری ماشینی با به بهروزرسانی الگوریتمهای خود و تصحیح عیب و نقصها، از اشتباهات خود یاد میگیرد. پیچیدهترین شبکههای عصبی، شبکههای عصبی عمیق هستند.
از نظر مفهومی، این شبکهها از تعداد زیادی شبکههای عصبی بزرگ تشکیل شدهاند که به صورت لایهای روی یکدیگر قرار گرفتهاند. این ساختار به سیستم این قابلیت را میدهد که حتی از الگوهای بسیار کوچک نیز در فرآیندهای تصمیم گیری خود استفاده کند.
این لایهها معمولا برای ارائه ارزش مورد استفاده قرار میگیرند. این لایههای پنهان میتوانند بهعنوان لایههای «متخصص» به کار روند.
این لایهها سیگنالهای ارزیابی شده را درباره یک خصوصیت جداگانه نمونه مورد آزمایش ارائه میدهند. مثال شناسایی گل که بالاتر ذکر کردیم، ممکن است از لایههای پنهان اختصاص یافته به شکل برگها، اندازه غنچهها و طول پرچمها استفاده کند.
انواع مختلف یادگیری
سه تکنیک گسترده وجود دارد که برای آموزش سیستمهای یادگیری ماشینی استفاده میشوند: یادگیری نظارت شده، یادگیری نظارت نشده و یادگیری تقویتی.
یادگیری نظارت شده
یادگیری نظارت شده یکی از پر استفادهترین روشهای یادگیری است، البته این به دلیل برتر بودن ذاتی این روش نسبت به تکنیکهای دیگر نیست. بلکه بیشتر مربوط به انطباق این نوع یادگیری با مجموعههای اطلاعات مورد استفاده در سیستمهای یادگیری ماشینی است که امروزه در حال نوشته شدن است.
در یادگیری نظارت شده، دادهها به همان شکل برچسب گذاری و ساختاربندی میشوند که معیارهای به کار رفته در فرآیند تصمیم گیری برای سیستمهای یادگیری ماشینی تعریف شدهاند.
این تکنیک نوعی از یادگیری است که در سیستمهای یادگیری ماشینی مورد استفاده در پیشنهادهای لیست پخش یوتیوب به کار رفته است.
یادگیری نظارت نشده
یادگیری نظارت نشده نیازی به آماده سازی داده ندارد و در این روش داده برچسب گذاری نمیشود. سیستم داده را اسکن کرده، الگوهای خود را شناسایی میکند و معیارهای راهاندازی خود را میسازد.
تکنیک یادگیری نظارت نشده مدت زمان زیادی است که در امینت سایبری با آمار موفقیت بالا مورد استفاده قرار میگیرد.
سیسستمهای شناسایی پارازیت (مهاجم) که توسط تکنیک یادگیری ماشینی ارتقا یافتهاند، میتوانند فعالیت شبکه یک مهاجم غیرمجاز را تشخیص دهند، زیرا این مهاجم با الگوهایی رفتاری کاربران مجاز که قبلا مشاهده کرده است سازگاری ندارد.
یادگیری تقویتی
یادگیری تقویتی از دو تکنیک دیگر جدیدتر است. به عبارت ساده، یک الگوریتم یادگیری تقویتی از آزمون و خطا و بازخورد برای دستیابی به یک مدل بهینه از رفتار استفاده میکند تا در نهایت به هدف مورد نظر برسد.
انجام این کار به بازخورد انسانهایی نیاز دارد که تلاشهای سیستم را طبق مثبت یا منفی بودن تاثیر آنها در دستیابی به هدف خود «ثبت» میکنند.
بخش کاربردی هوش مصنوعی
یادگیری ماشینی به دلیل استفاده رایجی که دارد و بهخاطر موفقیتهای قابل اثبات زیادی که در دنیای واقعی به آنها دستیابی پیدا کرده است، شامل موفقیتهای تبلیغاتی، بهعنوان «بخش کاربردی هوش مصنوعی» شناخته میشود.
یادگیری ماشینی از ارزش زیادی برخوردار است و چارچوبهای قابل اندازه گیری و تبلیغاتی زیادی وجود دارند که به شما اجازه میدهند از یادگیری ماشینی در توسعه محصولات خود استفاده کنید.
اگر نیاز ضروری به این نوع سیستم با کاربرد فوقالعاده ندارید اما دوست دارید یک سیستم یادگیری ماشینی را با یک زبان برنامه نویسی آسان مانند پایتون امتحان کنید، منابع رایگان بی نظیری نیز برای شما در دسترس هستند.
در واقع این منابع در صورتی که علاقه بیشتری از خود نشان دهید یا برای کسب و کار به آنها نیاز داشته باشید، همراه شما خواهند بود. اجازه دهید چند نمونه را بشناسیم.
- تورچ (Torch) یک چارچوب یادگیری ماشینی رایگان بوده و به دلیل سرعت بالای خود شناخته شده است.
- سیکیت لرن (Scikit-Learn) مجموعهای از ابزارهای یادگیری ماشینی بوده و بهویژه برای کار کردن با زبان پایتون مناسب است.
- کفه (Caffe) یک چارچوب یادگیری عمیق بوده و بهویژه برای بارگذاری تصاویر مورد استفاده قرار میگیرد.
- کراس (Keras) یک چارچوب یادگیری عمیق با رابط کاربری پایتون است.
منبع: howtogeek.com