Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Chainer - это фреймворк глубокого обучения с открытым исходным кодом, написанный исключительно на Python поверх библиотек NumPy и CuPy Python. Разработкой руководит японская венчурная компания Preferred Networks в партнерстве с IBM , Intel , Microsoft и Nvidia . [4] [5] [6] [7]

Chainer примечателен своим ранним внедрением схемы « определение по запуску », а также своей производительностью в крупномасштабных системах. [1] Первая версия была выпущена в июне 2015 года и с тех пор приобрела большую популярность в Японии. [1] [2] Кроме того, в 2017 году он был включен KDnuggets в 10 лучших проектов 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] и TensorFlow. [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]

См. Также [ править ]

  • Сравнение программного обеспечения для глубокого обучения
  • Машинное обучение
  • Искусственная нейронная сеть

Ссылки [ править ]

  1. ^ a b c d "ИИ-код 'Chainer', созданный крупными японцами, показывает, как Intel будет стрелять в GPU" . Реестр . 2017-04-07 . Проверено 24 декабря 2017 .
  2. ^ a b «Глубокое обучение の フ レ ー ム ワ ー ク Chainer を 公開 し ま し た» (на японском языке). 2015-06-09 . Проверено 24 декабря 2017 .
  3. ^ "Выпуск 7.7.0" . 30 июля 2020 . Проверено 31 июля 2020 года .
  4. ^ "Домашняя страница Chainer" . Проверено 24 декабря 2017 .
  5. ^ «IBM хочет быть« красной шляпой »глубокого обучения» . HPCwire . 2017-01-26 . Проверено 8 сентября 2017 .
  6. ^ «Intel сотрудничает с предпочтительными сетями в Японии в области глубокого обучения» . 2017-04-06 . Проверено 24 декабря 2017 .
  7. ^ «Microsoft сотрудничает с Preferred Networks, чтобы принести технологию глубокого обучения Chainer в Azure - MSPoweruser» . MSPoweruser . 2017-05-23 . Проверено 8 сентября 2017 .
  8. ^ «20 лучших проектов с открытым исходным кодом для машинного обучения Python» . KDnuggets . 2017-11-24.
  9. ^ «Предпочитаемые сети переносят свою платформу глубокого обучения на PyTorch» . Preferred Networks, Inc . 2019-12-05 . Проверено 27 декабря 2019 .
  10. ^ Токуи, Сейя; и другие. (2015). «Chainer: фреймворк нового поколения с открытым исходным кодом для глубокого обучения». 29-я ежегодная конференция по системам обработки нейронной информации (NIPS) . 5 .
  11. ^ Shimada, Наоки (14 сентября 2017). Глубокое обучение с Chainer . Gijutsu-Hyohron. п. 61. ISBN 4774191868.
  12. ^ a b c «Стремительное выполнение: обязательный, определяемый запуском интерфейс для TensorFlow» . Блог Google Research .
  13. ^ «Глубокое обучение с помощью динамических вычислительных графиков (ICLR 2017)» . Метаданные .
  14. ^ Hido, Shohei (8 ноября 2016). «Сложные нейронные сети, упрощенные с помощью Chainer» . O'Reilly Media . Проверено 26 июня 2018 . CS1 maint: обескураженный параметр ( ссылка )
  15. Перес, Карлос Э. (20 января 2017 г.). «PyTorch, динамические вычислительные графы и модульное глубокое обучение» . Средний .
  16. ^ «Чрезвычайно большой мини-пакет SGD: обучение ResNet-50 на ImageNet за 15 минут» (pdf) . Проверено 24 декабря 2017 .
  17. Рианна Грин, Тристан (20 ноября 2017 г.). «Ботаны Facebook превзошли японцев в гонке по обучению ИИ» . Следующая Сеть . Проверено 24 ноября 2017 года . CS1 maint: обескураженный параметр ( ссылка )
  18. ^ Знай, теперь ты (2017-02-15). «Это программное обеспечение на основе нейронной сети бесплатно добавит цвета в ваши рисунки» . Techly . Проверено 8 сентября 2017 .
  19. ^ «Приложение для рисования« pixiv Sketch »и служба автоматической раскраски« PaintsChainer »объединились, чтобы предоставить новую функцию для автоматического раскрашивания иллюстраций!» . 2017-05-24 . Проверено 24 декабря 2017 .

Внешние ссылки [ править ]

  • Официальный веб-сайт