Команда Google Developers в их блоге собрала самые яркие события и результаты исследователей по машинному обучению за четвёртый квартал 2021 года. Среди интересных событий — нейросеть для решения задач на Advent of Code, ML DevFest 2021 и много научных статей.
Научили нейросеть решать задачи по программированию
Machine Learning GDE Паоло Галеон написал модель на чистом TensorFlow, которая умеет решать айтишные задачи на сайте Advent of Code.
В чём сложность? Задачи на сайте распределены по дням и уровню сложности — от первого дня до 25-го. Каждая задача состоит из предыстории, вымышленного мира, описания проблемы и входных данных.
Например, в одной из задач пользователь — капитан корабля. Он плывёт по открытому морю и вдруг слышит какой-то звон за бортом. Пользователь бежит посмотреть, что там, и видит, как один из эльфов перевернулся и случайно выронил ключи в океан. Пользователь садится в субмарину и погружается искать эти ключи. Внутри есть прибор для определения глубины: она то увеличивается, то уменьшается. Задание — посчитать, сколько раз глубина увеличивается.
Что делал разработчик? Паоло начал писать нейросеть 11 декабря 2021 и закончил её через двенадцать дней, выпуская каждый день отчёт. В финальный день он подробно описал архитектуру его модели, а также показал код — иногда с углублением в работу фич TensorFlow.
Создали архитектуру для сегментации 3D-точек
Сайак Поул и Соурник Ракшит (оба — Machine Learning GDE) разработали PointNet — архитектуру для сегментации геометрических точек в 3D-пространствах.
В чём её особенность? PointNet работает на TensorFlow 2 и умеет работать с типом данных point cloud. Его используют, чтобы хранить геометрические фигуры в памяти. Однако из-за своей необычности разработчикам приходилось конвертировать его в 3D-voxel-сетки или набор изображений перед тем, как использовать для обучения.
Поул и Ракшит решили эту проблему и показали семейство моделей PointNet, которые могут работать с типом point cloud — от классификации объектов до семантического парсинга.
И что? PointNet полностью поддерживает TPU и распределённое обучение на видеокартах, а ещё она протестирована на наборе ShapeNetCore. Ещё архитектура Поула и Ракшита выиграла премию #TFCommunitySpotlight.
Собрали научные статьи по машинному обучению на одном сайте
Machine Learning GDE Аакаш Кумар Наин создал сайт со всеми важными статьями по машинному обучению и сопроводил их аннотациями.
Зачем? Аакаш решил помочь исследователям по машинному обучению, которым важно постоянно читать научные статьи. Он сделал сайт, где каждый может быстро найти нужные статьи и легко понять сложные темы.
Провели Machine Learning DevFest 2021
Конференция прошла онлайн. Её организовала GDG Cloud San Francisco. Конференция делится на пять частей. Там затронули такие темы, как:
- современные проблемы машинного обучения;
- последние исследования в машинном обучении;
- использование популярных API для эффективной разработки моделей нейросетей.
Отдельно Machine Learning GDE по имени Викрам Тивари показал, как можно использовать Vertex, ML Ops и Google Cloud при обучении нейросетей.
Создали набор данных для защитных инструментов врачей
Организатор TensorFlow User Groups Али Мустафа Шаих и разработчик Ришит Дагли выпустили научную статью, в которой показали набор данных для врачей — CPPE-5 Medical Personal Protective Equipment Dataset.
Зачем он нужен? CPPE-5 — это набор данных, который позволяет исследовать зависимую категоризацию (subordinate categorization) для медицинских защитных инструментов. Набор содержит размеченные изображения врачей в защитных костюмах с разными медицинскими инструментами.
И что? Научную работу Шаиха и Дагли упомянули в Google Research TRC. Прочитать работу можно на arXiv.
Рассказали, как создавать системы для изменяющихся данных
Machine Learning GDE Шансунг Парк и Сайак Поул опубликовали статью под названием «Continuous Adaptation for Machine Learning System to Data Changes».
В чём смысл? Парк и Поул рассказали, как создать два отдельных конвейера, чтобы сделать CI/CD-поток, который будет адаптироваться под изменяющиеся данные.
Один конвейер нужен для обучения модели, а второй — для вычисления весов, основанных на предугадывании размера батчей.
И что? Система позволит разработчикам создавать модели, которые будут сами обучаться в одном потоке. Парк и Поул также показали практические примеры — часть 1 и часть 2.