ขอขอบคุณที่เข้าร่วม Google I/O ดูเซสชั่นทั้งหมดตามความต้องการ ดูตามความต้องการ

ความน่าจะเป็นของเทนเซอร์โฟลว์

ความน่าจะเป็นของ TensorFlow เป็นไลบรารีสำหรับการให้เหตุผลเชิงความน่าจะเป็นและการวิเคราะห์ทางสถิติใน TensorFlow ในฐานะที่เป็นส่วนหนึ่งของระบบนิเวศ TensorFlow ความน่าจะเป็นของ TensorFlow ให้การรวมของวิธีการที่น่าจะเป็นกับเครือข่ายเชิงลึก การอนุมานตามการไล่ระดับสีโดยใช้ความแตกต่างโดยอัตโนมัติ และความสามารถในการปรับขนาดเป็นชุดข้อมูลและโมเดลขนาดใหญ่ด้วยการเร่งด้วยฮาร์ดแวร์ (GPU) และการคำนวณแบบกระจาย

หากต้องการเริ่มต้นใช้งาน TensorFlow Probability โปรดดู คู่มือการติดตั้ง และดู บทช่วยสอนโน้ตบุ๊ก Python

ส่วนประกอบ

เครื่องมือแมชชีนเลิร์นนิงที่น่าจะเป็นของเรามีโครงสร้างดังนี้:

เลเยอร์ 0: TensorFlow

การดำเนินการเชิงตัวเลข — โดยเฉพาะอย่างยิ่ง คลาส LinearOperator — ช่วยให้สามารถใช้งานแบบไม่มีเมทริกซ์ที่สามารถใช้ประโยชน์จากโครงสร้างเฉพาะ (แนวทแยง อันดับต่ำ ฯลฯ) เพื่อการคำนวณที่มีประสิทธิภาพ สร้างและดูแลโดยทีม TensorFlow Probability และเป็นส่วนหนึ่งของ tf.linalg ในคอร์ TensorFlow

ชั้นที่ 1: หน่วยการสร้างทางสถิติ

ชั้นที่ 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