Парадигма исследований AI/ML: какие хорошие команды работают над Deep Vision?

База:

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

Приток глубокого обучения и новый современный алгоритм, публикуемый каждые 8–10 месяцев, который может быть просто итеративным улучшением предыдущей модели, разработать стабильный продукт — сложная задача, и не каждый может поддерживать ее в течение длительного времени. срочные академические исследовательские группы.

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

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

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

На мой взгляд, некоторые из самых модных словечек для названий должностей, которые сейчас ходят вокруг:

  • AI/ML-инженер
  • Специалист по компьютерному зрению
  • Инженер-программист компьютерного зрения
  • Специалист по данным
  • Инженер данных
  • лингвист
  • Разработчик НЛП
  • Инженер по политике ….. и т. д.

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

Немного личного:

Специально для меня я работаю в Deep Vision. Этой зимой я закончу учебу после получения степени магистра компьютерных наук в Государственном университете Нью-Йорка. Около 3 лет я работал инженером-программистом, разрабатывая крупномасштабную многопользовательскую веб-архитектуру. В настоящее время я работаю стажером-исследователем компьютерного зрения в Ericsson, Санта-Клара. Моя работа сосредоточена на увеличении пропускной способности алгоритмов сегментации изображений, извлечении данных из неразмеченных видео и адаптации предметной области.

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

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

Интервью :

Вопрос здесь в том, что можно ожидать в качестве проблем с кодированием в таком случае.

Возвращаетесь ли вы к основам старой школы, которые вы запрашиваете для позиции SDE (нахождение связанных островов, длина кратчайшей подстроки, обход дерева и т. д.)

Оптимизируете ли вы основы машинного обучения — машинное обучение и связанное с ним НЕ ГЛУБОКОЕ ОБУЧЕНИЕ (методы регрессии, подгонка данных, выбор модели, анализ потерь, методы оптимизации и т. д.)

Практикуете ли вы темы науки о данных — наука о данных НЕ ML ИЛИ DL (методы очистки данных, конвейеры ETL, статистическое моделирование, визуализация и графический анализ и т. д.)

Недавно я проходил собеседование с одним из «большой пятерки» на должность ученого-прикладника. Это был беспорядок с самого начала. HR прислал мне письмо о том, что, как мне показалось, было телефонным собеседованием, но на самом деле это была просто беседа о назначении времени для фактического собеседования, и это было не совсем ясно, но затем решил сказать мне, что кодирование не требуется до собеседования на месте. Затем, через день, приходит письмо, в котором действительно задействован кодинг — всего за пару дней до собеседования. Это привело меня к тому, что я потратил 20 часов подряд на изучение leetcode, чтобы освежить в памяти общие вопросы решения алгоритмических задач.

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

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

Его вступительное заявление было: «Вы можете думать о нас как о НАСА в 60-х годах, но не путайте нас с людьми, которые ищут новый метод свертки — но наш вклад должен быть новаторским, и наша команда должна изменить точку в истории человечества. ».

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

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

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

Его единственным программным вопросом было — как повернуть изображение.

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

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

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

  1. Настройка гиперпараметров — (argparse)
  2. Уровень загрузки и подготовки данных
  3. Определение модели
  4. Функция потерь
  5. Тренировочный цикл
  6. Цикл оценки

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

Если у вас нет веской причины, и это имеет непреднамеренный результат.

или даже opencv сделает свое дело. (где это неявно делает красивую матрицу вращения, которую вы так желали)

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

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

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

Парадигма

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

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

Я сочувствую, почти все вершины вашей карьеры примерно 5–6 лет назад были связаны с созданием этой удивительной математической функции, которая сначала казалась обреченной, потому что ее нельзя было решить, — но потом вы проявили гениальность приблизив его к совершенно безвредной арифметической операции, которая привела к этой прекрасной функции, которая улучшила точность вашего предполагаемого конвейера на дрожжах.

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

Постановка проблемы

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

  • Как вы называете себя Data Scientist, если вы все еще получаете степень бакалавра. Если вы не опубликовали рецензируемую исследовательскую работу или, возможно, не заняли первое место в списках лидеров kaggle, я бы не назвал себя ученым.
  • Вы работаете над компьютерным зрением или обработкой изображений?
  • Кто-то, кто глубоко разбирается в разработке аппаратных встраиваемых систем, лучше удовлетворит вашу потребность?
  • Ваша область — глубокое обучение или машинное обучение? Возможно, все, что вам нужно для решения вашей проблемы, — это простая регрессия с интеллектуальными гиперпараметрами.
  • Вы работаете, имея в виду четкую формулировку проблемы, или ваша работа больше сосредоточена на общем повышении точности и производительности?
  • Будут ли ваши долгосрочные цели улучшение методов и алгоритмов обучения или просто разработка функций для ваших конкретных продуктов?
  • Вы хотите, чтобы люди просто очищали данные для вашей модели.
  • Вы хотите, чтобы люди просто реализовали архитектуру, над которой вы работали?
  • Вы хотите, чтобы люди работали над исчислением более высокого уровня и соответствовали математической работе вашей гипотезы.

Это далеко не полный список основных вопросов, на которые мы должны ответить не только как работодатель, но и как кандидат.

И, пожалуйста, избавьтесь от сверхсекретной защиты интеллектуальной собственности.

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

Бесстыдная вилка:

Какие хорошие команды работают над Deep Vision?

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

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

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

Хорошо, я немного разглагольствовал в предыдущем абзаце.

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

#тлдр :

Добавьте к списку вопросов выше, давайте работать как сообщество, чтобы придумать прозрачные механизмы для выполнения наших требований. Для рекрутера — получите эти разъяснения от команды и организации, если у вас нет готовых ответов. Для кандидата — не соглашайтесь на общую общую информацию. ТРЕБОВАТЬ ЗНАНИЙ.

Четкие описания вакансий

Значение полных названий должностей

Требования к набору навыков в реальном времени

Эффективные вопросы на собеседовании

Скромный взгляд

Осознанное общение

просто не соглашайтесь на унизительное прославление псевдослучайности.

Хотелось бы услышать ваш совет, как действовать дальше. (В основном возникает искушение жить отшельником в глубоководных прибрежных центрах обработки данных Microsoft, но да, давайте не будем отвлекаться.)

Если вы чувствуете, что работаете над чем-то, для чего в команде нужен кто-то вроде меня, или вы знаете кого-то с похожими взглядами — сообщите об этом.

Любовь,

Сал

Линкедин

Био