Я тренировал свою первую модель в 2017 году на полу в гостиной моего друга.

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

Я сказал, конечно.

Мы решили вопрос и ответ, лучше всего подойдет видео с перемоткой вперед и назад.

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

А теперь копирую их сюда.

Как вы с самого начала заинтересовались наукой о данных / машинным обучением?

В 2017 году мы с друзьями создавали веб-приложение (очень примитивное), чтобы связать местные спортивные залы в нашем районе. У нас была проблема, что мы не могли тренироваться друг с другом, когда хотели. Итак, у нас возникла идея сделать Airbnb фитнес-центром, где вы могли бы пойти и забронировать время / место и тренировку с тем, с кем хотите.

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

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

В то же время я оставил свою работу в Apple Retail (я был одним из гениев, людей, которые помогают вам с вашим компьютером), чтобы снова научиться программировать (моя 3-4-я попытка).

Из-за недостатка навыков и небольшого объема внимания веб-разработка казалась мне слишком утомительной. И, конечно же, 2017 год был пиком ажиотажа в области машинного обучения, поэтому в своих поисках я наткнулся на самые разные интересные вещи. Особенно новый Deep Learning Nanodegree от Udacity и веселый персонаж по имени Сирадж Раваль. Красивые цвета, харизматичная личность - все это меня поразило. Так что я подписался на 2–3 недели с самого начала, не зная ни грамма Python.

Я подумал: «Ого, компьютер учится за тебя?»… Я могу это обойти.

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

Что ты изучал в колледже? (Я думаю, вы правильно сказали о питании?)

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

В конце концов, декан науки прислал мне электронное письмо с просьбой приехать и навестить меня.

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

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

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

Декан уловил это и сказал: «Почему бы тебе не перейти на питание?».

И это поразило меня.

Потому что я подумал: «Вы можете выбрать, чему учиться?».

Понимаете, вот насколько я был наивен. Я выбрал биомедицинские науки, потому что подумал, что фраза «Я учусь на врача» звучит круто.

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

Но меня особо не волнует сама степень, мне важнее знания.

Даже сейчас люди спрашивают, а что вы делаете со степенью питания? И я говорю им с ухмылкой: «Я разорван».

Я закончил колледж с чем-то даже более ценным, чем степень.

Я ушел с мыслью, что если что-то пробудит мое любопытство, я смогу последовать за этим.

С каких концепций вы начали изучать машинное обучение? (небольшие проекты или теория обучения)

Я начал с глубокого обучения (Deep Learning Nanodegree был моим первым курсом). Я помню, как на площадке моего друга тренировал мою первую сверточную нейронную сеть на CIFAR10 и показывал ему результаты.

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

Курсы Udacity и Coursera представляли собой смесь теории и небольших проектов. Хотя проекты были довольно ручными (инструктор объясняет вам шаги), я думаю, что это важно, когда вы только начинаете. Если вы попробуете что-то слишком далеко от вас, вы потеряете мотивацию и остановитесь.

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

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

Как вам удалось совместить машинное обучение со своими личными интересами?

Я еще не до конца понял, что начал с идеи объединить машинное обучение со здоровьем и питанием.

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

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

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

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

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

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

Почему кто-то решил сделать то, что делал?

Если на онлайн-курс со мной записались 51 443 человека, я хотел бы знать, чем они занимаются изо дня в день параллельно с изучением материала.

Они тоже учатся в спальнях?

Вот что я начал делать.

Как вы нашли работу во время онлайн-обучения?

Во время учебы я водил Uber по выходным, чтобы заплатить за курсы, книги, еду и аренду (я был отшельником, так что это были мои единственные расходы). Однажды ночью я получил штраф за то, что подбирал людей не в том месте. Штраф составил 220 долларов, больше, чем я заработал за всю ночь. И я сижу там, чтобы высадить этих людей, это было где-то в 2 часа ночи воскресенья, и я думаю про себя: я собираю пьяных и забираю их домой (безопасно), и я получить штраф от какого-то парня, стоящего на тротуаре и фотографирующего на смартфон.

По дороге домой, а к этому моменту уже почти 3 часа ночи. Я решил тут же. Я больше не за рулем Uber. И это было большим делом, потому что обычно в воскресенье днем ​​я получал приличное количество билетов, потому что вечера пятницы, субботы и воскресенья были единственным хорошим временем для езды. Итак, в воскресенье утром я проснулся усталым, но почти забыл о штрафах, потому что у меня была новая миссия.

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

Мой первоначальный план состоял в том, чтобы просто купить билет в один конец в США и найти там работу в каком-нибудь стартапе.

Оглядываясь назад, я могу сказать, что мои навыки, вероятно, на 70% были готовы работать где угодно (что является причудливым способом сказать, я был не так хорош, как думал), но в своей голове я знал, что смогу что-то придумать. из.

Прорыв произошел через четыре дня.

Как я уже упоминал ранее, я превратился бы в машину для замороженного йогурта, в которой что-то выставлялось. И девушка, с которой я работал, по имени Эшли заметила, что я публикую в LinkedIn.

Эшли работала с парнем по имени Майк, который знал кучу людей в сфере высоких технологий. Она отправила мне сообщение: «Привет, Дэн, я видела, что ты публиковал, возможно, тебе будет интересно познакомиться с Майком».

Так что я сказал, что уверен, и встретил Майка.

Оказалось, Майк действительно классный парень, и когда мы поговорили, он сказал, что тебе стоит познакомиться с Кэмом, он руководитель отдела здоровья в Max Kelsen. И мои глаза загорелись.

Итак, примерно через неделю, в понедельник, я встретил Кэма. Мы поговорили, я рассказал ему, чем занимаюсь, изучаю искусственный интеллект в своей комнате, делаю что-то в сети, водил Uber, свои планы в США.

А потом он спросил меня: «Почему именно США?».

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

Он продолжил и сказал мне, что я могу работать над тем, что хочу, прямо здесь (я живу в Брисбене, Австралия), если захочу. И, конечно же, здесь имелось в виду Макса Кельзена.

"Почему бы тебе не прийти в четверг?" Он спросил.

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

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

Что вы посоветуете людям, которые хотят изучить машинное обучение с нуля? (или как ты это сделал?)

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

И я учился короткими сериями, а затем короткими сериями выполнял проекты. Например, 1–3 месяца обучения (с нуля), а затем минимум 1 месяц работы над проектом с этими знаниями.

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

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

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

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

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

Но если вы ищете конкретные шаги, попробуйте следующее:

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

Помимо изучения Python и различных навыков работы с машинами, я изучал веб-разработку полного стека, а также различные навыки разработки программного обеспечения.

Более лаконично:

Изучите концепции машинного обучения

  • Пройдитесь по элементам ИИ (чтобы получить общее представление о машинном обучении в целом) .

Изучить Python

  • Изучите основы Python (если вы можете написать функцию на Python, вы читаете, чтобы начать обучение машинному обучению).
  • Изучите панд (для обработки данных).
  • Изучите NumPy (для численных вычислений).
  • Learn Scikit-Learn (библиотека машинного обучения золотого стандарта).
  • Изучите глубокое обучение (fast.ai или deeplearning.ai отлично подходят).
  • Вилка: Мой курс машинного обучения учит всему вышесказанному.

Изучите веб-разработку с полным стеком (вместе с Python)

Изучите навыки разработки программного обеспечения (добавьте их, когда захотите, или через 6–12 месяцев, указанных выше)

Дополнительно…

  • Ознакомьтесь с предложениями Khan Academy по любым нужным вам темам.
  • Если бы вы смогли найти группу, с которой можно было бы изучать разные вещи, это было бы замечательно.
  • Возможно, вам захочется ознакомиться хотя бы с одним предложением облачных вычислений (AWS, GCP или Azure).

И, конечно же, попутно поделитесь своей работой, создайте свой собственный блог, разместите код на GitHub и поделитесь своими проектами машинного обучения (попробуйте создать их с помощью Streamlit) в разделе Сделано с ML (независимо от того, какие они) .

Чтобы увидеть ответы на эти вопросы в видеоформате, посмотрите видео на YouTube Кена:

Я также взял интервью у Кена на своем канале (задавая вопросы, например, что он ищет при интервьюировании младших специалистов по данным):

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