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

Avalanche родилась в рамках ContinualAI с четкой целью:

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

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

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

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

========================================

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

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

Преимущество лавины

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

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

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

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

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

Повышенная эффективность и масштабируемость. Исследователи полного стека и специалисты по данным знают, что сделать ваш алгоритм эффективным с точки зрения памяти и вычислений непросто. Avalanche уже оптимизирован для вас, так что вы можете запустить свой непрерывный обучающий эксперимент ImageNet на своем ноутбуке с 8 ГБ (купите охлаждающий вентилятор 💨) или даже попробовать его на встроенных устройствах вашего последнего продукта!

проверьте здесь…

Почему Avalanche?

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Исследовательская работа:

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

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

Дизайн Avalanche основан на пяти принципах:

1) Полнота и последовательность.

2) Простота использования.

3) Воспроизводимость и переносимость.

4) Модульность и независимость.

5) Эффективность и масштабируемость.

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

*******************************************************************

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

Гитхаб

Документация по API

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

========================================