Xác suất TensorFlow

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, Xác suất TensorFlow 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 phân biệt tự động và khả năng mở rộng thành 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 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ụ thể là lớp LinearOperator —cho phép triển khai không có ma trận 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 Xác suất TensorFlow và là một phần của tf.linalg trong TensorFlow cốt lõi.

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à kết hợp được 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-normal đến các mô hình học sâu tinh vi như các luồng tự hồi quy được che dấ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 giới thiệu về lập mô hình với TFP's JointDistribution s, 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 ): Các thuật toán để tính gần đúng các 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.
  • Variational Inference ( tfp.vi ): Các thuật toán để tính gần đúng các 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 Stochastic Gradient Langevin Dynamics .
  • Monte Carlo ( tfp.monte_carlo ): Công cụ tính toán kỳ vọng Monte Carlo.

Xác suất TensorFlow đang được phát triển tích cực và các 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 ví dụ:

Báo cáo vấn đề

Báo cáo lỗi hoặc yêu cầu tính năng bằng trình theo dõi sự cố Xác suất TensorFlow .