TensorFlow Probability là một thư viện dành cho lý 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 độ dốc bằng cách sử dụng tính năng phân biệt tự động và khả năng mở rộng cho các bộ 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 Xác suất TensorFlow, hãy xem hướng dẫn cài đặt và xem hướng dẫn sổ ghi chép 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
Các phép toán số —đặc biệt là lớp LinearOperator
—cho phép triển khai không cần ma trận và có thể khai thác một cấu trúc cụ thể (đường chéo, thứ hạng thấp, v.v.) để tính toán hiệu quả. Nó được xây dựng và duy trì bởi nhóm TensorFlow Probability và là một phần của tf.linalg
trong lõi TensorFlow.
Lớp 1: Khối xây dựng thống kê
- Phân phối (
tfp.distributions
): Một tập hợp lớn các phân phối xác suất và số liệu thống kê liên quan với ngữ nghĩa hàng loạt và phát sóng . - Bijectors (
tfp.bijectors
): Các phép biến đổi có thể đảo ngược và tổng hợp của các biến ngẫu nhiên. Bijector cung cấp một lớp phân phối được chuyển đổi phong phú, từ các ví dụ cổ điển như phân phối log-chuẩn đến các mô hình học sâu phức tạp như các luồng tự hồi quy được che giấu .
Lớp 2: Xây dựng mô hình
- Phân phối chung (ví dụ:
tfp.distributions.JointDistributionSequential
): Phân phối chung trên một hoặc nhiều phân phối có thể phụ thuộc lẫn nhau. Để biết phần giới thiệu về lập mô hình vớiJointDistribution
của TFP, hãy xem colab này - Các lớp xác suất (
tfp.layers
): Các lớp mạng thần kinh không chắc chắn về các chức năng mà chúng đại diện, mở rộng các lớp TensorFlow.
Lớp 3: Suy luận xác suất
- Chuỗi Markov Monte Carlo (
tfp.mcmc
): Thuật toán tính gần đúng tích phân thông qua lấy mẫu. Bao gồm Hamiltonian Monte Carlo , Metropolis-Hastings đi bộ ngẫu nhiên và khả năng xây dựng các hạt nhân chuyển tiếp tùy chỉnh. - Suy luận biến phân (
tfp.vi
): Thuật toán tính gần đúng tích phân thông qua tối ưu hóa. - Trình tối ưu hóa (
tfp.optimizer
): Các phương pháp tối ưu hóa ngẫu nhiên, mở rộng Trình tối ưu hóa TensorFlow. Bao gồm Động lực học Langevin gradient ngẫu nhiên . - Monte Carlo (
tfp.monte_carlo
): Công cụ tính toán kỳ vọng của Monte Carlo.
Xác suất TensorFlow đang được phát triển tích cực và giao diện có thể thay đổi.
Ví dụ
Ngoài các hướng dẫn về sổ ghi chép Python được liệt kê trong phần điều hướng, còn có một số tập lệnh mẫu có sẵn:
- Bộ mã hóa tự động biến thể —Học biểu diễn với mã tiềm ẩn và suy luận biến phân.
- Bộ mã hóa tự động lượng tử hóa vectơ —Học biểu diễn rời rạc với lượng tử hóa vectơ.
- Mạng thần kinh Bayesian - Mạng thần kinh không chắc chắn về trọng số của chúng.
- Hồi quy logistic Bayesian Suy luận Bayesian để phân loại nhị phân.
Báo cáo vấn đề
Báo cáo lỗi hoặc yêu cầu tính năng bằng cách sử dụng trình theo dõi vấn đề Xác suất TensorFlow .