ความน่าจะเป็นของ TensorFlow เป็นไลบรารีสำหรับการให้เหตุผลเชิงความน่าจะเป็นและการวิเคราะห์ทางสถิติใน TensorFlow ในฐานะที่เป็นส่วนหนึ่งของระบบนิเวศ TensorFlow ความน่าจะเป็นของ TensorFlow ให้การรวมของวิธีการที่น่าจะเป็นกับเครือข่ายเชิงลึก การอนุมานตามการไล่ระดับสีโดยใช้ความแตกต่างโดยอัตโนมัติ และความสามารถในการปรับขนาดเป็นชุดข้อมูลและโมเดลขนาดใหญ่ด้วยการเร่งด้วยฮาร์ดแวร์ (GPU) และการคำนวณแบบกระจาย
หากต้องการเริ่มต้นใช้งาน TensorFlow Probability โปรดดู คู่มือการติดตั้ง และดู บทช่วยสอนโน้ตบุ๊ก Python
ส่วนประกอบ
เครื่องมือแมชชีนเลิร์นนิงที่น่าจะเป็นของเรามีโครงสร้างดังนี้:
เลเยอร์ 0: TensorFlow
การดำเนินการเชิงตัวเลข — โดยเฉพาะอย่างยิ่ง คลาส LinearOperator
— ช่วยให้สามารถใช้งานแบบไม่มีเมทริกซ์ที่สามารถใช้ประโยชน์จากโครงสร้างเฉพาะ (แนวทแยง อันดับต่ำ ฯลฯ) เพื่อการคำนวณที่มีประสิทธิภาพ สร้างและดูแลโดยทีม TensorFlow Probability และเป็นส่วนหนึ่งของ tf.linalg
ในคอร์ TensorFlow
ชั้นที่ 1: หน่วยการสร้างทางสถิติ
- การแจกแจง (
tfp.distributions
): คอลเลกชันขนาดใหญ่ของการแจกแจงความน่าจะเป็นและสถิติที่เกี่ยวข้องพร้อมด้วยแบทช์และ การแพร่ ภาพ - Bijectors (
tfp.bijectors
): การแปลงตัวแปรสุ่มแบบย้อนกลับและประกอบได้ ไบเจ็กเตอร์จัดเตรียมการแจกแจงแบบแปลงรูปแบบที่หลากหลาย ตั้งแต่ตัวอย่างคลาสสิก เช่น การแจกแจงแบบล็อกปกติ ไปจนถึงโมเดลการเรียนรู้เชิงลึกที่ซับซ้อน เช่น การไหลย้อนกลับอัตโนมัติแบบสวมหน้ากาก
ชั้นที่ 2: การสร้างแบบจำลอง
- การแจกแจงแบบร่วม (เช่น
tfp.distributions.JointDistributionSequential
): การแจกแจงร่วมกันบนการแจกแจงแบบพึ่งพาอาศัยกันอย่างน้อยหนึ่งรายการ สำหรับคำแนะนำเกี่ยวกับการสร้างแบบจำลองด้วยJointDistribution
ของ TFP โปรดดู colab นี้ - เลเยอร์ความน่าจะเป็น (
tfp.layers
): เลเยอร์โครงข่ายประสาทเทียมที่มีความไม่แน่นอนเกี่ยวกับฟังก์ชันที่พวกมันเป็นตัวแทน ขยายเลเยอร์ TensorFlow
ชั้นที่ 3: การอนุมานเชิงความน่าจะเป็น
- Markov chain Monte Carlo (
tfp.mcmc
): อัลกอริทึมสำหรับการประมาณปริพันธ์ผ่านการสุ่มตัวอย่าง รวมถึง Hamiltonian Monte Carlo , Metropolis-Hastings แบบเดินสุ่ม และความสามารถในการสร้างเมล็ดทรานซิชันแบบกำหนดเอง - การอนุมานแบบผันแปร (
tfp.vi
): อัลกอริทึมสำหรับการประมาณปริพันธ์ผ่านการเพิ่มประสิทธิภาพ - เครื่องมือเพิ่มประสิทธิภาพ (
tfp.optimizer
): วิธีการเพิ่มประสิทธิภาพแบบสุ่ม การขยายเครื่องมือเพิ่มประสิทธิภาพ TensorFlow รวมถึง Stochastic Gradient Langevin Dynamics - Monte Carlo (
tfp.monte_carlo
): เครื่องมือสำหรับคำนวณความคาดหวังของ Monte Carlo
ความน่าจะเป็นของ TensorFlow อยู่ระหว่างการพัฒนาและอินเทอร์เฟซอาจมีการเปลี่ยนแปลง
ตัวอย่าง
นอกเหนือจาก บทช่วยสอนสมุดบันทึก Python ที่แสดงอยู่ในการนำทางแล้ว ยังมีสคริปต์ตัวอย่างบางส่วนที่พร้อมใช้งาน:
- Variational Autoencoders — การเรียนรู้การเป็นตัวแทนด้วยรหัสแฝงและการอนุมานแบบผันแปร
- Vector-Quantized Autoencoder — การเรียนรู้การแทนค่าแบบแยกส่วนด้วยการแสดงปริมาณเวกเตอร์
- Bayesian Neural Networks— โครงข่ายประสาทเทียมที่มีความไม่แน่นอนเกี่ยวกับน้ำหนัก
- Bayesian Logistic Regression — การอนุมานแบบเบส์สำหรับการจำแนกเลขฐานสอง
รายงานปัญหา
รายงานจุดบกพร่องหรือคำขอคุณสมบัติโดยใช้ ตัวติดตามปัญหา TensorFlow Probability