تجربه

عکس توسط Clem Onojeghuo در Unsplash

تجربه

6 ماه به عنوان یادگیری ماشین/مهندس بینایی رایانه

گذراندن نیم سال در زمینه ای که چند سال پیش خود را در آن ندیده بودم

مقدمه

من نمی توانم باور کنم که شش ماه از نوشتن مقاله ای در مورد اولین روزم در نقش فعلی ام می گذرد. ​​

زمان واقعا پرواز می کند.

بنابراین ، مجدداً به گزارش آنلاین تجربیات من به عنوان مهندس بینایی رایانه خوش آمدید.

در این مقاله ، می توانید جزئیات زیادی را در مورد فعالیتهای روزانه مهندس بینایی رایانه ای که در یک استارتاپ کار می کند ، انتظار داشته باشید. همچنین انتظار داشته باشید که برخی از اشتباهاتی که انجام داده ام و دستاوردهایی که به آنها اشاره کرده ام را به خاطر بیاورید.

برای شما ، این مقاله به شما نشان می دهد که در هنگام راه اندازی یادگیری ماشین/بینایی رایانه ای در یک راه اندازی ، چه انتظاری دارید. و نقشها و مسئولیتهای معمولی تمرین کننده ماشین یادگیری در زمان کنونی.

من فکر می کنم این یک معرفی کافی خوب است.

بیایید مستقیم وارد شویم و شش ماه را در 4000 کلمه خلاصه کنیم. ، یا کمتر.

یادگیری ماشین/بینایی کامپیوتر/یادگیری عمیق

ترکیبی توسط ولادیسلاو اوسیاسیا. (مجوز تصویر متعلق به نویسنده است)

بیایید با تفکیک نقش من ، همراه با شرح نقش شغل ، همه چیز را شروع کنیم.

در این بخش ، من همچنین دقیقاً آنچه از یک مهندس بینایی کامپیوتر انتظار می رود را به شما ارائه می دهد.

یادگیری ماشین می تواند به سادگی توسعه سیستم هایی باشد که می توانند از داده ها یاد بگیرند و بهبود بخشند. بینایی رایانه یک فرایند است به وسیله آن یک ماشین یا یک سیستم با استناد به یک یا چند الگوریتم که بر روی اطلاعات ارائه شده عمل می کنند ، درک اطلاعات بصری را ایجاد می کند. این درک به تصمیم گیری ها ، طبقه بندی ها ، مشاهده الگوها و بسیاری موارد دیگر تبدیل می شود. یادگیری عمیق استفاده از شبکه های عصبی پیچیده عمیق برای حل وظایف بینایی رایانه مانند طبقه بندی تصویر ، برآورد ژست ، تقسیم بندی معنایی و غیره است.

مسئولیت های کلیدی من در زمینه نقش من در تحقیق و اجرای تکنیک های بینایی رایانه ای مانند برآورد ژست ، تقسیم بندی معنایی ، تشخیص حرکات و تشخیص ویژگی های صورت است. همه تکنیک های ذکر شده بر روی دستگاه های تلفن همراه اجرا می شوند.

تکنیک

در زیر تکنیک های مختلف بینایی رایانه ای وجود دارد که من با استفاده از راه حل های یادگیری عمیق در شش ماه گذشته پیاده سازی کرده ام.

< p> در برخی موارد ، من مدلهایی را که استفاده کرده ام آورده ام: من با استفاده از راه حل تحقیقاتی مانند Stacked Hourglass ، Convolutional Pose Machines (CPM) و Posenet ، برآورد ژست را پیاده کردم. تشخیص حرکت: طبقه بندی اقدامی که توسط شخص انجام می شود را می توان فعالیت یا ژست نامید. به رسمیت شناختن. روشی که من برای پیاده سازی این تکنیک به کار می گیرم ، استفاده از شبکه MobileNetV2 (آموزش داده شده بر روی imagenet) از طریق آموزش انتقال و استفاده از سر طبقه بندی سفارشی برای طبقه بندی مناسب حرکات درون یک تصویر است. تشخیص/ردیابی دست: این یک کار بینایی رایانه ای بی اهمیت است که عمدتاً مربوط به تشخیص و محلی سازی دستها در داخل یک تصویر یا فیلم است. تقسیم بندی معنایی: این را می توان به عنوان طبقه بندی دانه ای که در سطح پیکسل انجام می شود تصور کرد. هر پیکسل درون یک تصویر را به یک شی طبقه بندی می کنند. اجرای این سرگرم کننده بود ، واین شامل مهندسی معکوس مثال تقسیم بندی DeepLabV3 TensorFlow بود. تشخیص چهره/ردیابی: این پیاده سازی سیستمی است که می تواند موقعیت چهره ها را در یک تصویر یا ویدئو ردیابی و محلی سازی کند. < h4> ابزارها

اگر شما یک متخصص یادگیری ماشین هستید ، احتمالاً از برخی از ابزارهایی که در زیر به آنها اشاره شده است مطلع هستید. برای کسانی که به تازگی وارد حوزه هوش مصنوعی شده اند ، ابزارهای ذکر شده توسط دانشمند داده ، محققان ML و مهندسان ML به طور یکسان استفاده می شود.

اینها ابزارهایی هستند که من به صورت روزانه از آنها استفاده می کنم.

< uli> TensorFlow: یک پلتفرم منبع باز برای پیاده سازی ، آموزش و استقرار مدلهای یادگیری ماشین. Keras: یک کتابخانه منبع باز برای پیاده سازی معماری شبکه عصبی که بر روی هر دو CPU و پردازنده های گرافیکی Jupyter Lab، Anaconda، CoreML، Vision Framework، Visual Studio

نکته: به ابزارها ، تکنیک ها و فرآیندها وصل نشوید. بر توانایی خود برای یادگیری سریع و سازگاری با محیط های جدید تمرکز کنید.

مهندسی نرم افزار

عکس توسط کوین کو در Unsplash

قبلاً مهندسی نرم افزار را یک مهارت می دیدم ، اما همانطور که در حرفه خود پیشرفت کرده ام ، به این حقیقت رسیده ام که مهندسی نرم افزار بیشتر یک عمل است.

مهندسی نرم افزار نرم افزاری مهارتی نیست که بتوانید آن را در سه ماه به دست آورید ، اما این متدولوژی است که با سالها تجربه در توسعه برنامه های نرم افزاری توسعه می دهید.

بنابراین ، به عنوان یک مهندس یادگیری ماشین ، من روزانه مهندسی نرم افزار را تمرین می کنم. به طور خاص ، من جنبه هایی از اصول مهندسی نرم افزار را در جریان کار و فرایندهای توسعه خود گنجانیده ام. این ممکن است بسیار به نظر برسد ، اما ساختن برنامه های کاربردی مدرن با یک سیستم یادگیری یکپارچه و تکنیک های ML مستلزم هم افزایی بین پلتفرم ها و ابزارهای مختلف است - همه اینها از زبان های مختلف برنامه نویسی برای نوشتن دستورالعمل های اجرایی استفاده می کنند.

در اینجا موارد زیر آورده شده است. زبانهای برنامه نویسی اصلی که در این شش ماه اخیر استفاده کرده ام:

Swift: برای توسعه برنامه iOS استفاده می شود پایتون: برای پیاده سازی ، آموزش و ارزیابی مدلهای ML < uli> JavaScript: برای پیاده سازی مدلهای ML ، همچنین نوشتن اسکریپتهای سفارشی استفاده می شود.

همچنین دانش عملی HTML ، CSS ، SQL ، Kotlin ، NodeJS ، Flask و غیره را دارم. همه اینها ابزارها و زبانهایی هستند بیش از سه سال مهندسی نرم افزار عمومی را گذرانده اید.

نکته: اصول اولیه OOP (برنامه نویسی با هدف) را بیاموزید. دانش OOP در سراسر زبان برنامه نویسی پرکاربرد قابل اجرا و انتقال است. اگر OOP را درک می کنید ، یادگیری زبان های برنامه نویسی به منظور آشنایی با نحو خاص زبان است.

کروناویروس

عکس توسط engin akyurt در Unsplash

هیچکس نتوانست همه گیری جهانی همه گیر فلج کننده در سراسر جهان را در سال 2020 پیش بینی کرده اند. رول توالت در کشورهای غربی به یک کالا تبدیل شد. تبریک آرنج جایگزین دست دادن شد و کار از راه دور در حال حاضر هنجار جدیدی برای اکثر صنایع مبتنی بر فناوری است.

من فقط یک ماه در نقش فعلی خود بودم که بیماری همه گیر به انگلستان رسید و سپس به قرنطینه رفتیم.

کار از راه دور هیچ تغییری در اهداف استارتاپ ها ، پویایی تیم و بلندپروازی من برای انجام کار ایجاد نکرد. مهندس بینایی رایانه و داشتن یک نقش بسیار مبتنی بر فناوری به این معنی است که می توانم از هر کجا با اتصال به اینترنت کار کنم.

مواردکه به کار از راه دور کمک کرد:

خرید چراغ رومیزی: این یک خرید اخیر برای من است و من از آن بسیار راضی هستم. من زیاد می خوانم ، و جلسات کد نویسی/نوشتن در اواخر شب بسیار مکرر می شود. بنابراین داشتن منبع خوب نور مصنوعی برای دید هنگام خواندن و بهره وری کلی بسیار مفید است. زوم: این احتمالاً مورد بحث ترین ابزار ویدئو کنفرانس در سال 2020 است. زوم یک پسوند مجازی یکپارچه ایجاد کرده است حضور به شیوه ای که همتایان آن چنین نبوده است. روزم را با ملاقات بزرگنمایی با همکاران شغلی خود آغاز می کنم و عصر خود را با ملاقات های بزرگنمایی با دوستان پایان می دهم. TeamViewer: وقتی در خارج از خانه هستم ، TeamViewer به من اجازه می دهد تا به منابع محاسباتی دستگاه های GPU خود دسترسی پیدا کنم. < /uli> تیم پاسخگو: داشتن اعضای تیم که یا پیام Slack هستند و یا زوم را دور می کنند فاصله بسیار کمتری را که ناشی از همه گیری ایجاد کرده است ، از بین برده است. هر مشکلی که من داشته باشم فقط یک پیام کوتاه از راه حل است.

برخی می گویند کار از راه دور یک گزینه دائمی برای کارمندان است. واضح است که خود شرکتها هزینه زیادی در فضای اداری صرفه جویی می کنند و هیچ کمبود محسوسی در بهره وری یا نتایج ارائه شده توسط تیمهای شرکت وجود ندارد.

نکته: در خانه خود محل کار مشخصی برای کار داشته باشید. < /bq> همچنین ، در صورت نیاز به تغییر محیط

سخت افزار

هنگامی که در مورد اولین ماه من به عنوان یک کامپیوتر نوشتم ، فضاهای همکاری نزدیک یا کافه ها یک گزینه هستند. مهندس بینایی ، من وظیفه خاصی را که برایم تعیین شده بود ، شامل خرید یک ایستگاه کاری GPU می کردم.

پس از تحقیقات طاقت فرسا و برخی شرکت های ارائه دهنده GPU ، چه در ایالات متحده و چه در انگلستان ، در نهایت یکی خریداری کرد.

در پنج ماه گذشته ، من از منابع محاسبه GPU برای آموزش مدلهای سفارشی برای روزهای متوالی استفاده کرده ام. من همچنین اسکریپت هایی را اجرا کرده ام که به طور همزمان بدون هیچ مشکلی در نتیجه 14 هسته CPU که ایستگاه کاری در اختیار دارد اجرا شده است.

نکته: اطمینان حاصل کنید که یک ایستگاه کاری GPU با چندین اسلات GPU خریداری کرده اید ، حتی اگر در حال خرید هستید. فقط یک GPU واقعی شاید لازم باشد در آینده نزدیک قابلیت GPU خود را گسترش دهید ، بنابراین بهتر است در برابر آن آماده باشید.

من کمی به تاریخچه GPU ها و نحوه پیدایش آنها علاقه مند شده ام. به عنوان یک متخصص یادگیری عمیق ، من و شما می دانیم که آموزش CNN با GPU با معرفی AlexNet و ظهور شبکه های عصبی پیچیده عمیق شد.

من احتمالاً یک مقاله در مورد تاریخچه GPU و سایر حقایق جالب در مورد استفاده و ویژگی های آنها.

یادگیری/تحقیق

عکس سفر جاده ای با راج در Unsplash

یادگیری در حرفه مرتبط با ML هرگز به پایان نمی رسد. خود حوزه هوش مصنوعی با سرعتی در حال پیشرفت است که در آن همیشه پیشرفتهای جدیدی وجود دارد که باید از آنها آگاه باشید (در حال حاضر انتشار GPT-3 است) یا تکنیکهای جدیدی برای پیاده سازی.

با تأمل در شش ماه گذشته ، واقعاً احساس می کنم هنوز در دانشگاه هستم. پس از اتمام شغل "9-5" ، به خانه باز می گردم تا مقالات تحقیقاتی ، مقاله بنویسم و ​​مدلهای ML را بخوانم.

برای کسانی که به دنبال ورود به حرفه ML هستند ،باید آگاه باشید که انتظارات ناگفته ای وجود دارد ، جایی که فرض بر این است که شما در جریان آخرین تحولات هوش مصنوعی قرار گرفته اید. اکثر مردم انتظار دارند که شما بیشتر از یک فرد معمولی درباره نسخه های جدید برنامه کاربردی هوش مصنوعی اطلاعات داشته باشید.

در حال حاضر ، من قبل از اینکه بتوانم ایده های معماری شبکه عصبی خود را تغییر دهم یا به اصلاح آنها بپردازم ، دانش عملی و نظری زیادی کسب می کنم. زیرمجموعه های DCNN. معمولاً یک دوره تحقیقات گسترده قبل از آنکه حتی به این فکر کنم که به هر نوع پیاده سازی نزدیک شوم ، وجود دارد. برای هر تکنیک جدیدی که من در حال تحقیق یا اجرای آن هستم ، حدود 70 درصد محتوا برای من تازگی دارد.

یادگیری هرگز متوقف نمی شود.

نکته: نترسید قدمی به عقب بردارید تا مطمئن شوید که یک پایه یادگیری محکم می سازید. اخیراً ، برخلاف خواندن عمیق ترین نوع معماری شبکه عصبی ، به مقاله های تحقیقاتی بازگشتم که در سالهای اولیه یادگیری عمیق منتشر شده بود. این کار را در به منظور دستیابی به درک عمیق از توسعه خود این زمینه. من برخی از یافته های خود را اینجا ، اینجا و اینجا ثبت کرده ام.

ترس

عکس توسط Aarón Blanco Tejedor در Unsplash

اگر به شما بگویم که در شش ماه گذشته توانایی های خود را زیر سوال نبردم ، به شما دروغ می گویم.

این اولین نقش من در زمینه ML است و حتی ترسناک تر این واقعیت است که من اولین استخدام یادگیری ماشین در شرکت هستم.

آیا تا به حال در مورد سندرم ایمپستر شنیده اید؟

احساس ناتوانی و نارسایی که احساس می کنید ، حتی اگر به خوبی کار می کنید. این ترکیبی از شک و تردید در خود ، عدم اعتماد به نفس و کلاهبرداری فکری کاذب است که از موفقیت ها و دستاوردهای شما می کاهد. >

آیا من به اندازه کافی سریع می روم؟ آیا من به اندازه کافی خوب هستم؟ آیا من به اندازه کافی باهوش هستم؟ آیا به اندازه کافی می دانم؟ آیا به اندازه کافی خوب است؟ اگر شکست بخورم چی؟ اگر اشتباه کنم چطور؟ این می تواند یک چیز منفی یا مثبت باشد ، همه چیز بستگی به اقدامات شما و نحوه انتخاب شما برای مقابله با شک و تردید در خود دارد. بازی من ، نه با آن فلج می شوم ، نه از آن ضعیف می شوم.

سندرم Imposter بیشتر از آنچه فکر می کنید شایع است. حتی یکی از بزرگترین ذهن ها نیز از آن رنج می برد. .com "احترام مبالغه آمیزی که در کار من وجود دارد باعث می شود که من به آسانی بیمار شوم. احساس می کنم خودم را یک کلاهبردار غیر ارادی می دانم » - آلبرت اینشتین نکته: شما کافی هستید!

جامعه ML

عکس توسط Annie Spratt در Unsplash

آنچه من در خارج از کارم انجام می دهم به همان اندازه مهم است که در محل کار انجام می دهم.

در شش ماه گذشته ، من به طور تصادفی شروع به ایجاد یک نام تجاری شخصی در جامعه AI کردم. از طریق چندین پلتفرم آنلاین مختلف ، می توانم روزانه با صدها تا هزاران نفر تماس بگیرم.

و من فکر می کنم شما می توانید و باید همین کار را انجام دهید.

در زیر خلاصه ای از پلتفرم هایی است که من من برای ایجاد حضور در داخل استفاده می کنمجامعه ML.

متوسط ​​

تصویر از رسانه طراحی

محتوای مرتبط با هوش مصنوعی در Medium همواره منبع اطلاعاتی خوبی بوده است ، چه در دوران تحصیلات دانشگاهی و چه در حال حاضر در حرفه من. مقاله های پژوهشی معماری شبکه عصبی ؛ و مقالاتی که توصیه های مفیدی در مورد نحوه انتخاب شغل یا مذاکره درباره حقوق در صنعت هوش مصنوعی ارائه می دهد.

در تابستان سال 2019 ، من تصمیم گرفتم نه تنها مصرف کننده محتوا در رسانه ، بلکه یک خالق نیز باشم. نمی دانستم چه انتظاری دارم ، اما یک هدف را در نظر داشتم.

هدف من این بود که از Medium به عنوان ابزاری برای تقویت دانش و اطلاعاتی که در طول مطالعات و پروژه هایم به دست آورده بودم استفاده کنم. متوسط ​​برای من در آن زمان نوعی حفظ دانش بود.

متوسط ​​برای من اکنون بستری است که به من امکان می دهد روزانه با هزاران نفر تماس بگیرم. من بیش از 70 مقاله مرتبط با هوش مصنوعی و ML نوشته ام و می بینم که تعداد زیادی از افراد از نوشته های من الهام گرفته اند و در حال یادگیری و برداشتن یک مورد کاربردی هستند.

من (برای برخی دلیل) به عنوان یکی از نویسندگان برتر در موضوعات: هوش مصنوعی ، فناوری و آموزش شناخته شده است. این در واقع افتخاری است که امیدوارم تا آنجا که می توانم آن را حفظ کنم.

نکته: Medium را در فرایند یادگیری خود ادغام کنید. مقالاتی درباره مفاهیم و ایده هایی که در حال یادگیری هستید بنویسید. این می تواند به حفظ دانش کمک کند و مزیت بیشتری برای ارائه نمونه کارها آنلاین دارد.

LinkedIn

عکس توسط Greg Bulla در Unsplash

زمانی که برای اولین بار حساب LinkedIn خود را ایجاد کردم به خاطر نمی آورم ، اما آنچه می توانم بگویم این است که از LinkedIn بیشتر از خودم استفاده کرده ام در سال 2020 در مقایسه با سایر سالها.

تعداد قابل توجهی از افراد آثار من را می خوانند و برخی از خوانندگان در مورد مطالب مقاله من س questionsالاتی دارند. LinkedIn یکی از روشهای مرسوم برای دستیابی به من است.

من بیش از همه خوشحالم که به هر س questionsالی پاسخ می دهم و در مورد موضوعاتی که در زمینه تخصص فنی من قرار دارد مشاوره می دهم. تا به امروز ، من تقریباً به بیش از 50 پرسش از افرادی که از طریق LinkedIn با من تماس گرفته اند ، پاسخ داده ام. همچنین مدتی وقت گذاشته ام تا با افراد تماس های ویدئویی داشته باشم. برخی از س questionsالاتی که دریافت می کنم نیاز به پاسخ های گسترده تری دارد.

بیشتر س questionsالاتی که از من می پرسند در مورد بهترین روش های یادگیری ماشین یا روشهای شغلی است. اگرچه من یک متخصص نیستم ، اما خوشحالم که مطالبی را که در طول تحصیل ، تحقیق و تجربیات خود به دست آورده ام به اشتراک بگذارم.

اگر مایل هستید برای من پیام ارسال کنید یا در مورد موضوعات مرتبط با ML صحبت کنید ، در اینجا قابل دسترسی هستم.

مشاوره

در شش ماه گذشته ، من با افرادی که در پروژه ها مشاوره می خواستند ، نشسته ام و در برخی موارد ، برای وقت و تخصص من پرداخت شده است در حال حاضر ، مبلغی که به من پرداخت شده تغییر زندگی نمی کند و به زودی مشاور تمام وقت نمی شوم. اما این واقعیت که افراد فقط برای تخصص من ارزش پولی قائل هستند هنوز برای من دیوانه کننده است.

علاوه بر کار مشاوره ، اخیراً از من دعوت شده استنویسنده فنی کتاب چشم انداز کامپیوتری که قرار است در آینده منتشر شود. باز هم ، به نظر می رسید که این فرصت بیش از حد واقعی باشد ، اما امروز در اینجا هستم ، چند فصل از کتاب منتشر نشده.

جدا از یادگیری و حرفه ام ، نمی توانم پیش بینی کنم که چه فرصت هایی ممکن است با آن برخورد کنم به هر ماه متفاوت است.

YouTube

عکس Gianandrea ویلا در Unsplash

من کانال های YouTube AI/ML را تحسین می کنم ، جایی که میزبان موضوعات مرتبط با یادگیری ماشین را آموزش می دهد یا تکنیک های ارائه شده در مقاله های تحقیقاتی را توضیح و پیاده سازی می کند.

و البته ، من یکی از طرفداران پادکست های الکس فریدمن و کانال YouTube. ، آبیشک تاکور و غیره. به زودی ، مطالبی را ارسال می کنم که احساس می کنم برای کسانی که در یادگیری ماشین/یادگیری عمیق شروع می کنند مفید است.

با خیال راحت اینجا را عضو کانال من شوید (پلاگین بی شرمانه).

نکته : از گسترش دسترسی خود نترسید. به جهان اطلاع دهید که وجود دارید.

اشتباهاتی که من انجام داده ام

ایموجی چشم از iemoji.com

تعداد اشتباهاتی که در این شش ماه انجام داده ام قابل شمارش نیست.

در اینجا چند اشتباه شرم آور" نه چندان زیاد "آمده است. < /p> عدم فشار به git repo من و از دست دادن دو هفته ارزش کار. برخورد بی حوصله نسبت به کارم ، که باعث خطاها و اشکالات زیادی در خط پایین شد. زمانی که واقعاً به آن نیاز داشتم به دنبال کمک نبودم. آب روی میز کار تیم که حاوی تجهیزات الکترونیکی بود ریخته شد. سپس تعطیلات آخر هفته را صرف رفع اشکالات کردید. من با اینکه در خانه کار می کنم به جلسه آنلاین دیر رسیدم (این اشتباه مهارت خاصی را می طلبد lol).

همه مرتکب می شوند اشتباهات؛ اشتباهات اجتناب ناپذیر است آنچه مهم است این است که از اشتباهاتی که انجام می دهید درس بگیرید و به یاد داشته باشید که اشتباهات شما را تعریف نمی کند.

مطمئنم که در شش ماه آینده اشتباهات بیشتری مرتکب می شوم.

چشم انداز سال

عکس توسط Pablò در Unsplash

و در اینجا ، شش ماه به طور خلاصه.

برای پایان دادن به شش ماه و نزدیک شدن به بقیه سال ، اهدافی را که برای شما تعیین کرده ام با شما به اشتراک می گذارم. برای خودم.

این اهداف عمدتا این است که من را در مسیر پیشرفت شغلی ، شخصی و تحصیلی دنبال کنم. برخی از اهداف ذکر شده مبهم هستند و به احتمال زیاد بعداً آنها را تصحیح می کنم.

قبل از پایان سال 10 مقاله تحقیقاتی بخوانید دو برنامه مبتنی بر هوش مصنوعی را بصورت آنلاین منتشر کنید پیاده سازی تکنیک های بینایی رایانه ای بیشتر بر روی دستگاه های حاشیه ای ایجاد یک حضور قوی تر در جامعه ML ساختن یک نام تجاری شخصی ثابت بدست آوردن TensorFlow گواهینامه ای که همه درباره شگفت زده می کنند نکته: برای مطالب مرتبط بیشتر با AI/ML آیا افراد سیاهپوست در هوش مصنوعی من را دنبال می کنند؟ ما همچنان یکی از نژادهای کم نماینده در هوش مصنوعی هستیم و با این حال می توانیم بیشترین آسیب را از استفاده و سوء استفاده از آن ببریم. درک کنید که برای داشتن یک حرفه موفق در یادگیری ماشینی به چه چیزی نیاز داریدtowardsdatascience.com