Що потрібно знати щоб стати фахівцем з машинного навчання

Що потрібно знати  щоб стати фахівцем з машинного навчання



Хто такий спеціаліст з машинного навчання

Вікторія Тюфякова Senior Data Scientist у компанії ecom.tech. Ментор на курсі з Data Science, автор вебінарів з Machine Learning.

Проекти машинного навчання пронизують майже всі сфери нашого життя. Вчити ботів відповідати як людина або передбачати музичні уподобання - це цікаво, але не так просто. Разом з Вікторією Тюфяковою, ментором на курсі з Data Science, знаємо, з якою базою можна йти в машинне навчання і які мови популярні у сфері, окрім Python.

Чим займається ML-фахівець

Спеціаліст з машинного навчання (ML-фахівець) за допомогою алгоритмів будує моделі, які здатні навчатися самостійно на різних наборах даних, від табличних даних до картинок та текстів. Він виявляє складні закономірності у масивах даних, щоб модель точніше прогнозувала результат, і навіть допомагає автоматизувати процеси прийняття рішень для важких завдань практично. Машинне навчання - це підрозділ штучного інтелекту (artificial intelligence), до якого входять також глибоке навчання (deep learning), нейронні мережі. Головна відмінність ML-фахівця від дата-саентиста в тому, що перший на додаток до всього має сильніші навички розробки і може вивести модель у продакшн, наприклад вбудувати в існуючий продукт або запакувати в новий.

Дата-саентисти вирішують справді амбітні завдання. Навчіться створювати штучний інтелект, навчати нейронні мережі, змінювати світ і добре заробляти. Програма розрахована на новачків і плавно запровадить вас у Data Science.

Де він потрібний

  • Транспорт. За допомогою моделей можна тренувати безпілотні машини, визначати перешкоди, затори на дорозі, будувати оптимальні маршрути або рекомендувати зручні місця посадки.
  • Рітейл. Можна планувати постачання, персоніфікувати рекламу та знижкові пропозиції або оцінювати ефективність акцій.
  • Охорона здоров'я. На основі результатів аналізів можна діагностувати патології, ставити точніші діагнози, вибирати оптимальний шлях лікування.
  • Фінанси. Методи машинного навчання допомагають банкам швидше приймати рішення про видачу кредитів, прогнозувати зміни обсягів вкладів, а обробка природної мови дозволяє налаштовувати чат-боти та віртуальних помічників.
  • Промисловість. Можна прогнозувати, коли обладнання вийде з ладу або знаходити шлюб.
  • Розваги. Завдяки алгоритмам в ігровій сфері можна створювати реальніші аватари, передбачати наступний крок, щоб виграти або програти, а також створювати 3D-моделі для VR-окулярів. Стрічки фільмів в онлайн-кінотеатрах та новин у соцмережах підлаштовуються під наші уподобання також завдяки машинному навчанню.

Машинне навчання використовують як відомі світові бізнеси, на кшталт Amazon, Google, Netflix, Apple, так і великі російські компанії та банки: Білайн, Тінькофф, Спортмайстер, Стрічка, а також невеликі стартапи.

Що йому потрібно знати

У машинне навчання досить важко приходити з нуля - вже на старті потрібні серйозні математичні навички. Для розробки алгоритмів слід розумітися на лінійній алгебрі, математичному аналізі, статистиці, теорії ймовірностей. ML-фахівці користуються лінійною, логістичною регресією, деревами рішень, Байєсовським класифікатором, бустингами - це далеко не повний список алгоритмів, які популярні в машинному навчанні.Вони вимагають хорошої математичної підготовки для оптимального використання залежно від структури чи розмірів даних.

Хмара компетенцій ML-фахівця за даними звіту за 2020 рік. Джерело

Так як ML-фахівець постійно працює з даними, йому потрібно знати SQL, вміти писати запити до баз даних та працювати зі сховищами даних.

Найчастіше ML-фахівці використовують Python (або R) та бібліотеки: Pandas, NumPy, Sklearn, Keras. Для рекомендаційних систем та нейронних мереж підходить фреймворк TensorFlow, а для обробки природної мови фахівці користуються PyTorch.

Scala ефективна у промислових масштабах мова програмування, але у вакансіях він зустрічається рідше. Він швидше за Python і R, що вигідно виділяє його при роботі з великими базами даних. Також ML-фахівці часто користуються фреймворком Apache Sparkякий дозволяє працювати з неструктурованими або слабоструктурованими наборами даних.

Нерідко серед навичок можна зустріти й мови C або C++. Справа в тому, що вони швидше обробляють більші обсяги даних, ніж Python, а для завдань машинного навчання швидкість навчання дуже важлива. Також на них можна розгортати моделі з MATLAB - Це пакет програм, який використовують для ML у науковому середовищі.

У сфері великий попит на навички MLOps - Це стандартизація та оптимізація управління життєвим циклом моделі машинного навчання. Це допомагає знизити ризики під час роботи з машинним навчанням та автоматизувати процеси.

Крім технічних навичок, у вакансіях також згадують знання англійської мови. Він потрібний для читання технічних документацій та наукової літератури, оскільки багато актуальних робіт за темою не перекладають російською мовою.До того ж, це дозволить вийти на міжнародний ринок.

Види машинного навчання

У машинному навчанні не обов'язково отримувати ідеальний безпомилковий результат. Модель швидше має максимально відповідати метрикам, які встановлює бізнес разом із постановкою завдання.

Для різних завдань використовують різні види машинного навчання: з учителем, без вчителя, навчання з підкріпленням.

Стати дата-саентистом і вирішувати амбітні завдання за допомогою нейромереж

Навчання з учителем

У моделі є дані про минулу взаємодію із системою. Вона розуміє, як мають виглядати правильні відповіді. Такий вид навчання використовують найчастіше. Навчання з учителем вирішує два основні завдання:

- Класифікації. Модель має визначити категорію аналізованих об'єктів. Наприклад, можна відокремлювати картинки з котами від картинок із собаками або виявляти шахрайські дії клієнта банку;

- Регресії. У таких завданнях на основі часового ряду можна в короткостроковій або навіть довгостроковій перспективі прогнозувати значення, наприклад, курсу долара.

Навчання без вчителя

Моделі не подаються правильні відповіді, тому вона сама вибудовує взаємозв'язки між даними та інтерпретує їх. Найпопулярніші завдання:

- Зниження розмірності. Це дозволяє виділити значну інформацію з даних через меншу кількість ознак. Так можна зменшити розмір даних, якщо їх дуже багато, щоб при зберіганні вони займали менше місця, наприклад зменшити розмір картинок;

кластеризація. p align="justify"> При кластеризації групуються схожі дані, щоб знаходити між членами групи закономірності. Це дозволяє знаходити інсайди, щоб, наприклад, використовувати таргетовану рекламу.Найчастіше її використовують у рекомендаційних системах, що пропонують купити клієнту тематичний товар.

Навчання з підкріпленням

Найбільш близький до штучного інтелекту вид машинного навчання. Алгоритм, керуючись заданим набором дій та правил, взаємодіє із середовищем. Методом спроб і помилок він вибудовує найоптимальніший порядок своїх дій. Такі завдання популярні у навігації: алгоритм рухається по приміщенню та будує траєкторію, щоб не врізатися у перешкоду.

Перспективи та зарплати ML-фахівців

Машинне навчання з кожним роком все глибше проникає у всі сфери людської діяльності, ми користуємося ним щодня, наприклад, коли шукаємо інформацію в пошукових системах. Як зазначає Надія Зуєва, співзасновник Deep Learning School на базі МФТІ, все більше сервісів використовують технології машинного навчання, що спричиняє збільшення робочих місць.

Найактивніше машинне навчання впроваджують в інформаційних технологіях, фінансовому, транспортному секторах та маркетингу. Суттєво збільшується ринок чат-ботів, які використовують у клієнтській підтримці, на що, звісно, ​​сильно вплинула пандемія.

За прогнозами Gartner, у 2022 році п'ятьма основними категоріями у сфері будуть менеджмент знань, віртуальні помічники, безпілотні транспортні засоби, цифрові робочі місця та краудсорсингові дані. Джерело

За даними компанії Gartner, у 2022 році світовий дохід у сфері збільшиться на 21,3%. 48% керівників IT-організацій уже запроваджують технології машинного навчання або планують зробити це протягом 2022 року.

На hh.ru на грудень 2021 року було близько 1600 вакансій на запит ML. При цьому найнижча заробітна плата серед цих вакансій — 40 тис.карбованців для джуніора. Однак у середньому зарплати коливаються від 150 до 250 тис. карбованців. Синьорам із досвідом роботи від трьох років у сфері платять від 400 тис. карбованців.

Проте кількість фахівців практично не збільшується, у сфері помітний дефіцит кваліфікованих працівників.

Як новачкові отримати роботу

Новачку можна розраховувати на роботу, якщо в нього вже є практичний досвід. Data Science легко напрацювати цей досвід, просто вирішуючи кейси. Можна самостійно збирати дані, брати участь у змаганнях з машинного навчання, наприклад, на Kaggle, у хакатонах, де учасникам дають дані, за допомогою яких вони вирішують реальні проблеми бізнесу.

Таке завдання можна оформити у кейс та викласти на своєму GitHub. Таким чином, можна зібрати портфоліо, щоб представити свої навички на співбесіді. Чим докладніше кейс, тим більша ймовірність, що вас візьмуть на роботу, тому що буде видно, що ви постаралися заглибитись у тему.

Джуніору, який знає базові принципи, але ще не отримав практичного досвіду, можуть давати завдання на тестування гіпотез, розвантаження даних. Він сильно впливає на кінцевий продукт. Для позиції міддла Необхідно працювати у сфері близько двох років. Він може розробляти моделі, які впливають прийняття рішень у компанії. Синьйор зі стажем окрім розробки моделей може їх і впроваджувати. Часто, крім технічних завдань, у нього з'являються і менеджерські обов'язки з керівництва командою.

З чого почати

Книги

Якщо ви тільки зацікавилися машинним навчанням, можна почати з книг, щоб зрозуміти, наскільки вам легко розумітися на базових поняттях:

Широка бібліотека з англійськими та російськими книгами з машинного навчання та штучного інтелекту також є в telegram-каналі «Машинне навчання».

YouTube

Канал TensorFlow з пояснювальними роликами про машинне навчання та записами конференцій.

Канал Jon Krohn, в якому особлива увага приділяється математиці.

П'ятигодинний ролик про машинне навчання на Python з нуля.

Відкритий курс з машинного навчання від ШАД.

Навчатися самостійно

Якщо ви вже володієте базовими математичними навичками та готові самостійно вивчати мови та бібліотеки, можна орієнтуватися на готові roadmap, щоб структурувати та не забути всю інформацію, яку потрібно знати.

Більш лаконічна дорожня карта з бібліотеками та фреймворками

Колекція на GitHub із списком необхідних навичок, курсів, компетенцій.

Спільноти

Щоб залишатися в курсі актуальних новин, конкурсів, технологій, звернутися за допомогою чи знайти роботу, потрібно оновлювати ком'юніті. Одні з найбільших і найпопулярніших — ods.ai та Kaggle, не тільки для дата-саентистів чи аналітиків, але взагалі для всіх фахівців у галузі Data Science, у тому числі і ML.

Курси

Можна почати з безкоштовних, завжди рятує Coursera: короткі ознайомчі програми пропонують як російські виші (НДУ ВШЕ, МФТІ), банки, так і безліч зарубіжних компаній та інститутів від Amazon до Стенфорда.

Можна також пройти курс з машинного та глибокого навчання. Його перевага — у практиці та наставниках, які допоможуть розібратися у будь-яких нюансах. Для такої складної спеціалізації, як машинне навчання, підтримка досвідчених професіоналів як ніколи важлива, особливо якщо ви відкриваєте для себе професію.

Вікторія Тюфякова Senior Data Scientist у компанії ecom.tech. Ментор на курсі з Data Science, автор вебінарів з Machine Learning.

Подібні статті

Останні статті

Категорії