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 اشکالات یا درخواست های ویژگی را گزارش کنید.