TensorFlow Probability là một thư viện để lập luận xác suất và phân tích thống kê trong TensorFlow. Là một phần của hệ sinh thái TensorFlow, TensorFlow Probability cung cấp khả năng tích hợp các phương pháp xác suất với mạng sâu, suy luận dựa trên gradient sử dụng phân biệt tự động và khả năng mở rộng cho các tập dữ liệu và mô hình lớn với khả năng tăng tốc phần cứng (GPU) và tính toán phân tán.
Để bắt đầu với TensorFlow Xác suất, xem hướng dẫn cài đặt và xem các hướng dẫn máy tính xách tay Python .
Các thành phần
Các công cụ học máy xác suất của chúng tôi được cấu trúc như sau:
Lớp 0: TensorFlow
Hoạt động số -trong Đặc biệt, LinearOperator
đẳng cấp phép triển khai ma trận-miễn phí mà có thể khai thác một cấu trúc đặc biệt (đường chéo, thấp cấp bậc, vv) cho tính toán hiệu quả. Nó được xây dựng và duy trì bởi đội Xác suất TensorFlow và là một phần của tf.linalg
trong TensorFlow lõi.
Lớp 1: Khối xây dựng thống kê
- Phân phối (
tfp.distributions
): Một bộ sưu tập lớn các phân bố xác suất và thống kê liên quan với hàng loạt và phát sóng ngữ nghĩa. - Bijectors (
tfp.bijectors
): Reversible và biến đổi composable của các biến ngẫu nhiên. Bijectors cung cấp một lớp phong phú của các bản phân phối chuyển, từ các ví dụ cổ điển như phân phối log-bình thường với các mô hình học tập sâu phức tạp như dòng chảy tự hồi đeo mặt nạ .
Lớp 2: Xây dựng Mô hình
- Doanh phân phối (ví dụ,
tfp.distributions.JointDistributionSequential
): phân phối phần trên một hoặc phân phối hơn có thể-phụ thuộc lẫn nhau. Đối với một giới thiệu về mô hình hóa với TFP củaJointDistribution
s, hãy kiểm tra colab này - Lớp xác suất (
tfp.layers
): lớp mạng thần kinh với sự không chắc chắn về các chức năng mà họ đại diện, mở rộng lớp TensorFlow.
Lớp 3: Suy luận xác suất
- Chuỗi Markov Monte Carlo (
tfp.mcmc
): Các thuật toán cho xấp xỉ tích phân qua lấy mẫu. Bao gồm Hamiltonian Monte Carlo , quãng đường ngẫu nhiên Metropolis-Hastings, và khả năng hạt nhân chuyển tiếp xây dựng tùy chỉnh. - Variational Suy luận (
tfp.vi
): Các thuật toán cho xấp xỉ tích phân thông qua tối ưu hóa. - Optimizers (
tfp.optimizer
): phương pháp tối ưu hóa Stochastic, mở rộng TensorFlow Optimizers. Bao gồm Stochastic Gradient Langevin Dynamics . - Monte Carlo (
tfp.monte_carlo
): Công cụ để tính toán sự mong đợi Monte Carlo.
TensorFlow Probability đang được phát triển tích cực và giao diện có thể thay đổi.
Các ví dụ
Ngoài các hướng dẫn máy tính xách tay Python được liệt kê trong điều hướng, có một số kịch bản ví dụ có sẵn:
- Variational Autoencoders -Representation học tập với một mã tiềm ẩn và suy luận biến phân.
- Vector-lượng tử Autoencoder -Discrete học tập đại diện với lượng tử hóa vector.
- Bayesian Neural Networks -Neural mạng với không chắc chắn về trọng lượng của họ.
- Bayesian Logistic Regression suy luận -Bayesian phân loại nhị phân.
Báo cáo sự cố
Báo cáo lỗi hoặc yêu cầu tính năng sử dụng theo dõi TensorFlow vấn đề xác suất .