ماشین لرنینگ چیست ؟ و چگونه به متخصص یادگیری ماشین تبدیل شویم؟
یادگیری ماشین یا ماشین لرنینگ چیست؟
اگر بخواهیم به زبان ساده تعریفی از Machine Learning داشته باشیم، باید بگوییم یادگیری ماشین علمی است که به ماشینها یاد میدهد چطور چیزهای جدید از خودشان یاد بگیرند. احتمالا بعد از شنیدن این جمله از خودتان میپرسید آخر چرا باید ماشینها از خودشان یاد بگیرند؟ این کار چه سودی برای ما دارد؟ با یک مثال این جمله را بررسی میکنیم.
فرض کنید میخواهیم کف یک زمین را تمیز کنیم. زمانی که یک انسان این کار را انجام میدهد، کیفیت کار میتواند بسیار متغیر باشد چون به عوامل مختلفی بستگی دارد. احتمال اینکه انسان مریض شود یا بعد از چند ساعت کار خسته شود یا حتی بخواهد از زیر کار در برود بسیار زیاد است.
اما اگر به ماشین یاد بدهیم که کثیفی زمین را تشخیص داده و بر اساس میزان کثیفی و شرایط زمین شروع به تمیز کردن سطح آن بکند. اگر برای ماشین این کار را تعریف کنیم، بسیار بهتر از انسان میتواند آن را انجام دهد. بدون اینکه خسته شود یا احتمال مریض شدن داشته باشد. ماشین مدنظر باید بتواند به سوالات زیر جواب بدهد:
چه زمانی زمین نیاز به تمیز کردن دارد؟
تا چه زمانی باید تمیز کردن زمین ادامه داشته باشد؟
و غیره
این کاری است که یادگیری ماشین یا Machine Learning انجام میدهد. یعنی به ماشین اجازه میدهد از خودش یاد گرفته و رفتارش را مرتب بهبود ببخشد.
ماشینها مثل ما انسانها مغز و قدرت تفکر ندارند، پس باید یک راهی وجود داشته باشد که به آنها فکر کردن را یاد بدهیم و اینجا است که مدلهای یادگیری ماشین میتوانند به کمک ما بیایند. به این شکل که ماشین، داده را از محیط بیرونی تحویل گرفته و آن را به مدل مربوطه تحویل میدهد. سپس این مدل با توجه به شرایط موجود تصمیمگیری میکند. در مثال تمیز کردن زمین، ماشین میتواند با دادههایی که میگیرد و تحویل مدل میدهد به اطلاعات مختلفی دست پیدا کند:
چه زمانی زمین نیاز به تمیز کردن دارد یا چه زمانی تمیز است
این تمیز کردن تا چه زمانی باید ادامه داشته باشد
و غیره
یادگیری ماشین یک زیرشاخه معروف در هوش مصنوعی است که کمک میکند ماشینها یا کامپیوترها بتوانند چیزهای جدید یاد بگیرند
یادگیری ماشین در کدام بخشهای زندگی ما دیده میشود؟
احتمالا به این فکر میکنید که یادگیری ماشین کجای زندگی ما حضور دارد و اصلا به چه دردی میخورد. آیا واقعا این علم توانسته راهش را به زندگی روزمره ما باز کند؟ جواب مثبت است و میتوانیم بگوییم تقریبا غیرممکن است زندگی عادی شما تحت تاثیر این شاخه شگفتانگیز قرار نگرفته باشد. نگاهی به سرویسهای زیر بیندازید تا تاثیر ماشین لرنینگ در زندگی روزمره را حس کنید:
گوشی هوشمند شما به طور خودکار چهره شما را تشخیص میدهد یا زمان عکس گرفتن چهره افراد را میتواند بشناسد.
اینستاگرام، فیس بوک و سایر شبکههای اجتماعی با توجه به علایق و سلیقه شما تبلیغات و افراد مختلف را به شما نشان میدهند.
آمازون، دیجی کالا و سایر فروشگاههای آنلاین با توجه تاریخچه جستجو شما محصولات جالبی را پیشنهاد میدهند.
بانکها برای تشخیص تقلبی بودن بعضی از معاملات به صورت بلادرنگ از یادگیری ماشین استفاده میکنند.
مثالهای بالا تنها اشاره کوتاهی به کاربردهای یادگیری ماشین داشتند و این حوزه بسیار گستردهتر است.
یادگیری ماشین به چند دسته تقسیم میشود؟
به طور کلی یادگیری ماشین را به 3 دسته تقسیم میکنند:
یادگیری با نظارت (Supervised Learning)
یادگیری بدون نظارت (Unsupervised Learning)
یادگیری تقویتی (Reinforcement Learning)
در ادامهی مقالهی ماشین لرنینگ چیست به توضیح این سه دسته میپردازیم.
یادگیری با نظارت چیست؟
همانطور که از نام آن میتوانید حدس بزنید در این حالت ماشین نیاز به یک ناظر یا راهنما دارد. دقیقا مثل یک کسی که پشت فرمان نشسته و در حال یاد گرفتن رانندگی است. کنار این شخص کسی به عنوان راهنما نشسته و توصیههای لازم را به او میدهد. در یادگیری با نظارت یک سری دادههای از قبل آماده شده به عنوان راهنما تحویل ماشین داده شده و ماشین با توجه به مدل مربوطه تصمیمات لازم را اتخاذ میکند.
یادگیری بدون نظارت چیست؟
در این حالت ماشین نیازی به راهنما نداشته و به کمک مشاهدات میتواند روابط بین دادهها را کشف کند. در این حالت بعد از اینکه کامپیوتر دادههای مختلف را دریافت کرد میتواند روابط بین آنها را کشف کند. یک مثال در یادگیری بدون نظارت ماشینی است که میتواند به کمک خوشه بندی و بر اساس الگوهایی که درک کرده است، تفاوت بین دو خودرو سمند و دنا را تشخیص دهد. یعنی اگر 100 خودرو به ماشین معرفی شود، در یکی از این 2 دسته قرار خواهد گرفت.
یادگیری تقویتی چیست؟
باز هم با دقت در اسم این مدل میتوانید کارکرد آن را متوجه شوید. در این حالت ماشین مرتب خود را تقویت کرده و سعی میکند در ارتباط با یک عامل (Agent) یا محیط (Environment) چیزهای جدید یاد بگیرد. این متد به کمک آزمون و خطا سعی در حل مساله داشته و در صورت گرفتن نتیجه مثبت پاداش و در صورت گرفتن نتیجه منفی جریمه میشود. در این حالت ماشین سعی میکند در تصمیمهای آتی خود موفقتر باشد.
تفاوت خودکارسازی یا اتوماسیون (Automation) با ماشین لرنینگ چیست
اگر فکر میکنید یادگیری ماشین اسم جدید و جذابی برای خودکارسازی یا اتوماسیون است سخت در اشتباهید. این دو شاخه با هم تفاوت دارند.
بیشتر اتوماسیونهایی که اتفاق میافتند مبتنی بر قانون هستند. یعنی یک سری کارها با الگو از قبل تعریف شده انجام شوند. اما در ماشین لرنینگ ماشینها از کارهای قبلی خود چیزهای جدید یاد میگیرند. یعنی ماشینها میتوانند تصمیمات جدید بگیرند یا عملکرد خود را تغییر دهند.
یک مثال عالی برای درک تفاوت اتوماسیون و یادگیری ماشین سرویس ایمیل است. زمانی که ایمیلها به طور خودکار ارسال میشوند ما از اتوماسیون استفاده کردهایم و زمانی که یک فیلتر تشخیص اسپم روی آن قرار میدهیم، یعنی یادگیری ماشین را درگیر کردهایم.
تفاوت یادگیری عمیق (Deep Learning) با ماشین لرنینگ چیست
3 مفهوم هوش مصنوعی (AI)، یادگیری ماشین (ML) و یادگیری عمیق (DL) معمولا در کنار هم قرار میگیرند و گاهی با هم اشتباه گرفته میشوند. Deep Learning شامل مفاهیم و الگوریتمهایی است که از شبکههای عصبی مصنوعی که ساختار مغز انسان را تشکیل میدهند الهام گرفته شده است.
به عبارتی دیپ لرنینگ زیرمجموعه یادگیری ماشین است و خودِ یادگیری ماشین هم به عنوان زیرمجموعه هوش مصنوعی در نظر گرفته میشود. تصویر زیر به خوبی رابطه این 3 مفهوم را نمایش میدهد.
ماشین لرنینگ یا یادگیری ماشین دانشی است که کمک میکند رایانهها بدون برنامهریزی مشخص و با الگو گرفتن از رفتار خودشان کارهای جدید انجام دهند. گفتیم که یادگیری ماشین به عنوان زیرمجموعهای از هوش مصنوعی به 3 دستهی کلی با نظارت، بدون نظارت و تقویتی تقسیم میشود. ماشین لرنینگ در بخشهای مختلف زندگی مردم حضور دارد و سرویسهای مختلفی به کمک این دانش ساخته میشوند.
تئوری یادگیری ماشین و الگوریتمهای آن را خوب یاد بگیرید
برای یک متخصص ماشین لرنینگ بسیار مهم است که اصول اولیه و مفاهیم پایه یادگیری ماشین را بلد باشد. شما به عنوان یک متخصص ماشین لرنینگ باید الگوریتمهای معروف این حوزه و اهدافی که دنبال میکنند را بلد باشید. در قدم بعدی باید درک کنید که این الگوریتمها چطور با دادهها کار میکنند. همانطور که در بخش قبل گفتیم الگوریتمهای یادگیری ماشین در سه حوزهی کلی نظارتی، بدون نظارت و تقویتیاند. در ادامه تعدادی از معروفترین این الگوریتمها را برای شما لیست میکنیم تا دربارهی آنها مطالعه کنید:
رگرسیون خطی
رگرسیون لجستیک
خوشه بندی
درخت تصمیم
جنگل تصادفی
CART
Apriori
PCA
K-means
KNN
و غیره
آشنایی با شغلهای هوش مصنوعی و ماشین لرنینگ
1 – مهندس یادگیری ماشین
مهندسی یادگیری ماشین مهمترین و پرتقاضاترین شغل فعلی هوش مصنوعی در جهان است. این شغل شامل متخصصانی میشود که تسلط بالایی در ساخت سیستمهای مبتنی بر هوش مصنوعی دارند، سیستمهایی که بتوانند از خودشان چیزهای جدید یاد بگیرند. رسیدن به مهارت بالا در این عنوان شغلی کمی سخت است.
مهندسان واقعی و خبره یادگیری ماشین باید بتوانند با طیف گستردهای از دادهها کار کرده و برنامه نویسی را در سطح قابل قبولی بلد باشند. تخمین زده میشود به طور میانگین ( در زمان نگارش این مقاله) هر مهندس یادگیری ماشین در ایالات متحده سالانه بین 120.000 تا 140.000 دلار درآمد دارد. البته افراد ماهر میتوانند درآمد بیشتری هم داشته باشند.
2 – دانشمند رباتیک
رباتها جدا از جذابیتی که برای مردم دارند و فیلمهای سینمایی پر تب و تاب هالیوودی که ساخته میشود، کاربردهای بسیار گستردهتری میتوانند داشته باشند. در تولید رباتها نقش بسیار گستردهای دارند و میتوانند بسیاری از کارهای دشوار را با سرعت بالا انجام دهند. رباتهای جراح میتوانند حتی با دقتی بیشتر از دستهای یک جراح، یک عمل پزشکی را انجام دهند. حتی امروزه رباتهای خانگی هم در حال تجاری سازی هستند. تنوع مشاغل رباتیک بسیار زیاد است و فرصتی نیست که دربارهی همه آنها صحبت کنیم.
کسانی که در هوش مصنوعی فعال هستند، میتوانند بعدا به عنوان یک کارشناس و متخصص رباتیک شروع به کار کنند. البته این افراد بعد از ورود به این حوزه باید مهارتهای جدیدی را هم یاد بگیرند. از آنجایی که رباتیک ترکیبی از کامپیوتر، مکانیک و برق است داوطلبان این موقعیت شغلی باید به جز هوش مصنوعی و ماشین لرنینگ به این مباحث هم علاقهمند باشند. متوسط درآمد مهندسان رباتیک در زمان نگارش این مقاله در آمریکا به طور میانگین 75.000 دلار در سال است.
3 – مهندس یادگیری عمیق
یادگیری عمیق با اینکه زیرمجموعهای از ماشین لرنینگ به حساب میآید اما پیچیدگیهای خاصی نسبت به یادگیری ماشین دارد. به همین دلیل نیاز به کسانی دارد که به طور تخصصی در این حوزه فعالیت کنند. یک متخصص یادگیری عمیق تلاش میکند رفتار مغز انسان را بشناسد و سیستمهایی بسازد که از عملکرد مغز انسان تقلید کند. برای این کار این افراد از شبکههای عصبی استفاده میکنند. به عبارت سادهتر یک مهندس یادگیری عمیق میتواند ماشینهایی بسازد که بدون دخالت انسان توانایی یادگیری داشته باشد.
4 – دانشمند داده
همانطور که از اسم این شغل میتوانید حدس بزنید متخصص داده باید دادههای مختلف را جمع آوری کرده و به کمک یادگیری ماشین آنها را تحلیل کند. این شغل با اینکه از مباحث آماری استفاده میکند اما وظیفهی آن فقط جمع کردن گزارش و آمار نیست. کسانی که در این حوزه وارد میشوند باید در استفاده از پلتفرمهای Big Data و ابزارهای مختلف مثل Hadoop، Pig، Hive، Spark، MapReduce و غیره، متخصص باشد. همچنین یادگیری زبانهای برنامه نویسی و کار با پایگاه داده مثل پایتون، SQL، پرل، اسکالا یا غیره، ضروری به نظر میرسد. متوسط درآمد دانشمندان داده در آمریکا در زمان نگارش این مقاله سالانه در حدود 115.000 دلار در سال است.
4 – متخصص بینایی ماشین
وظیفه این متخصص است که به ماشینها بینایی ببخشد. درست مثل ما انسانها که با چشمان خودمان میتوانیم دنیای بیرون را دیده و بسیاری از مسائل را تشخیص دهیم. البته ماشین به کمک دوربینهای خاص و نرم افزارهای پردازش تصویر دنیای بیرون را میبیند و با ساختار بینایی انسان تفاوتهای اساسی دارد. بینایی ماشین در بخشهای مختلفی مثل جریمه رانندگان متخلف، افزایش ایمنی خودروها، کنترل ترافیک، بخشهای مختلف صنعت و تولید و غیره کاربرد دارد. یک متخصص بینایی ماشین باید در علوم رایانه، شناخت نور، مهندسی مکانیک و غیره تخصص داشته باشد.
سخن پایانی
یادگیری ماشین یک زیرشاخه معروف در هوش مصنوعی است که کمک میکند ماشینها یا کامپیوترها بتوانند بدون برنامهریزی مشخص و با الگو گرفتن از رفتار خودشان تصمیمگیری و عمل کنند. ماشین لرنینگ در بخشهای مختلف زندگی مردم حضور دارد و سرویسهای مختلفی به کمک این دانش ساخته میشوند. یافتن تخصص در زمینهی ماشین لرنینگ طرفداران فراوانی در دنیای علوم کامپیوتر دارد، زیرا حوزههای شغلی فراوانی در دنیا نیازمند متخصصان علم داده است. برای تبدیل شدن به یک متخصص ماشین لرنینگ شما باید مفاهیم و نظریههای مطرح Machine Learning را بلد باشید، الگوریتمهای معروف ML را بشناسید، درک مناسبی نسبت به آمار و احتمال و ریاضیات داشته باشید و مهمتر اینکه توانایی قابل قبولی در زمینهی پردازش اطلاعات و کار با داده از طریق برنامهنویسی را داشته باشید. در مقاله ماشین لرنینگ چیست به توضیح کاربردهای یادگیری ماشین و اینکه چگونه به یک متخصص ماشین لرنینگ تبدیل شویم و آینده شغلی یادگیری ماشین پرداختیم.
جواد یوسفی
برنامه نویس فرانت اند
دیدگاه کاربران
ثبت دیدگاه
برای ثبت نظر، ابتدا وارد شوید.
محمد عبادی پور
👍👌