Факультет искусственного интеллекта что это
Новый факультет GeekUniversity: искусственный интеллект!
Мы — первые. Мы — для всех
GeekUniversity — первый онлайн-университет, где обучают Data Science с нуля. На старте достаточно знаний из школьной программы и желания постигать новое.
Вы пройдете все ступени становления программиста в области Data Science, поочередно освоив:
Мы научим вас работать с ОС Linux, писать «чистый» код, проектировать архитектуру, применять шаблоны и еще много чему интересному. И все это — за полтора года. И да, с нуля. Все инструменты и ресурсы вы освоите в ходе обучения.
Максимум практики на реальных задачах
Мы делаем обучение эффективным и разнообразным:
Наша цель — ваше трудоустройство
Мы провели исследование портала hh.ru и выяснили, что только в 7% вакансий в области Data Science компаниям требуется сотрудник без опыта работы. Обучение на факультете искусственного интеллекта GeekUniversity идет в зачет вашему опыту и увеличивает шансы на трудоустройство более чем в 5 раз. Специалиста, работающего в Data Science от 1 до 3 лет, ждут на 39 % вакантных мест.
Помимо актуальных задач, мы подготовили крутой бонус — целую четверть вас будут обучать эксперты МегаФона. Они расскажут о реальной работе с Big Data, подготовят задания с использованием своих данных и кейсов из практики. И не забывайте и о классике GeekUniversity — множестве факультативов от наших партнеров.
Data Science — только один из возможных путей развития вашей будущей карьеры. После обучения вы сможете выбирать вакансии в сферах:
Мы поможем вам наполнить портфолио реальными проектами, которые вы с уверенностью сможете презентовать потенциальному работодателю. Вопрос поиска работы сведется к вашему желанию ходить на собеседования.
Количество вакансий стремительно растет — как и число тех, кто хочет присоединиться к тренду.
Специалисты по машинному обучению получают 130–300 тысяч рублей, аналитики big data — 73–200 тысяч рублей.
Решайтесь и вы! Оставьте заявку и узнайте подробности вашего будущего обучения.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.
Мы — первые. Мы — для всех
GeekUniversity — первый онлайн-университет, где обучают Data Science с нуля. На старте достаточно знаний из школьной программы и желания постигать новое.
Вы пройдете все ступени становления программиста в области Data Science, поочередно освоив:
Мы научим вас работать с ОС Linux, писать «чистый» код, проектировать архитектуру, применять шаблоны и еще много чему интересному. И все это — за полтора года. И да, с нуля. Все инструменты и ресурсы вы освоите в ходе обучения.
Максимум практики на реальных задачах
Мы делаем обучение эффективным и разнообразным:
Наша цель — ваше трудоустройство
Мы провели исследование портала hh.ru и выяснили, что только в 7% вакансий в области Data Science компаниям требуется сотрудник без опыта работы. Обучение на факультете искусственного интеллекта GeekUniversity идет в зачет вашему опыту и увеличивает шансы на трудоустройство более чем в 5 раз. Специалиста, работающего в Data Science от 1 до 3 лет, ждут на 39 % вакантных мест.
Помимо актуальных задач, мы подготовили крутой бонус — целую четверть вас будут обучать эксперты МегаФона. Они расскажут о реальной работе с Big Data, подготовят задания с использованием своих данных и кейсов из практики. И не забывайте и о классике GeekUniversity — множестве факультативов от наших партнеров.
Data Science — только один из возможных путей развития вашей будущей карьеры. После обучения вы сможете выбирать вакансии в сферах:
Мы поможем вам наполнить портфолио реальными проектами, которые вы с уверенностью сможете презентовать потенциальному работодателю. Вопрос поиска работы сведется к вашему желанию ходить на собеседования.
Количество вакансий стремительно растет — как и число тех, кто хочет присоединиться к тренду.
Специалисты по машинному обучению получают 130–300 тысяч рублей, аналитики big data — 73–200 тысяч рублей.
Решайтесь и вы! Оставьте заявку и узнайте подробности вашего будущего обучения.
Освоить востребованную профессию в Аналитике больших данных можно всего за полтора года на курсах GeekBrains.
Искусственный интеллект: как и где изучать — отвечают эксперты
Авторизуйтесь
Искусственный интеллект: как и где изучать — отвечают эксперты
Искусственный интеллект — это та сфера в мире IT, которая активно развивается и имеет как огромную популярность, так и много вопросов. Многие программисты хотят заниматься разработкой ИИ, но не знают с чего начать, поэтому мы решили поделиться с вами вопросом, который пришел от нашего подписчика:
«Хочу заниматься ИИ. Что стоит изучить? Какие языки использовать? В каких организациях учиться и работать?»
Мы обратились за разъяснением к нашим экспертам, а полученные ответы представляем вашему вниманию.
ведущий аналитик Avito
Это зависит от Вашей базовой подготовки. Прежде всего, необходима математическая культура (знание статистики, теории вероятностей, дискретной математики, линейной алгебры, анализа и др.) и готовность многому быстро учиться. При реализации методов ИИ потребуется программирование (алгоритмы, структуры данных, ООП и др.).
Разные проекты требуют владения разными языками программирования. Я бы рекомендовал знать как минимум Python, Java и любой функциональный язык. Нелишним будет опыт работы с различными базами данных и распределёнными системами. Чтобы быстро изучать лучшие подходы, применяемые в индустрии, требуется знание английского языка.
Учиться рекомендую в хороших российских вузах! Например, в МФТИ, МГУ, ВШЭ есть соответствующие кафедры. Большое разнообразие тематических курсов доступно на Coursera, edX, Udacity, Udemy и других MOOC площадках. Некоторые ведущие организации имеют собственные программы подготовки в области ИИ (например, Школа анализа данных у Яндекса).
Прикладные задачи, решаемые методами ИИ, можно найти в самых разнообразных местах. Банки, финансовый сектор, консалтинг, ритейл, e-commerce, поисковые системы, почтовые сервисы, игровая индустрия, индустрия систем безопасности и, конечно, Avito — все нуждаются в специалистах различной квалификации.
CEO Mad Devs
У нас есть проект по финтеху, связанный с машинным обучением и компьютерным зрением, в котором первый его разработчик писал все на C++, далее пришел разработчик, который все переписал на Python. Так что язык тут не самое главное, так как язык — это прежде всего инструмент, и от вас зависит, как его использовать. Просто на каких-то языках задачи решать быстрее, а на других более медленно.
Где учиться, сказать сложно — все наши ребята учились сами, благо есть интернет и Google.
начальник группы цифровых технологий компании Nexign
Могу посоветовать с самого начала готовить себя к тому, что учиться придётся много. Вне зависимости от того, что подразумевается под «заниматься ИИ» — работа с большими данными либо нейросети; развитие технологии или поддержка и обучение некой определённой уже разработанной системы.
Давайте ради конкретики возьмём трендовую профессию Data Scientist. Что делает этот человек? В общем и целом — собирает, анализирует и готовит к употреблению большие данные. Именно те, на которых растёт и тренируется ИИ. А что должен знать и уметь Data Scientist? Статический анализ и математическое моделирование – по умолчанию, причём на уровне свободного владения. Языки – скажем, R, SAS, Python. Также хорошо бы иметь какой-никакой опыт разработки. Ну и, вообще говоря, хороший дата-сайнтист должен уверенно себя чувствовать в БД, алгоритмике, визуализации данных.
Не сказать, чтобы такой набор знаний можно было получить в каждом втором техническом вузе страны. Крупные компании, у которых в приоритете разработка ИИ, это понимают и разрабатывают под себя соответствующие учебные программы — существует, например, Школа анализа данных от Яндекса. Но вы должны отдавать себе отчёт, что это не тот масштаб, где ты приходишь на курсы «с улицы», а выходишь с них готовым джуниором. Пласт большой, и идти учиться по дисциплине имеет смысл тогда, когда уже охвачена база (математика, статистика) хотя бы в рамках вузовской программы.
Да, времени уйдёт порядочно. Но игра стоит свеч, потому что хороший Data Scientist – это очень перспективно. И очень дорого. Есть ещё и другой момент. Искусственный интеллект – это, с одной стороны, уже не просто объект ажиотажа, а вполне себе вышедшая на виток продуктивности технология. С другой стороны, ИИ всё ещё только развивается. Для этого развития требуется много ресурсов, много навыков и много денег. Пока это уровень высшей лиги. Я сейчас скажу очевидную вещь, но, если вы хотите оказаться на острие атаки и своими руками двигать прогресс, цельтесь в компании уровня Facebook или Amazon.
В то же время в ряде областей технологию уже применяют: в банковской сфере, в телекоме, на промышленных предприятиях-гигантах, в ритейле. И там уже нужны люди, способные её поддерживать. Gartner прогнозирует, что к 2020 году 20% всех предприятий в развитых странах будут нанимать специальных сотрудников для тренировки нейронных сетей, используемых в этих компаниях. Так что пока ещё есть немного времени, чтобы подучиться самому.
CTO компании Exness
ИИ сейчас активно развивается, и предсказывать на десять лет вперед сложно. На ближайшие два-три года будут доминировать подходы на базе нейросетей и вычислений на основе GPU. Лидером в этой области является Python с интерактивной средой Jupyter и библиотеками numpy, scipy, tensorflow.
Есть много онлайн-курсов, которые дают базовое представление об этих технологиях и общих принципах ИИ, например курс Andrew Ng. И в плане обучения этой теме сейчас в России эффективнее всего самостоятельное обучение или в локальной группе по интересам (например, в Москве я знаю о существовании как минимум пары групп, где люди делятся опытом и знаниями).
технический директор Heads and Hands
Начать нужно с теории: почитать профильную литературу и статьи. Из языков для изучения наиболее подходит Python. Организации — все, которые используют ИИ в своих наработках.
технический директор группы компаний «ХайТэк»
На сегодняшний день самая быстро прогрессирующая часть искусственного интеллекта — это, пожалуй, нейронные сети.
Изучение нейросетей и ИИ стоит начать с освоения двух разделов математики — линейной алгебры и теории вероятности. Это обязательный минимум, незыблемые столпы искусственного интеллекта. Абитуриентам, желающим постичь основы ИИ, при выборе вуза, на мой взгляд, стоит обратить внимание на факультеты с сильной математической школой.
Следующий шаг — изучение проблематики вопроса. Существует огромное количество литературы, как учебной, так и специальной. Большинство публикаций по теме искусственного интеллекта и нейросетей написаны на английском языке, однако русскоязычные материалы тоже публикуются. Полезную литературу можно найти, например, в общедоступной цифровой библиотеке arxiv.org.
Если говорить о направлениях деятельности, то здесь можно выделить обучение прикладных нейронных сетей и разработку совершенно новых вариантов нейросетей. Яркий пример: существует такая очень востребованная сейчас специальность — «дата-сайентист» (Data Scientist). Это разработчики, которые, как правило, занимаются изучением и подготовкой неких наборов данных для обучения нейросетей в конкретных, прикладных областях. Резюмируя, подчеркну, что каждая специализация требует отдельного пути подготовки.
Team Leader Java-разработки в Voximplant
Прежде чем приступать к узкопрофильным курсам, нужно изучить линейную алгебру и статистику. Погружение в ИИ я бы посоветовал начать с учебника «Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных», это неплохое пособие для начинающих. На Coursera стоит послушать вводные лекции К. Воронцова (подчеркну, что они требуют хорошего знания линейной алгебры) и курс «Machine Learning» Стэнфордского университета, который читает Andrew Ng, профессор и глава Baidu AI Group/Google Brain.
Основная масса пишется на Python, потом идут R, Lua.
Если говорить об учебных заведениях, лучше поступить на курсы при кафедрах прикладной математики и информатики, подходящие образовательные программы есть. Для проверки своих способностей можно принять участие в соревнованиях Kaggle, где предлагают свои кейсы крупные мировые бренды.
заместитель директора департамента, руководитель управления АО РАСУ
В любом деле, прежде чем приступать к проектам, хорошо бы получить теоретический базис. Есть много мест, где можно получить формальную степень магистра по этому направлению, либо повысить свою квалификацию. Так, например, Сколтех предлагает магистерские программы по направлениям «Computational Science and Engineering» и «Data Science», куда входит курсы «Machine Learning» и «Natural Language Processing». Можно также упомянуть Институт Интеллектуальных Кибернетических систем НИЯУ МИФИ, Факультет вычислительной математики и кибернетики МГУ и Кафедру «Интеллектуальные системы» МФТИ.
Если же формальное образование уже имеется, есть ряд курсов на различных платформах MOOC. Так, например, EDx.org предлагает курсы по искусственному интеллекту от Microsoft и Колумбийского университета, последний из которых предлагает микро-магистерскую программу за умеренные деньги. Хотелось бы особо отметить, что обычно сами знания вы можете получить и бесплатно, оплата идет только за сертификат, если он нужен для вашего резюме.
Если же вы хотите «глубоко погрузиться» в тему, ряд компаний в Москве предлагает недельные интенсивы с практическими занятиями, и даже предлагают оборудование для экспериментов (например, newprolab.com), правда, цена таких курсов от нескольких десятков тысяч рублей.
Из компаний, которые занимаются разработкой Искусственного Интеллекта, вы наверняка знаете Яндекс и Сбербанк, но есть и многие другие разных размеров. Например, на этой неделе Минобороны открыло в Анапе Военный инновационный технополис ЭРА, одной из тем которого является разработка ИИ для военных нужд.
директор по развитию бизнеса IТ-компании Navicon
Прежде чем изучать искусственный интеллект, надо решить принципиальный вопрос: красную таблетку взять или синюю.
Красная таблетка — стать разработчиком и окунуться в жестокий мир статистических методов, алгоритмов и постоянного постижения непознанного. С другой стороны, не обязательно сразу кидаться в «кроличью нору»: можно стать управленцем и создавать ИИ, например, как менеджер проекта. Это два принципиально разных пути.
Первый отлично подходит, если вы уже решили, что будете писать алгоритмы искусственного интеллекта. Тогда вам надо начать с самого популярного направления на сегодняшний день – машинного обучения. Для этого нужно знать классические статистические методы классификации, кластеризации и регрессии. Полезно будет также познакомиться с основными мерами оценки качества решения, их свойствами… и всем, что попадется вам по пути.
Только после того, как база освоена, стоит проштудировать более специальные методы: деревья принятия решений и ансамбли из них. На этом этапе нужно глубоко погрузиться в основные способы построения и обучения моделей — они скрываются за едва приличными словами беггинг, бустинг, стекинг или блендинг.
Тут же стоит познать методы контроля переобучения моделей (еще один «инг» — overfitting).
И, наконец, совсем уж джедайский уровень — получение узкоспециальных знаний. Например, для глубокого обучения потребуется овладеть основными архитектурами и алгоритмами градиентного спуска. Если интересны задачи обработки естественного языка, то рекомендую изучить рекуррентные нейронные сети. А будущим создателям алгоритмов для обработки картинок и видео стоит хорошенько углубиться в свёрточные нейронные сети.
Две последние упомянутые структуры — кирпичики популярных сегодня архитектур: состязательных сетей (GAN), реляционных сетей, комбинированных сетей. Поэтому изучить их будет нелишним, даже если вы не планируете учить компьютер видеть или слышать.
Совсем другой подход к изучению ИИ — он же «синяя таблетка» — начинается с поиска себя. Искусственный интеллект рождает кучу задач и целых профессий: от руководителей ИИ-проектов до дата-инженеров, способных готовить данные, чистить их и строить масштабируемые, нагруженные и отказоустойчивые системы.
Так что при «менеджерском» подходе сначала стоит оценить свои способности и бэкграунд, а уже потом выбирать, где и чему учиться. Например, даже без математического склада ума можно заниматься дизайном ИИ-интерфейсов и визуализациями для умных алгоритмов. Но приготовьтесь: уже через 5 лет искусственный интеллект начнет вас троллить и называть «гуманитарием».
Основные методы ML реализованы в виде готовых библиотек, доступных к подключению на разных языках. Наиболее популярными языками в ML сегодня являются: C++, Python и R.
Есть множество курсов как на русском, так и английском языках, таких как Школа анализа данных Яндекса, курсы SkillFactory и OTUS. Но прежде чем инвестировать время и деньги в специализированное обучение, думаю, стоит «проникнуться темой»: посмотреть открытые лекции на YouTube с конференций DataFest за прошлые годы, пройти бесплатные курсы от Coursera и «Хабрахабра».
И когда все описанные знания будут усвоены, мы с нетерпением ждем юных падаванов к нам в команду Navicon, где поможем и научим, как подружиться с «искусственными интеллектуалами» в реальной жизни.
Специалист по ИИ: кто это, обязанности, зарплаты и как им стать в 2021 году. Обзор профессии.
Кто такой специалист по ИИ?
Специалист по ИИ (искусственный интеллект, AI) — это программист, который с помощью специальных наборов данных и алгоритмов обучает искусственный интеллект.
Что делают специалисты по ИИ и чем занимаются?
Обязанности на примере одной из вакансий:
Что должен знать и уметь специалист по ИИ?
Требования к специалистам по ИИ:
Востребованность и зарплаты специалиста по ИИ
На сайте поиска работы в данный момент открыто 2 576 вакансий, с каждым месяцем спрос на специалистов по ИИ растет.
Количество вакансий с указанной зарплатой специалиста по ИИ по всей России:
Вакансий с указанным уровнем дохода по Москве:
Вакансий с указанным уровнем дохода по Санкт-Петербургу:
Как стать специалистом по ИИ и где учиться?
Варианты обучения для специалиста по ИИ с нуля:
Ниже сделали обзор 15+ лучших онлайн-курсов.
15+ лучших курсов для обучения специалиста по ИИ: подробный обзор
1 место. Skillbox
Вы научитесь создавать аналитические системы и использовать алгоритмы машинного обучения, освоите работу с нейросетями. Наполните портфолио и получите престижную профессию.
На рынке не хватает специалистов по Data Science
включая Сбербанк, Яндекс и Тинькофф, ищут специалистов по Data Science
зарплата начинающего специалиста
Кому подойдёт этот курс
Вы получите базовые навыки по программированию, аналитике, статистике и математике, которые откроют путь к карьере в Data Science и Machine Learning. Сможете использовать свои знания сразу на практике.
Вы прокачаете свои знания и навыки в программировании на Python и R. Подтянете математику и умение мыслить как аналитик, использовать алгоритмы машинного обучения для решения бизнес-задач — и усилите портфолио мощными проектами.
Научитесь использовать данные для построения прогнозов и оптимизации бизнес-процессов и переведёте компанию на новый уровень.
Чему вы научитесь
Освоите самый популярный язык для работы с данными.
Сможете разрабатывать дашборды или интерактивную инфографику.
Научитесь работать с библиотеками Pandas, NumPy и Matpotlib и освоите базы данных PostgreSQL, SQLite3, MongoDB.
Освоите фреймворки для обучения нейронных сетей Tensorflow и Keras. Узнаете, как устроены нейронные сети для задач компьютерного зрения и лингвистики.
Изучите разные алгоритмы, научитесь решать задачи регрессии, классификации и кластеризации.
Построите рекомендательную систему и добавите её в своё портфолио.
Заботимся, чтобы каждый построил карьеру мечты
Специалисты Skillbox из Центра карьеры помогут вам получить первую стажировку и приглашение на работу мечты
За 2021 год мы трудоустроили более 1000 студентов на работу по новой профессии
Как проходит обучение
В курсе — практические видеоуроки.
В том темпе, в котором вам удобно.
Закрепляете знания и исправляете ошибки.
И дополняете ею своё портфолио.
Программа
Вас ждут 7 курсов с разным уровнем сложности, знание которых можно приравнять к году работы.
Дипломные проекты
Проект-соревнование на платформе Kaggle. Вы используете анонимные данные о заказах клиентов, чтобы предсказать, какие продукты будут в их следующем чеке. Создадите рекомендательную систему для сайта и рекламных коммуникаций.
Проект-соревнование на платформе Kaggle. Это подразумевает написание воспроизводимого кода, генерирующего csv-файл с ответами, в котором для каждого изображения с лицом человека указана его наиболее вероятная эмоция. В итоге вы реализуете собственный проект в области компьютерного зрения.
Ваше резюме после обучения
Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.
Ultimate Guide по карьере в AI: как выбрать специальность, прокачаться и найти классную работу
3 августа в наших соцсетях выступал Сергей Ширкин, специалист по ML и искусственному интеллекту.
Сергей занимался автоматизацией финансовых технологий и базами данных в «Сбербанке» и «Росбанке», построением финансовых моделей на основе машинного обучения и аналитической деятельностью в компании Equifax. Прогнозирует телесмотрение с применением методов искусственного интеллекта в Dentsu Aegis Network Russia. Приглашённый преподаватель ВШЭ (магистерская программа «Коммуникации, основанные на данных»).
Также Сергей исследует квантовые вычисления в приложении к ИИ и машинному обучению. Он стоит у истоков факультетов Искусственного интеллекта, Аналитики Big Data и Data Engineering онлайн-университета Geek University, на которых работает деканом и преподавателем.
Делимся с вами расшифровкой эфира и записью.
Меня зовут Сергей Ширкин, сегодня мы поговорим об искусственном интеллекте. Обсудим начальные пути – как попасть в искусственный интеллект, как обучиться необходимым предметам, какие курсы пройти, какую литературу читать, как начать карьеру. Также про различные направления.
Сегодняшние темы могут быть интересны не только новичкам, но и опытным программистам – например, как перейти из сферы программирования в сферу машинного обучения, искусственного интеллекта, нейронных сетей. В зависимости от того, в какой технологии человек занимается и какие языки изучает, практичный переход в эту сферу может проходить по-разному. Специальностей в ИИ очень много.
Порекомендуйте материалы по самостоятельному погружению в ИИ?
Если вы совсем новичок, то лучше начать с изучения Python. Быстрый способ для этого, как я видел на примере других новичков – это сайт PythonTutor.ru. Там надо изучить теорию и порешать задачи – хотя бы процентов 70. Задачи могут показаться сложными, если вы совсем не программировали до этого.
Следующий шаг – язык запросов SQL, и здесь поможет сайт SQL-EX.ru: там есть упражнения по SQL. Они организованы по этапам: обучающий этап, этап для получения рейтинга – можно занять определенное место в рейтинге. Здесь вы научитесь работать с базами данных. Параллельно там есть обучающие материалы от автора Моисеенко, и их довольно легко изучить.
Потом потребуется изучить само машинное обучение. Различные алгоритмы, начиная с линейной регрессии, логистической регрессии, вплоть до градиентного бустинга. Здесь очень много материалов. Потом можно перейти к нейронным сетям – для компьютерного зрения, для NLP; вы изучите сверточные, рекуррентные нейронные сети, и самые современные – трансформеры, Берт и т.д.
Расскажу про развитие ИИ. Если посмотреть на историю этого развития до 2010, то она достаточно скудна: были, конечно, некоторые великие свершения в ИИ и в смежных областях – в больших данных, например, и были готовы многие математические алгоритмы. Но для ИИ было недостаточно вычислительной мощности и данных. Начиная с 2010 года – скорее, с 2012 – пошел бурный рост ИИ. В 2012 году на одном из соревнований нейросеть победила классические алгоритмы машинного зрения и научилась распознавать около 1000 классов изображений.
После этого достижения появился большой отрыв от конкурентов, применявших классическое компьютерное зрение, и началось развитие искусственных нейронных сетей. Появились различные архитектуры сверточных сетей, и в компьютерном зрении случился прорыв. Раньше считалось, что для нейронной сети различить изображение кошки и собаки – это очень сложная вещь, но в 2012 году нейросети научились распознавать, классифицировать изображения гораздо быстрее и точнее человека.
Сейчас компьютерное зрение достигло больших успехов. Параллельно развивается обработка естественного языка – NLP. С появлением модели GPT-3, которые создала компания OpenAI пару месяцев назад, нейросеть научилась генерировать текст (а также музыку и другие последовательности). Это один из важных шагов в NLP – скорее всего, в этом десятилетии она достигнет расцвета. Появятся чат-боты, которые смогут полноценно поддерживать диалог с человеком.
SQL и Python немного. После курсов по data science, без опыта, можно сразу устроиться data scientist, или сначала надо поработать аналитиком БД?
Сейчас попасть в data science сложнее, чем 5 лет назад. Тогда можно было принять участие в каком-нибудь конкурсе на Kaggle и занять место – не обязательно самое первое, например, в первых 10% — в каком-нибудь интересном соревновании, не обучающего уровня. После этого можно было уже ходить по компаниям, отвечать на несложные вопросы по машинному обучению, и такого человека могли взять. Специалистов было мало.
Сейчас все гораздо сложнее, поэтому иногда не получается сразу после того, как вы изучили машинное обучение и математику, попасть на вакансию своей мечты – специалиста по ИИ или data scientist.
Хороший путь – сначала поработать с данными, аналитиком баз данных или аналитиком данных. Факт в том, что вы должны научиться предварительно обрабатывать, чистить данные, применять статистику. Это могут быть технологии БД, Python в том числе. Когда вы наберетесь опыта, появится у вас бэкграунд, то вы сможете, используя свои знания по библиотекам data science в Python – Pandas, NumPy, SKLearn, устроиться на вакансию, связанную с ИИ или data science.
В чем отличия специалистов от ИИ от data scientists?
Нужен ли C++ специалисту по ИИ? Что посоветуете изучить для того, чтобы стать спецом по компьютерному зрению?
Сейчас в вакансиях западных компаний появилось разделение: помимо data scientist есть отдельные вакансии для специалистов по ИИ. Раньше подразумевалось, что data scientist – это человек, который занимается и анализом табличных данных, и задачами компьютерного зрения, и задачами NLP. Также существовала вакансия аналитика данных – она оплачивалась меньше, хотя и была также довольно престижной; такой человек должен был анализировать данные, но не слишком углубляться в ИИ, связанный с речью, текстом и изображениями, работая в основном с табличными данными. Затем произошло смешение вакансий: в Долине всех аналитиков данных стали называть data scientist, включая и тех, кто работает только с табличными данными, и тех, кто работает с NLP и компьютерным зрением. И одновременно, чуть позже, начали выделять отдельно специалиста по ИИ. В российских компаниях обычно такого разделениям нет, хотя иногда бывают специализированные вакансии – например, «инженер NLP/компьютерного зрения». Data scientist’у желательно понемногу уметь все.
Насчет С++: самый основной – это Python. То есть, если вы работаете специалистом по ИИ, вы должны использовать TensorFLow, Keras или PyTorch – он сейчас на первом месте. Но если вы пишете более низкоуровневые программы – например, если вакансия связана с робомобилями, то часто будет требоваться код на C++. Python не всегда быстро работает. Библиотеки для машинного обучения обычно написаны на C++, но иногда нужно всю программу написать на C++: помимо самих моделей может работать логика (if-else и т.д.), и на С++ это работает быстрее. Конечно, сразу приходить на такую вакансию сложно, и лучше сперва поработать на такой, где будет достаточно Python – например, там, где идет аналитика соцсетей с анализом изображений, без потребности в быстрой обработке.
Для того, чтобы стать спецом, надо научиться работать с библиотеками для нейронных сетей, изучить библиотеку OpenCV для Python – она также есть для C++. Так вы получите инструментарий. Еще желательно уметь работать с библиотекой NumPy, понимать саму математику анализа изображений – то есть, разбираться в линейной алгебре и матанализе, также – знать архитектуру нейронных сетей. И так далее.
Почему на собеседованиях в ML задают вопросы о том, как разруливать конфликты в hash-таблице?
Почему это – маркер при приеме на работу, если это можно загуглить по ходу?
Не в каждой вакансии это спрашивают. Если вы идете на аналитику табличных данных, то вряд ли у вас это спросят. Точно спросят, если вы претендуете на место ML-инженера: то есть, вы не просто создаете модели ML, вы их еще и внедряете, и вам надо знать алгоритмы и структуры данных. А если вы разрабатываете что-то наподобие робомобиля, то – тем более: там придется писать код высокого и низкого уровня, и это знание обязательно. А иногда такое знание требуется и в анализе табличных данных – допустим, вы пишете модуль для этого на C++.
Если вы пока не готовы на такие вакансии претендовать, можно пройти побольше собеседований. Допустим, если вы пойдете устраиваться data scientist’ом в банк, то там подобных вопросов будет меньше.
Пишу на Python 10 лет, но без высшего образования. Насколько сложно входить в сферу ИИ без вышмата?
Высшая математика нужна. Придется пройти курсы или изучить литературу, и это будет долгий процесс. Вам будет нужна подготовка по линейной алгебре, математическому анализу, теории вероятности и математической статистике. Обычной школьной программы явно не хватит для того, чтобы заниматься ИИ; конечно, программы бывают разные – в некоторых школах и в 10-м классе проходятся темы из ВУЗов, но такое редко бывает.
Pandas, SKLearn, Catboost, Seaborn, результаты в тренировочных соревнованиях Kaggle – 3% и 13%. Нужно ли погружаться в DL, или уже можно искать работу?
По библиотекам уже все хорошо; у вас уже есть Pandas – библиотека для работы с табличными данными, и SKLearn – модели машинного обучения, и Catboost – градиентный бустинг, и Seaborn – для визуализации. Результаты 3% и 13% — значит, если это не учебные соревнования, то с такими результатами у вас уже должна быть какая-то медаль.
Deep Learning не всегда нужен. Вы можете уже пробовать искать работу, я думаю. Но, если вам нужна именно работа с DL, то нужно еще поучить нейронные сети.
Какой базовый набор книг нужно прочесть?
Я собираюсь показать свои книги в конце стрима. Я выбрал базовый набор, ничего особенно продвинутого.
Насколько сейчас востребованы эти профессии? Будет ли много вакансий через 2 года?
Если вспомнить 2015-16 годы – тогда, например, на Headhunter было не больше 5-10 вакансий data scientist. То есть, был практически пустой рынок. Конечно, потом было переименование аналитиков в data scientist, но этого тоже было немного.
Сейчас одномоментно требуется несколько сотен, если смотреть по тому же сайту. Говорят, есть вакансии, которых там нет. Например, на ODS – OpenDataScience – если посмотреть, есть отдельный раздел вакансий. В целом, пока вакансии не кончаются – я думаю, через 2 года их будет только больше. Не только крупные компании этим занимаются: есть стартапы, мелкие компании; data scientist’ы сейчас требуются и в госучреждениях – например, в разных муниципальных департаментах, в налоговой службе и так далее.
В какой отрасли ИИ наиболее востребован?
Самое простое применение ИИ, где его явное применение может автоматизировать большое количество умственной работы специалистов – это финансовая сфера. Есть огромное количество банков. Каждому из них нужно, например, оценивать кредитоспособность заемщиков – то есть, определять по различных признакам, стоит ли выдавать кредит, не переоценивает ли человек свои силы и сможет ли вернуть кредит. Это самое очевидное использование ИИ.
Потом маркетинг, построение рекламных кампаний: то есть, когда нужно предсказывать, посмотрит ли человек рекламу (в Интернете, на ТВ и т.д.). Это тоже развитое направление, его невозможно не автоматизировать с помощью ИИ. Плюс, сейчас развивается роботизация: есть не только промышленные, но и бытовые роботы – робопылесосы и другие принадлежности для дома, которые тоже кто-то разрабатывает. Или различные приложения для смартфона – в общем, отраслей много, начиная от промышленности, медицины, ритейла, финансов, маркетинга и заканчивая развлечениями. Например, в играх тоже можно применить ИИ.
Сто ценится больше при приеме на работу в data science: знание математики, понимание работы конкретных алгоритмов, опыт работы?
За плечами техническая магистратура и год работы аналитиком данных в консалтинге.
У вас хороший бэкграунд – технический вуз, год работы аналитиком данных. Если вы уже изучили технологии и умеете программировать, то попасть в data science легко. Если вы работали а анализе БД и знаете SQL – это большой плюс, а если прибавить программирование и машинное обучение – это очень хороший набор.
Расскажу о том, как я строю модели машинного обучения на работе. Компания, в которой я работаю – это Dentsu Aegis, очень известная компания, особенно среди тех, кто работает в маркетинге. Это коммуникационная группа, входящая в топ-5 в мире; ее штаб находится в Токио, есть офисы в 145 странах. Российский филиал – Dentsu Aegis Network Russia. В России работает 25 лет и выступает пионером медиа-инноваций.
Я расскажу про тот участок, за который отвечаю как data scientist. Это как раз то применение, о котором я рассказывал как о наиболее очевидном в практическом применении. ИИ в маркетинге помогает автоматизировать многие задачи специалистов, и одна из них – прогнозирование просмотра различных видов контента различными целевыми аудиториями. Я расскажу подробнее про одну из своих непосредственных задач – прогнозирование телесмотрения.
Аудиторий может быть несколько сотен, и для того, чтобы их прогнозировать вручную, требовалась бы работа десятков специалистов. Это непомерно. Очень большое количество данных – до миллиардов строк в таблицах. Надо заботиться не только о том, чтобы построить модель машинного обучения, но и о том, чтобы она быстро работала. Для такой работа надо хорошо знать реляционные и нереляционные БД, работать с Linux, иметь навыки devops и вообще разбираться в архитектуре приложения, в IT-инфраструктуре компании, хорошо знать Python, возможно – C++.
Когда мы строим прогноз телепросмотров, мы применяем современные методы машинного обучения. Для табличных данных это градиентный бустинг и случайный лес. Если анализируется текст, мы применяем нейронные сети; помимо них – тематическое моделирование, TF-IDF и другие распространенные методы NLP.
Мы применяем градиентный бустинг, потому что, если мы прогнозируем с использованием табличных данных, то по работе с такими данными градиентный бустинг опережает все известные алгоритмы. В Kaggle, начиная с 2018 года, все основные достижения в соревнованиях с использованием табличных данных достигались именно с помощью градиентного бустинга. Большинство кегглеров тогда перешло на XGBoost – это была первая известная библиотека для градиентного бустинга, а позже многие освоили LightGBM от Microsoft или CatBoost от Yandex. Для задачи прогноза просмотров телепередач также хорошо подходит применение временных рядов, но такие методы не всегда хорошо работают – периодически появляются неожиданные события, на которые нужно вовремя реагировать или предвосхищать. Иногда встречаются большие аномальные периоды – от нескольких дней до месяцев: например, ЧМ по футболу в 2018 году сильно повлиял на просмотры. Карантин тоже стал аномальным периодом: люди начали проводить больше времени дома и больше смотреть ТВ. Это тоже надо как-то учитывать, предвосхищать. Вообще, этот период – это своеобразный вызов для машинного обучения и ИИ, потому что нужно постоянно осуществлять мониторинг моделей и контролировать их, чтобы они работали корректно. Помимо аномальных периодов на прогноз оказывают влияние праздники, погодные условия, изменения трендов в просмотрах конкретных передач и каналов. В итоге модели получаются достаточно сложными, потому что надо учесть все возможные варианты, учесть или предвосхитить аномалии и отклонения.
Естественно, модели не предоставлены сами себе – постоянно идет тестирование, тонкая настройка, мониторинг. Но не только модели важны: еще один важный этап – это создание признаков. Во-первых, это признаки, связанные со временем показа: время суток, день недели, сезон и т.д. Во-вторых, это признаки, связанные с контентом. При этом надо понимать, что, если передача идет ночью, то, какой бы ни был интересный контент, просмотров не будет больше, чем в праймтайм. Важность признаков может меняться, но разные аудитории выбирают разный контент. Это может зависеть от пола, возраста, социального положения.
Один из самых объемных по времени этапов работы с данными – это feature engineering: обработка или создание признаков. Для этой части data science нужен большой опыт: заранее известных рецептов либо нет, либо они слишком просты, и способы подготовки признаков приходится придумывать на ходу.
Иногда в данных встречаются курьезы: допустим, зритель включает ТВ вечером и засыпает. Получается так, как будто он всю ночь смотрел передачи. Это один из примеров шума в данных – вроде бы данные точные, а вроде бы и нет, и это нужно учиться угадывать, хотя это и сложно. Кроме того, ночью обычно показывается очень мало рекламы.
Когда мы строим модель, надо не просто сделать так, чтобы она работала, но и обеспечить тестирование и мониторинг. Для этого нам нужны метрики. Так как у нас задача регрессии, наш набор метрик будет отличаться от набора для классификации, например. Это среднеквадратичная ошибка и коэффициент детерминации – они все очень важны. Также есть метрики, которое приходится создавать самостоятельно для решения определенной бизнес-задачи – например, задачи оптимизации расходов на рекламную кампанию. В таком случае нам надо предсказывать не только телевизионный рейтинг, но и охват рекламной кампании; у нас работает не только машинное обучение, но и сложные статистические и эконометрические методы. Это тот случай, когда знаний машинного обучения оказывается недостаточно: здесь нужен матанализ, линейная алгебра, методы математической оптимизации. В отличие от обычных задач машинного обучения – регрессии, классификации, кластеризации – здесь приходится придумывать собственные методы, и одного программирования не хватит.
Хочу упомянуть программу Высшей школы экономики – «Коммуникации, основанные на данных». Приходилось по ходу работы помогать студентам на этой программе, они занимаются маркетингом и предметами, связанными с машинным обучением. Собственно, для чего машинное обучение и data science маркетологу? Раньше не предполагалось, что специалист такой области будет программировать и делать сложные модели, но сейчас это – навык, который дает преимущества на рынке труда. Если специалист, дополнительно к своей профессии, овладел data science, то он получает возможность либо поменять работу и стать data scientist’ом, либо продолжить развиваться в своей предметной сфере, но с большими конкурентными преимуществами. Знаток машинного обучения сможет делать более точные прогнозы, но для этого потребуется многое изучить.
Стоит ли обратить внимание на курс Data Science МФТИ/Yandex, или, возможно, посмотреть в сторону Udacity?
Я так понимаю, вы имеете ввиду курс от МФТИ/Yandex на Coursera. Udacity – это отдельная площадка для обучения; там не только data science, хотя для ИИ и data science и предназначена довольно большая часть курсов. Я рекомендую не зацикливаться на одном ресурсе, а попробовать пройти несколько курсов. Курсы не совпадают на 100%, вы всегда можете найти что-то новое, чего раньше не знали. Также новый курс можно использовать для повторения. Например, курсы на GeekBrains на наших факультетах ИИ, data engineering и аналитики big data. Так как я являюсь их деканом и преподавателем, я могу более подробно рассказать о них.
Курсы объединяются в факультеты – например, на факультете искусственного интеллекта есть 17 курсов, плюс 8 дополнительных. Почти в каждом курсе есть практическая работа как финальный проект. Таким образом, у обучающегося на нем специалиста появляется практика. Я рекомендую не просто изучать теорию, а делать проекты: хорошие практические умения приблизят вас к прохождению собеседований и началу карьеры.
Я сам обучался некоторое время назад на Udacity – проходил курс по робомобилям, очень длинный, запланировано было 9 месяцев, но курс длился около года. Действительно узнал много нового, впечатления от платформы положительные. Но, конечно, все курсы там преподаются на английском.
Как учесть аномалии по временным рядам и можно ли их вырезать?
Неприятный процесс. Для этого нет готового рецепта – нужно огромное количество тестов. Точнее, есть готовые модели, но они рассчитаны только на обнаружение аномалий в прошлом, а их нужно не только обнаруживать, но и предвосхищать.
Для таких случаев есть различные наработки, но их приходится создавать самостоятельно. Самое важное – определить, что будет в будущем: например, увеличение телесмотрения по определенным каналам и передачам. Когда проходит время, эти данные попадают в прошлое — к тренировочным данным, и их нужно обработать правильным образом.
Если даже в будущем не будет аномалий, прошлые аномалии могут повлиять на ваш прогноз. Здесь есть много методов; самый простой – удаление аномальных данных, но, если их много, это может привести к выпадению целого периода временного ряда из рассмотрения, поэтому такой способ не всегда подходит.
Каким образом устроиться на работу без подтвержденного опыта?
Хороший опыт – это ваши проекты. То есть, если вы не просто учите теорию, а сразу делаете проект — желательно, под руководством ментора (человека с опытом в data science и ИИ) – то вы знаете, что вы делаете. Вы не просто умеете применять теорию, или применять модель к данным, найденным в интернете, а решать практические задачи. При работе над такими проектами вы получаете знания, которые нельзя получить из книг и курсов, и помощь ментора здесь неоценима.
Поговорим о книгах – я приготовил небольшую стопку.
Если вы работаете в data science, то, скорее всего, вам придется работать в среде Linux. При этом вы не будете администратором – то есть, слишком глубокие знания вам не понадобятся – но уверенное знание этой платформы для простых административных задач (планирование запуска скриптов или распоряжение ресурсами ОС) будет обязательно. Здесь поможет книга «LINUX – карманный справочник» Скотта Граннемана. Его можно изучить за пару дней.
По теории вероятностей я бы порекомендовал книгу Г. Г. Битнера «Теория вероятностей» — в ней есть и теория, и задачи. Теория вероятностей пригодится вам и на собеседовании, и в работе.
Любому, кто работает в IT, требуется минимальный набор знаний и навыков. Соответственно, книга «Теоретический минимум по Computer Science – все, что нужно знать программисту и разработчику» (Фило Владстон Феррейра) — это ликбез по computer science.
Если вы будете погружаться в программирование и низкоуровневые разработки, то вам будут нужны алгоритмы. В книге «Алгоритмы для начинающих – теория и практика для разработчика» Паноса Луридаса даются алгоритмы без привязки к конкретному языку. Есть более объемная книга для C++ — «Алгоритмы на C++» Роберта Седжвика; она полезна, если вы хотите исключить какие-то высокоуровневые операции, которые есть в Python, и создавать алгоритмы с нуля.
Если вы хотите получить общее представление о верхнеуровневой работе специалиста по data science, то вам подойдет книга «Работа с данными в любой сфере – как выйти на новый уровень, используя аналитику» Кирилла Еременко. Здесь нет программирования. Но, если вы уже специалист, она пригодится вам только в том случае, если вы еще не работали с данными.
Далее: «Data Science. Наука о данных с нуля» Джоэля Граса – тоже полезная книга. От того же издания – «Практическая статистика для специалистов Data Science. 50 важнейших понятий» Питера Брюса и Эндрю Брюса. Здесь тоже можно изучить статистику.
Если вы будете работать с данными в Python и использовать библиотеку Pandas, то вам обязательно нужна «Python и анализ данных» Уэса Маккини – автора самой библиотеки Pandas.
По машинному обучению я рекомендую две книги: «Машинное обучение» Петера Флаха и «Python и машинное обучение» Себастьяна Рашки.
Для глубокого обучения есть книга «Глубокое обучение на Python» Франсуа Шолле, там можно изучить нейронные сети для задач NLP и компьютерного зрения. Конкретно по NLP есть «Прикладной анализ текстовых данных на Python» — Бенджамин Бенгфорд, Ребекка Белбро и Тони Охеда.
Если хотите изучить TensorFlow для глубокого обучения – есть одноименная книга Бхарата Рамсундара и Реза Босаг Заде.
Также есть книга, в которой просто и понятно объясняются принципы работы нейронных сетей – книга Эндрю Траска «Грокаем глубокое обучение». Есть также «Грокаем алгоритмы» — там хорошо объясняются алгоритмы, которые могут пригодиться на собеседовании и на практике.
Что вы спрашиваете на собеседованиях?
Есть небольшой сборник вопросов. Есть вопросы по классическому машинному обучению – специалист, который устраивается в сферу data science и ИИ, должен знать, как работают классические модели машинного обучения: линейная, логистическая регрессия, градиентный спуск, регуляризация L1-L2. Нужно, чтобы человек рассказал про принцип работы деревьев решений, про критерий информативности для задач классификации и регрессии; чтобы человек знал, как работает случайный лес, градиентный бустинг. Очень хорошо, если он знает отличия моделей градиентного бустинга – Catboost, LightGBM, XGBoost – то есть, чем отличаются эти библиотеки, как в них реализован градиентный бустинг. Также нужно, чтобы человек владел библиотеками для машинного обучения – Pandas, NumPy, SKLearn. Если специалисту нужно будет работать с нейронными сетями, с компьютерным зрением, с NLP, то будут вопросы по этим темам.
Вопросов может быть очень много. Если человек хорошо отвечает, то интересно бывает расспросить его о каких-то его проектах – если человек что-то сделал, у собеседующего сразу появляется много вопросов, связанных именно с проектами. Если у вас на GitHub есть личные проекты, или учебные проекты с курсов – будет очень хорошо, если вы сумеете подробно рассказать про технологии и алгоритмы, которые вы применяли.
Помимо этого, на собеседовании можно спрашивать разные базовые вопросы. Обычно, если человек хорошо отвечает на них – скорее всего, хороший специалист. Конечно, важно, чтобы он сумел выполнить тестовое задание. Теория – это одно, а вот то, как человек сможет решить практическую задачу, запрограммировать ее, какой он напишет код – это тоже важно. Если человек знает всю теорию, но присылает код, в котором не используется OP, когда это нужно – значит, он не знает, как правильно применять теорию. Кроме того, конечно, сам код должен быть читабельным и комментированным.
Я хотел еще рассказать про квантовые вычисления, квантовое машинное обучение – это еще одна моя область интересов, но сегодня уже не успею.