Репутація українського ІТ. Пройти опитування Асоціації IT Ukraine
×Закрыть

Старт в AI

Привет!

Я работаю Java программистом около 4 лет. Сейчас стало интересно направление искусственного интеллекта, в частности Machine Learning.

В данный момент прохожу курс ML на Udacity, но чувствую что этого не хватит.

В связи с этим и возник вопрос, а что, собственно надо, чтоб попробовать себя в этой сфере? Какой минимальный уровень необходим для старта? Насколько глубокие знания статистики, алгоритмов нужны или это все сводится к использованию либ? Нужен ли MatLab и пр.

Да и вообще, насколько интересно этим заниматься и стоит ли менять стабильную джавистскую сферу на джуна в AI?

P.S: К тому же хотелось бы остаться на Java и не переходить на 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

Могу подкинуть задачку, стучи в личку. Проект реальный, нужен хороший знаток AI.

Якщо брати ринок вакансій — левова частка належить столиці, в інших містах з AI, ML-проектами м"яко кажучи ’туговато’....Якщо дивитись в сторону продуктових компаній — так там взагалі : 1-ин , 2-ва — і нема ! З відомих компаній, які займаються лише AI, ML можу назвати лише DataRobot з офісом в столиці...

в частности Machine Learning.

А где это у нас востребовано? Проза жизни — это разработка инет магазина на вордпрессе.

Проза жизни — это разработка инет магазина на вордпрессе

Як варіант: «хтось і щось роблять в гаражі»

Нужен ли MatLab

Ні, не потрібен.

Насколько глубокие знания статистики, алгоритмов нужны или это все сводится к использованию либ?

Років через 3 тільки ліби треба буде знати.

P.S: К тому же хотелось бы остаться на Java и не переходить на Python. Возможно ли это?

Так можливо.

Да и вообще, насколько интересно этим заниматься и стоит ли менять стабильную джавистскую сферу на джуна в AI?

Цікаво — так. Міняти посаду мідла в Джаві на джуна в DS, ні не варто.

Есть два варианта:
Идти в манки джоб: использовать готовые библиотеки и фреймворки: tensorflow, theano, keras etc.
Трубуется минимальные знания внутреннего устройсква- просто делай по тутуриалам да крути коэффициенты.
Python твой друг.

R&D hardcore:
Нужно знать тонну всего за рамками программирования
— иметь phd в математике/биологии/лингвистике/тд крайне желательно.
— иметь научные публикации и соответствующий изданиях
— отслеживать публикации и исследования новых подходов

Да и вообще, насколько интересно этим заниматься и стоит ли менять стабильную джавистскую сферу на джуна в AI?

Дело вкуса.

Советую пройти курс по ML на курсере, который еще старый от Andrew Ng (www.coursera.org/...​ine-learning/home/welcome) + написать все это потом руками с 0, а не по шаблончикам курса, а там уже увидишь и поймешь куда дальше :)

каким боком AI связан с Питоном или каким либо еще ЯП?
Программирование — самое простое что надо знать в этой области.

Нужен ли MatLab и пр

каким боком тут матлаб?

Это один из инструментов и языков программирования. Удобен тем, что в пакете куча уже отлаженного кода (алгоритмов из ML) и удобен для матричных вычислений и операций.
Собственно же язык программирования к ML отношения не имеет, просто одни языки для оного более удобны, другие менее.
По сути при реализации алгоритма в ограниченных ресурсах современных компов пока рулит С и С++.
Для быстрого прототипирования и разработки алгоритмов одним нравиться Питон, другим Матлаб, третьим R, четвертым Юлька. Но можно и на Жабе и на Жабаскрипте, Пэхапе и даже на брэйнфаке.

Это один из инструментов и языков программирования

именно
поэтому и спросил каким боком тут какой будет язык програмирования.
Проблема реализации алгоритмов искуственного интеллекта в самих алгоритмах. Закодировать может любой студент хоть на PHP

Просто на одном языке удобнее, чем на другом. Если челу хочется лезть вглубь, то матлаб ему сильно поможет. Если не хочется, до достаточно любого, что знает уже.
Например, с RANSACом я разобрался только тогда, когда попробовал сам его написать — на матлабе это проще всего. Этот алгоритм не только в визуальных образах можно применять но и много где, как один из алгоритмов оптимизации. На матлабе больше думаешь что написать, а не как написать. Просто матлаб изначально затачивали именно на разработку алгоритмов, а не приклеили сбоку, как Питон. Но он достаточно дорогой, так что спасибо иранцам, что выкладывают его взломанные версии быстро.

Еще раз. Разработка систем исскуственного интелекта — это разработка алгоритма. Никакой язык или библиотека тут не поможет.
Задачи выполняемые ИИ — узкоспециализированные (одна из
причин почему ИИ не имеет ничего общего с интелектом вообще). И под каждую пишется свой сложный специализированый алгоритм, базирующийся как правило на основе достаточно сложного математического апарата. Это 99% разработки. Остальное програмирование неважно на чем лишь бы быстро работало.
Если хотите научить ИИ играть в шахматы нужен конкретно алгоритм игры в шахматы. Именно это основная задача. Запрограмировать ее потом — задача среднего програмиста.
Дилетанты думают что можно взять некую нейронную сеть на матлабе обучить ее и получит ИИ. Эфективность такого ИИ будет крайне низкой особенно с учетом затрат на его обучение. Любой стоящий алгоритм разрабатывается индивидуально под задачу. Даже если используются для основы какие то универсальные решения то все равно берется напильник и от этих решений ничего универсального не остается.

Например, с RANSACом я разобрался только тогда

и как видите проблема была не в синтаксисе языка на котором он написан. А ведь это еще с большой натяжкой можно назвать ИИ.

Я об этом и написал. Просто есть инструменты для написания разной степени удобства.

в моих краях выглядит идея очень плохо
вакансий не много и ориентированы на нанять phd пучок за копейки. Типа все равно этой плесени академической и такой зп не видать было так что и так поживут

Изучение Пайтона на базовом уровне не заставит тебя забыть Java. Ты ведь не станешь учить стопиццот библиотек.
Да, нужен МатЛаб. Как минимум чтобы не изобретать велосипед.

Нет, с коммерческой точки зрения ты не прав. В machine learning слишком много энтузиастов, это делает превышение предложения над спросом, то есть обесценивает спецов одновременно с переоценкой ожидаемых выгод.

В отличие от обычного программирования, в ML очень сложно защитить интеллектуальную собственность, равно как и обезопаситься чтобы у тебя не отжали всё патентные троли. Это серьёзный финансовый риск. В переводе на русский это значит что как только кто-то выиграет в этой игре по-крупному, его в лучшем случае купят по дешёвке, в худшем — утопят в затратах на судебные тяжбы.

В отличие от обычного программирования, в ML очень сложно защитить интеллектуальную собственность, равно как и обезопаситься чтобы у тебя не отжали всё патентные троли. Это серьёзный финансовый риск. В переводе на русский это значит что как только кто-то выиграет в этой игре по-крупному, его в лучшем случае купят по дешёвке, в худшем — утопят в затратах на судебные тяжбы.

100%
Тому потрібно продавати завершений продукт, а не технологію, тримати капот під сімома замками і менше опенсоурсу використовувати.

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

або переїзд самого проекта цілком як венчура до України.

Є такі випадки, оскільки в Україні є високоякісний людський капітал за невисоку зарплату, але це не відміняє перепони які ви згадалии. Бо з іншого боку треба бути ближче до інвесторів :)

а что, собственно надо, чтоб попробовать себя в этой сфере

все просто, взять и попробовать. Курс по МЛ на юдасити(по крайней мере один из них) разбирает вполне себе конкретный кейс по поиску фраудов в переписке? Чем не актуально?

стабильную джавистскую сферу

что для Вас стабильная сфера?

остаться на Java и не переходить на Python

зачастую оборачивают С\С++ либы, TensorFlow уже обернули, если не устраивает, JNI в помощь

По моему опыту от Python никак не уйти. Даже такие java инструменты как MLlib или deeplearning4j и прочие требуют понимания ML и AI и могут быть использованы просто как инструменты и учится на них нереально.

Я же учился по курсам www.superdatascience.com . Они же есть дешевле на Udemy.com
www.udemy.com/machinelearning
www.udemy.com/deeplearning

Как по мне лучшие курсы которые объясняют доходчиво теорию. Минус — только на английском языке. Но с субтитрами.

Есть JNI и либы элементарно подключаются.
Я, например, часто смотрю питоновские примеры и юзаю либы из матлаба. То же элементарно подключать (ну может свой биндинг набросать).
Так что питон — это мода и хайп с рекламой. Как язык программирования он уродлив, как по мне, воспитанному на С и С++.

Он не уродлив, он упрощен до нельзя для прикладных задач. Я например production пишу на java, а если нужно разобрать какой-то массив данных единоразово, то python с pandas то что нужно. Поэтому обучение базовым понятиям в сфере ML/AI на нем удобно. А у Светланы как раз вопрос не про production, а о обучении.

Я укушенный си, фортраном и плюсами, посему Питон мне не нравиться.
И считаю моду на него просто модой и хайпом.
Но, она си, фортраном и плюсами не укушена, так что Питон для нее может быть лучшим выбором.
Вопрос только как там с матричной арифметикой. Насколько удобна.

Если пайтон это хайп и маркетинг, то что же тогда JS? O_o

Насколько глубокие знания статистики, алгоритмов нужны или это все сводится к использованию либ?

Здесь можно и на этом остановиться, в большинстве местных богаделен другого и не понадобится.

Нужен ли MatLab и пр.

Необязателен, можно и R и Юльку и Питон и жабу юзать. Матлаб даже редок здесь по причине его цены, но он сильно облегчает многое.

стоит ли менять стабильную джавистскую сферу на джуна в AI

Платить будут сильно меньше, чем в жабе, даже если сеньором станешь.

а что, собственно надо, чтоб попробовать себя в этой сфере?

Найти, кому ты нужен.

Какой минимальный уровень необходим для старта?

Вопрос бессмысленный. Если самому придумывать подходы и решения, то весь университетский курс математики плюс самостоятельное изучения кучи новых подходов и их понимание.
Но можно тупо юзать либы и не заморачиваться всем этим. Многие проекты здесь именно такого уровня.

К тому же хотелось бы остаться на Java и не переходить на Python. Возможно ли это?

Какая тебе разница откуда сишные либы дергать.

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