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

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

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

ส่วนประกอบ

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

เลเยอร์ 0: TensorFlow

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

เลเยอร์ 1: หน่วยการสร้างทางสถิติ

  • การแจกแจง ( tfp.distributions ): ชุดใหญ่ของการแจกแจงความน่าจะเป็นและสถิติที่เกี่ยวข้องกับชุดและซีแมนทิกส์ การออกอากาศ
  • Bijectors ( tfp.bijectors ): การแปลงตัวแปรสุ่มแบบย้อนกลับและแบบประกอบได้ Bijector จัดให้มีคลาสที่หลากหลายของการแจกแจงที่แปลงแล้ว ตั้งแต่ตัวอย่างคลาสสิก เช่น การแจกแจงแบบ log-normal ไปจนถึงโมเดลการเรียนรู้เชิงลึกที่ซับซ้อน เช่น โฟลว์ autoregressive ที่สวมหน้ากาก

เลเยอร์ 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 ): วิธีการเพิ่มประสิทธิภาพ Stochastic ขยายเครื่องมือเพิ่มประสิทธิภาพ TensorFlow รวมถึง Stochastic Gradient Langevin Dynamics
  • Monte Carlo ( tfp.monte_carlo ): เครื่องมือสำหรับการคำนวณความคาดหวังของ Monte Carlo

ความน่าจะเป็นของ TensorFlow อยู่ระหว่างการพัฒนาและอินเทอร์เฟซอาจมีการเปลี่ยนแปลง

ตัวอย่าง

นอกจาก บทช่วยสอนสมุดบันทึก Python ที่แสดงอยู่ในการนำทางแล้ว ยังมีสคริปต์ตัวอย่างบางส่วนให้เลือก:

รายงานปัญหา

รายงานข้อบกพร่องหรือคำขอคุณสมบัติโดยใช้ เครื่องมือติดตามปัญหาความน่าจะเป็นของ TensorFlow