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

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

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

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

"С чего же мне начать?"

Ну, это то, о чем я много спрашивал себя.

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

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

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

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

Однако для меня была одна проблема с этим:

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

В какой-то момент я смотрел на экран семь дней в неделю, одержимый желанием учиться и выполнять миллион проектов одновременно. Будучи кем-то за двадцать, я чувствовал, что упускаю свою юность, и мне нужно найти какой-то баланс. Может быть, я действительно представляю свое поколение.

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

Это привело бы меня полностью к стене. Мне казалось, что я трачу 90% своего времени на отладку и выяснение того, как просто получить один результат, а затем только оставшиеся 10% на самом деле развивают навыки, которые я хотел. У меня была такая истощенная умственная мотивация, что мой импульс был полностью потерян.

Я чувствовал, что теряю все свое время.

Поэтому я начал думать о лучшем способе обучения. А началось все с моего первого собеседования на работу специалиста по данным.

Проблема, которую нужно было решить, была довольно простой. Можете ли вы предсказать погоду?

Набор данных включал 2000 изображений ежедневных карт осадков США. Цель состояла в том, чтобы создать 7 новых карт осадков в последовательности, следующей за окончательным изображением в обучающей выборке. То есть генерировать недельный прогноз дождя в виде изображений.

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

«Это не похоже ни на одну проблему, которую я видел на десятках онлайн-курсов!»

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

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

Это не похоже ни на одну проблему, которую я видел в десятках онлайн-курсов! Что, черт возьми, я собирался сделать. У нас было несколько дней, чтобы сдать отчет. Абсолютная паника.

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

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

Но я кое-что понял. За 4 дня я узнал о машинном обучении с данными изображений больше, чем за 4 месяца.

Почему?

Ну, паника и давление были большой движущей силой, конечно.

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

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

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

В итоге я подробно рассмотрел следующие темы в течение нескольких недель:

  • Наборы данных изображений (форматы, RGB, RGBA, палитры)
  • Сверточные нейронные сети
  • Транспонированные сверточные слои
  • ResNets, WideResNets
  • Автоэнкодеры, VAE
  • ГРУ, LSTM
  • Архитектуры вложенных нейронных сетей
  • Пользовательские загрузчики данных
  • Дополненное секвенирование с наборами данных изображений с нуля
  • Сегментация изображения
  • Общий PyTorch

Я также получил довольно приличную модель, которая могла довольно хорошо предсказать неделю дождя в США. Хотя, возможно, немного опоздал на собеседование.

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

Как однажды сказал Джереми Ховард:

«Если вы тратите все свое время, пытаясь выучить все, вы никогда не узнаете то, что вы действительно хотите узнать».

Главное, что я вынес из этого, это то, что я эффективно изучил то, что хотел узнать.

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

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

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

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

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

Я пытаюсь настроить все свои проекты для работы в ядре Kaggle. Таким образом, вам не нужно беспокоиться о докерах, библиотеках, вычислительной мощности, пространстве для хранения или даже необходимости придерживаться одного ПК (вам нужен только веб-доступ). Другой плюс в том, что это бесплатно, конечно.

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

Перенесемся на 365 дней вперед после того интервью, и теперь я специалист по данным в области своей мечты (возобновляемые источники энергии) и в городе моей мечты (Сидней).

Попробуйте в течение одного месяца! Вы быстро станете специалистом по данным. И иметь некоторое время на стороне, чтобы все еще быть стереотипом поколения.

Кому интересен код, посмотрите его на GitHub.

Спасибо за чтение! Хлопок приветствуется.