टेन्सरफ्लो लैटिस (टीएफएल)

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

अवधारणाओं

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

जाली

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

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

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

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

कैलिब्रेशन

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

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

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

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

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

टुकड़ियों

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

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

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

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

टेन्सरफ्लो लैटिस क्यों?

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

विवेचनीयता

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

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

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

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

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

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

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

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

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

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

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

रेगुलराइज़र के साथ नियंत्रित लचीलापन

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

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

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

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

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

अन्य केरस परतों के साथ मिलाएं और मिलान करें

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

पत्रों

ट्यूटोरियल और एपीआई दस्तावेज़

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