Biblioteca de aprendizaje automático Java de código abierto de Oracle

Buscando satisfacer las necesidades empresariales en el espacio del aprendizaje automático, Oracle está haciendo que su biblioteca de aprendizaje automático Tribuo Java esté disponible de forma gratuita bajo una licencia de código abierto.

Con Tribuo, Oracle apunta a facilitar la construcción e implementación de modelos de aprendizaje automático en Java, similar a lo que ya ha sucedido con Python. Publicado bajo una licencia de Apache 2.0 y desarrollado por Oracle Labs, Tribuo es accesible desde GitHub y Maven Central.

Tribuo proporciona una funcionalidad estándar de aprendizaje automático que incluye algoritmos para clasificación, agrupamiento, detección de anomalías y regresión. Tribuo también incluye pipelines para cargar y transformar datos y proporciona un conjunto de evaluaciones para tareas de predicción compatibles. Debido a que Tribuo recopila estadísticas sobre entradas, Tribuo puede describir el rango de cada entrada, por ejemplo. También nombra funciones, administra identificadores de funciones e identificadores de salida bajo el capó para evitar conflictos de identificación y confusión al encadenar modelos, cargar datos y caracterizar entradas.

Un modelo de Tribuo sabe cuándo ve una característica por primera vez, lo cual es particularmente útil cuando se trabaja con procesamiento de lenguaje natural. Los modelos saben qué son las salidas, y las salidas están fuertemente tipadas. Los desarrolladores no necesitan preguntarse si un flotador es una probabilidad, un valor en regresión o un ID de clúster. Con Tribuo, cada uno de estos es un tipo diferente; el modelo puede describir tipos y rangos que conoce. El uso de entradas y salidas fuertemente tipadas significa que Tribuo puede rastrear el proceso de construcción del modelo, desde que los datos puntuales se cargan a través de divisiones de entrenamiento / prueba o transformaciones de conjuntos de datos hasta el entrenamiento y evaluación del modelo. Estos datos de seguimiento se incorporan a todos los modelos y evaluaciones.

El sistema de procedencia de Tribuo puede generar una configuración que reconstruye el proceso de capacitación para reproducir el modelo o la evaluación. Además, un modelo modificado se puede construir sobre nuevos datos o hiperparámetros. Así, los usuarios siempre saben qué es un modelo Tribuo, de dónde viene y cómo crearlo.

Oracle ve a Tribuo llenando un vacío en el mercado del aprendizaje automático para aplicaciones empresariales. Por ejemplo, mientras que la biblioteca TensorFlow creada por Google proporciona algoritmos básicos para el aprendizaje profundo, Tribuo proporciona varios algoritmos de aprendizaje automático, algunos de los cuales están en TensorFlow y otros no, al tiempo que proporciona una interfaz para TensorFlow, dijo Adam Pocock de Oracle. miembro principal del personal técnico de Oracle Labs. Y mientras que el motor de análisis de Apache Spark es para grandes sistemas distribuidos, Tribuo es para cálculos más pequeños que pueden caber en una sola máquina, dijo Pocock.

Además de TensorFlow, Tribuo proporciona interfaces para XGBoost y el tiempo de ejecución de ONNX, lo que permite que los modelos almacenados en el formato ONNX o entrenados en TensorFlow y XGBoost se implementen junto con los modelos nativos de Tribuo. El soporte para el formato de modelo ONNX permite la implementación en Java de modelos entrenados usando bibliotecas populares de Python como PyTorch.

Tribuo se ejecuta en Java 8 o posterior. Oracle acepta contribuciones de código a Tribuo en virtud del Acuerdo de Colaborador de Oracle. Tribuo ya se ha utilizado internamente en Oracle en el producto Fusion Cloud ERP para el reconocimiento inteligente de documentos, por ejemplo.