टेंसरफ्लो जाली (टीएफएल)

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

TensorFlow Lattice एक पुस्तकालय है जो लचीला, नियंत्रित और व्याख्यात्मक जाली आधारित मॉडल लागू करता है। पुस्तकालय आपको सामान्य ज्ञान या नीति-संचालित आकार बाधाओं के माध्यम से सीखने की प्रक्रिया में डोमेन ज्ञान को इंजेक्ट करने में सक्षम बनाता है। यह केरस परतों के संग्रह का उपयोग करके किया जाता है जो एकरसता, उत्तलता और जोड़ीदार विश्वास जैसी बाधाओं को पूरा कर सकता है। पुस्तकालय डिब्बाबंद अनुमानक स्थापित करने में आसान भी प्रदान करता है।

अवधारणाओं

यह खंड मोनोटोनिक कैलिब्रेटेड इंटरपोलेटेड लुक-अप टेबल्स , जेएमएलआर 2016 में विवरण का एक सरलीकृत संस्करण है।

जाली

जाली एक प्रक्षेपित लुक-अप तालिका है जो आपके डेटा में मनमाने इनपुट-आउटपुट संबंधों का अनुमान लगा सकती है। यह आपके इनपुट स्थान पर एक नियमित ग्रिड को ओवरलैप करता है और ग्रिड के शीर्षों में आउटपुट के लिए मान सीखता है। एक परीक्षण बिंदु के लिए \(x\), \(f(x)\) को l10n- \(x\)के आसपास के जाली मानों से रैखिक रूप से प्रक्षेपित किया जाता है।

ऊपर दिया गया सरल उदाहरण 2 इनपुट सुविधाओं और 4 मापदंडों के साथ एक फ़ंक्शन है:\(\theta=[0, 0.2, 0.4, 1]\), जो इनपुट स्पेस के कोनों पर फ़ंक्शन के मान हैं; शेष फ़ंक्शन इन मापदंडों से प्रक्षेपित होता है।

फ़ंक्शन \(f(x)\) सुविधाओं के बीच गैर-रैखिक इंटरैक्शन को कैप्चर कर सकता है। आप जाली के मापदंडों के बारे में सोच सकते हैं जैसे कि एक नियमित ग्रिड पर जमीन में स्थापित ध्रुवों की ऊंचाई, और परिणामी कार्य चार ध्रुवों के खिलाफ कसकर खींचे गए कपड़े की तरह है।

\(D\) सुविधाओं और प्रत्येक आयाम के साथ 2 कोने के साथ, एक नियमित जाली में \(2^D\) पैरामीटर होंगे। अधिक लचीले फ़ंक्शन को फिट करने के लिए, आप प्रत्येक आयाम के साथ अधिक कोने के साथ फीचर स्पेस पर एक महीन दाने वाली जाली निर्दिष्ट कर सकते हैं। जाली प्रतिगमन कार्य निरंतर और टुकड़े-टुकड़े में असीम रूप से भिन्न होते हैं।

कैलिब्रेशन

मान लें कि पूर्ववर्ती नमूना जाली सुविधाओं का उपयोग करके गणना की गई एक सुझाई गई स्थानीय कॉफी शॉप के साथ एक सीखे हुए उपयोगकर्ता की खुशी का प्रतिनिधित्व करती है:

  • कॉफी की कीमत, 0 से 20 डॉलर की सीमा में
  • उपयोगकर्ता से दूरी, 0 से 30 किलोमीटर . की सीमा में

हम चाहते हैं कि हमारा मॉडल स्थानीय कॉफी शॉप के सुझाव के साथ उपयोगकर्ता की खुशी सीखे। TensorFlow जाली मॉडल जाली द्वारा स्वीकार की गई सीमा के लिए इनपुट सुविधाओं को कैलिब्रेट और सामान्य करने के लिए टुकड़ावार रैखिक कार्यों ( tfl.layers.PWLCalibration के साथ) का उपयोग कर सकते हैं: 0.0 से 1.0 ऊपर उदाहरण जाली में। निम्नलिखित उदाहरण दिखाते हैं कि ऐसे अंशांकन 10 मुख्य बिंदुओं के साथ कार्य करते हैं:

इनपुट कीपॉइंट के रूप में सुविधाओं की मात्रा का उपयोग करना अक्सर एक अच्छा विचार है। TensorFlow Lattice डिब्बाबंद अनुमानक स्वचालित रूप से इनपुट कीपॉइंट्स को फीचर क्वांटाइल्स पर सेट कर सकते हैं।

स्पष्ट सुविधाओं के लिए, TensorFlow Lattice एक जाली में फीड करने के लिए समान आउटपुट बाउंडिंग के साथ श्रेणीबद्ध अंशांकन ( tfl.layers.CategoricalCalibration के साथ) प्रदान करता है।

टुकड़ियों

एक जाली परत के मापदंडों की संख्या इनपुट सुविधाओं की संख्या के साथ तेजी से बढ़ती है, इसलिए बहुत उच्च आयामों तक अच्छी तरह से स्केलिंग नहीं होती है। इस सीमा को पार करने के लिए, TensorFlow Lattice जाली के समूह प्रदान करता है जो (औसत) कई छोटे जाली को जोड़ती है, जो मॉडल को सुविधाओं की संख्या में रैखिक रूप से बढ़ने में सक्षम बनाता है।

पुस्तकालय इन पहनावाओं के दो रूप प्रदान करता है:

  • रैंडम टिनी लैटिस (RTL): प्रत्येक सबमॉडल सुविधाओं का एक यादृच्छिक सबसेट (प्रतिस्थापन के साथ) का उपयोग करता है।

  • क्रिस्टल : क्रिस्टल एल्गोरिथम पहले एक प्रीफिटिंग मॉडल को प्रशिक्षित करता है जो जोड़ीदार फीचर इंटरैक्शन का अनुमान लगाता है। यह तब अंतिम पहनावा की व्यवस्था करता है जैसे कि अधिक गैर-रैखिक इंटरैक्शन वाली विशेषताएं एक ही जाली में हों।

टेंसरफ्लो जाली क्यों?

आप इस TF ब्लॉग पोस्ट में TensorFlow Lattice का संक्षिप्त परिचय पा सकते हैं।

विवेचनीयता

चूंकि प्रत्येक परत के पैरामीटर उस परत के आउटपुट हैं, इसलिए मॉडल के प्रत्येक भाग का विश्लेषण, समझना और डीबग करना आसान है।

सटीक और लचीले मॉडल

महीन दाने वाली जाली का उपयोग करके, आप एक जाली परत के साथ मनमाने ढंग से जटिल कार्य प्राप्त कर सकते हैं। कैलिब्रेटर और जाली की कई परतों का उपयोग करना अक्सर अभ्यास में अच्छी तरह से काम करता है और समान आकार के डीएनएन मॉडल से मेल खा सकता है या बेहतर प्रदर्शन कर सकता है।

सामान्य ज्ञान आकार की बाधाएं

वास्तविक विश्व प्रशिक्षण डेटा रन-टाइम डेटा का पर्याप्त रूप से प्रतिनिधित्व नहीं कर सकता है। लचीले एमएल समाधान जैसे डीएनएन या वन अक्सर अप्रत्याशित रूप से और यहां तक ​​​​कि बेतहाशा इनपुट स्पेस के कुछ हिस्सों में काम करते हैं जो प्रशिक्षण डेटा द्वारा कवर नहीं किए जाते हैं। यह व्यवहार विशेष रूप से समस्याग्रस्त है जब नीति या निष्पक्षता बाधाओं का उल्लंघन किया जा सकता है।

भले ही नियमितीकरण के सामान्य रूपों के परिणामस्वरूप अधिक समझदार एक्सट्रपलेशन हो सकता है, मानक नियमितकर्ता पूरे इनपुट स्पेस में उचित मॉडल व्यवहार की गारंटी नहीं दे सकते हैं, विशेष रूप से उच्च-आयामी इनपुट के साथ। अधिक नियंत्रित और पूर्वानुमेय व्यवहार के साथ सरल मॉडल पर स्विच करना मॉडल सटीकता के लिए एक गंभीर लागत पर आ सकता है।

TF लैटिस लचीले मॉडल का उपयोग करना संभव बनाता है, लेकिन शब्दार्थ अर्थपूर्ण सामान्य ज्ञान या नीति-संचालित आकार बाधाओं के माध्यम से सीखने की प्रक्रिया में डोमेन ज्ञान को इंजेक्ट करने के लिए कई विकल्प प्रदान करता है:

  • एकरसता : आप निर्दिष्ट कर सकते हैं कि आउटपुट केवल इनपुट के संबंध में बढ़ाना/घटाना चाहिए। हमारे उदाहरण में, आप यह निर्दिष्ट करना चाह सकते हैं कि कॉफी शॉप से ​​बढ़ी हुई दूरी केवल अनुमानित उपयोगकर्ता वरीयता को कम कर देगी।

  • उत्तलता/अवतल : आप निर्दिष्ट कर सकते हैं कि फलन का आकार उत्तल या अवतल हो सकता है। एकरसता के साथ मिश्रित, यह फ़ंक्शन को किसी दिए गए फीचर के संबंध में घटते रिटर्न का प्रतिनिधित्व करने के लिए मजबूर कर सकता है।

  • एकरूपता : आप निर्दिष्ट कर सकते हैं कि समारोह में एक अद्वितीय शिखर या अद्वितीय घाटी होनी चाहिए। यह आपको उन कार्यों का प्रतिनिधित्व करने देता है जिनमें किसी विशेषता के संबंध में एक मधुर स्थान होता है।

  • पेयरवाइज ट्रस्ट : यह बाधा सुविधाओं की एक जोड़ी पर काम करती है और यह बताती है कि एक इनपुट फीचर सिमेंटिक रूप से दूसरे फीचर में विश्वास को दर्शाता है। उदाहरण के लिए, समीक्षाओं की अधिक संख्या आपको किसी रेस्तरां की औसत स्टार रेटिंग के बारे में अधिक आश्वस्त करती है। जब समीक्षाओं की संख्या अधिक होगी तो मॉडल स्टार रेटिंग के संबंध में अधिक संवेदनशील होगा (यानी रेटिंग के संबंध में बड़ा ढलान होगा)।

नियमितकर्ताओं के साथ नियंत्रित लचीलापन

आकार की कमी के अलावा, TensorFlow जाली प्रत्येक परत के लिए फ़ंक्शन के लचीलेपन और चिकनाई को नियंत्रित करने के लिए कई नियमितकर्ता प्रदान करता है।

  • लैप्लासियन रेगुलराइज़र : जाली/अंशांकन शीर्षों/कुंजी बिंदुओं के आउटपुट को उनके संबंधित पड़ोसियों के मूल्यों के लिए नियमित किया जाता है। इसका परिणाम एक चापलूसी समारोह में होता है।

  • हेसियन रेगुलराइज़र : यह फ़ंक्शन को अधिक रैखिक बनाने के लिए PWL अंशांकन परत के पहले व्युत्पन्न को दंडित करता है।

  • शिकन रेगुलराइज़र : यह वक्रता में अचानक परिवर्तन से बचने के लिए PWL अंशांकन परत के दूसरे व्युत्पन्न को दंडित करता है। यह फंक्शन को स्मूथ बनाता है।

  • मरोड़ रेगुलराइज़र : सुविधाओं के बीच मरोड़ को रोकने के लिए जाली के आउटपुट को नियमित किया जाएगा। दूसरे शब्दों में, सुविधाओं के योगदान के बीच स्वतंत्रता की दिशा में मॉडल को नियमित किया जाएगा।

अन्य केरस परतों के साथ मिक्स एंड मैच करें

आंशिक रूप से सीमित या नियमित मॉडल बनाने के लिए आप अन्य केरस परतों के संयोजन में टीएफ जाली परतों का उपयोग कर सकते हैं। उदाहरण के लिए, जाली या PWL अंशांकन परतों का उपयोग गहरे नेटवर्क की अंतिम परत पर किया जा सकता है जिसमें एम्बेडिंग या अन्य केरस परतें शामिल हैं।

पत्रों

ट्यूटोरियल और एपीआई डॉक्स

सामान्य मॉडल आर्किटेक्चर के लिए, आप केरस प्रीमेड मॉडल या डिब्बाबंद अनुमानक का उपयोग कर सकते हैं। आप TF Lattice Keras लेयर्स का उपयोग करके कस्टम मॉडल भी बना सकते हैं या अन्य Keras लेयर्स के साथ मिक्स एंड मैच कर सकते हैं। विवरण के लिए संपूर्ण API दस्तावेज़ देखें।