Машинное обучение стало одной из самых интересных и востребованных технологий в последние годы, и неудивительно, что все больше и больше людей заинтересованы в его изучении. Посмотрите на все сумасшедшие и удивительные вещи, которые компании недавно представили со своими новыми моделями. От OpenAI GPT-4, Microsoft, только что анонсировавшей Copilot, Google MusicLM и многих других, горизонт, кажется, гудит от волнения и конкуренции. Однако многие новички считают, что машинное обучение — сложный предмет, для понимания которого требуется степень магистра или даже доктора наук в области компьютерных наук или высшей математики. Да, нет. Это определенно не так.

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

Фактически выбранным языком программирования был Python, который я начал изучать, работая инженером. Не зная на самом деле, с чего я хотел начать, но, видя происходящее движение, мне казалось, что это правильный язык для изучения. Это было хорошее начало; Python печально известен тем, что является более простой точкой входа, поэтому работа и изучение его казались в какой-то степени достижимыми. Одна ошибка, которую я сделал, однако, заключалась в том, что я слишком рано пытался перейти к машинному обучению и подписался на Специализацию Эндрю Нг по машинному обучению на Coursera, прежде чем я действительно понял большую часть основ. Хотя это, безусловно, достижимо, это казалось слишком недосягаемым, поэтому я сделал шаг назад и сосредоточился на костяке любого хорошего практика: я начал изучать данные как можно больше.

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

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

Итак, я начал работать над рекомендательной моделью земли в Magic: The Gathering с нуля. Это означало сбор данных, предварительную обработку, затем создание архитектуры модели и ее настройку, а затем размещение. Kaggle.com получает заслуженное признание, когда речь идет о людях, которые хотят работать в этой области или узнать больше о моделировании, и я думаю, что это действительно может быть хорошей отправной точкой. Однако, по моему опыту, большая часть работы в науке о данных связана с получением хороших репрезентативных данных и задаванием трудных вопросов, таких как: Мне действительно нужно включать эту функцию? или В чем суть этой задачи и как я могу представить это в данных?. Другими словами, получение надежного набора данных, репрезентативного для любой модели, которую вы пытаетесь создать, составляет около 85–90 % работы. Для сравнения, обучение и настройка гиперпараметров может показаться легкой задачей.

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

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