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

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

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

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

Структура интервью ML / DL.

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

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

Машинное обучение

Это суть любой позиции по глубокому обучению / машинному обучению. В основном охватывает стандартные методы машинного обучения и множество математических вещей - в основном вероятности и статистику, линейную алгебру. Если вы освоили Deep Learning самостоятельно (слава вам), вам нужно будет освежить этот аспект для своих собеседований. Кроме того, это поможет упростить вашу жизнь в позиции глубокого обучения.

Существует множество методов математического и машинного обучения (вы видели количество страниц в книге Кевина Мерфи или Кристофера Бишопа). Я рекомендую придерживаться следующих двух, чтобы быстро освежиться, и держать книгу Бишопа или Мерфи в качестве справочника:

Вся статистика Ларри Вассермана: это потрясающая книга, написанная о статистике. Проф. Вассерман - магистр педагогической статистики, он привел ее по существу и очень кратко. Каждый раз, когда я читаю книгу, мне кажется, что она написана для инженеров, а не математиков. ["ссылка"]

Машинное обучение Тома Митчелла: охватывает большинство тем машинного обучения, которые, я думаю, необходимы для подготовки к собеседованию. Он краток и содержит хорошие главы, посвященные деревьям решений и байесовскому обучению. ["ссылка"]

Глубокое обучение

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

Вам нужна шкала весов для выбывания?

Какой типичный показатель отсева вы используете?

Что произойдет, если масштабировать входные данные до уровня softmax?

Можете ли вы объяснить алгоритм обратного распространения ошибки?

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

Если вы активно внедряете модели, я уверен, что вы можете либо пропустить это, либо сделать это в последнюю очередь.

Программное обеспечение

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

Если вы подаете заявку на должность исследователя, кодирование программного обеспечения может быть упрощено. Однако рассчитывать на эту скидку не стоит. Как правило, вам нужно будет передать экран телефона, который потребует от вас кодирования данной проблемы. Я не думаю, что смогу сделать лучше, чем то, что уже было написано и обсуждено на собеседовании по кодированию. Лучшее, что я могу предложить, - это список книг и ссылок, которые помогут вам подготовиться к последующим статьям. А пока не забудьте заглянуть на www.leetcode.com или www.hackerrank.com. Как правило, при проведении собеседований по машинному обучению компании склонны проявлять гибкость в выборе языка. Вы можете придерживаться Python, если это ваш выбор. Тем не менее, если вы ищете роль ML во встроенном пространстве, ожиданием будет C / C ++.

Доменная экспертиза

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

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

Заключение

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