В связи с недавней шумихой вокруг глубокого обучения и легкодоступных библиотек/инструментов машинного обучения и т. д. возникает вопрос, не превращается ли часть машинного обучения в набор подключаемых программных модулей и инженерных артефактов, которые человек (даже без знания предметной области) ) может прийти и использовать, чтобы решить свои конкретные приложения. Это также относится к часто задаваемым вопросам о подготовке специалистов по науке о данных. В Интернете существует несколько курсов и сертификаций, которые предназначены для изучения некоторых из этих наборов инструментов и основных алгоритмов, чтобы вы могли быстро освоиться в этой области и применить их к проблемам по вашему выбору. Хотя я чувствую, что такое широкое освещение искусственного интеллекта и успех методов глубокого обучения, безусловно, помогает привлечь к этой области столь необходимое внимание всего мира, я чувствую, что есть спешка с поспешными выводами. Я также часто слышу вопросы о роли ученых и инженеров в машинном обучении. Моя цель в этом посте — представить некоторые свои мысли по этому поводу через историю (я большой поклонник аналогий!).
Аналогия, которую я хотел бы привести, — представьте алгоритм/метод машинного обучения в виде автомобиля. Мы все владеем автомобилями и ездим на них, и научиться водить их относительно легко. Вероятно, потребуется несколько месяцев усилий, чтобы освоить необходимые навыки вождения и получить права, но это рутинная вещь, которой занимаются миллионы людей. С другой стороны, не все знают (и узнают), что находится под капотом автомобиля, какие гайки и болты управляют этой машиной. Таких людей (которых мы называем «механиками»), специализирующихся в этом аспекте, немного. Они, конечно же, тратят больше, чем несколько месяцев (затраченных обычным человеком на получение лицензии), чтобы накопить свои знания и опыт в том, как работает этот невероятно сложный автомобиль. Они могут за несколько часов разобрать целый автомобиль на голые металлические части, устранить неполадки и собрать его обратно, чтобы он снова работал исправно. Они разбираются в тонкостях конструкции двигателя, различиях между осями разного типа/размера, влиянии использования амортизаторов, шестерен и т. д. Когда мы поворачиваем ключ зажигания или нажимаем на тормоз, происходит множество сложных вещей. (особенно в наши дни, благодаря невероятно сложным функциям, встроенным в автомобиль). Обратите внимание, что ни одна из этих двух ролей не превосходит другую (они обе нуждаются друг в друге для поддержания своего бизнеса), однако у них разные цели.
«Водитель» автомобиля — это то, что я люблю называть «потребителем» алгоритмов машинного обучения. С другой стороны, «механик» аналогичен «производителю» алгоритмов машинного обучения.
Водитель автомобиля — это то, что я называю потребителем алгоритмов машинного обучения, тот, кто любит применять их к различным проблемам в своей области (что приводит его в места, где он никогда не был, встречает людей, с которыми он не встретились и принимайся за дело!). С другой стороны, механик аналогичен производителю алгоритмов машинного обучения, который больше сосредоточен на использовании гаек и болтов (инструменты из математики, статистики, других вычислительных областей, систем и т. д.) для создания/исправления этих алгоритмы. Независимо от того, сколько лет у человека есть опыт вождения автомобиля, когда он ломается, помощь механика кажется неизбежной. Кроме того, вам необходимо ежегодное техническое обслуживание и проверки. Когда что-то идет не так, устранение неполадок не является тривиальной задачей для водителя. Именно так обстоит дело с машинным обучением, где такие инструменты, как глубокое обучение, теперь позволяют все большему количеству водителей-новичков выходить на дорогу. Вы можете использовать PyTorch или TensorFlow для создания нейронной сети свертки, чтобы точно отличать кошек от собак, пробуя все настраиваемые параметры, но понимание того, почему вы получаете результаты, которые вы видите, ограничено. Что это значит, когда вы переключаетесь с одной функции передачи на другую в вашем любимом UI-интерфейсе глубокого обучения? (Это потрясающий инструмент визуализации для нейронной сети, и я не хочу его умалять, просто пытаюсь доказать свою точку зрения). Часто ошибочно полагают, что обучение вождению — это все, что осталось машинному обучению. На KDD 2016 была отличная панель по глубокому обучению (которую я настоятельно рекомендую посмотреть), и я цитирую одного из докладчиков (Педроса Домингоса), который сказал: Глубокое обучение теперь считается синонимом машинного обучения, а также искусственного интеллекта, скоро люди будут считать его синонимом «информатики.
Получение докторской степени в этой области находится на другой крайности, когда вы несколько лет обучаетесь на «механика», специализируясь на конкретной модели или части автомобиля.
Мой совет для тех, кто только начинает работать в этой области, — изучить понемногу оба аспекта (потребительский и производственный) и не уклоняться от производственного аспекта (да, здесь много математики, но она существует по какой-то причине.И математику не нужно изучать только с помощью уравнений, ее также можно хорошо оценить с помощью интуиции, картинок и игрушечных примеров). Внедрение алгоритма машинного обучения с нуля (запишите уравнения, закодируйте их, устраните все возникающие числовые проблемы и протестируйте их на реальном наборе данных), вероятно, лучший способ понять алгоритм (что может быть лучше для понимания автомобиля, чем собрать игрушечную машинку самому!). Поскольку машинное обучение развилось из нескольких научных дисциплин, вы не можете игнорировать его научный аспект. В какой-то степени онлайн-образование, такое как Coursera и Udacity, действительно пыталось научить все больше и больше потребителей осознавать некоторые из этих аспектов производителя, но, как вы можете понять из приведенной выше аналогии, это не задача на 6 месяцев или несколько недель. Это требует времени и опыта. Именно в этом заключается ценность курсов машинного обучения, преподаваемых в аспирантуре, где у преподавателей больше свободы для изучения большего количества этих основ. Получение докторской степени в этой области находится на другой крайности, когда вы несколько лет обучаетесь на механика, специализируясь на конкретной модели или части автомобиля. Работая на таком низком уровне в течение многих лет, становится несколько легче увидеть сходства и различия между тем, как работают одни и те же детали у разных производителей автомобилей. Вы начинаете видеть, как все взаимосвязано, понимаете основные принципы создания этих автомобильных деталей, открываете новые способы их создания и улучшения. И в конце вашей докторской приходит важное решение, хотите ли вы остаться механиком на всю жизнь или переключиться на вождение, или, возможно, выпуклую комбинацию того и другого! :)
Надеюсь, мне удалось ответить на некоторые вопросы, которые могут возникнуть. Я планирую добавить больше на эту тему позже. Не стесняйтесь оставлять свои вопросы/комментарии.