Deepar - це ймовірнісна модель прогнозування, спочатку розроблена та популяризована в інструментарії Gluonts, яка побудована на рамках глибокого навчання Apache MXNET. З часом Deepar також був реалізований і в інших основних рамках глибокого навчання, включаючи TensorFlow. Відмінності між Deepar в TensorFlow та Gluonts виникають переважно з філософій, впровадження та екосистемних інтеграцій рамок.
Deepar Overview:
Дані Deepar Models Time Series ймовірно, використовуючи архітектуру авторегресивної рецидивуючої нейронної мережі (RNN), зазвичай з клітинами LSTM або GRU. Враховуючи колекцію споріднених часових рядів та необов'язкових коваріатів, Deepar вивчає глобальну модель для створення ймовірнісних прогнозів. Модель виводить розподіл ймовірностей над майбутніми значеннями, а не точковими оцінками, що дозволяє кількісно визначити невизначеність.
Ключові відмінності:
1. Рамки та екосистема:
- Gluonts - це спеціалізований інструментарій моделювання часових рядів часових рядів, побудований на MXNET (з деякими інтеграціями до Pytorch в останніх версіях). Він включає в себе повні рішення для обробки наборів даних, перетворення, побудови моделей, оцінки та візуалізації, пристосованих спеціально до прогнозування часових рядів та виявлення аномалії. Deepar-це одна з декількох попередньо вбудованих найсучасніших моделей, доступних у Gluonts.
-TensorFlow-це загальноприйнята рамка глибокого навчання з величезною екосистемою для машинного навчання, пропонуючи гнучкість для створення спеціальних та виробничих моделей. Deepar реалізація в Tensorflow зазвичай служить більш окремим або дослідницьким моделям, які можуть бути інтегровані в більш широкі трубопроводи Tensorflow. Бібліотека ймовірності TensorFlow (TFP) часто забезпечує інструменти розподілу та ймовірнісного моделювання для доповнення Deepar.
2. Модульність та розширюваність:
- Gluonts дотримується модульної схеми проектування, де Deepar та інші моделі поділяють загальні компоненти, такі як трубопроводи вхідної трансформації, об'єкти прогнозу та обчислення метрик. Це полегшує орієнтир моделей в єдиному середовищі, а також розширювати такі компоненти, як розподіли або спеціальні перетворення.
- Реалізація Deepar TensorFlow може зажадати більшої ручної побудови попередньої обробки даних, модельних навчальних циклів та ймовірнісної обробки виходу. Хоча TensorFlow забезпечує гнучкість для налаштування, він також вимагає більше від користувачів для створення компонентів багаторазового використання та оркестральних трубопроводів навчання/оцінки.
3. Обробка даних та функції:
- Gluonts підтримує потокове набори даних великих часових рядів за допомогою ітераторів Python, щоб уникнути накладних витрат пам'яті та включає вбудовані трансформатори функцій, оптимізовані для часових рядів, такі як функції індексу часу та категоричні вбудовані.
- Реалізація TensorFlow покладається на трубопроводи даних Tensorflow (TF.DATA) для обробки наборів даних, що може зажадати більш чіткого кодування для підтримки масштабних або потокових даних часових рядів.
4. Навчання та масштабованість:
- Gluonts пропонує інтеграцію з Amazon Sagemaker для масштабного навчання та розгортання виробництва з мінімальними зусиллями користувачів. Клас тренерів тягнеться до тренувань та оптимізації.
- TensorFlow, будучи стандартом у галузі, підтримує розподілену підготовку на декількох графічних процесах та TPUS, з надійним інструментом для моніторингу, контрольного пункту та розгортання через порцію TensorFlow, Lite TensorFlow Lite або TensorFlow (TFX).
5. Імовірнісне представлення виводу:
- У Gluonts глибоко виводить ймовірнісні прогнози, інкапсульовані в об'єкти прогнозу, які забезпечують квантили та розподіл властивостей. Ця абстракція полегшує оцінку та візуалізацію.
- Реалізація TensorFlow, як правило, використовує розподіл ймовірностей Tensorflow для виходу, що вимагає ручної обробки параметрів розподілу для обчислення та прогнозів.
6. Дизайн та зручність API:
- Gluonts забезпечує послідовний інтерфейс оцінювача, натхненний Scikit-Learn, де моделі мають метод поїзда (), що повертає прогноз, здатний прогнозувати. Цей дизайн сприяє відтворюваності та бенчмаркінгу.
- Реалізація Deepar TensorFlow відрізняється, оскільки немає офіційного стандартизованого API. Користувачам часто потрібно впроваджувати спеціальний код навчання та висновку.
7. Варіанти та розширення моделі:
- Gluonts включає прямі реалізації пов'язаних моделей, таких як MQ-RNN, DeepState, DeepFactor та Transformer Architectures, що дозволяє безшовні експерименти та стратегії ансамблю поряд з Deepar.
- Користувачі TensorFlow будують такі варіанти з нуля або адаптують кодові бази досліджень, що дозволяє більш радикально налаштувати, але вимагаючи додаткових інженерних зусиль.
8. Спільнота та документація:
- Gluonts пропонує широку документацію, орієнтовану на ймовірнісне моделювання часових рядів, включаючи підручники, інтеграцію наборів даних та показники оцінювання, пристосовані для прогнозування завдань.
- Документація TensorFlow для моделей Deepar-Type є більш фрагментарною, оскільки Deepar не є рідною, а відтворена спільнотою або дослідниками в TensorFlow, часто через публікації в блозі або випуски академічного коду.
9. Інтеграція з іншими трубопроводами ML:
- TensorFlow Deepar може бути інтегрований з іншими моделями Tensorflow та трубопроводами, що виграє від єдиної екосистеми для таких завдань, як вилучення функцій, настройка гіперпараметра (через тюнер Keras або інструментарію оптимізації моделі TensorFlow) та експорт моделі.
- Gluonts в основному фокусується на робочих процесах часових рядів, але може бути інтегрований з іншими моделями MXNET або експортується для розгортання в сумісних умовах.
10. Продуктивність та ефективність:
- Обидва рамки ефективно використовують графічні процесори для тренувань Deepar моделей. Зрілість TensorFlow може виходити з точки зору оптимізації та масштабованості для різноманітного обладнання.
- Gluonts, будучи на основі MXNET, показує конкурентоспроможність і розроблений спеціально для навантажень часових рядів, що підвищує зручність використання для таких завдань.
Підсумовуючи це, Deepar в Gluonts-це спеціалізована, модульна та готова до виробництва реалізація, вбудована в багату екосистему, що підтримує ймовірнісне прогнозування. Реалізація Deepar TensorFlow є більш гнучкими та потужними в межах більш широкої екосистеми глибокого навчання, але потребує більшої налаштування для повних робочих процесів часових потоків.
Список літератури:- Gluonts: Імовірнісне та нейронне моделювання часових рядів у Python
- Папір VLDB на стеку прогнозування з Gluonts
- Порівняння Deepar у перспективах Tensorflow та Gluonts