Переход из web-разработки в Machine Learning

Работаю frontend разработчиком около 2 лет.
И в последнее время все чаще стал задумываться о переходе в ML, так как очень интересна область ИИ.

Хотел бы уточнить, возможно есть более «плавные» варианты перехода из веба? Основной стек который использовал: JS, Angular, NodeJS.

Читал много статей где используют Node.js, но все же судя по комьюнити и вакансиям — лучше использовать Python.

Поэтому интересуюсь, может был у кого подобный опыт перехода из других областей. И имеет смысл начинать на node или лучше с нуля на Python?

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Python, Node.js или R без разницы. Особенности и ограничения конкретного языка плюс синтакис не есть главная проблема, при необходимости можно подтянуть за несколько дней. Гораздо важнее мотивация + толковый план/курс. Если курс на Python, то лучше, наверное, выучить его и потом избавиться с проблемой постоянного перевода на Node.js и решения проблем «почему работает на так?»

Бывает что человеку глубоко настобрыдла определённая деятельность и он даже от усталости начинает считать её вредоносной. Тогда надо отдохнуть!
В своё время я открыл для себя преподавание как способ отдыха от наипрекраснейшей web-разработки.

Вы определитесь для начала что именно вам интересно. Если плавно и неспешно — тогда забудьте о МЛ и просто разберитесь с тулзами независимо от МЛа. Например какие есть методы отпимизации инференца на мобильный устройствах, как строить пайплайны и тд и тп. Это инженерная часть, МЛ там постольку поскольку, нужно просто понимать что такое модель и как, ее оптимизировать по перформансу или по юзабилити. Там разные вещи используются и далеко не питон. Для пайплайнов популярны хадупы\спарки ну и жаба соответственно, для оптимизации моделей — вроде как с++. Если же вы хотите сами делать МЛ — тут уже все сложнее, так как ваш опыт слабо релевантен, да и, честно говоря, нормальный ресерч саентист — это пхд (пруф: www.quora.com/...​hers-without-a-PhD-degree)

честно говоря, нормальный ресерч саентист — это пхд

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

Это не совсем правда, что бы не сказать совсем неправда. Конечно все любят свои универы (немцы не котируют не немецкие, американцы — не американские), более того есть так называемые phd farms и в европе. Поэтому географическое расположение универа дело такое. Важно кто ваш руководитель и где вы публиковались. Конечно если ваш научрук это какой-то никому не известный чувак с кафедры и ваша публикация в каком нибудь акадэмическом вистнике — то да, если же вы публиковались в пиир ревью журналах, а ваш научрук известный в своих кругах (и таких людей в СНГ и даже в украине не так уж и мало) — то вполне себе котируется. Тем более, ничего не мешает вам после пхд в СНГ, и поехать на постдока в европу\штаты.
Но, то что большинство пхд в СНГ это именно вариант № 1 и это не котируется — да, согласен

немцы не котируют не немецкие, американцы — не американские

Это неправда. Топ 10 универов любой большой развитой страны — США, Германия, Британия, Франция — котируются везде.

Важно кто ваш руководитель и где вы публиковались.

Это если кандидатская писалась непосредственно по машинному обучению? Может быть, я не знаю.
Но ситуация такая, что в Америке наличие пхд по чистой (не прикладной!) математике позволяет найти со старта работу на около 120К в год, если предварительно месяцев 6 подготовиться. В Украине кандидатов физ-мат наук галеры зачастую не приглашают даже не собес, потому что качество известное.

надо сделать вводную(краткий реферат) на 3 страницы по machine learning
на английском, чтобы с нуля цепляло мозг программиста , чтобы сочно и свежо.
Подкиньте пожалуйста ссылок, дорогие разработчики.

Я, конечно, в этой области новичок, как можно догадаться, но открыл для себя очень классный ресурс arxiv.org/list/stat.ML/recent и не только по ML

Плавні — це без втрати у зарплаті? Якщо так, то

Крок 1: самому вивчати теорію, практикуватися;
Крок 2: як відчуєш, що готовий, то подаватися на вакансії, де шукають frontend-розробника зі знанням Machine Learning.

Схожий досвід був, але з більшою кількістю років в IT та іншим стеком (не фронтенд). Краще з нуля на python. Крок 1 може зайняти немало часу, а крок 2 може потребувати переїзду як мінімум у Київ, а то й закордон. Найбільші шанси знайти таку вакансію — у стартапах, трохи менші — у продуктових компаніях, ще менші — в аутсорсі.

Схожа тема: dou.ua/forums/topic/23868

Спасибо, за помощь. Я как раз в Киеве. Когда буду готов технически — надеюсь удастся что-нибудь найти здесь.

>

Хотел бы уточнить, возможно есть более «плавные» варианты перехода из веба?

Ну вроде ж TensorFlow на js выпустили :)

>

Хотел бы уточнить, возможно есть более «плавные» варианты перехода из веба?

Ага, более того, я начинал тоже уеб-девелопером (правда, больше бэкэндщиком, где алгоритмические задачки все-таки чуток почаще встречаются чем во фронте). Перешел успешно... только для этого пришлось сначала поменять страну (на ту, где есть спрос на подобное), отучиться два года на Master программе (а Германии это не хухры-мухры), ну и несколько лет после учебы методом проб и ошибок выяснять, где какие методы работают, а где не очень.
Дорогу осилит идущий!

Спасибо, о TensorFlow читал, библиотека довольно новая, пока займет свое место на рынке, наверное, лучше идти проверенным путем))

Пожалуйста! Насчет TensorFlow — реализация на js новая, а сама библиотека-то уже устоявшийся успешный проект; пожалуй, самый часто используемый (что не обязательно значит лучший).
Я обычно использую keras — надстройку, которая работает с тем же TensorFlow в качестве backend’а, но может работать и с другими библиотеками.

Основной вопрос в том,что в ML надо четко понимать, что ты делаешь.
Вот я недавно рассмотрел задачу классификации временнЫх рядов (toy example, но я с таким сталкивался на практике, когда классифицировал потребителей газа).
letyourmoneygrow.com/...​r-a-step-by-step-example

Если в лоб погуглить, то найдешь, что для анализа временнЫх рядов (time series) обычно используются RNN (LSTM, GRU) сети. Но как раз в данном примере они не работают (и не должны), а вот сверточные сети (обычно используемые для распознавания картинок) сработали неплохо.

а вот сверточные сети (обычно используемые для распознавания картинок) сработали неплохо.

Интересуюсь данной темой, можете подсказать пж в виде какого тензора вы представляли датасет временного ряда для свёртки? Двумерный или одномерный тензор? Можете рассказать подробнее пожалуйста, интересно очень.

На входе матрица:
X = array(0.0, dim=c(N_FILES, LOOPBACK)), где N_FILES — размер сэмпла, LOOPBACK — длина выборки из временного ряда.
На выходе — класс, к которому относится данный элемент (0 или 1).
Все остальное — в исходниках, которые по ссылке выше приведены полностью

лучше с нуля на Python

Лучше с трех на С++, или с пяти но на С

Если заканчивал технический универ, то тогда просто подучиваешь маняматику от силы 3 месяца и сразу отправляешься на поиски работы.

думаю эта картинка должна быть в каждой теме о ML
imgur.com/a/kLgizgn

Все правильно, хороший линк. Все вайтишники должны понимать что стать ВИИшником это не хлеб пойти купить

о, даже забыл за старый, проверенный туториал) не видел что там и про ML есть

Каеф. Годная адаптация классической пасты.

Подписаться на комментарии