TensorFlow Probability — это библиотека для вероятностных рассуждений и статистического анализа в TensorFlow. Будучи частью экосистемы TensorFlow, TensorFlow Probability обеспечивает интеграцию вероятностных методов с глубокими сетями, градиентный вывод с использованием автоматического дифференцирования и масштабируемость для больших наборов данных и моделей с аппаратным ускорением (GPU) и распределенными вычислениями.
Чтобы начать работу с TensorFlow Probability, прочтите руководство по установке и просмотрите руководства по блокнотам Python .
Компоненты
Наши вероятностные инструменты машинного обучения структурированы следующим образом:
Уровень 0: TensorFlow
Числовые операции — в частности, класс LinearOperator
— позволяют использовать безматричные реализации, которые могут использовать определенную структуру (диагональную, низкоранговую и т. д.) для эффективных вычислений. Он создан и поддерживается командой TensorFlow Probability и является частью tf.linalg
в ядре TensorFlow.
Уровень 1: Статистические строительные блоки
- Распределения (
tfp.distributions
): большая коллекция вероятностных распределений и связанной статистики с семантикой пакетной и широковещательной передачи . - Бижекторы (
tfp.bijectors
): обратимые и компонуемые преобразования случайных величин. Бижекторы предоставляют богатый класс преобразованных распределений: от классических примеров, таких как логарифмически нормальное распределение, до сложных моделей глубокого обучения, таких как замаскированные авторегрессионные потоки .
Уровень 2: Построение модели
- Совместные дистрибутивы (например,
tfp.distributions.JointDistributionSequential
): совместные дистрибутивы по одному или нескольким, возможно, взаимозависимым дистрибутивам. Чтобы познакомиться с моделированием с помощьюJointDistribution
TFP, посетите эту совместную работу. - Вероятностные слои (
tfp.layers
): слои нейронной сети с неопределенностью в отношении функций, которые они представляют, расширяющие слои TensorFlow.
Уровень 3: Вероятностный вывод
- Цепь Маркова Монте-Карло (
tfp.mcmc
): Алгоритмы аппроксимации интегралов посредством выборки. Включает гамильтониан Монте-Карло , метод случайного блуждания Метрополис-Гастингс и возможность создания собственных переходных ядер. - Вариационный вывод (
tfp.vi
): алгоритмы аппроксимации интегралов посредством оптимизации. - Оптимизаторы (
tfp.optimizer
): методы стохастической оптимизации, расширяющие оптимизаторы TensorFlow. Включает стохастическую градиентную динамику Ланжевена . - Монте-Карло (
tfp.monte_carlo
): инструменты для расчета ожиданий Монте-Карло.
TensorFlow Probability находится в стадии активной разработки, и интерфейсы могут меняться.
Примеры
Помимо руководств по блокнотам Python , перечисленных в навигации, доступно несколько примеров сценариев:
- Вариационные автоэнкодеры — обучение представлению со скрытым кодом и вариационным выводом.
- Векторно-квантованный автоэнкодер — обучение дискретному представлению с помощью векторного квантования.
- Байесовские нейронные сети — нейронные сети с неопределенностью относительно их весов.
- Байесовская логистическая регрессия — Байесовский вывод для бинарной классификации.
Сообщить о проблемах
Сообщайте об ошибках или запросах функций, используя систему отслеживания проблем TensorFlow Probability .