Pyro теперь в машинном обучении Watson


Pyro, универсальный вероятностный язык программирования (PPL), написанный на Python и поддерживаемый PyTorch на бэкэнде, теперь доступен на платформе IBM Watson Machine Learning с PyTorch 0.4

Pyro — это вероятностный язык программирования, построенный на Python в качестве платформы для разработки продвинутых вероятностных моделей. Он использует стохастические алгоритмы вариационного вывода и распределения вероятностей, построенные на основе PyTorch, инфраструктуры глубокого обучения с ускорением на GPU. Pyro также использует Poutine, библиотеку составляемых строительных блоков для изменения поведения вероятностных программ. Это означает, что он может приспособиться к сложному алгоритмическому поведению или поведению, зависящему от модели.

Разработчики Pyro говорят, что он объединяет лучшее из современного глубокого обучения и байесовского моделирования. Он был разработан, чтобы быть как можно более универсальным, с целью представить любое вычислимое распределение вероятностей. Pyro также стремится быть масштабируемым и минимальным из-за того, что он реализован с помощью небольшого ядра мощных составных абстракций.
Pyro можно использовать для описания проблем вывода, примерно так:
«Что должно быть правдой, если этот случайный выбор имел определенную наблюдаемую ценность?»
Системы вероятностного программирования предоставляют универсальные алгоритмы логического вывода, которые могут выполнять логический вывод с минимальным вмешательством со стороны пользователя. В Pyro вы описываете логический вывод в модели через вторую модель, называемую моделью вывода, или направляющей в Pyro. Невозможно написать «правильное» руководство, поэтому вы указываете семейство направляющих с параметрами, а затем оптимизируете свою модель, чтобы привести руководство к желаемому результату. Эта оптимизация автоматизирована за счет автоматической дифференциации.
Pyro основан на библиотеке PyTorch, которая включает автоматическое дифференцирование с использованием очень быстрой тензорной математики с ускорением на GPU. PyTorch создает градиенты динамически, что позволяет программам Pyro включать стохастическую структуру управления, то есть случайный выбор в программе Pyro может контролировать наличие других случайных вариантов в программе. Структура стохастического управления имеет решающее значение для универсальности PPL.
В Pyro как генеративные модели, так и руководства по выводу могут включать в себя глубокие нейронные сети в качестве компонентов. Разработчики говорят, что полученные в результате глубокие вероятностные модели показали большие перспективы в недавней работе, особенно для задач машинного обучения без учителя и с учителем.


Добавить комментарий