Как вы растете в навыках, когда вы возглавляете компанию в этой области?

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

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

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

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

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


Чтобы сделать это ценным вопросом для всех:

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

В нашем случае у нас, вероятно, нет ресурсов, чтобы привнести огромный опыт, но любые советы по этому поводу все равно будут оценены.

Вы не собираетесь быстро набирать скорость.
Очень хороший вопрос. Обучение на работе — это хорошо, но иногда вы чувствуете, что чего-то не хватает. Часто трудно найти время, чтобы изучить лучшие практики, профессиональные хитрости и т. д.
Читайте, практикуйтесь, программируйте, обсуждайте и т. д.
На самом деле, не осознавая этого таким образом раньше, вы дали мне понять, что я тоже нахожусь на вашем месте. Отличный вопрос.
По моему мнению, вы естественным образом станете лучше, если пройдете этот процесс проб и ошибок. В отличие от любителя, вы не можете просто уйти от чего-то непродуманного.
Вы работаете в мире исследований и разработок ПО. Это сильно отличается от мира разработки Web/CRUD. Очень редко в мире исследований и разработок можно найти «опытного эксперта». Это то, кем ваша компания ожидает от вас стать. Хотя пробы и ошибки — это нормально, когда вы только начинаете что-то изучать, в какой-то момент вы должны стать более осведомленными и начать иметь реальные причины для направления, в котором вы движетесь. Не похоже, что вы переходите на следующий уровень. Вы должны начать изучать некоторые из более формальных методов решения проблем, чтобы научиться принимать более обоснованные решения.
По сути, это решение о покупке или строительстве. Компания может нанять эксперта или поручить существующим сотрудникам изучить то, что им нужно. Бесплатной опции нет.
Когда я впервые прочитал краткое изложение вопроса, моей внутренней реакцией было: «Вы растете в навыке, будучи в нем лидером» :) Необходимость быть мастером в чем-то подталкивает нас к обучению.
На всякий случай, если вы не знаете об этом, я рекомендую книгу «Искусственный интеллект: современный подход».
Иди, защити докторскую диссертацию по искусственному интеллекту или найми кого-нибудь, у кого она есть! В идеале вам нужны как минимум 3 человека, которые защитили докторскую диссертацию по искусственному интеллекту в разных университетах.
Чрезвычайно хороший вопрос. Просто надеюсь, что ответы будут такими же хорошими, как этот.
Data Science SE — хорошее место, не стесняйтесь спрашивать меня напрямую.
В моей предыдущей компании мы обычно приводили консультанта, «который оказался другом генерального директора владельца», и этот консультант задавал нам вопросы, чтобы узнать, что мы сделали, что мы делали, какова наша цель, цель. Он предлагал решения и внедрял технологии, которые мы никогда не считали доступными. Что касается меня, то ежемесячно я сталкивался с новыми проблемами, и их неэффективное решение приведет к тому, что наша команда опоздает. Поэтому я спрашивал в Интернете, например, stackexhange и даже на других платных сайтах вопросов и ответов, чтобы узнать мнение экспертов.
Трудно сделать это правильно с первого раза, поэтому всегда будут возникать следы и ошибки. Если кто-то сделал что-то правильно с первого раза, то либо он уже делал это раньше, либо ему повезло. Вы всегда будете делать обоснованные предположения, основанные на знаниях, накопленных за годы. Раньше я работал около 11 часов в день, имея не менее 3 часов на обучение.

Ответы (11)

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

Ниже приведены лучшие ресурсы

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

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

Если вы не знаете, где искать места такого типа, вы всегда можете проверить [MeetUp](meetup.com), чтобы узнать, есть ли такие в вашем районе. Другой вариант — вернуться в свою школу (или местную) и поговорить с преподавателями/студентами в соответствующем классе.
Онлайн-курсы. Проверьте EDx или Coursera.
Вы забыли переполнение стека.
Что касается вашего предложения поговорить с экспертом в этой области из университета. Есть ли у вас какие-либо предложения о том, как установить контакт? (Или это стоит совершенно нового вопроса об академических кругах?)
В Academia у вас было бы больше мнений обо всем, но, пытаясь найти некоторые публикации (например, arXiv), вы могли бы узнать некоторых людей, работающих в этой области. И тогда не уверен в универсальном подходе, но вы можете попробовать позвонить по телефону или по электронной почте. Или, если это недалеко, идите сами. Вероятно, было бы полезно, если бы вы показали, что читали их работу и у вас есть конкретные вопросы по ней.
@SCB относительно вашего вопроса о том, как связаться с кем-то из Академии. Я аспирант, и я был бы очень счастлив и готов поговорить с кем-нибудь о моем исследовании за чашкой кофе, даже если бы приглашение пришло совершенно неожиданно. Однако я «просто» аспирант, если вы хотите поговорить с постдоком или профессором, ваши шансы довольно малы. Тем не менее, аспирант все равно может вам очень помочь, не только отвечая на вопросы, но и указывая на важные статьи, современные достижения, хорошие журналы и т. д.
@SCB Вы можете попытаться выяснить, собирается ли что-то вроде компьютерного общества IEEE в вашем районе. Они есть во многих крупных городах, и в большинстве университетов с известными программами в области компьютерных наук есть отделения. Встречи будут в основном использоваться для общения, поэтому, даже если на встрече нет эксперта по ИИ, вы можете найти кого-то, кто кого-то знает...

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

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

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

Это ИМО лучший ответ. Единственное, чего не хватает (что также отсутствует во всех других ответах), - это идеи развития новых знаний, если вы действительно работаете на переднем крае определенной области. Не все знания приходят из внешних источников. Можно создавать новые знания.
Этот метод сопряжен с риском приобретения вредных привычек, как и любое самообучение.
@Wildcard Очень хороший момент, я действительно сделал это, так как я атаковал конкретную проблему с нестандартной точки зрения в двух областях и объединил их. Я постараюсь придумать способ добавить это к ответу.
@ВекарЕ. нет никакой гарантии, что «начальство» не передаст свои вредные привычки — хитрость во всех случаях заключается в том, чтобы открыть для себя как можно больше источников информации и никогда не переставать учиться
@HorusKol Вот почему я лично всегда рекомендую изучать новые темы в академической среде или, по крайней мере, в классе. Групповой анализ обеспечивает действительно хороший буфер мусора — в большинстве случаев.
@ВекарЕ. не обязательно в технике. Идея управления версиями моего лектора по программированию заключалась в том, чтобы использовать Dropbox. Когда она увидела, что я использую mercurial, "о, это выглядит интересно, мы обязательно должны это изучить". И она была из отдела языков программирования.

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

Тогда почему бы не нанять кого-то с большим опытом в этой области?

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

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

у нас, вероятно, нет ресурсов, чтобы привнести огромный опыт

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

Это решение, но не всегда возможно нанять кого-то (особенно старшего разработчика) только для того, чтобы привнести знания в вашу компанию.
Подумайте, если бы ОП жил в каком-нибудь месте в Центральной Африке. Было бы легко переместить туда какого-нибудь ветерана-эксперта по ИИ? Кроме того: удаленная работа действительно непроста, если вы хотите делать это на законных основаниях на разных континентах.

Я в похожей ситуации. Я ведущий разработчик R&D в довольно небольшой компании (25 сотрудников).

Мне нравится узнавать что-то новое, поэтому я постоянно посещаю курсы. Udacity великолепен, как и Edx, и Coursera, и т. д. Там можно многому научиться, даже если вы не посещаете никаких курсов и просто просматриваете, вы увидите, какие предметы и инструменты «модны».

Что касается изучения ИИ, есть отличный курс по глубокому обучению на Udacity. Он основан на библиотеке Google TensorFlow, которая все еще довольно новая и очень мощная.

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

Еще один способ развить свои навыки и посмотреть, на что вы способны, — это соревноваться в программировании. Kaggle — отличный сайт для решения задач машинного обучения. Недавно я принял участие в конкурсе для начинающих по классификации листьев, и в настоящее время я нахожусь на 200-м месте из 400 участников, поэтому я знаю, что мне еще многое предстоит улучшить! Там есть форумы, где вы можете задавать вопросы, люди делятся блокнотами Python и прочим, так что есть много способов учиться.

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

Совсем не уверен, что конкурентное кодирование полезно. Kaggle может быть другим, но многие из этих сайтов предпочитают характеристики, которые легко измерить (например, потребление памяти), а не те, которые трудно измерить (например, ремонтопригодность).
Kaggle даже не смотрит на код, он о том, как алгоритм работает при категоризации вещей и т. д. Обычно вы загружаете входной CSV-файл, создаете выходной CSV-файл и загружаете его для оценки. Неважно, какой язык, фреймворк вы используете и т. д. Если вы хотите узнать, насколько хорошо вы разбираетесь в машинном обучении, я думаю, что это достойный тест. Я участвовал только в одном соревновании, но думаю, что сделаю еще.
Kaggle — это хорошее место, чтобы сравнить ваши подходы с текущими наилучшими возможными — это может дать вам ощущение места (через общедоступный рейтинг). Хотя некоторые из методов, используемых для победы в конкурсах, такие как очень сложные ансамбли или поиск и использование утечек данных (где лучше всего было бы удалить ту же утечку и перезапустить свой проект), не соответствуют отраслевым практикам. Также рейтинг несколько затемняется копированием сценария. Если у вас 200/400 полностью вашего собственного кода, ваше истинное сравнение с другими конкурентами, вероятно, более выгодно, чем предполагает 50%.
Еще один способ соревноваться в программировании — это внутренние хакатоны. Каждый получает возможность похвастаться перед своими сверстниками, и группа может учиться друг у друга.

Учить. Поделитесь своим пониманием с остальной частью команды.

Когда вам нужно учить кого-то другого, вы должны:

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

Все это сделает вас лучше в своей области, улучшит вашу команду и в целом улучшит ваше рабочее место.

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

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

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

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

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

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

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

Удачи!

«Вы сами можете подать хороший пример обучения…» Применяя этот подход к сотрудникам, вы ожидаете, что они освоят навыки, необходимые им для выполнения своей работы в свободное время. Предоставление им (оплачиваемого) времени для обучения может быть хорошим подходом, но вывод о том, что вы ожидаете, что они будут тратить дополнительные, но неоплачиваемые часы на работу, не пройдет (и не должен; неискренне, даже если это не имелось в виду).
Под самостоятельным я имел в виду обучение без особых указаний, самостоятельное решение того, что изучать и т. д., в рабочее время. Извините за недоразумение, полностью согласен с тем, что вы сказали.

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

Подкасты!

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

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

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

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

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

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

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