Sin categorizar

Revisión: Microsoft se enfrenta a TensorFlow

Microsoft

Cognitive Toolkit (CNTK) de Microsoft en comparación con TensorFlow de Google, centrándose en sus capacidades y características dentro del contexto del aprendizaje automático y el aprendizaje profundo. Analiza varios aspectos de CNTK, incluidas sus características, facilidad de uso, rendimiento y aplicabilidad.

Microsoft
Microsoft

1. **Comparación del enfoque de Microsoft y Google:**

   – Tanto Microsoft como Google han incorporado funciones de aprendizaje automático en sus productos, como Cortana y Bing.

   – TensorFlow es la tecnología de aprendizaje automático subyacente de Google, mientras que la contraparte de Microsoft es Cognitive Toolkit (CNTK).

   – Tanto TensorFlow como CNTK se han lanzado como marcos de trabajo de código abierto y ofrecen varios algoritmos de redes neuronales y aprendizaje profundo.

2. **Usabilidad y facilidad de implementación:**

   – CNTK se ha vuelto más fácil de instalar e implementar debido a un script de instalación automática.

   – La API de Python en CNTK facilita su uso entre los principales investigadores de aprendizaje profundo que escriben en Python.

   – CNTK ofrece abstracciones para la definición y el cálculo de modelos, algoritmos de aprendizaje, lectura de datos y capacitación distribuida a través de su API de Python.

3. **Características principales y mejoras de CNTK 2:**

   – CNTK 2.0 Beta 1 presenta nuevas API de C ++ y Python, lo que lo hace accesible como biblioteca.

   – Conserva BrainScript como su lenguaje de configuración para modelos y tiene sus bibliotecas principales escritas en C++

.

   – CNTK 2 es compatible con el algoritmo Fast R-CNN para la detección de objetos e incluye mejoras en la biblioteca de evaluación, subprocesos múltiples y evaluación de GPU.

4. **Aplicación y Alcance de CNTK:**

   – CNTK es un conjunto de herramientas de código abierto con calidad de producción adecuado para diversas tareas, incluido el reconocimiento de voz, la clasificación de imágenes y el análisis de texto.

   – Admite una amplia gama de tipos de redes neuronales, como FeedForward, Convolucional, Recurrente/Memoria a largo plazo, Normalización por lotes y Secuencia a secuencia con atención.

   – CNTK se usa en aplicaciones como Cortana, traducción en vivo de Skype, Bing y características de Xbox.

5. **Rendimiento y escalabilidad:**

   – CNTK puede manejar datos densos o dispersos de Python, C++ o BrainScript.

   – Admite el aprendizaje por refuerzo, las redes antagónicas generativas, el aprendizaje supervisado y no supervisado y el ajuste automático de hiperparámetros.

   – CNTK ofrece paralelismo y puede ejecutarse en múltiples GPU y máquinas mientras utiliza eficientemente la memoria GPU.

En general, la revisión destaca las capacidades y los avances del Cognitive Toolkit de Microsoft, posicionándolo como una herramienta versátil y poderosa para diversas tareas de aprendizaje automático y aprendizaje profundo. También reconoce la competencia que plantea TensorFlow de Google, enfatizando las fortalezas y beneficios de cada marco.

1. **API y definición de red:**

   – Las API de CNTK 2 admiten definiciones de red, alumno, lector, capacitación y evaluación de varios lenguajes de programación: Python, C ++, BrainScript e incluso C # para evaluación.

   – La API de Python interactúa con NumPy y ofrece una biblioteca de capas de alto nivel para definiciones de redes neuronales concisas, incluidas las recurrencias.

   – CNTK admite la representación de modelos recurrentes como ciclos en la red neuronal, lo que evita la necesidad de desenrollar estáticamente los pasos de recurrencia.

2. **Compatibilidad con GPU y Azure:**

   – CNTK 2 teóricamente permite entrenar modelos en redes Azure y GPU.

   – La compatibilidad con GPU requiere las máquinas virtuales de Azure de la serie N, que pueden necesitar activación y todavía están en versión preliminar.

   – El autor tuvo que solicitar soporte de GPU para su cuenta, que tardó aproximadamente un día en habilitarse.

3. **Proceso de instalación:**

   – CNTK 2 ofrece procedimientos de instalación automatizados para contenedores Docker de Windows, Linux y Linux.

   – La instalación binaria de Windows fue más rápida y sencilla en comparación con las instalaciones manuales anteriores.

   – A pesar de los pasos de aprobación de seguridad, el proceso de instalación fue sencillo.

4. **Compatibilidad y limitaciones de GPU:**

   – El autor intentó probar CNTK con compatibilidad con GPU, pero su anterior GPU compatible con CUDA (Nvidia GeForce GTX 260) no se reconoció como lo suficientemente potente.

   – Otros kits de herramientas de redes neuronales como TensorFlow generalmente requieren GPU como GeForce GTX 650 o superior para un entrenamiento eficiente.

   – Se enfrentaron problemas de compatibilidad al intentar usar una Mac con una GPU compatible, ya que CNTK 2 no era compatible con MacOS y el uso de la GPU no se transfirió con éxito a las máquinas virtuales Windows o Linux en VMware Fusion.

En resumen, el texto proporciona información sobre las capacidades de la API de CNTK 2, la facilidad de instalación, los desafíos de soporte de GPU y cómo se compara con otros kits de herramientas de redes neuronales como TensorFlow. Enfatiza los requisitos de GPU para un entrenamiento eficiente y destaca los problemas de compatibilidad que enfrentó el autor durante las pruebas, particularmente en sistemas más antiguos o que no son de Windows.