Альберт Эйнштейн однажды сказал, что «мудрость - это не продукт обучения, а попытка приобрести ее на протяжении всей жизни». Века человеческого прогресса были основаны на способности нашего мозга постоянно приобретать, настраивать и передавать знания и навыки. Однако такое непрерывное обучение остается давней проблемой в машинном обучении (ML), где постоянное получение постепенно доступной информации из нестационарных данных часто приводит к катастрофическим проблемам с забыванием.

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

Теперь команда исследователей и разработчиков из ContinualAI с исследователями из KU Leuven, ByteDance AI Lab, Калифорнийского университета, Нью-Йоркского университета и других учреждений предложила Avalanche, сквозную библиотеку для непрерывного обучения на основе PyTorch.

Avalanche призван упростить реализацию, оценку и тиражирование алгоритмов непрерывного обучения в различных условиях, одновременно способствуя воспроизводимости результатов предыдущих исследований. Команда считает, что библиотека может помочь исследователям и практикам несколькими способами: 1) писать меньше кода, быстрее создавать прототипы и уменьшать количество ошибок; 2) улучшить воспроизводимость; 3) Повышение модульности и возможности повторного использования; 4) Повышение эффективности, масштабируемости и переносимости кода; 5) Повышение воздействия и удобства использования исследовательских продуктов.

Исследователи резюмируют свою работу следующим образом:

  1. Предложите общую схему непрерывного обучения, которая обеспечивает концептуальную основу для Avalanche.
  2. Обсудите общий дизайн библиотеки на основе пяти основных модулей: контрольные показатели, обучение, оценка, модели и ведение журнала.
  3. Выпустите проект с открытым исходным кодом, совместно поддерживаемый на GitHub, в результате сотрудничества с участием более 15 организаций из Европы, США и Китая.

Дизайн Avalanche основан на пяти принципах: 1) Полнота и последовательность; 2) Простота использования; 3) воспроизводимость и переносимость; 4) Модульность и независимость; 5) Эффективность и масштабируемость.

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

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

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

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

Библиотека разделена на пять основных модулей: контрольные показатели, обучение, оценка, модели и ведение журнала. Модуль Benchmarks поддерживает единый API для обработки данных и содержит все основные тесты для непрерывного обучения. Модуль «Обучение» включает простые и эффективные способы реализации новых стратегий непрерывного обучения, а также набор предварительно реализованных базовых показателей непрерывного обучения и современных алгоритмов. Модуль оценки предоставляет все утилиты и метрики для непрерывной оценки обучения. Модуль Models предлагает набор простых архитектур машинного обучения, включая версии нейронных сетей с прямой связью и сверточных нейронных сетей, а также предварительно обученную версию MobileNet (v1). Модуль Logging включает расширенные функции ведения журнала и построения графиков, такие как собственный стандартный вывод (стандартный вывод), текстовые файлы и поддержку TensorBoard.

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

ContinualAI, основанная в 2018 году доцентом Пизанского университета Винченцо Ломонако, является некоммерческой исследовательской организацией и открытым сообществом по непрерывному обучению искусственному интеллекту. Встреча ContinualAI проходит на YouTube, а сайт Avalanche - здесь.

Статья Лавина: сквозная библиотека для непрерывного обучения находится на arXiv.

Автор: Геката Хе | Редактор: Майкл Саразен

Мы знаем, что вы не хотите пропустить какие-либо новости или научные открытия. Подпишитесь на нашу популярную рассылку Synced Global AI Weekly, чтобы получать еженедельные обновления AI.