احتمال TensorFlow

TensorFlow Probability کتابخانه ای برای استدلال احتمالی و تجزیه و تحلیل آماری در TensorFlow است. به عنوان بخشی از اکوسیستم TensorFlow، TensorFlow Probability یکپارچه‌سازی روش‌های احتمالی با شبکه‌های عمیق، استنتاج مبتنی بر گرادیان با استفاده از تمایز خودکار، و مقیاس‌پذیری برای مجموعه‌های داده و مدل‌های بزرگ با شتاب سخت‌افزاری (GPU) و محاسبات توزیع‌شده را فراهم می‌کند.

برای شروع کار با TensorFlow Probability، راهنمای نصب را ببینید و آموزش های نوت بوک پایتون را مشاهده کنید.

اجزاء

ابزارهای یادگیری ماشین احتمالی ما به صورت زیر ساختار یافته اند:

لایه 0: TensorFlow

عملیات عددی - به ویژه کلاس LinearOperator - پیاده سازی های بدون ماتریس را فعال می کند که می توانند از یک ساختار خاص (مورب، رتبه پایین و غیره) برای محاسبات کارآمد سوء استفاده کنند. این توسط تیم TensorFlow Probability ساخته و نگهداری می شود و بخشی از tf.linalg در هسته TensorFlow است.

لایه 1: بلوک های ساختمانی آماری

  • توزیع‌ها ( tfp.distributions ): مجموعه بزرگی از توزیع‌های احتمال و آمارهای مرتبط با معناشناسی دسته‌ای و پخش .
  • Bijectors ( tfp.bijectors ): تبدیل‌های برگشت‌پذیر و قابل ترکیب متغیرهای تصادفی. Bijectors یک کلاس غنی از توزیع‌های تبدیل‌شده، از نمونه‌های کلاسیک مانند توزیع log-normal تا مدل‌های یادگیری عمیق پیچیده مانند جریان‌های خودبازگشت پنهان شده ، ارائه می‌کنند.

لایه 2: ساختمان مدل

  • توزیع های مشترک (به عنوان مثال، tfp.distributions.JointDistributionSequential ): توزیع های مشترک بر روی یک یا چند توزیع احتمالاً وابسته به هم. برای آشنایی با مدل سازی با JointDistribution s TFP، این colab را بررسی کنید
  • لایه‌های احتمالی ( tfp.layers ): لایه‌های شبکه عصبی با عدم قطعیت نسبت به عملکردهایی که نشان می‌دهند، لایه‌های TensorFlow را گسترش می‌دهند.

لایه 3: استنتاج احتمالی

  • زنجیره مارکوف مونت کارلو ( tfp.mcmc ): الگوریتم هایی برای تقریب انتگرال ها از طریق نمونه گیری. شامل مونت کارلو Hamiltonian ، Metropolis-Hastings با پیاده‌روی تصادفی، و توانایی ساخت هسته‌های انتقال سفارشی است.
  • استنتاج متغیر ( tfp.vi ): الگوریتم هایی برای تقریب انتگرال ها از طریق بهینه سازی.
  • بهینه سازها ( tfp.optimizer ): روش های بهینه سازی تصادفی، گسترش بهینه سازهای TensorFlow. شامل دینامیک لانگوین گرادیان تصادفی است .
  • مونت کارلو ( tfp.monte_carlo ): ابزارهایی برای محاسبه انتظارات مونت کارلو.

TensorFlow Probability در حال توسعه فعال است و ممکن است رابط ها تغییر کنند.

مثال ها

علاوه بر آموزش‌های نوت‌بوک پایتون که در ناوبری فهرست شده‌اند، چند نمونه اسکریپت موجود است:

مشکلات را گزارش کنید

با استفاده از ردیاب مشکل TensorFlow Probability اشکالات یا درخواست های ویژگی را گزارش کنید.