Мой опыт стажировки по машинному обучению - Часть 2

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

В своих предыдущих постах я говорил о:
Часть 0 - о моем опыте до стажировки.
Часть 1 - о моей первой неделе и некоторых проблемах после нее.

TL;DR

  • Вам не нужно быть экспертом в какой-то одной теме, особенно при работе с несколькими проектами. Установите хорошие системы, чтобы заполнить пробелы в ваших знаниях.
  • Вот краткое изложение моих наиболее важных советов по созданию хорошей системы:
    → Выделите время, чтобы учиться каждый день (см. «Ценные ресурсы» ниже).
    → Закрепите подход к получению базовые знания по любой теме.
    → Подходите к проектам с помощью архитектурных диаграмм, которые можно повторять.

Проекты 📝

В основном я участвовал в первых фазах двух проектов. Один был проектом Horizon 2020 (H2020), а другой - проектом Innovate UK. H2020 - самая крупная программа ЕС в области исследований и инноваций за всю историю. Innovate UK является частью UK Research and Innovation, вневедомственной государственной организации, финансируемой за счет субсидии правительства Великобритании.

H2020 - HumMingBird

Цель HumMingBird (она все еще продолжается) - лучше понять меняющиеся миграционные потоки. Вклад моей компании был разделен на 4 субпродукта, причем субпродуктом моей команды была система картографирования засухи для Африканского Рога. Работа и исследования, которые я провел, способствовали созданию первой итерации этого субпродукта.

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

Мой коллега начал создавать конвейеры для реализации некоторых из наших идей, поэтому я попытался протестировать конвейеры с помощью PyTests. Мне определенно стоило сначала попробовать модульное тестирование, но я наткнулся на отличный учебник по Twitch (упомянутый ниже в разделе «Ценные ресурсы»), в котором объясняется, как использовать PyTests простым для понимания способом.

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

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

Innovate UK - SBRI

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

В течение первых двух недель мой коллега и менеджер писали основную часть этого предложения. Я лишь поверхностно понял, что такое облака точек, поэтому, когда меня попросили внести свой вклад в предложение, я почувствовал себя ОГРОМНЫМ самозванцем. Меня также попросили составить диаграмму архитектуры высокого уровня, что, честно говоря, было бы смешно, если бы вы увидели то, что я собрал. Это определенно был навык, который я улучшил. После долгого периода задержек мы выяснили, что добрались до Фазы 1.

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

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

Ценные ресурсы 📚

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

MOOC. Я могу порекомендовать 3 MOOC, которые были для меня наиболее полезными.

  1. Коперник - это программа ЕС по наблюдению за Землей, которая предлагает информационные услуги на основе спутниковых данных.
  2. 0toGANS от Jovian.ai. Это было лучшее введение в курс глубокого обучения, которое я когда-либо встречал. Я фактически повторно прошел этот курс после того, как моя стажировка закончилась.
  3. Fast.ai. Я узнал о парсинге веб-страниц и даже построил классификатор изображений. Хотя fast.ai приветствует новичков, 0toGANS был для меня гораздо лучшим вводным ресурсом.

YOUTUBE. Есть еще много каналов, которые я мог бы порекомендовать, но я буду придерживаться трех, которые смотрел больше всего во время стажировки.

  1. Abhishek Thakur - я нашел видео Абхишека Реализация оригинальной U-Net с нуля с использованием PyTorch после завершения 0toGANS.
  2. Ken Jee - видео Кена многому меня научили о том, какую ценность для бизнеса могут принести данные. У него есть видео о том, как он подходит к обучению с помощью Kaggle, и множество видео с обзором резюме. Кен также начал конкурс # 66daysofdata, где вы можете поделиться своим прогрессом в любой социальной сети.
  3. Даниэль Бурк - Даниэль привносит столько азарта в данные! Мои любимые серии - это Повторение определения удобства Airbnb и Ежемесячное машинное обучение.

TWITCH. Я не ожидал, что буду использовать Twitch, особенно когда я уже привык (и, вероятно, немного перегружен) с диетической диетой, которую я курировал. При этом, когда вы найдете канал, который производит качественный контент и простые в использовании руководства, всегда полезно записать их, поэтому я могу порекомендовать → Twitch Stream. Мне больше всего нравятся серии Python Zero to Hero и The Legend of Data.

ВСТРЕЧИ. Они отлично подходят для того, чтобы оставаться в курсе и встречаться с людьми, имеющими схожие с вами интересы. У вас также может быть возможность выступить с докладом. Встречи, к которым я присоединяюсь, обычно посвящены Python или Data Science, и включают в себя как лекции, так и обучающие программы. Отличные места для встреч и мероприятий - meetup.com и eventbrite.co.uk.

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

Чем я занимаюсь сейчас 👩🏽‍⚕️

Завершение этой стажировки открыло для меня так много дверей. Сейчас я работаю аналитиком данных в Railsbank, а в сентябре собираюсь начать обучение на неполный рабочий день на магистра в области науки о данных. Я также начал сотрудничать над проектом с замечательным человеком, с которым познакомился через Твиттер (я оставлю разговор об этом для другого поста). Как мой менеджер несколько раз упоминал, чтобы внести свой вклад в проекты с открытым исходным кодом, я нашел через PyLadies Meetup Group прекрасную возможность сделать это и смог внести свой вклад в Pandas.

Заключение

Хочу поблагодарить GMV NSL за то, что меня приняли. Моя стажировка была одним из самых крутых моментов в обучении, с которыми мне доводилось сталкиваться. Довольно глупо, но это путешествие научило меня, что все возможно. Я перешел от минимального опыта работы с Python к машинному обучению и разработке программного обеспечения с использованием геопространственных данных и данных облака точек.

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

Надеюсь, статья была вам полезна.

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

  1. Следуйте за мной на Medium
  2. Свяжитесь со мной и свяжитесь со мной в LinkedIn и Twitter
  3. Продолжите мое путешествие вместе со мной через мой блог