مدیریت پایگاه داده چیست؟ +انواع پایگاه داده+10 دوره آموزشی مدیریت DataBase 🟢
اکتبر 5, 2023جایگزین دراپ باکس + معرفی 14 پلتفرم برای ذخیره ابری + افزایش حجم فضا🟢
اکتبر 8, 2023یادگیری ماشینی کامپیوترها را قادر میسازد تا وظایفی را انجام دهند که تاکنون فقط توسط افراد انجام میشده است. از رانندگی ماشین تا ترجمه گفتار، یادگیری ماشینی باعث انفجار در قابلیتهای هوش مصنوعی میشود . به نرمافزار کمک میکند تا دنیای واقعی کثیف!! و غیرقابل پیشبینی را درک کند. اما دقیقاً یادگیری ماشین چیست و چه چیزی رونق فعلی یادگیری ماشین را ممکن میکند؟. در این مقاله می خواهیم به طور کامل Machine learning را برای شما توضیح دهیم.
آنچه در این مقاله خواهید خواند :
یادگیری ماشینی چیست؟
در سطح بسیار بالایی، یادگیری ماشینی فرآیندی است که به سیستم رایانه ای آموزش می دهد که چگونه در هنگام تغذیه داده ها، پیش بینی های دقیق انجام دهد. این پیشبینیها میتوانند پاسخ دهند که آیا یک تکه میوه در عکس موز است یا سیب، دیدن افرادی که در حال عبور از جاده در مقابل یک ماشین خودران هستند. آیا استفاده از کلمه کتاب در یک جمله مربوط به جلد شومیز است یا رزرو هتل، چه ایمیل هرزنامه باشد، چه تشخیص گفتار با دقت کافی برای ایجاد زیرنویس برای یک ویدیوی YouTube.
تفاوت اصلی با نرمافزارهای رایانهای سنتی این است که یک توسعهدهنده انسانی کدی را ننوشته است. که به سیستم دستور دهد چگونه تفاوت بین موز و سیب را تشخیص دهد. در عوض، به یک مدل یادگیری ماشینی آموزش داده شده است که چگونه با آموزش روی مقدار زیادی داده، به طور قابل اعتماد بین میوه ها تمایز قائل شود. در این مثال احتمالاً تعداد زیادی از تصاویر دارای برچسب حاوی موز یا سیب هستند.
تفاوت بین هوش مصنوعی و یادگیری ماشینی چیست؟
یادگیری ماشینی ممکن است اخیراً از موفقیت های عظیمی برخوردار بوده باشد. اما این تنها یک روش برای دستیابی به هوش مصنوعی است. در بدو تولد حوزه هوش مصنوعی در دهه 1950، هوش مصنوعی به عنوان هر ماشینی که قادر به انجام وظیفه ای است. که معمولاً به هوش انسانی نیاز دارد، تعریف شد. سیستمهای هوش مصنوعی به طور کلی حداقل برخی از ویژگیهای زیر را نشان میدهند: برنامهریزی، یادگیری، استدلال، حل مسئله، بازنمایی دانش، ادراک، حرکت، و دستکاری و تا حدی هوش اجتماعی و خلاقیت.
در کنار یادگیری ماشینی، رویکردهای مختلف دیگری نیز برای ساختن سیستمهای هوش مصنوعی استفاده میشود. از جمله محاسبات تکاملی، که در آن الگوریتمها با جهشها و ترکیبهای تصادفی بین نسلها در تلاش برای «تکامل» راهحلهای بهینه، و سیستمهای خبره، که در آن رایانهها با قوانینی برنامهریزی میشوند که اجازه میدهد آنها برای تقلید از رفتار یک متخصص انسانی در یک حوزه خاص. به عنوان مثال یک سیستم خلبان خودکار در حال پرواز با هواپیما.
انواع اصلی یادگیری ماشینی چیست؟
یادگیری ماشین به طور کلی به دو دسته اصلی تقسیم می شود: یادگیری تحت نظارت و بدون نظارت.
یادگیری تحت نظارت
این رویکرد اساساً ماشینها را با مثال آموزش میدهد.
در طول آموزش برای یادگیری تحت نظارت، سیستمها در معرض مقادیر زیادی از دادههای برچسبگذاری شده قرار میگیرند. بهعنوان مثال تصاویری از شکلهای دستنویس حاشیهنویسی شده برای نشان دادن تعداد آنها. با توجه به مثالهای کافی، یک سیستم یادگیری نظارتشده یاد میگیرد که خوشههای پیکسلها و شکلهای مرتبط با هر عدد را تشخیص دهد . در نهایت قادر به تشخیص اعداد دستنویس باشد و بتواند بهطور قابل اعتمادی بین اعداد ۹ و ۴ یا ۶ و ۸ تمایز قائل شود.
با این حال، آموزش این سیستمها معمولاً به مقادیر عظیمی از دادههای برچسبگذاری شده نیاز دارد. برخی از سیستمها برای تسلط بر یک کار باید در معرض میلیونها مثال قرار گیرند.
در نتیجه، مجموعه دادههای مورد استفاده برای آموزش این سیستمها میتواند بسیار گسترده باشد، با مجموعه دادههای Open Images Google که حدود نه میلیون تصویر دارد، مخزن ویدیوی برچسبدار YouTube-8M به هفت میلیون ویدیوی برچسبدار و ImageNet، یکی از پایگاههای داده اولیه از این نوع پیوند میخورد. داشتن بیش از 14 میلیون تصویر دسته بندی شده. اندازه مجموعه داده های آموزشی همچنان در حال رشد است. فیس بوک اعلام کرد که 3.5 میلیارد تصویر را به صورت عمومی در اینستاگرام با استفاده از هشتگ های متصل به هر تصویر به عنوان برچسب جمع آوری کرده است. استفاده از یک میلیارد از این عکسها برای آموزش یک سیستم تشخیص تصویر، رکوردی از دقت – 85.4٪ – را در معیار ImageNet به دست آورد.
بیشتر بخوانید🚀🚀🚀🚀🚀 » انواع محتوا
یادگیری بدون نظارت
در مقابل، الگوریتمهای وظایف یادگیری بدون نظارت با شناسایی الگوها در دادهها، تلاش برای شناسایی شباهتهایی که آن دادهها را به دستههایی تقسیم میکنند، انجام میدهند. یک مثال میتواند خوشهبندی Airbnb خانههای موجود برای اجاره براساس محله، یا Google News گروهبندی داستانهایی با موضوعات مشابه هر روز باشد.
الگوریتمهای یادگیری بدون نظارت برای جدا کردن انواع خاصی از دادهها طراحی نشدهاند. آنها فقط به دنبال دادههایی هستند که میتوانند بر اساس شباهتها گروهبندی شوند، یا به دنبال ناهنجاریهایی هستند که برجسته هستند.
یادگیری نیمه نظارتی چیست؟
اهمیت مجموعه عظیمی از دادههای برچسبگذاریشده برای آموزش سیستمهای یادگیری ماشینی ممکن است در طول زمان کاهش یابد. به دلیل افزایش یادگیری نیمهنظارتی.
همانطور که از نام آن پیداست، این رویکرد یادگیری تحت نظارت و بدون نظارت را ترکیب می کند. این تکنیک بر استفاده از مقدار کمی از داده های برچسب دار و مقدار زیادی از داده های بدون برچسب برای آموزش سیستم ها متکی است. دادههای برچسبگذاریشده برای آموزش جزئی یک مدل یادگیری ماشینی استفاده میشود و سپس آن مدل نیمه آموزشدیده برای برچسبگذاری دادههای بدون برچسب استفاده میشود، فرآیندی که شبه برچسبگذاری نامیده میشود. سپس مدل بر روی ترکیب حاصل از دادههای برچسبگذاری شده و شبه برچسبگذاری شده آموزش داده میشود.
قابلیت دوام یادگیری نیمه نظارت شده اخیراً توسط شبکههای متخاصم مولد (GAN) تقویت شده است. سیستمهای یادگیری ماشینی که میتوانند از دادههای برچسبگذاری شده برای تولید دادههای کاملاً جدید استفاده کنند. که به نوبه خود میتواند برای کمک به آموزش یک مدل یادگیری ماشینی استفاده شود.
نکته:
اگر یادگیری نیمه نظارتی به اندازه یادگیری تحت نظارت موثر باشد، دسترسی به مقادیر عظیمی از قدرت محاسباتی ممکن است برای آموزش موفقیت آمیز سیستم های یادگیری ماشینی مهم تر از دسترسی به مجموعه داده های بزرگ و برچسب گذاری شده باشد.
یادگیری تقویتی چیست؟
راهی برای درک یادگیری تقویتی این است که به این فکر کنید که چگونه ممکن است کسی برای اولین بار بازی رایانه ای قدیمی را یاد بگیرد، در حالی که با قوانین یا نحوه کنترل بازی آشنا نیست. اگرچه ممکن است کاملاً مبتدی باشند، اما در نهایت، با نگاه کردن به رابطه بین دکمههایی که فشار میدهند، آنچه روی صفحه اتفاق میافتد و امتیاز درون بازیشان، عملکردشان بهتر و بهتر میشود.
نمونه ای از یادگیری تقویتی، شبکه Deep Q گوگل دیپ مایند است که انسان ها را در طیف وسیعی از بازی های ویدئویی قدیمی شکست داده است. این سیستم با پیکسل های هر بازی تغذیه می شود و اطلاعات مختلفی را در مورد وضعیت بازی، مانند فاصله بین اشیاء روی صفحه نمایش، تعیین می کند. سپس بررسی می کند که چگونه وضعیت بازی و اقداماتی که در بازی انجام می دهد با امتیازی که به دست می آورد، مرتبط است.
در طی فرآیند بسیاری از چرخههای بازی، در نهایت سیستم مدلی را میسازد که در آن اقدامات امتیاز را در هر شرایطی به حداکثر میرساند، به عنوان مثال، در مورد بازی ویدیویی Breakout، جایی که پارو باید به آن جابجا شود تا توپ را قطع کند.
یادگیری ماشین تحت نظارت چگونه کار می کند؟
همه چیز با آموزش یک مدل یادگیری ماشینی آغاز می شود. یک تابع ریاضی که قادر به تغییر مکرر نحوه عملکرد آن است تا زمانی که بتواند پیش بینی های دقیقی را با داده های تازه انجام دهد. قبل از شروع آموزش، ابتدا باید انتخاب کنید که کدام داده ها را جمع آوری کنید و تصمیم بگیرید که کدام ویژگی های داده ها مهم هستند. یک مثال بسیار ساده از ویژگی های داده در این توضیح توسط Google ارائه شده است. جایی که یک مدل یادگیری ماشینی برای تشخیص تفاوت بین آبجو و شراب، بر اساس دو ویژگی، رنگ نوشیدنی ها و حجم الکلی آنها (ABV) آموزش داده شده است. البته شما در ایران به این مثال ها توجه نکنید!😉
قبل از شروع آموزش، به طور کلی یک مرحله آماده سازی داده نیز وجود دارد. که طی آن فرآیندهایی مانند تکرار، عادی سازی و تصحیح خطا انجام می شود. گام بعدی انتخاب یک مدل یادگیری ماشینی مناسب از طیف گسترده موجود است. هر کدام بسته به نوع داده دارای نقاط قوت و ضعف هستند. به عنوان مثال برخی برای مدیریت تصاویر، برخی برای متن و برخی برای داده های صرفا عددی مناسب هستند.
پیشبینیهایی که با استفاده از یادگیری نظارتشده انجام میشوند به دو نوع اصلی تقسیم میشوند. طبقهبندی، که در آن مدل دادهها را بهعنوان کلاسهای از پیش تعریفشده برچسبگذاری میکند، برای مثال ایمیلها را بهعنوان هرزنامه یا غیر هرزنامه شناسایی میکند. نوع دوم رگرسیون، که در آن مدل مقداری مستمر مانند قیمت خانه را پیشبینی میکند.
بیشتر بخوانید🚀🚀🚀🚀🚀 » خطرات فضای مجازی
آموزش ماشینی تحت نظارت چگونه کار می کند؟
اساساً، فرآیند آموزش شامل مدل یادگیری ماشینی است که به طور خودکار نحوه عملکرد خود را تغییر میدهد تا زمانی که بتواند پیشبینیهای دقیقی از دادهها انجام دهد، در مثال Google، زمانی که به مدل رنگ نوشیدنی و ABV داده میشود، نوشیدنی را بهعنوان آبجو یا شراب به درستی برچسبگذاری میکند.
یک راه خوب برای توضیح فرآیند آموزش، در نظر گرفتن مثالی با استفاده از یک مدل یادگیری ماشینی ساده، معروف به رگرسیون خطی با نزول گرادیان است. در مثال زیر، از این مدل برای تخمین تعداد بستنی هایی که بر اساس دمای بیرونی فروخته می شود استفاده می شود. تصور کنید که دادههای گذشته را که فروش بستنی و دمای بیرون را نشان میدهند، در نظر بگیرید و آن دادهها را در مقابل یکدیگر بر روی یک نمودار پراکندگی رسم کنید – اساساً یک پراکندگی از نقاط گسسته ایجاد میکند.
برای پیشبینی تعداد بستنیهایی که در آینده بر اساس دمای هوای بیرون فروخته میشود، میتوانید مانند تصویر زیر خطی بکشید که از وسط همه این نقاط میگذرد. پس از انجام این کار، می توان فروش بستنی را در هر دمایی با یافتن نقطه ای که در آن خط از یک دمای خاص عبور می کند و خواندن میزان فروش مربوطه در آن نقطه، پیش بینی کرد. با برگرداندن آن به آموزش یک مدل یادگیری ماشینی، در این مثال آموزش یک مدل رگرسیون خطی شامل تنظیم موقعیت عمودی و شیب خط تا زمانی است که در وسط تمام نقاط نمودار پراکندگی قرار گیرد.
نکته مهم:
در هر مرحله از فرآیند آموزش، فاصله عمودی هر یک از این نقاط از خط اندازه گیری می شود. اگر تغییر در شیب یا موقعیت خط منجر به افزایش فاصله تا این نقاط شود، شیب یا موقعیت خط در جهت مخالف تغییر میکند و اندازهگیری جدیدی انجام میشود.
به این ترتیب، از طریق بسیاری از تنظیمات کوچک در شیب و موقعیت خط، خط به حرکت خود ادامه می دهد تا در نهایت در موقعیتی قرار گیرد که برای توزیع همه این نقاط مناسب است. هنگامی که این فرآیند آموزشی کامل شد، می توان از خط برای پیش بینی های دقیق برای تأثیر دما بر فروش بستنی استفاده کرد و می توان گفت که مدل یادگیری ماشینی آموزش دیده است.
آموزش برای مدلهای پیچیدهتر یادگیری ماشینی مانند شبکههای عصبی از جنبههای مختلف متفاوت است. از این جهت مشابه است که میتواند از رویکرد نزولی گرادیان استفاده کند. که در آن مقدار «وزنها»، متغیرهایی که با دادههای ورودی ترکیب میشوند تا تولید کنند. مقادیر خروجی به طور مکرر تغییر داده می شوند تا زمانی که مقادیر خروجی تولید شده توسط مدل تا حد امکان به آنچه که مورد نظر است نزدیک شود.
فواید یادگیری ماشینی
هنگامی که آموزش مدل کامل شد، مدل با استفاده از دادههای باقیمانده که در طول آموزش استفاده نشده است، ارزیابی میشود . به سنجش عملکرد واقعی آن کمک میکند. هنگام آموزش یک مدل یادگیری ماشینی، معمولاً حدود 60٪ از مجموعه داده برای آموزش استفاده می شود. 20% دیگر از داده ها برای اعتبارسنجی پیش بینی های انجام شده توسط مدل و تنظیم پارامترهای اضافی که خروجی مدل را بهینه می کند استفاده می شود. این تنظیم دقیق برای افزایش دقت پیشبینی مدل هنگام ارائه دادههای جدید طراحی شده است.
به عنوان مثال، یکی از آن پارامترهایی که مقدار آن در طول این فرآیند اعتبار سنجی تنظیم می شود، ممکن است مربوط به فرآیندی به نام منظم سازی باشد. انجام این کار به کاهش بیش از حد تناسب کمک می کند. مشکلی که می تواند هنگام آموزش یک مدل ایجاد شود. تطبیق بیش از حد زمانی اتفاق میافتد که مدل زمانی که دادههای آموزشی اصلی خود را تغذیه میکند، پیشبینیهای بسیار دقیقی تولید میکند. اما وقتی با دادههای جدید ارائه میشود، نمیتواند به آن سطح از دقت نزدیک شود و استفاده در دنیای واقعی آن را محدود میکند.
این مشکل به این دلیل است که مدل برای انجام پیشبینیهایی که بسیار نزدیک به الگوهای دادههای آموزشی اصلی هستند، آموزش دیده است . یعنی توانایی مدل را برای تعمیم پیشبینیهای خود به دادههای جدید محدود میکند. یک مشکل معکوس عدم برازش است. جایی که مدل یادگیری ماشینی نمی تواند الگوهای موجود در داده های آموزشی را به اندازه کافی ثبت کند و دقت آن را به طور کلی محدود می کند.
بیشتر بخوانید🚀🚀🚀🚀🚀 » مدیریت پایگاه داده
چرا دانش دامنه ای و گسترده مهم است؟
یکی دیگر از تصمیمات مهم در هنگام آموزش یک مدل یادگیری ماشینی این است که مدل بر روی کدام داده آموزش داده شود. برای مثال، اگر میخواهید مدلی بسازید تا پیشبینی کنید که آیا یک تکه میوه پوسیده است یا خیر، به اطلاعات بیشتری نیاز دارید تا صرفاً مدت زمانی که از چیدن میوه گذشته است. همچنین از دانستن اطلاعات مربوط به تغییر رنگ آن میوه در هنگام پوسیدگی و دمایی که میوه در آن نگهداری شده است، سود خواهید برد. دانستن اینکه کدام داده ها برای پیش بینی های دقیق مهم هستند بسیار مهم است.
به همین دلیل است که معمولاً هنگام جمعآوری دادههای آموزشی از متخصصان دامنه استفاده میشود. زیرا این متخصصان نوع دادههای مورد نیاز برای پیشبینی صحیح را درک میکنند.
شبکه های عصبی دیجیتال!
گروه بسیار مهمی از الگوریتمها برای یادگیری ماشین تحت نظارت و بدون نظارت شبکههای عصبی هستند. اینها زیربنای بسیاری از یادگیری ماشین هستند. در حالی که مدلهای ساده مانند رگرسیون خطی مورد استفاده را میتوان برای پیشبینی بر اساس تعداد کمی از ویژگیهای داده استفاده کرد. مانند مثال Google در مورد آبجو و شراب، شبکههای عصبی هنگام برخورد با مجموعههای بزرگ مفید هستند. داده ها با ویژگی های فراوان شبکههای عصبی، که ساختار آنها به طور ضعیفی از مغز الهام گرفته شده است. لایههای به هم پیوستهای از الگوریتمها به نام نورونها هستند. که دادهها را به یکدیگر تغذیه میکنند و خروجی لایه قبلی ورودی لایه بعدی است.
هر لایه را می توان به عنوان شناسایی ویژگی های مختلف داده های کلی در نظر گرفت. به عنوان مثال، مثال استفاده از یادگیری ماشینی برای تشخیص اعداد دست نویس بین 0 و 9 را در نظر بگیرید. لایه اول در شبکه عصبی ممکن است شدت تک تک پیکسل ها را در تصویر اندازه گیری کند، لایه دوم می تواند اشکالی مانند خطوط و منحنی ها را تشخیص دهد. و لایه نهایی ممکن است آن شکل دست نویس را به عنوان عددی بین 0 و 9 طبقه بندی کند.
روند طبیعی یادگیری ماشینی
شبکه یاد میگیرد که چگونه پیکسلهایی را که شکل اعداد را تشکیل میدهند در طول فرآیند آموزش، با تغییر تدریجی اهمیت دادهها در جریان جریان بین لایههای شبکه، تشخیص دهد. این به دلیل وجود هر پیوند بین لایهها که دارای وزن متصل هستند، امکانپذیر است، که مقدار آن میتواند برای تغییر اهمیت آن پیوند افزایش یا کاهش یابد. در پایان هر چرخه آموزشی، سیستم بررسی میکند که آیا خروجی نهایی شبکه عصبی از آنچه مورد نظر است نزدیکتر یا دورتر میشود .
به عنوان مثال، آیا شبکه در شناسایی یک عدد دستنویس 6 بهتر یا بدتر میشود. برای بستن شکاف بین بین خروجی واقعی و خروجی مورد نظر، سیستم سپس از طریق شبکه عصبی به سمت عقب کار می کند و وزن های متصل به همه این پیوندهای بین لایه ها و همچنین یک مقدار مرتبط به نام بایاس را تغییر می دهد. به این فرآیند پس انتشار می گویند.
در نهایت این فرآیند بر روی مقادیر این وزنها و تعصبی که به شبکه اجازه میدهد تا یک وظیفه معین را به طور قابل اعتماد انجام دهد، مانند تشخیص اعداد دستنویس، حل میشود و میتوان گفت شبکه نحوه انجام یک کار خاص را “یاد گرفته است”.
یادگیری عمیق چیست و شبکه های عصبی عمیق چیست؟
زیرمجموعهای از یادگیری ماشینی، یادگیری عمیق است. که در آن شبکههای عصبی به شبکههای گسترده با تعداد زیادی لایه شامل واحدهای زیادی که با استفاده از مقادیر عظیم داده آموزش داده میشوند، گسترش مییابند. این شبکههای عصبی عمیق هستند. که به جهش فعلی در توانایی رایانهها برای انجام وظایفی مانند تشخیص گفتار و بینایی رایانه دامن زدهاند.
انواع مختلفی از شبکه های عصبی با نقاط قوت و ضعف متفاوت وجود دارد. شبکههای عصبی بازگشتی نوعی شبکه عصبی هستند. که مخصوصاً برای پردازش زبان و تشخیص گفتار مناسب هستند. در حالی که شبکههای عصبی کانولوشنال معمولاً در تشخیص تصویر استفاده میشوند. طراحی شبکههای عصبی نیز در حال تکامل است. بهتازگی محققان طراحی کارآمدتری برای نوع مؤثر شبکههای عصبی عمیق به نام حافظه کوتاهمدت بلند مدت یا LSTM ابداع کردهاند.
به اندازه کافی سریع عمل می کند تا در سیستم های درخواستی مانند Google Translate استفاده شود. تکنیک هوش مصنوعی الگوریتم های تکاملی حتی برای بهینه سازی شبکه های عصبی به لطف فرآیندی به نام تکامل عصبی مورد استفاده قرار می گیرد. این رویکرد توسط آزمایشگاه هوش مصنوعی Uber (مشابه اسنپ در امریکا) به نمایش گذاشته شد. که مقالاتی در مورد استفاده از الگوریتمهای ژنتیک برای آموزش شبکههای عصبی عمیق برای مشکلات یادگیری تقویتی منتشر کرد.
آیا یادگیری ماشین تنها با استفاده از شبکه های عصبی انجام می شود؟
اصلا. مجموعهای از مدلهای ریاضی وجود دارد که میتوان از آنها برای آموزش یک سیستم برای پیشبینی استفاده کرد. یک مدل ساده رگرسیون لجستیک است که با وجود نام آن معمولاً برای طبقهبندی دادهها استفاده میشود، به عنوان مثال هرزنامه در مقابل اسپم نیست. رگرسیون لجستیک برای پیاده سازی و آموزش در هنگام انجام طبقه بندی باینری ساده ساده است . می تواند برای برچسب زدن بیش از دو کلاس گسترش یابد.
یکی دیگر از مدل های رایج، ماشین های بردار پشتیبان (SVM) هستند. که به طور گسترده برای طبقه بندی داده ها و پیش بینی ها از طریق رگرسیون استفاده می شوند. SVMها میتوانند دادهها را به کلاسها جدا کنند. حتی اگر دادههای رسمشده به گونهای با هم ترکیب شوند که جدا کردن آنها در کلاسهای مجزا دشوار به نظر برسد. برای دستیابی به این هدف، SVM ها یک عملیات ریاضی به نام ترفند هسته را انجام می دهند. که نقاط داده را به مقادیر جدید نگاشت می کند، به طوری که می توان آنها را به طور تمیز به کلاس ها تفکیک کرد.
انتخاب مدل یادگیری ماشینی برای استفاده به طور معمول بر اساس عوامل زیادی مانند اندازه و تعداد ویژگیهای مجموعه داده است. که هر مدل دارای مزایا و معایب است.