چند وقتی است این تبوتاب به دنیای هوش مصنوعی و یادگیری ماشین وارد شده است و شاهد هستیم که برخی آموزشگاهها شروع به تبلیغات مختلفی کردهاند و جالب آنکه برخی شرکتها نیز آگهیهای نسبتا عجیبی در این زمینه منتشر میکنند. بهطور مثال، یک آژانس فروش بلیط هواپیما، آگهی استخدام مهندس یادگیری عمیق منتشر میکند. همین مسئله باعث شد در این مقاله به بررسی این موضوع بپردازیم که یک فرد علاقهمند به دنیای یادگیری ماشین (با ناظر، بدون ناظر و تقویتی) بر مبنای چه نقشه راهی باید مهارتهای مورد نیاز را بیاموزد، چه مدت زمانی طول خواهد کشید تا بتواند برای مشاغل این حوزه رزومه ارسال کند و بازار کار این حوزه در چه وضعیتی قرار دارد.
وضعیت بازار کار
آمارها نشان میدهند از سال 2015 تا به امروز، تعداد آگهیهای استخدامی در ارتباط با جذب مهندس یادگیری ماشین رشد صعودی داشتهاند و متوسط حقوق دریافتی این متخصصان در مقیاس جهانی بهطور متوسط برابر با 146085 دلار است.
اگر در مورد دادهها، اتوماسیون و الگوریتمها اشتیاق خاصی دارید، یادگیری ماشین انتخاب شغلی خوبی است، زیرا در یک روز کاری با حجم گستردهای از دادههای خام، پیادهسازی الگوریتمهایی برای پردازش دادهها و خودکارسازی فرآیندها و بهینهسازی الگوریتمها در ارتباط خواهید بود. دلیل دیگری که ورود به حوزه یادگیری ماشین را جذاب میکند، مسیرهای شغلی مختلفی است که پیش روی شما قرار دارد. با پیشینه یادگیری ماشین، میتوانید بهعنوان مهندس یادگیری ماشین، دانشمند داده، متخصص پردازش زبان طبیعی، توسعهدهنده هوش تجاری، طراح چتباتهای تعاملی و نمونههای مشابه شغل پردرآمدی داشته باشید.
یکی از دلایل عمده سودآوری مشاغل یادگیری ماشین این است که مهارتهای این فناوری پاسخگوی نیازهای شرکتها است. یادگیری ماشین با ارائه راهکارهایی دقیق به شرکتها در برونرفت از مشکلات اقتصادی و کسب سود بیشتر کمک میکند. بهطور مثال، در جریان همهگیری ویروس کرونا، شرکتهایی مثل مایکروسافت و آمازون به واسطه پلتفرمهای ابرمحور و ارائه سرویسهای مبتنی بر یادگیری ماشین توانستند به سودهای کلانی دست پیدا کنند. علاوه بر این، همواره رقابت شدیدی میان شرکتها برای جذب متخصصان یادگیری ماشین وجود دارد که جدیدترین مورد در این زمینه استخدام متخصص یادگیری ماشین شرکت اپل توسط گوگل بود. ایان گودفلو ، یکی از مدیران اجرایی اسبق اپل که بهدلیل سیاست سختگیرانه این شرکت برای بازگشت کارمندان به محیط کار استعفا داده بود، به فاصله کوتاهی توسط تیم DeepMind (زیرشاخه آلفابت) استخدام شد. گودفلو هنگام فعالیت در اپل مسئولیت نظارت بر عملکرد تیمهای یادگیری ماشین و هوش مصنوعی این شرکت را برعهده داشت.
مشاغل دادهمحور، فرصتهای شغلی بیشتر
در ورای مرزهای ایران، شرکتهای کوچک و بزرگ روزانه آگهیهایی در ارتباط با استخدام متخصصان هوش مصنوعی و افرادی که توانایی کار با دادهها را دارند منتشر میکنند، اما در ایران هنوز برخی شرکتها از مکانیزمهای سنتی برای انجام فعالیتهای تجاری استفاده میکنند. درست است که هر ساله همایشها، سمینارها و کنفرانسهای مختلفی با محوریت هوش مصنوعی و زیرمجموعههای آن برگزار میشود و شرکتها و استارتآپهایی وجود دارند که بهشکل جدی در این زمینه به فعالیت اشتغال دارند، اما در مقایسه با معیار جهانی این حوزه از دنیای فناوری در ایران هنوز جای کار زیادی دارد. بنابراین، بازار کار متخصصان هوش مصنوعی و یادگیری ماشین در ایران اشباع نشده است؛ از اینرو در چند سال آینده، شاهد رشد آگهیهای استخدامی مرتبط با مشاغل دادهمحور خواهیم بود.
در بازه جهانی، سالانه شاهد رشد 74 درصدی آگهیهای استخدامی مرتبط با یادگیری ماشین و هوش مصنوعی هستیم. یکی از دلایل این مسئله، به ماهیت این علم باز میگردد. یادگیری ماشین در مقایسه با مهارتهای دیگر صنعت فناوری اطلاعات تنها به یادگیری کار با ابزارها، کتابخانهها یا زبانهای برنامهنویسی خلاصه نمیشود و افراد باید توانایی تحلیل و فرموله کردن مسئله را داشته باشند. با اینحال، بخش عمدهای از مهارتهای موردنیاز یک متخصص یادگیری ماشین (تقویتی) در ارتباط با مباحث جبری و آمار است. به بیان دقیقتر، شما نمیتوانید مدعی شوید در زمینه برنامهنویسی یادگیری ماشین بالاترین سطح از مهارتها را دارید، در حالی که توانایی تحلیل و پیادهسازی فرمولهای ریاضی را نداشته باشید. بهویژه فرمولهایی که در مقاله الگوریتمهای یادگیری تقویتی به آنها اشاره کردیم. از اینرو، آموزشگاههای خصوصی کمی قادر به برگزاری کلاسهای آموزش برنامهنویسی یادگیری ماشین تقویتی هستند. آشنایی با مباحث ریاضی و آمار، تسلط بر زبانهای برنامهنویسی و کتابخانههای مطرح این حوزه باعث خواهند شد در دنیای یادگیری ماشین یا علم داده فرصتهای شغلی خوبی پیدا کنید. موضوع مهم دیگری که باید در ارتباط با یادگیری ماشین به آن اشاره داشته باشیم این است که برخی از موقعیتهای شغلی این حوزه کمتر شناختهشده هستند. یکی از این مشاغل مهندس MLOps است. در ادامه بهطور مختصر نگاهی به این عنوان شغلی خواهیم داشت و بعد بهسراغ مهارتهایی خواهیم رفت که یک مهندس یادگیری تقویتی به آنها نیاز دارد.
MLOps چیست؟
MLOps در تقاطع بین علم داده، دوآپس و مهندسی داده قرار دارد. یک مهندس MLOps با استفاده از مهندسی نرمافزار و مهارتهای علم داده، مدلهای یادگیری ماشین را از مرحله آزمایش به مرحله تولید میآورد. MLOps در رتبهبندی مشاغل نوظهور لینکدین با رشد 9.8 درصدی در صدر مشاغل مورد توجه شرکتها قرار دارد. بیشتر افرادی که بهدنبال ورود به صنعت داده هستند مجبور هستند مهارتهای یادگیری ماشین را بیاموزند. با این حال، بیشتر دانشمندان داده نمیتوانند مدلهایی را که میسازند به مرحله تولید وارد کنند. همین مسئله باعث شده تا شرکتها با مشکل شکاف بین طراحی مدلها و پیادهسازی آنها روبهرو شوند و مدلهای یادگیری ماشین ساختهشده قابل استفاده نباشند، زیرا هیچگاه در اختیار کاربر نهایی قرار نخواهند گرفت. مهندسی MLOps با هدف پر کردن این شکاف پدید آمده و به شرکتها اجازه میدهد تا مدلهای علم داده را بهشکل تجاری عملیاتی کرده و از آنها سود ببرند.
مهندسی MLOps را باید یک زمینه بهسرعت در حال رشد دانست، زیرا شرکتها بهتدریج در حال درک این حقیقت هستند که دانشمندان داده بهتنهایی قادر به خلق یک مدل یادگیری ماشین ارزشمند نیستند. مهم نیست که یک مدل یادگیری ماشین چقدر دقیق است، اگر در محیط تولیدی غیرقابل استفاده باشد، ارزشی ندارد. بیشتر افرادی که بهدنبال ورود به صنعت داده هستند، تمایل دارند روی علم داده تمرکز کنند. از اینرو، ایده خوبی است که روی یادگیری مهارتهای موردنیاز MLOps وقت بگذارید، زیرا یک شغل سودآور است و حتا در خارج از ایران بازار کار آن اشباع نشده است.
چگونه یک مهندس یادگیری ماشین تقویتی شویم؟
در گذشتهای نه چندان دور، آشنایی با گزینه pivot tables در اکسل یکی از مهارتهای سطح بالا بهشمار میرفت و تسلط بر زبان برنامهنویسی پایتون یک مزیت بزرگ بود، زیرا تعداد برنامهنویسان مسلط بر این زبان زیاد نبودند. امروزه، طیف گستردهای از متخصصانی که حوزه کاری آنها ارتباط چندانی با هوش مصنوعی و یادگیری ماشین ندارد، به این زبان برنامهنویسی مسلط هستند، از اینرو یکی از پیششرطهای مهم ورود به مشاغل مرتبط با یادگیری ماشین (تقویتی) تسلط بر زبان برنامهنویسی پایتون یا گزینههای دیگر است. اگر بهدنبال ایجاد تحولی در حوزه کاری خود هستید و دوست دارید به دنیای هوش مصنوعی و بهطور خاص یادگیری ماشین تقویتی وارد شوید، در ادامه نقشه راه ۹ مرحلهای به شما معرفی میکنیم که نشان میدهد از کجا باید کار را آغاز کنید و چگونه از یک مرحله به مرحله بعد بروید.
خوشبختانه، منابع آنلاین و آفلاین خوبی وجود دارند که به شما کمک میکنند در هر یک از این مراحل به سطح بالایی از مهارت دست پیدا کنید. بهطور میانگین، اگر بهطور تماموقت و فشرده روی 9 مرحله این مقاله تمرکز کنید، بعد از گذشت ده ماه این فرصت را پیدا میکنید تا برای مشاغل یادگیری ماشین تقویتی رزومه ارسال کنید. شکل ۱ مسیر 9 گانهای را که برای تبدیل شدن به یک مهندس یادگیری ماشین باید پشت سر بگذارید نشان میدهد. لازم به توضیح است که مهارتها و ابزارهای مورد استفاده در یادگیری ماشین با ناظر، بدون ناظر و تقویتی همگرایی زیادی دارند و در برخی موارد با هم تفاوتهایی دارند.
شکل 1
مرحله 1. بهدنبال درک اصول پایه و اولیه باشید
چند هفته اول را صرف افزایش دانش عمومی خود در زمینه علم داده و یادگیری ماشین کنید. ممکن است از قبل ایدههایی داشته باشید و بدانید یادگیری ماشین چیست، اما اگر میخواهید به یک متخصص خبره تبدیل شوید باید تا حد امکان روی یادگیری جزئیات متمرکز شوید. توصیه من این است که چند هفته اول را صرف یادگیری مهارتهای زیر کنید:
- تجزیهوتحلیل چیست؟
- علم داده چیست؟
- کلان داده چیست؟
- یادگیری ماشین چیست؟
- هوش مصنوعی چیست؟
- یادگیری ماشین و هوش مصنوعی چه تفاوتی با یکدیگر دارند و چه ارتباطی با یکدیگر دارند؟
- چگونه این علوم در دنیای واقعی مورد استفاده قرار میگیرند؟
در ادامه یک پست وبلاگی بنویسید و از زبان خودتان این مفاهیم را برای دیگران شرح دهید، بهطوری که قادر به درک درست آنها باشند.
مرحله 2. روی یادگیری مباحث آماری تمرکز کنید
باید به حقیقتی اعتراف کنم. با وجود اینکه خودم در زمینه یادگیری ماشین اطلاعاتی دارم، اما احساس نمیکنم در زمینه آمار توانایی زیادی داشته باشم. البته ریشه این مشکل بیشتر به مقاطع قبل از دانشگاه باز میگردد که مباحث ریاضی، آمار و هندسه به بیانی شیوا آموزش داده نمیشوند. در نتیجه با ورود به دانشگاه این مشکل با شما همراه خواهد بود. بنابراین، مجبور هستید خودتان روی یادگیری این مباحث وقت بگذارید.
شما میتوانید بدون آنکه یک متخصص حرفهای آمار شوید، بازهم یک دانشمند داده شوید، اما واقعیت این است که نمیتوانید مفاهیم آماری پیرامون یادگیری ماشین و علم دادهها را نادیده بگیرید. از اینرو، آنچه باید انجام دهید این است که مفاهیم پایه را درک کنید تا بدانید چه زمانی باید از آنها استفاده کنید. اگر بتوانید مفاهیم علم آمار را درک کنید، در آینده با مشکل خاصی از بابت تحلیل مدلها روبهرو نخواهید شد. بهطور خلاصه، پیشنهاد میکنم روی یادگیری مفاهیم زیر تمرکز کنید.
- ساختار دادهها و مجموعهها.
- نمونهبرداری.
- اصول اولیه احتمال.
- توزیع متغیرهای تصادفی.
- استنتاج در ارتباط با دادههای عددی و دستهبندی.
- رگرسیون خطی، چندگانه و لجستیک (تقریبا در همه شاخههای یادگیری ماشین این مباحث را نیاز دارید).
فهرستی از منابعی تهیه کنید که مباحث فوق را به سادهترین شکل آموزش میدهند. کتاب آمار و احتمالات مهندسی رشته کامپیوتر نوشته پرویز نصیری، کتاب آمار و احتمال مقدماتی نوشته جواد بهبودیان و کتاب آمار و احتمال نوشته نرگس عباسی از منابع خوب در این زمینه هستند. در اینترنت نیز منابع آنلاین زیادی به زبان پارسی و انگلیسی در دسترس قرار دارند.
مرحله 3. پایتون یا R (یا هر دو) را برای تجزیهوتحلیل دادهها یاد بگیرید
یادگیری برنامهنویسی، آسانتر، سرگرمکنندهتر و با ارزشتر از آن چیزی است که بیشتر مردم تصور میکنند. در حالی که تسلط بر یک زبان برنامهنویسی یک فرآیند آموزشی بدون وقفه است، اما در این مرحله، شما باید با فرآیند یادگیری یک زبان آشنا شوید که کار چندان سختی نیست. هر دو گزینه پایتون و R محبوب هستند و تسلط بر یکی میتواند روند یادگیری دیگری را سادهتر کند. من کار را با زبان برنامهنویسی آر آغاز کردم و در ادامه بهسراغ پایتون رفتم. در هر دو حالت باید به فکر یادگیری مفاهیم زیر باشید:
- آشنایی با ساختارهای داده و ساختمان دادهها و نحوه تعریف آنها.
- نحوه تعامل با دادهها و فایلها در زبان برنامهنویسی هدف.
- تجزیهوتحلیل دادهها بهلحاظ کیفی.
- پاکسازی و آمادهسازی دادهها.
- دستکاری دادهها (مرتبسازی، فیلتر کردن، تجمیع و غیره).
- مصورسازی دادهها.
مرحله 4. یک پروژه تجزیهوتحلیل دادههای اکتشافی را تکمیل کنید
تجزیهوتحلیل دادههای اکتشافی، مطالعه در مورد دادهها برای درک اطلاعات مستتر در دادهها و اشتراکگذاری ساده آنها با کاربران است. این مرحله از یادگیری جذابترین بخش داستان است که نکات ارزشمند زیادی در ارتباط با تجزیهوتحلیل دادهها در اختیارتان قرار میدهد. از موضوعات مهمی که باید روی یادگیری آنها متمرکز شوید به موارد زیر باید اشاره کرد:
- اکتشافات تکمتغیری.
- کاوشهای زوج و چندمتغیره.
- مصورسازی و توانایی کار با Tableau . لازم به توضیح است که نرمافزار مذکور برای مصورسازی دادهها در علم داده و هوش تجاری استفاده میشود.
مرحله 5. مدلهای یادگیری بدون نظارت ایجاد کنید
فرض کنید دادههایی در ارتباط با تمامی کشورهای جهان و اطلاعاتی در ارتباط با جمعیت، سطح درآمد، وضعیت بهداشت، صنایع بزرگ و موارد دیگر در اختیار داریم و اکنون در نظر داریم تا بفهمیم کدام کشورها در ارتباط با پارامترهای فوق شبیه یکدیگر هستند. چگونه اینکار را انجام دهیم؟ اگر در نظر داشته باشیم کشورهای مختلف را بر مبنای پارامترهایی که گاهیاوقات تعداد آنها از مرز 50 مورد عبور میکند با یکدیگر مقایسه کنیم، بر مبنای چه راهکار خودکار و هوشمندانهای باید این وظیفه را بهشیوه درست انجام دهیم؟
اینجا است که الگوریتمهای یادگیری ماشین بدون نظارت وارد میدان میشوند. اکنون زمان آن نیست که شما را با جزئیات درباره این موارد خسته کنیم، اما خبر خوب این است که اگر به این مرحله رسیدهاید، در واقع به دنیای یادگیری ماشین وارد شدهاید. از مباحثی که باید در این مرحله روی یادگیری آنها تمرکز کنید به موارد زیر باید اشاره کرد:
- خوشهبندی K-means.
- قوانین انجمنی.
- الگوریتمهای پرکاربرد مورد استفاده در یادگیری بدون نظارت و تقویتی.
مرحله 6. مدلهای یادگیری تحت نظارت ایجاد کنید
اگر اطلاعاتی در مورد میلیونها متقاضی وام و سابقه بازپرداخت آنها از گذشته داشته باشید، چگونه قادر به شناسایی متقاضیانی هستید که شایستگی دریافت وام را دارند؟
در نمونه دیگری، با توجه به دادههای پیشین، آیا میتوانید پیشبینی کنید نرخ واکنش کاربران به یک کمپین تبلیغاتی دیجیتال به چه صورتی است، آیا میتوانید تشخیص دهید که بر اساس سبک زندگی و عادات فعلی افراد، احتمال ابتلا به چه بیماریهای خاصی در آینده برای افراد وجود دارد؟
الگوریتمهای یادگیری با ناظر با هدف ارائه راهکاری برای مسائل فوق مورد استفاده قرار میگیرند. در حالیکه الگوریتمهای زیادی وجود دارند که باید بر آنها مسلط شوید، اما برخی از آنها محبوبیت بیشتری دارند و قابلیتهای کاربردی برای حل مشکلات دنیای واقعی ارائه میدهند. از مباحث مهمی که باید به فکر یادگیری آنها باشید به موارد زیر باید اشاره کرد:
- رگرسیون لجستیک.
- درختان طبقهبندی.
- مدلهای گروهی مانند جنگل تصادفی و Bagging.
- ماشینهای بردار نظارتشده.
برای شروع کار، یک مجموعه داده دانلود کنید و مدلهایی را با استفاده از الگوریتمهایی که یاد گرفتهاید ایجاد کنید. آموزش، آزمودن و تنظیم هر مدل برای بهبود عملکرد موضوعات مهمی هستند که باید روی آنها تمرکز کنید.
مرحله 7. اطلاعات خود در ارتباط با فناوریهای مرتبط با کلان دادهها را ارتقاء دهید
بیشتر مدلهای یادگیری ماشین که امروزه مورد استفاده قرار میگیرند، نزدیک به چند دهه است که وجود دارند. دلیل اینکه الگوریتمهای مذکور هنوز هم مورد استفاده قرار میگیرند، این است که به مجموعه کافی از دادهها دسترسی دارند و این کلان دادهها اجازه میدهند تا الگوریتمها خروجیهای مفید و قابل استنادی ارائه دهند.
مهندسی و معماری داده به خودی خود یک زمینه تخصصی است، اما هر متخصص یادگیری ماشین باید بدون توجه به صنعتی که قصد ورود به آنرا دارد نحوه کار با کلان دادهها را بداند. درک اینکه چگونه مقادیر زیادی از دادهها را میتوان ذخیره و پردازش کرد و به سادهترین شکل به آنها دسترسی پیدا کرد، برای پیادهسازی راهحلهایی که میتوانند در عمل طراحی شوند، مهم است. از مباحث مهمی که باید در این مرحله به فکر یادگیری آنها باشید به موارد زیر باید اشاره کرد:
- دورنمایی کلی از کلان دادهها و اکوسیستم آن.
- آشنایی با فناوریهای هدوپ، HDFS، MapReduce، Pig و Hive.
- آشنایی با اسپارک (Spark).
مرحله 8. بهسراغ یادگیری نحوه عملکرد مدلهای یادگیری عمیق بروید
مدلهای یادگیری عمیق به شرکتهایی مانند اپل و گوگل کمک کردهاند تا نرمافزارهایی مثل سیری یا Google Assistant را ایجاد کنند. آنها به غولهای جهانی کمک میکنند تا ماشینهای بدون راننده را آزمایش کنند و بهترین دورههای درمانی را به پزشکان پیشنهاد دهند.
ماشینها بهلطف مدلهای یادگیری عمیق که میخواهند جهان را به طرق مختلف متحول کنند، میتوانند مشاهده کنند، گوش دهند، بخوانند، بنویسند و صحبت کنند. بهطور مثال، کار را با ساخت مدلی که بتواند تصویر یک گل را از یک میوه تشخیص دهد آغاز کنید. ممکن است رویکرد فوق به شما کمک نکند ماشین بدون راننده خود را بسازید، اما بدون شک کمک میکند تا مسیر رسیدن به آنرا درک کنید. از مباحث مهمی که باید در این مرحله روی آنها متمرکز شوید به موارد زیر باید اشاره کرد:
- شبکههای عصبی مصنوعی.
- پردازش زبان طبیعی.
- شبکههای عصبی پیچشی.
- چارچوب تنسورفلو.
- Open CV.
بهعنوان یک تمرین اولیه، مدلی بسازید که بتواند تصاویر دو نفر از دوستان یا اعضای خانواده شما را بهدرستی شناسایی کند.
مرحله 9. یک پروژه دادهها را ایجاد و تکمیل کنید
در حال حاضر تقریبا آماده هستید تا خود را بهعنوان یک حرفهای یادگیری ماشین به شرکتها معرفی کنید، اما قبل از اینکه دیگران مهارتهای شما را تایید کنند، باید تمامی مباحثی که آموختهاید را بهشکل عینی بهنمایش بگذارید.
اینترنت فرصتهای کمنظیری برای یافتن چنین پروژههایی در اختیارمان قرار داده است. اگر در مورد ۸ مرحله قبلی کوشا بودهاید، به احتمال زیاد میدانید که چگونه پروژه یا بهعبارت دقیقتر ایدهای پیدا کنید که شما را هیجانزده کند، برای مردم مفید باشد و به نشان دادن دانش و مهارتهای شما کمک کند. در این مرحله باید روی یادگیری مباحث زیر تمرکز کنید:
- جمعآوری دادهها، بررسی کیفیت، تمیزکاری و آمادهسازی.
- تجزیهوتحلیل دادههای اکتشافی.
- ایجاد و انتخاب مدل.
- آمادهسازی مستنداتی در ارتباط با پروژهای که روی آن کار کردهاید.
کلام آخر
یادگیری ماشین و هوش مصنوعی مجموعه مهارتهای موردنیاز حال و آینده هستند. یادگیری ماشین، زمینهای است که یادگیری هرگز در آن متوقف نمیشود و اغلب اوقات ممکن است مجبور شوید بخشی از زمان خود را صرف یادگیری کنید تا بتوانید جایگاه خود در بازار رقابتی را حفظ کنید. با این حال، اگر سفر را خوب شروع کنید، میتوانید درک کنید که چگونه قدم بعدی را در مسیر یادگیری بردارید.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟