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

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

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

Где я начал

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

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

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

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

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

Разминка

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

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

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

Начиная

Первое, что я сделал после того, как занялся исследованиями на полную ставку, - это установил Octavian.ai: место в сети, где я мог бы писать. Я собрал веб-сайт Webflow, публикацию Medium, страницы Facebook и Twitter, а также чат в Discord. Хотя я потратил больше времени на эстетику, чем необходимо (я также люблю графический дизайн), веб-сайт был очень полезным фокусом в течение последнего года. Я часто посылаю туда людей, когда они интересуются моей работой.

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

Я не собирал для этого денег. Это было средство личного исследования, и поднимать его было бы неуместно.

Исследования - это не волшебство

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

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

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

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

На проведение исследования уходит много времени

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

Я хорошо знаю заблуждение планирования из своей профессиональной жизни:

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

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

  1. Медовый месяц: сильное волнение, любопытство и оптимизм в отношении проблемы и возможных решений.
  2. Приступаем к работе. Открываем редактор кода, собираем наборы данных, набрасываем экспериментальную архитектуру. Удовлетворительный линейный прогресс
  3. Первые препятствия. Решить эту проблему сложнее, чем предполагалось изначально. Над данными нужно доработать. Первые идеи оказались плохими.
  4. Долгая поездка / Кормление печали: настойчивость становится поддерживающей силой. Нужно исправить больше ошибок. Нужно написать больше тестовых примеров. Нужно попробовать больше вариантов. На горизонте может быть успех. Или не.
  5. Это. Наконец-то. Работает.: Момент радости от того, что проект полностью завершен. Возможно, вы никогда не дойдете до этого момента или можете полностью доказать, что ваш подход никогда не сработает. Если да, вернитесь к шагу -1
  6. Просто сделайте это: толчок, чтобы написать о работе и нажать "Опубликовать". К этому моменту ваша единственная мотивация - освободиться от этого проекта. Вы нажимаете Опубликовать и выходите из офиса.

По моей мысленной оценке, я обычно учитываю только шаги с 1 по 3 проекта. Моя память затемняла корыто печали, вероятно, чтобы защитить мою способность проявлять энтузиазм.

Теперь я гораздо осторожнее отношусь к масштабу проекта, за который берусь. У меня что-то вроде системы подсчета очков:

  • Новый набор данных? +2 балла
  • Набор данных слишком велик для размещения в памяти одной машины? +1 балл
  • Реализуете с бумаги без кода? +1 балл
  • Архитектура, которая не вписывается в библиотеку: +1 балл
  • Обучение на нескольких графических процессорах? +1 балл
  • Обучение на кластере? + 3 балла

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

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

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

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

Обучение без денег

Растущие барьеры для входа в исследования в области машинного обучения

Зима искусственного интеллекта частично оттаяла из-за тепла графических процессоров - и многих из них.

Этот график из OpenAI показывает явную тенденцию к экспоненциальному увеличению ресурсов для обучения, т. Е. Получение современных результатов становится все более дорогостоящим:

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

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

В течение года некоторые действительно добрые люди и организации жертвовали ресурсы:

  • FloydHub: действительно простой способ провести эксперимент с машинным обучением на облачной машине с графическими процессорами.
  • Google TPU Research Cloud: TPU теперь мой любимый способ действительно масштабного обучения. Модель программирования разделяет ваше обучение на пакет, поэтому, чтобы использовать больше машин, вы увеличиваете размер пакета.

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

Рекрутинг без денег

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

В рамках проекта Octavian.ai я хотел создать сообщество сотрудников. Оказывается (что неудивительно) трудно убедить людей работать с вами, не имея денег для оплаты. У них есть счета, которые нужно оплачивать.

Однако некоторые люди сделали шаг вперед и внесли свой вклад:

Спасибо вам обоим!

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

Маркетинг без денег

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

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

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

Выжить без руководителя и без команды

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

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

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

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

  • Задавая мне хорошие вопросы, над которыми я работаю
  • Направляя меня к хорошим решениям, о которых я бы не подумал
  • Давление / вдохновение, чтобы добиться большего

Быть частью команды мне помогло бы:

  • Обмен и развитие новых идей
  • Тестируйте идеи быстрее
  • Учимся ремеслу друг у друга
  • Больше пропускной способности, чтобы попробовать больше
  • Наличие большей пропускной способности для написания более подробных отчетов

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

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

Поиск хороших вопросов

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

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

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

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

Вот несколько советов по развитию этого навыка:

  • Конкуренция по общедоступным наборам данных / известным проблемам сохраняет вашу честность - у вас есть модели, которые можно превзойти, и установленные показатели успеха.
  • Хотя создание собственного набора данных для нового типа проблемы тоже полезно; здесь просто проще успокаиваться на том, действительно ли ваше решение является новым, и труднее заинтересовать других людей вашей работой.
  • Прочтите много статей и посмотрите, какие проблемы они взяли на себя, как они пытались их решить и как они измеряли успех.
  • Говорите с людьми.
  • Пишите предложения по исследованиям и получайте отзывы о них.
  • Ищите проблемы, имеющие реальную ценность - если вы их решите, естественно, будут более серьезные последствия и интерес.
  • Прислушайтесь к своему любопытству: ваша мотивация как исследователя является ценным катализатором. Если вы чувствуете, что что-то недостаточно изучено, попробуйте это.
  • Если вы эксперт в двух разрозненных областях, посмотрите на их пересечение. У вас могут быть ключи, которых нет у многих других людей.
  • Работа над полным жизненным циклом исследовательского проекта даст вам понимание, которое невозможно получить другими способами. Сравните свои первоначальные мысли с окончательными результатами.

Письмо - это кровь

100% ваших идей, не переданных вами, будут проигнорированы. И лучший способ научиться писать - это писать.

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

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

Технический материал вечнозеленый

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

Статьи Октавиана представляют собой противоположную модель: вы пишете статью, запускаете ее, мало что происходит, а затем она медленно набирает обороты. Каждый месяц Октавиан получает 33 000 минут чтения на Medium. Ни одна из этих статей (кроме пары) не получила особой виральности, но многие из них поднялись до высоких позиций в Google и привлекали регулярный поток посетителей.

Вы не знаете, что найдет отклик у вашей аудитории

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

Одна из первых статей, которые я написал, Как выбрать скорость обучения », в настоящее время имеет наибольшее количество просмотров из всех статей Octavian (66k). Я никогда бы не догадался об этом на момент написания статьи.

Изучая нашу статистику, я обнаружил следующие тенденции:

Задним числом все это имеет смысл :)

Вот самые просматриваемые статьи со статистикой - обратите внимание на красивое степенное распределение:

Об отсутствии докторской степени

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

Я считаю, что отсутствие доктора философии имело для меня несколько недостатков:

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

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

Мир хочет узнать о машинном обучении

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

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

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

  • Опубликовал главный хит в Google по теме Машинное обучение на графах, всестороннее введение в различные направления практики и исследований.
  • Выступил в ряде компаний, университетов и на конференциях по графовому машинному обучению.
  • Запустил бесплатный курс по машинному обучению на графиках - объявление об этом стало немного вирусным, и на него подписалось более 1000 человек (что на самом деле было намного больше, чем я ожидал). Нам повезло, что активное ядро ​​студентов работает над упражнениями и вместе деляется ответами.

Радость построения сообщества

В начале года мы с Энди создали чат в Discord, чтобы вести беседы по графу ML. Я разместил ссылку для приглашения публично на сайте Octavian.

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

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

Что бы я сделал иначе?

Завершив год, я теперь могу подумать о том, как я мог бы сделать это по-другому.

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

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

У меня было несколько нечетких целей на год, некоторые из которых я достиг:

  • Докажите себе, что я способен на академические исследования. Я думаю, что добился этого. За год я многое узнал как о ремесле создания систем машинного обучения, так и о ремесле исследований. Я также получил лучшее представление о том, где я нахожусь на пути исследования; Я вижу себя на уровне аспиранта первого года обучения: все еще разбираюсь во всем, теряя базовые навыки. Я смогла пройти все этапы исследования и уверенно руководить ими. Теперь я ценю время и усилия, затраченные на создание тщательно проработанной статьи.
  • Создайте бизнес, основанный на машинном обучении. Мне не удалось достичь этой цели. Я изучил множество идей и поговорил со многими людьми, но так и не нашел ответа. Отчасти это связано с тем, что эта цель не направлена ​​на решение реальной проблемы; Я так и не нашел проблемы, которую очень хотел бы решить.
  • Повышаю квалификацию во внедрении систем машинного обучения. Я определенно добился этого. За каждой опубликованной статьей (и кучей неопубликованных) скрывается много кода, статей для чтения и моделей отладки. Я потратил массу времени на обучение и инфраструктуру данных. Мои навыки внедрения значительно улучшились, и у меня есть четкая интуиция, почему системы не работают и что с этим делать.
  • Проведите исследование академической степени. Я уклонился от этой цели. К концу года я сформировал навыки и список исследовательских вопросов, чтобы попытаться это сделать, и мой последний большой проект (добавление позиционной информации к самовнимательной порождающей враждебной сети для достижения нелокальной координации человеческих форм) не дали положительных результатов. У меня не хватило времени попробовать другие решения. Тем не менее, это научило меня многому о расширении обучения на TPU. Я хотел бы потратить больше времени на достижение этой цели.

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

Чем я больше всего горжусь

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

В духе борьбы с этим я горжусь следующими достижениями этого года:

  • Теперь мы - первый или второй результат в Google по широкому кругу вопросов, таких как язык и общий искусственный интеллект, « машинное обучение на графиках ». , « выбор скорости обучения », « изучение нескольких задач с градиентным спуском »
  • Мы выступали в двух университетах, на двух конференциях (Connected Data London, O’Reilly Strata New York), в нескольких корпорациях (Apple, Yelp) и на нескольких встречах.
  • Мы получаем 18 000 просмотров в месяц наших 19 статей на Medium.
  • Мы опубликовали 20 репозиториев GitHub с 344 звездами между ними.
  • Наш сайт действительно красивый
  • Мы распространили обучение по всему миру
  • Мы провели реальное небольшое исследование по ряду тем, в том числе: многозадачное обучение, выбор скорости обучения, ограничения GAN, алгоритмы обучения графов, перевод между английскими и графовыми запросами, пределы нейронного внимания, элементы- мудрое умножение как альтернатива плотным слоям.

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

Что дальше?

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

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

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

Благодарности

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

Исследования Октавиана

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