Spark se puede usar para el aprendizaje de refuerzo profundo y, de hecho, ya lo hemos implementado.
deeplearning4j / rl4j
Reinforcement Learning y DQN, aprendiendo a jugar desde píxeles
- ¿Qué tipo de habilidades de codificación se requieren para trabajar en el aprendizaje automático en empresas como Facebook, Quora, Google, Microsoft?
- En el aprendizaje profundo, ¿cómo convertir una oración o documento en un vector binario (flujo de 0 y 1)?
- ¿Cuál es una pista adecuada para la clasificación de documentos con MATLAB?
- ¿Qué áreas de ciencia de datos o aprendizaje automático están creciendo en importancia?
- Cómo comenzar con el modelado predictivo
Deeplearning4j se basa en Spark como una capa de acceso a datos para orquestar múltiples hilos de host, mientras usa otras herramientas para operaciones de matriz grande. Las bibliotecas como ND4S o matrices n-dimensionales para Scala y ND4J manejan el cálculo, ya que Spark no es bueno para eso:
deeplearning4j / nd4s
ND4J: matrices N-dimensionales para Java
Deeplearning4j puede hacer que Spark se ejecute en múltiples GPU o CPU. El rendimiento es igual a Caffe. Aquí hay algunos enlaces sobre cómo funciona todo:
Deeplearning4j en Spark
Deeplearning4j con GPU
DL4J es la única biblioteca de DL certificada en Spark (a través de CDH) que viene con soporte comercial. (Divulgación: soy un colaborador del proyecto).