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

Итак, с точки зрения непрофессионала, машинное обучение — это, по сути, разработка компьютеров, способных самостоятельно обучаться на основе предоставленных им данных. Они используют данные для построения и программирования своей нейронной сети для работы с данными. Хотя его часто путают с такими терминами, как глубокое обучение, ИИ (искусственный интеллект), распознавание образов, его можно резюмировать следующим образом: машинное обучение — это подмножество искусственного интеллекта и, наоборот, надмножество глубокого обучения. Что касается распознавания образов, то машинное обучение представляет собой эволюцию как распознавания образов, так и теории вычислений, и хотя оно имеет определенное сходство с наукой о данных, между ними есть явные различия.

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

Работа машинного обучения

Основную работу машинного обучения можно понять на данном примере.

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

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

Хотя нейронные сети могут формироваться как компонент машинного обучения, они более тесно связаны с глубоким обучением. Хотя он упоминался как подмножество машинного обучения, недавние разработки изменили диаграмму так, что, хотя связь между машинным обучением и глубоким обучением осталась прежней, искусственный интеллект больше не является надмножеством, а скорее пересекается как с машинным, так и с машинным обучением. Глубокое обучение.

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

Как упоминалось ранее, такие области, как искусственный интеллект и машинное обучение, имеют тенденцию во многом пересекаться, существуют явные различия в отношении работы и приложений. Таким образом, различия можно дифференцировать следующим образом:

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ (ИИ)МАШИННОЕ ОБУЧЕНИЕ (МО)ГЛУБОКОЕ ОБУЧЕНИЕ (ГО)Искусственный интеллект позволяет машинам имитировать поведение человека.Исследование, в котором используются статистические методы для обучения на основе данных для принятия решений на основе прецедентов.Глубокое обучение использует нейронные сети для таких задач, как как классификации данных. Искусственный интеллект часто представлялся как надмножество машинного интеллекта и как перекрытие с искусственным интеллектом и глубоким обучением. Машинное обучение является надмножеством глубокого обучения. Нейронные сети глубокого обучения для машинного обучения. Искусственный интеллект фокусируется на компьютере алгоритмы вместе с компонентами машинного и глубокого обучения, которые полезны для его цели. Машинное обучение фокусируется на статистических методах изучения данных для принятия решений на основе прецедента. Глубокое обучение фокусируется на нейронных сетях для таких задач, как классификация после корректировки на обучающий набор. Категории включают в себя искусственный узкий интеллект, искусственный общий интеллект и искусственный суперинтеллект. Категории включают контролируемое, неконтролируемое и обучение с подкреплением. Категории включают неконтролируемые предварительно обученные сети, сверточные нейронные сети, рекуррентные нейронные сети и рекурсивные нейронные сети.

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

МАШИННОЕ ОБУЧЕНИЕ (ML) НАУКА ДАННЫХ (DS) Машинное обучение позволяет машинам улавливать закономерности, используя данные для обучения без явного программирования для этого. Наука о данных — это область исследования, связанная с извлечением информации из структурированных и полунеструктурированных данных. .Он использует науку о данных как один из своих компонентов, но более узок в изучении. Наука о данных пересекается как компонент машинного обучения, но при этом является его надстройкой. Категории машинного обучения: обучение без учителя, обучение с подкреплением и обучение с учителем. Науку о данных, с другой стороны, можно разделить по ее процессам, то есть сбору данных, очистке, манипулированию и т. д.

Различия между машинным обучением и тем, что можно классифицировать как нейронные сети, можно понять, сравнив примеры их приложений. Первое практическое применение нейронных сетей, способных идентифицировать фигуры на экране размером 20×20 пикселей. Это включало в себя получение изображения, которое вызывает различную яркость пикселей. Яркости измеряются и умножаются на его вес и складываются вместе. Поскольку веса могут быть отрицательными, сумма вряд ли будет чрезмерно смещена в зависимости от размера изображения. Основываясь на сумме, если она соответствует определенному пределу, решающий нейрон может дать результат 1 или 0. Представленный выше пример измеряет только 400 пикселей, 1 слой и может дать только 2 выхода. Однако в настоящее время нейронные сети могут доходить до 100 слоев, иметь 1000 возможных выходных данных и большую точность, чем люди, а сложность выросла до такой степени, что теперь они являются черными ящиками. Хотя это триумф нейронных сетей, он дает представление о том, как обучение компьютеров самостоятельному обучению может продвинуться вперед. Из этого мы можем понять, что, хотя нейронные сети являются продвинутой формой машинного обучения, машинное обучение — это более общий термин, охватывающий аспекты за пределами нейронных сетей.

Навыки для инженера по машинному обучению

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

Степени в следующих категориях

  • Степень бакалавра в области компьютерных наук, математики, статистики или аналогичная степень.
  • Степень магистра в области машинного обучения, глубокого обучения, нейронных сетей или аналогичная степень.
  • Аналогичной степенью может быть IT, AI или аналогичная степень, область которой может пересекаться с машинным обучением, и студенты которой могут быстро освоить необходимые навыки.

Практический опыт в следующих категориях

  • Языки программирования, совместимые с машинным обучением, такие как: Python, R, Java и т. д.
  • Упомянутые выше языки обладают специфическими библиотеками и фреймворками, наиболее подходящими для данного конкретного приложения, поэтому они перечислены здесь.
  • Библиотеки машинного обучения (Matplotlib и Scikit Learn), фреймворки (TensorFlow и Keras) и пакеты.
  • Платформы больших данных, такие как Hadoop, Spark, Pig и т. д.

Теоретические знания в следующих областях

  • Структура данных
  • Моделирование данных
  • Компьютерная и программная архитектура

Роли и обязанности инженеров по машинному обучению

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

Задачи, ориентированные на данные:

  • Найти подходящие наборы данных для обучения модели машинного обучения.
  • Проверка качества данных для модели.
  • Преобразование и преобразование научных прототипов.

Задачи, ориентированные на машинное обучение

  • Реализация алгоритмов AI или ML.
  • Выполнение статистического анализа и запуск тестов модели машинного обучения, а также тонкая настройка моделей с использованием результатов тестов.

Заработная плата инженеров по машинному обучению

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

Таким образом, заработная плата должна быть указана в зависимости от страны. Например,

Соединенные штаты

  • Средняя зарплата инженеров по машинному обучению: $140 тыс.
  • Максимальная зарплата инженеров по машинному обучению: 180 тысяч долларов.
  • Минимальная зарплата инженеров по машинному обучению: $110 тыс.

Канада

  • Средняя зарплата инженеров по машинному обучению: $135 тыс.
  • Максимальная зарплата инженеров по машинному обучению: 185 тысяч долларов.
  • Минимальная зарплата инженеров по машинному обучению: $98,7 тыс.

Великобритания

  • Средняя зарплата инженеров по машинному обучению: 60 тысяч фунтов стерлингов.
  • Максимальная зарплата инженеров по машинному обучению: 80 тысяч фунтов стерлингов.
  • Минимальная зарплата инженеров по машинному обучению: 49,6 тыс. фунтов стерлингов.

Индия

  • Средняя зарплата инженеров по машинному обучению: 1,4 млн фунтов стерлингов.
  • Максимальная зарплата инженеров по машинному обучению: ₹3M.
  • Минимальная зарплата инженеров по машинному обучению: ₹900K.

Общие вопросы для интервью инженеров по машинному обучению

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

  1. Объясните связь между смещением и дисперсией.
  2. Расскажите о различных типах машинного обучения.
  3. Расскажите о дереве решений и о том, как оно сокращается.
  4. Каково правильное применение классификации и регрессии?
  5. Какая польза от теоремы Байеса в машинном обучении?

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

  1. Как бы вы построили конвейер данных?
  2. Как бы вы сделали дерево решений?
  3. Если данная модель имеет низкое смещение и высокую дисперсию, как бы вы исправили эту ситуацию и какой алгоритм использовали бы?
  4. Какой ваш любимый алгоритм в машинном обучении? Продемонстрируйте это в коде и обоснуйте.
  5. Как бы вы построили спам-систему/спам-фильтр/любое подобное устройство, которое потребовало бы автоматизированного и эволюционирующего принятия решений.

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

  1. Запустите PCA для набора данных, о котором вы знаете, который имеет сильно коррелированные данные.
  2. Если алгоритм предоставлен, попробуйте написать псевдокод для параллельной реализации.
  3. Помимо представленных выше вопросов и вопросов выше, вопросы для интервью по инженерии машинного обучения могут принимать форму более персонализированных вопросов в форме их предыдущего опыта работы инженером по машинному обучению или исследователя вместе с их личным мнением об этом. Некоторые из возможных вопросов включают в себя:
  4. Как вы остаетесь в курсе последних событий в области машинного обучения и других областях знаний?
  5. Над какими проектами вы работали в качестве инженера по машинному обучению, и, пожалуйста, объясните их.
  6. Как инженер по машинному обучению, какие шаги вы предпринимаете для общения с техническим персоналом (специалистами по данным и разработчиками программного обеспечения) и нетехническим персоналом (администраторы и клиенты)?
  7. Упомяните о каких-либо конкретных проблемах, с которыми вы сталкивались в качестве инженера по обучению механике, и как вы с ними справились?

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

Заключение

Инженерия машинного обучения может быть конечной целью, но для многих, стремящихся стать инженером машинного обучения, это не единственная цель. Дорожная карта для того, чтобы стать компетентным инженером по машинному обучению, часто требует множества дополнительных навыков для ее поддержки. Таким образом, будь то разработчик программного обеспечения, аналитик данных, ученый или любая другая роль, инженер по машинному обучению может адаптироваться к ней. Кроме того, если они будут настаивать на карьере инженера по машинному обучению, они будут одними из самых квалифицированных технических специалистов в рабочей силе сегодня с соответствующим престижем и зарплатой.