После нескольких внештатных проектов и статей, опубликованных на Medium, меня пригласили подать заявку на несколько вакансий в сфере ИИ-консалтинга.

За последние несколько недель я проходил собеседование в Accenture, Wavestone, Google и IBM на должность консультанта по ИИ, и мне это очень понравилось. Поэтому я решил написать что-нибудь об этом положительном опыте. Я расскажу о том, как я подготовился, представлю вопросы, которые мне задавали во время процесса, и в конце поделюсь некоторыми советами, которые помогут вам получить работу.

Подготовка

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

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

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

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

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

Интервью - Часть I (Машинное обучение)

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

1. В чем разница между методами регрессионного и классификационного машинного обучения?
Ответ.
Методы машинного обучения регрессии и классификации относятся к категории контролируемые алгоритмы машинного обучения. В алгоритме машинного обучения с учителем мы должны обучить модель, используя маркированный набор данных, во время обучения мы должны предоставить правильные метки, и алгоритм пытается изучить шаблон от ввода до вывода. Если наши метки представляют собой дискретные значения, тогда это будет проблема классификации, например, A, B и т. Д., Но если наши метки являются непрерывными значениями, это будет проблема регрессии, например, 1,23, 1,333 и т. Д.

2. Что такое выпадение?
Ответ. Выпадение - это простой способ предотвратить переоснащение нейронной сети. Это выпадение некоторых единиц нейронной сети. Это похоже на естественный процесс воспроизводства, когда природа производит потомство, комбинируя отдельные гены (исключая другие), а не усиливая их совместную адаптацию.

3. Что такое скрытая марковская модель?
Ответ: Скрытые марковские модели (HMM) являются классом вероятностных графических модель, которая позволяет нам предсказать последовательность неизвестных (скрытых) переменных из набора наблюдаемых переменных. Простой пример HMM - это прогноз погоды (скрытая переменная) на основе типа одежды, которую кто-то носит (наблюдал).

4. Что такое точность модели и ее характеристики?
Ответ: Точность модели - это подмножество характеристик модели. Производительность модели зависит от потока наборов данных в качестве входных данных для алгоритма, а точность модели основана на алгоритме производительности модели.

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

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

6. Какой из следующих методов увеличения данных вы бы предпочли при распознавании объектов?
Ответ: обрезка, изменение яркости, горизонтальное отражение, масштабирование, масштабирование; Модель глубокого обучения на самом деле требует очень много данных для обучения моделей. Он очень требователен к данным. И чтобы воспользоваться преимуществами обучения моделей с объектами под разными углами, я обычно использую методы увеличения данных.

7. Какие существуют типы машинного обучения?

8. Что такое гиперпараметры в глубоких нейронных сетях?
Ответ
: гиперпараметры - это переменные, которые определяют структуру сети. Например, такие переменные, как скорость обучения, определяют способ обучения сети. Они используются для определения количества скрытых слоев, которые должны присутствовать в сети.
Примеры гиперпараметров:
Скорость обучения, максимальная глубина дерева, количество скрытых слоев,…

9. Как происходит переоснащение данных и как его исправить?
Ответ
: переобучение происходит, когда статистическая модель или алгоритм машинного обучения улавливает шум данных. Это приводит к тому, что алгоритм показывает низкую систематическую ошибку, но высокую дисперсию результата.

10. Как можно предотвратить переобучение (назовите и объясните разные техники)?
Ответ
: Прежде всего, следует продумать выбор модели (выбор менее сложной модели).

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

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

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

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

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

11. Какова роль функции активации?
Ответ:
Она используется для внесения нелинейности в нейронную сеть, помогая ей изучать более сложные функции. Без этого нейронная сеть могла бы изучать только линейную функцию, которая представляет собой линейную комбинацию ее входных данных. Функция активации - это функция искусственного нейрона, которая выдает выходной сигнал на основе входных данных.

Интервью - Часть II (Стратегия искусственного интеллекта)

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

  • Сбор стратегических данных
  • Единые хранилища данных
  • Процессы определения значения данных

2. С точки зрения стратегии, как компании начать свой первый проект ИИ?
Ответ: Согласно Эндрю Нг,
успех первых нескольких проектов ИИ является ключевым, а не самым лучшим. ценные проекты AI. Они должны быть достаточно значимыми, чтобы первые успехи помогли компании познакомиться с ИИ, а также убедили руководителей высшего звена инвестировать в дальнейшие проекты ИИ; они не должны быть настолько маленькими, чтобы другие сочли это тривиальным.

3. Как бы вы описали «добродетельный круг ИИ» и какая компания использует эту стратегию?
Ответ: Продукт → Пользователи → Данные → Продукт. У лучших продуктов больше всего пользователей, а большинство пользователей обычно означает получение большего количества данных, а с современным машинным обучением продукт становится лучше. Uber и Amazon (Alexa) реализовали эту стратегию.

4. Почему большинство PoC с искусственным интеллектом не достигают стадии производства?
Ответ:

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

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

7. Как бы вы ознакомили руководителей и сотрудников высшего звена с ИИ?
Ответ:
Важно не только создать ИИ-решение, но и создать настоящую культуру данных / ИИ в компании. Команды по разработке стратегии искусственного интеллекта должны состоять из менеджеров по продуктам, специалистов по данным, бизнес-разработчиков и конечных пользователей. Обучение сотрудников может осуществляться путем сочетания очных и онлайн-курсов в дополнение к практическому опыту.

8. Каковы пять основных компонентов стратегии искусственного интеллекта?
Ответ. Основными компонентами стратегии искусственного интеллекта являются данные, инфраструктура, алгоритмы, навыки и Организация

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

10. Если компании не хватает данных для проекта, что бы вы порекомендовали им?
Ответ:
Очевидно, это зависит от характера проекта. Прежде чем изучать технические решения, возможно, стоит заранее создать механизм сбора данных или полагаться на данные из открытых источников. Для машинного обучения доступно много данных, и некоторые компании готовы их предоставить. Может быть полезно наладить партнерские отношения с другими организациями для получения соответствующих данных.

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

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

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

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

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

Интервью - Часть III (Общие сведения)

На данный момент мне задали всего три вопроса:
1. Можете ли вы описать свой последний проект ИИ?
Ответ (зависит от ваших прошлых проектов):
Мне пришлось разработать решение, которое могло бы определять поддельные продукты на основе изображений, загруженных потребителями. Как часть команды, мы создали решение на основе пользовательских моделей CNN Deep Learning с использованием трансферного обучения. Во время проекта нашей самой большой проблемой было отсутствие данных и масштабируемости для компании. Мы решили эту проблему, полагаясь на методы увеличения данных и синтетические данные.

2. Можете ли вы назвать новые бизнес-модели, связанные с ИИ?
Ответ:
Некоторые примеры могут включать в себя интеллектуальные города и монетизацию данных, профилактическое обслуживание и индустрию 4.0, федеративное обучение и данные здравоохранения и т. Д. . [Если вы знаете других, укажите их в комментариях]

3. Какая важная эволюция повлияет на развитие ИИ?
Ответ:
Растущая демократизация ИИ и разработка инструментов ИИ с низким кодом / без кода, которые могут нарушить способ управления проектами ИИ.

Выводы

  • Консультант по ИИ - это больше, чем просто специалист по данным. Они должны помогать в разработке общей системы от требований до развертывания, управлять проектом (навыки управления проектами) и помогать предоставлять экспертные знания в области наращивания потенциала, чтобы внутренние ресурсы в команде (-ях) DevOps могли поддерживать инфраструктуру и код ИИ.
  • Я рекомендую убедиться, что вы понимаете основные концепции, такие как компромисс смещения и дисперсии, переоснащение, градиентный спуск, регуляризация L1 / L2, теорема Байеса и т. Д.
  • Понять проект ИИ с точки зрения бизнеса (ключевые показатели эффективности, долгосрочные цели, масштабируемость и т. Д.)
  • Вы столкнетесь с проблемой вашей способности структурировать свои идеи и представлять сложные концепции простым и точным способом.