article-spots
article-carousel-spots
programs
Технології

Хочу розбиратися в Machine Learning. Що потрібно знати?

7 груд 2020

Сьогодні експертною думкою стосовно машинного навчання з нами поділився Михайло Толмачєв, Senior Manager в EPAM. 

Важливо враховувати потреби бізнесу, а бізнесові потрібно те, що дуже добре працює з високим рівнем надійності, тобто забезпечує мінімум 90–95% точності.  

Зараз у всьому світі тренд на Deep Learning, комп’ютерний зір, нейромережі. Нейромережі можна використовувати для передбачення попиту, рекомендації товару, персоналізованого маркетингу. Однак, щоб зрозуміти, як ці технології працюють, необхідно мати поглиблені знання, бути Data Scientist. На відміну від Deep Learning, методи класичного машинного навчання — матричного розкладу, факторизаційних машин — набагато легше інтерпретуються бізнесом, тобто з їх допомогою можна пояснити, чому тими або іншими товарами цікавляться, які основні драйвери попиту. Також обмеження на інтерпретованість моделей бувають на законодавчому рівні, наприклад у фармацевтичних компаніях або банках. 

Останнім часом швидко розвивається тренд на Generative Adversarial Networks (GANs). Ці алгоритми дозволяють на основі вхідних даних генерувати нові дані, дуже схожі на справжні. Візьмемо, приміром, картинку, де машина їде пустелею і картинку середньої смуги Росії. Накладаємо одне на інше, і ось вже машина їде полем. Популярні додатки FaceApp і Prisma працюють на даній технології. Є цілий веб-сайт, який генерує обличчя людей, яких насправді не існує, при цьому виглядають вони як справжні.  

Однією з головних проблем Data Science є відсутність достатньої кількості даних для навчання, а за допомогою GANs можна створювати більше даних і більш точно навчати моделі. Але наразі цю сферу складно застосувати у бізнесі. Щоб це почало приносити гарний результат у реальному житті, потрібно провести більше академічних досліджень.  

Зараз також активно розвивається напрямок Reinforcement Learning — навчання з підкріпленням. Воно використовується в автопілотованих автівках, інтернет-рекламі. Потенційно, подібну технологію можна впроваджувати, наприклад, на нафтохімічних заводах, в такому випадку управління всім процесом виробництва могло б відбуватися без втручання людей з набагато вищою ефективністю.  

Основною мовою програмування як і раніше є Python. Існують різноманітні відхилення, як-от R, але нею користуються здебільшого для академічних досліджень.  

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



Матеріал порталу «Типовий програміст»