Chainer es un marco de aprendizaje profundo de código abierto escrito completamente en Python sobre las bibliotecas NumPy y CuPy de Python. Su desarrollo está liderado por la empresa japonesa de capital riesgo Preferred Networks en colaboración con IBM , Intel , Microsoft y Nvidia . [ 4 ] [ 5 ] [ 6 ] [ 7 ]
Chainer destaca por su temprana adopción del esquema " definir por ejecución ", así como por su rendimiento en sistemas a gran escala. [ 1 ] La primera versión se lanzó en junio de 2015 y desde entonces ha ganado gran popularidad en Japón. [ 1 ] [ 2 ] Además, en 2017, KDnuggets lo incluyó entre los 10 mejores proyectos de Python de código abierto para aprendizaje automático. [ 8 ]
En diciembre de 2019, Preferred Networks anunció la transición de su esfuerzo de desarrollo de Chainer a PyTorch y que solo proporcionará parches de mantenimiento después del lanzamiento de la v7. [ 9 ]
Definir por ejecución
Chainer fue el primer marco de aprendizaje profundo en introducir el enfoque de definición por ejecución. [ 10 ] [ 11 ] El procedimiento tradicional para entrenar una red constaba de dos fases: definir las conexiones fijas entre las operaciones matemáticas (como la multiplicación de matrices y las activaciones no lineales) en la red, y luego ejecutar el cálculo de entrenamiento propiamente dicho. Esto se conoce como el enfoque de definición y ejecución o de grafo estático. Theano y TensorFlow se encuentran entre los marcos más destacados que adoptaron este enfoque. En contraste, en el enfoque de definición por ejecución o de grafo dinámico, la conexión en una red no se determina al inicio del entrenamiento. La red se define durante el entrenamiento a medida que se realiza el cálculo.
Una de las ventajas de este enfoque es su intuición y flexibilidad. [ 12 ] Si la red presenta flujos de control complejos, como condicionales y bucles , en el enfoque de definición y ejecución se requieren operaciones especialmente diseñadas para dichas construcciones. Por otro lado, en el enfoque de definición por ejecución, se pueden utilizar las construcciones nativas del lenguaje de programación, como las sentencias if y los bucles for, para describir dicho flujo. Esta flexibilidad resulta especialmente útil para implementar redes neuronales recurrentes . [ 13 ] [ 14 ]
Otra ventaja es la facilidad de depuración . [ 12 ] En el enfoque de definir y ejecutar, si se produce un error (como un error numérico) durante el cálculo de entrenamiento, suele ser difícil inspeccionar la falla, ya que el código escrito para definir la red y el lugar real del error están separados. En el enfoque de definir y ejecutar, basta con suspender el cálculo con el depurador integrado del lenguaje e inspeccionar los datos que fluyen por el código de la red.
Define-by-run ha ganado popularidad desde su introducción por Chainer y ahora está implementado en muchos otros marcos, incluidos PyTorch [ 15 ] y TensorFlow. [ 12 ]
Bibliotecas de extensión
Chainer tiene cuatro bibliotecas de extensión: ChainerMN, ChainerRL, ChainerCV y ChainerUI. ChainerMN permite usar Chainer en múltiples GPU con un rendimiento significativamente más rápido que otros marcos de aprendizaje profundo. [ 1 ] Una supercomputadora que ejecuta Chainer en 1024 GPU procesó 90 épocas del conjunto de datos ImageNet en la red ResNet-50 en 15 minutos, lo que es cuatro veces más rápido que el récord anterior que ostentaba Facebook. [ 16 ] [ 17 ] ChainerRL agrega algoritmos de aprendizaje por refuerzo profundo de última generación , y ChainerUI es una herramienta de administración y visualización.
Aplicaciones
Chainer se utiliza como marco para PaintsChainer , un servicio que realiza la colorización automática de dibujos en blanco y negro, solo de líneas, en borrador con una mínima intervención del usuario. [ 18 ] [ 19 ]
Véase también
Referencias
- 1 2 3 4 "El código de IA 'Chainer', muy popular en Japón, muestra cómo Intel apostará por las GPU" . The Register . 7 de abril de 2017. Consultado el 24 de diciembre de 2017 .
- ^ " Aprendizaje profundo のフレームワーク Chainer を公開しました" (en japonés). 2015-06-09 . Consultado el 24 de diciembre de 2017 .
- ↑ "Versión 7.8.1" . 5 de enero de 2022. Consultado el 3 de octubre de 2022 .
- ↑ "Página principal de Chainer" . Consultado el 24 de diciembre de 2017 .
- ↑ "IBM quiere ser el "Red Hat" del aprendizaje profundo" . HPCwire . 26 de enero de 2017. Consultado el 8 de septiembre de 2017 .
- ↑ "Intel colabora con Preferred Networks en Japón en aprendizaje profundo" . 6 de abril de 2017. Consultado el 24 de diciembre de 2017 .
- ↑ "Microsoft se asocia con Preferred Networks para llevar la tecnología de aprendizaje profundo Chainer a Azure - MSPoweruser" . MSPoweruser . 23 de mayo de 2017. Consultado el 8 de septiembre de 2017 .
- ↑ "Los 20 mejores proyectos de código abierto de aprendizaje automático en Python" . KDnuggets . 24 de noviembre de 2017.
- ↑ "Preferred Networks migra su plataforma de investigación de aprendizaje profundo a PyTorch" . Preferred Networks, Inc. 5 de diciembre de 2019. Consultado el 27 de diciembre de 2019 .
- ↑ Tokui, Seiya; et al. (2015). "Chainer: un marco de código abierto de próxima generación para el aprendizaje profundo". 29.ª Conferencia Anual sobre Sistemas de Procesamiento de Información Neuronal (NIPS) . 5 .
- ↑ Shimada, Naoki (14 de septiembre de 2017). Aprendizaje profundo con Chainer . Gijutsu-Hyohron. pág. 61. ISBN 978-4774191867.
- 1 2 3 "Ejecución inmediata: una interfaz imperativa, definida por ejecución, para TensorFlow" . Blog de investigación de Google .
- ↑ "Aprendizaje profundo con grafos de computación dinámicos (ICLR 2017)" . Metadatos .
- ↑ Hido, Shohei (8 de noviembre de 2016). "Redes neuronales complejas simplificadas por Chainer" . O'Reilly Media . Recuperado el 26 de junio de 2018 .
- ↑ Pérez, Carlos E. (20 de enero de 2017). "PyTorch, gráficos computacionales dinámicos y aprendizaje profundo modular" . Medium .
- ↑ "SGD de minilotes extremadamente grandes: entrenamiento de ResNet-50 en ImageNet en 15 minutos" (PDF) . Consultado el 24 de diciembre de 2017 .
- ↑ Greene, Tristan (20 de noviembre de 2017). "Los nerds de Facebook son superados por los de Japón en la carrera por entrenar IA" . The Next Web . Recuperado el 24 de noviembre de 2017 .
- ↑ Know, Now You (15 de febrero de 2017). "Este software basado en redes neuronales añadirá color a tus dibujos gratis" . Techly . Consultado el 8 de septiembre de 2017 .
- ↑ "La aplicación de dibujo "pixiv Sketch" y el servicio de coloreado automático "PaintsChainer" colaboran para ofrecer una nueva función de coloreado automático de ilustraciones!" . 24-05-2017 . Consultado el 24-12-2017 .
Enlaces externos
- Sitio web oficial
- Software de aprendizaje profundo
- Software estadístico gratuito
- Bibliotecas científicas de Python (lenguaje de programación)
- Inteligencia artificial de código abierto
- Software libre programado en Python
- Software que utiliza la licencia MIT.