Библиотека за машинно обучение на Java с отворен код на Oracle

С цел да отговори на нуждите на предприятието в пространството за машинно обучение, Oracle предоставя своята библиотека за машинно обучение Tribuo Java безплатно под лиценз с отворен код.

С Tribuo Oracle има за цел да улесни изграждането и внедряването на модели за машинно обучение в Java, подобно на това, което вече се е случило с Python. Издаден под лиценз Apache 2.0 и разработен от Oracle Labs, Tribuo е достъпен от GitHub и Maven Central.

Tribuo предоставя стандартна функционалност за машинно обучение, включително алгоритми за класификация, групиране, откриване на аномалии и регресия. Tribuo също така включва тръбопроводи за зареждане и трансформиране на данни и предоставя набор от оценки за поддържани задачи за прогнозиране. Тъй като Tribuo събира статистически данни за входните данни, Tribuo може да опише обхвата на всеки вход, например. Той също така назовава функции, управлявайки идентификатори на функции и изходни идентификатори под капака, за да се избегнат конфликти на ID и объркване при веригиране на модели, зареждане на данни и представяне на входове.

Моделът на Tribuo знае кога вижда функция за първи път, което е особено полезно при работа с обработка на естествен език. Моделите знаят какво представляват изходите, като изходите са силно набрани. Разработчиците не трябва да се чудят дали float е вероятност, регресирана стойност или ID на клъстер. С Tribuo всеки от тях е отделен тип; моделът може да опише типове и диапазони, за които знае. Използването на силно типизирани входове и изходи означава, че Tribuo може да проследява процеса на конструиране на модела, от точката на данните се зарежда чрез разделяне на влакове / тестове или трансформации на данни до моделиране на обучение и оценка. Тези данни за проследяване са включени във всички модели и оценки.

Системата за произход на Tribuo може да генерира конфигурация, която възстановява тръбопровода за обучение, за да възпроизведе модела или оценката. Също така, подобрен модел може да бъде изграден върху нови данни или хиперпараметри. По този начин потребителите винаги знаят какво е модел на Tribuo, откъде е дошъл и как да го създадем.

Oracle вижда, че Tribuo запълва празнината на пазара за машинно обучение за корпоративни приложения. Например, докато създадената от Google библиотека TensorFlow предоставя основни алгоритми за дълбоко обучение, Tribuo предоставя няколко алгоритми за машинно обучение, някои от които са в TensorFlow, а други не, като същевременно осигурява интерфейс към TensorFlow, каза Адам Покок от Oracle главен член на техническия персонал на Oracle Labs. И докато механизмът за анализ на Apache Spark е за големи разпределени системи, Tribuo е за по-малки изчисления, които могат да се поберат на една машина, каза Покок.

В допълнение към TensorFlow, Tribuo предоставя интерфейси към XGBoost и ONNX време за изпълнение, позволявайки модели, съхранени във формат ONNX или обучени в TensorFlow и XGBoost, да бъдат разположени заедно с родните модели на Tribuo. Поддръжката на формата на модела ONNX позволява разполагане в Java на модели, обучени с помощта на популярни библиотеки на Python като PyTorch.

Tribuo работи на Java 8 или по-нова версия. Oracle приема кодови вноски в Tribuo съгласно споразумението за сътрудници на Oracle. Tribuo вече е използван вътрешно в Oracle в продукта Fusion Cloud ERP за интелигентно разпознаване на документи, например.