این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

شبکه TensorFlow (TFL)

TensorFlow Lattice کتابخانه ای است که مدل های مبتنی بر شبکه انعطاف پذیر ، کنترل شده و قابل تفسیر را پیاده سازی می کند. این کتابخانه از طریق محدودیت های شکل عقل سلیم یا سیاست محور می تواند دانش دامنه را به فرایند یادگیری تزریق کند. این کار با استفاده از مجموعه ای از لایه های Keras انجام می شود که می تواند محدودیت هایی از قبیل یکنواختی ، محدب بودن و اعتماد به نفس جفت را برآورده کند. این کتابخانه همچنین تنظیم آسانسورهای کنسرو آسان را در اختیار شما قرار می دهد.

مفاهیم

این بخش یک نسخه ساده از توضیحات در جداول جستجوگرهای بینابینی کالیبره شده یکنواخت ، JMLR 2016 است.

مشبک

مشبک یک جدول جستجوی درون یابی است که می تواند روابط ورودی و خروجی دلخواه را در داده های شما تقریب دهد. این شبکه به طور منظم روی فضای ورودی شما همپوشانی دارد و مقادیر خروجی را در رئوس شبکه می آموزد. برای یک نقطه آزمایشی x $ $ ، $ f (x) $ به طور خطی از مقادیر شبکه اطراف x x $ درون یابی می شود.

مثال ساده بالا یک تابع با 2 ویژگی ورودی و 4 پارامتر است: $ \ theta = [0، 0.2، 0.4، 1] $ ، که مقادیر عملکرد در گوشه و کنار فضای ورودی هستند. بقیه تابع از این پارامترها درون یابی می شود.

عملکرد $ f (x) $ می تواند تعامل غیر خطی بین ویژگی ها را ضبط کند. شما می توانید از پارامترهای مشبک به عنوان ارتفاع قطب های تنظیم شده در زمین بر روی یک شبکه معمولی فکر کنید و عملکرد حاصل مانند پارچه ای است که در برابر چهار قطب محکم بسته می شود.

با ویژگی های D $ $ و 2 رئوس در هر بعد ، یک شبکه مشبک معمولی دارای پارامترهای $ 2 ^ D $ خواهد بود. برای جابجایی یک کارکرد انعطاف پذیرتر ، می توانید یک شبکه مشبک ریز دانه بر روی فضای ویژگی با رأس بیشتری در هر بعد مشخص کنید. توابع رگرسیون مشبک بطور مداوم و جزئی بی نهایت متفاوت هستند.

تنظیم

بیایید بگوییم مشبک نمونه قبلی نشانگر خوشبختی کاربر آموخته شده با یک کافی شاپ محلی پیشنهاد شده با استفاده از ویژگی های محاسبه شده است:

  • قیمت قهوه ، در محدوده 0 تا 20 دلار
  • فاصله تا کاربر ، در محدوده 0 تا 30 کیلومتر

ما می خواهیم مدل ما با یک پیشنهاد کافی شاپ محلی شادی کاربر را بیاموزد. مدل های مشبک TensorFlow می توانند از توابع خطی tfl.layers.PWLCalibration (با tfl.layers.PWLCalibration ) برای کالیبره کردن و عادی سازی ویژگی های ورودی به محدوده پذیرفته شده از شبکه استفاده کنند: 0.0 تا 1.0 در نمونه شبکه بالا. مثالهای زیر نشانگر چنین عملکردهایی با 10 کلیدواژه است:

غالباً ایده خوبی است که از مقادیر مشخصه ها به عنوان کلیدهای ورودی استفاده کنید. برآوردگرهای کنسرو شده TensorFlow Lattice می توانند به طور خودکار کلیدهای ورودی را روی مقادیر ویژگی تنظیم کنند.

برای ویژگی های دسته بندی ، شبکه tfl.layers.CategoricalCalibration کالیبراسیون طبقه بندی شده (با tfl.layers.CategoricalCalibration ) با خروجی مشابه محدود به غذا را به یک شبکه می دهد.

گروهها

تعداد پارامترهای یک لایه مشبک با تعداد ویژگی های ورودی بصورت تصاعدی افزایش می یابد ، از این رو به ابعاد بسیار بالا مقیاس نمی شود. برای غلبه بر این محدودیت ، شبکه TensorFlow شبکه ای از مشبک را ارائه می دهد که (به طور متوسط) چندین شبکه مشبک کوچک را ترکیب می کنند ، که این مدل را قادر می سازد به صورت خطی در تعداد ویژگی ها رشد کند.

این کتابخانه دو نوع از این مجموعه ها را ارائه می دهد:

  • شبکه های تصادفی کوچک (RTL): هر زیرمجموعه از یک زیر مجموعه تصادفی از ویژگی ها (با جایگزینی) استفاده می کند.

  • کریستال : الگوریتم Crystals ابتدا یک مدل ترجیحی را آموزش می دهد که برهم کنش های متفاوتی از هم به صورت برآورد شده است. سپس مجموعه نهایی را به گونه ای ترتیب می دهد که ویژگی هایی با تعامل غیر خطی بیشتر در همان شبکه ها قرار بگیرند.

چرا شبکه TensorFlow؟

در این پست وبلاگ TF می توانید معرفی مختصری از TensorFlow Lattice را پیدا کنید.

تفسیر

از آنجا که پارامترهای هر لایه خروجی آن لایه است ، به راحتی می توان تجزیه و تحلیل ، درک و اشکال زدایی هر قسمت از مدل را انجام داد.

مدل های دقیق و انعطاف پذیر

با استفاده از مشبک های ریز دانه ، می توانید عملکردهای پیچیده خودسرانه را با یک لایه مشبک منفرد بدست آورید. استفاده از چندین لایه از کالیبراستورها و شبکه ها اغلب در عمل خوب کار می کنند و می توانند مدلهای DNN با اندازه های مشابه مطابقت داشته یا از آن فراتر روند.

محدودیت های شکل عادی

داده های آموزش دنیای واقعی ممکن است به اندازه کافی داده های زمان اجرا را نشان ندهند. راه حل های انعطاف پذیر ML مانند DNN ها یا جنگل ها اغلب در بخش هایی از فضای ورودی که توسط داده های آموزش پوشانده نشده است بطور غیر منتظره و حتی وحشی عمل می کنند. این رفتار به ویژه هنگامی که می توان محدودیت های سیاست یا انصاف را نقض کرد مشکل ساز است.

حتی اگر اشکال معمول نظم دهی منجر به برون یابی معقول تر شود ، تنظیم کننده های استاندارد نمی توانند رفتار مدل معقول را در کل فضای ورودی تضمین کنند ، به خصوص با ورودی های بسیار بعدی. جابجایی به مدل های ساده تر با رفتار کنترل شده تر و قابل پیش بینی تر می تواند با هزینه ای دقیق به دقت مدل برسد.

TF Lattice امکان استفاده از مدلهای منعطف را ممکن می سازد ، اما گزینه های مختلفی برای تزریق دانش دامنه به فرایند یادگیری از طریق محدودیت های معنایی معنادار یا سیاست محور وجود دارد :

  • یکنواختی : می توانید مشخص کنید که خروجی فقط با توجه به ورودی می تواند افزایش یا کاهش یابد. در مثال ما ، ممکن است بخواهید مشخص کنید که افزایش فاصله تا کافی شاپ فقط باید اولویت پیش بینی شده کاربر را کاهش دهد.

  • Convexity / Concavity : می توانید مشخص کنید که شکل عملکرد می تواند محدب یا مقعر باشد. با یکنواختی مخلوط ، این می تواند عملکرد را مجبور کند تا بازده های کاهنده را با توجه به یک ویژگی خاص نشان دهد.

  • Unimodality : می توانید مشخص کنید که این تابع باید دارای یک قله یا دره منحصر به فرد باشد. این به شما امکان می دهد تا توابع دارای نقطه ای شیرین با توجه به یک ویژگی باشد.

  • اعتماد به زوج: این محدودیت بر روی یک جفت ویژگی کار می کند و نشان می دهد که یکی از ویژگی های ورودی به صورت معنایی اعتماد به ویژگی دیگر را منعکس می کند. به عنوان مثال ، تعداد بیشتر بررسی ها باعث می شود شما نسبت به میانگین امتیاز ستاره یک رستوران اطمینان بیشتری داشته باشید. این مدل با توجه به امتیاز ستاره حساس تر خواهد بود (یعنی با توجه به امتیاز ، شیب بیشتری داشته باشید) وقتی تعداد بررسی ها بیشتر باشد.

انعطاف پذیری کنترل شده با تنظیم کننده ها

علاوه بر محدودیت های شکل ، شبکه TensorFlow تعدادی تنظیم کننده را برای کنترل انعطاف پذیری و صاف بودن عملکرد برای هر لایه فراهم می کند.

  • Regularizer Laplacian : خروجی شاخه های مشبک / کالیبراسیون / صفحه کلید به سمت مقادیر همسایگان مربوطه تنظیم می شوند. این منجر به یک کارکرد چاپلوسی می شود.

  • Hessian Regularizer : این اولین مشتق لایه کالیبراسیون PWL را مجازات می کند تا عملکرد را خطی تر کند .

  • Regularizer چین و چروک : این ماده مشتق دوم لایه کالیبراسیون PWL را مجازات می کند تا از تغییرات ناگهانی در انحنای خود جلوگیری کند. این عملکرد را نرم تر می کند.

  • Torsion Regularizer : خروجی شبکه ها به منظور جلوگیری از پیچ خوردگی در میان ویژگی ها تنظیم می شوند. به عبارت دیگر ، این مدل به سمت استقلال بین سهم ویژگیها تنظیم می شود.

با دیگر لایه های کراس مخلوط و مطابقت دهید

برای ساخت مدلهای جزئی محدود یا منظم ، می توانید از لایه های TF Lattice در ترکیب با سایر لایه های Keras استفاده کنید. به عنوان مثال ، لایه های کالیبراسیون شبکه یا PWL در آخرین لایه شبکه های عمیق تر که شامل تعبیه یا لایه های دیگر Keras است ، قابل استفاده است.

اوراق

آموزش ها و اسناد API

برای معماری های مدل رایج ، می توانید از مدلهای premas Keras یا کنسرو Estimators استفاده کنید . همچنین می توانید با استفاده از لایه های TF Latas Keras مدل های دلخواه ایجاد کنید یا با دیگر لایه های Keras مخلوط کنید و مطابقت داشته باشید. برای جزئیات بیشتر اسناد API کامل را بررسی کنید.