Цейнер
Оригинальный автор(ы) | Сейя Токуи |
---|---|
Разработчик(и) | Сообщество, Preferred Networks, Inc. |
Первоначальный выпуск | 9 июня 2015 г [1] [2] | .
Стабильная версия | 7.8.1 [3] / 5 января 2022 г |
Репозиторий | |
Написано в | Питон |
Платформа | кроссплатформенный |
Доступно в | Питон |
Тип | глубокого обучения Библиотека |
Лицензия | С |
Веб-сайт | цепщик |
Chainer — это с открытым исходным кодом платформа глубокого обучения , написанная исключительно на Python поверх NumPy и CuPy библиотек Python . Разработку возглавляет японская венчурная компания Preferred Networks в партнерстве с IBM , Intel , Microsoft и Nvidia . [4] [5] [6] [7]
Chainer известен своим ранним внедрением схемы « определение за запуском », а также своей производительностью в крупномасштабных системах. [1] Первая версия была выпущена в июне 2015 года и с тех пор приобрела большую популярность в Японии. [1] [2] включил его Кроме того, в 2017 году KDnuggets в десятку лучших проектов Python по машинному обучению с открытым исходным кодом. [8]
В декабре 2019 года Preferred Networks объявила о переходе своих усилий по разработке с Chainer на PyTorch и будет предоставлять исправления для обслуживания только после выпуска v7. [9]
Определить по ходу
[ редактировать ]Chainer был первой средой глубокого обучения, в которой был реализован поэтапный подход. [10] [11] Традиционная процедура обучения сети состояла из двух этапов: определить фиксированные связи между математическими операциями (такими как умножение матриц и нелинейные активации) в сети, а затем запустить фактический расчет обучения. Это называется подходом «определи и запусти» или методом статического графа. Theano и TensorFlow входят в число известных фреймворков, применивших этот подход. Напротив, при подходе «определение по запуску» или динамическом графе соединение в сети не определяется при запуске обучения. Сеть определяется во время обучения по мере выполнения фактического расчета.
Одним из преимуществ этого подхода является то, что он интуитивно понятен и гибок. [12] Если в сети имеются сложные потоки управления, такие как условные выражения и циклы , в подходе «определи и запусти» необходимы специально разработанные операции для таких конструкций. С другой стороны, в подходе «определение путем выполнения» для описания такого потока можно использовать собственные конструкции языка программирования, такие как операторы if и циклы for. Такая гибкость особенно полезна для реализации рекуррентных нейронных сетей . [13] [14]
Еще одним преимуществом является простота отладки . [12] При подходе «определи и запусти», если в процессе обучающего расчета возникла ошибка (например, числовая ошибка), часто бывает трудно проверить неисправность, поскольку код, написанный для определения сети, и фактическое место ошибки не совпадают. разделены. При подходе «определение за запуском» вы можете просто приостановить вычисления с помощью встроенного в язык отладчика и проверить данные, которые передаются по вашему сетевому коду.
Метод Define-by-run приобрел популярность с момента его появления в Chainer и теперь реализован во многих других платформах, включая PyTorch. [15] и ТензорФлоу. [12]
Библиотеки расширений
[ редактировать ]Chainer имеет четыре библиотеки расширений: ChainerMN, ChainerRL, ChainerCV и ChainerUI. ChainerMN позволяет использовать Chainer на нескольких графических процессорах, обеспечивая значительно более высокую производительность, чем другие платформы глубокого обучения. [1] Суперкомпьютер под управлением Chainer на 1024 графических процессорах обработал 90 эпох набора данных ImageNet в сети ResNet-50 за 15 минут, что в четыре раза быстрее предыдущего рекорда Facebook. [16] [17] ChainerRL добавляет современные алгоритмы глубокого обучения с подкреплением , а ChainerUI — это инструмент управления и визуализации.
Приложения
[ редактировать ]Chainer используется в качестве основы для PaintsChainer , сервиса, который выполняет автоматическую раскраску черно-белых, только линий и черновых рисунков с минимальным вмешательством пользователя. [18] [19]
См. также
[ редактировать ]- Сравнение программного обеспечения глубокого обучения
- Машинное обучение
- Искусственная нейронная сеть
Ссылки
[ редактировать ]- ^ Jump up to: а б с д «Крупный в Японии код искусственного интеллекта Chainer показывает, как Intel будет бороться за графические процессоры» . Регистр . 07.04.2017 . Проверено 24 декабря 2017 г.
- ^ Jump up to: а б «Выпущена платформа глубокого обучения Chainer» (на японском языке) Проверено 24 декабря 2017 г.
- ^ «Выпуск 7.8.1» . 5 января 2022 г. Проверено 3 октября 2022 г.
- ^ «Домашняя страница цепочки» . Проверено 24 декабря 2017 г.
- ^ «IBM хочет быть «красной шляпой» глубокого обучения» . HPCwire . 26 января 2017 г. Проверено 8 сентября 2017 г.
- ^ «Intel сотрудничает с предпочтительными сетями в Японии в области глубокого обучения» . 06.04.2017 . Проверено 24 декабря 2017 г.
- ^ «Microsoft сотрудничает с Preferred Networks, чтобы внедрить технологию глубокого обучения Chainer в Azure — MSPoweruser» . MSPoweruser . 23 мая 2017 г. Проверено 8 сентября 2017 г.
- ^ «20 лучших проектов машинного обучения Python с открытым исходным кодом» . КДнаггетс . 2017-11-24.
- ^ «Preferred Networks переносит свою исследовательскую платформу глубокого обучения на PyTorch» . Предпочтительные сети, Inc. 05.12.2019 . Проверено 27 декабря 2019 г.
- ^ Токуи, Сейя; и др. (2015). «Chainer: платформа с открытым исходным кодом нового поколения для глубокого обучения». 29-я ежегодная конференция по нейронным системам обработки информации (NIPS) . 5 .
- ^ Симада, Наоки (14 сентября 2017 г.). Глубокое обучение с Chainer . Гидзюцу-Хёрон. п. 61. ИСБН 4774191868 .
- ^ Jump up to: а б с «Стремительное выполнение: императивный, настраиваемый интерфейс для TensorFlow» . Блог исследований Google .
- ^ «Глубокое обучение с помощью динамических вычислительных графиков (ICLR 2017)» . Метаданные .
- ^ Хидо, Сёхей (8 ноября 2016 г.). «Сложные нейронные сети стали проще благодаря Chainer» . О'Рейли Медиа . Проверено 26 июня 2018 г.
- ^ Перес, Карлос Э. (20 января 2017 г.). «PyTorch, динамические вычислительные графики и модульное глубокое обучение» . Середина .
- ^ «Чрезвычайно большой мини-пакет SGD: обучение ResNet-50 на ImageNet за 15 минут» (pdf) . Проверено 24 декабря 2017 г.
- ^ Грин, Тристан (20 ноября 2017 г.). «Ботаники Facebook превзошли японцев в гонке по обучению искусственного интеллекта» . Следующая сеть . Проверено 24 ноября 2017 г.
- ^ Знай, теперь ты (15 февраля 2017 г.). «Это программное обеспечение на основе нейронных сетей бесплатно добавит цвет к вашим рисункам» . Технологично . Проверено 8 сентября 2017 г.
- ^ «Приложение для рисования «pixiv Sketch» и сервис автоматической раскраски PaintsChainer совместно создают новую функцию автоматического раскрашивания иллюстраций!» . 24 мая 2017 г. Проверено 24 декабря 2017 г.
Внешние ссылки
[ редактировать ]- Программное обеспечение для глубокого обучения
- Бесплатное статистическое программное обеспечение
- Научные библиотеки Python (язык программирования)
- Искусственный интеллект с открытым исходным кодом
- Бесплатное программное обеспечение, написанное на Python.
- Программное обеспечение, использующее лицензию MIT