lyft2vec - Lyft में एम्बेडिंग

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

सह-लेखक: जावेन जू , हकन बाबा और एड्रियाना डेनॉल्ट

पहचान

ग्राफ़ सीखने के तरीके दिलचस्प अंतर्दृष्टि प्रकट कर सकते हैं जो अंतर्निहित संबंधपरक संरचनाओं को कैप्चर करते हैं। ग्राफ़ सीखने के तरीकों में उत्पाद या सामग्री अनुशंसा प्रणाली और नेटवर्क विश्लेषण जैसे क्षेत्रों में कई उद्योग अनुप्रयोग हैं।

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

Lyft डेटा और एंबेडिंग

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

उदाहरण के लिए, सैन फ्रांसिस्को खाड़ी क्षेत्र के आसपास 9,000 से अधिक जियोहाश-6 (Gh6) स्तर के स्थान हैं। यदि हम एम्बेडिंग के बिना बे एरिया के आसपास ड्राइवर की सवारी के इतिहास का वर्णन करना चाहते हैं, तो हमें इसका सटीक वर्णन करने के लिए 9,000 से अधिक लंबाई के हिस्टोग्राम या वेक्टर की आवश्यकता होगी। वेक्टर में प्रत्येक Gh6 में ड्राइवर द्वारा शुरू की गई सवारी की संख्या शामिल होगी, यदि ड्राइवर कभी भी कुछ Gh6 में नहीं गया है तो बहुत सारे शून्य होंगे।

ग्राफ सीखने के साथ हम एक ही जानकारी का प्रतिनिधित्व करने वाले निम्न आयामी एम्बेडिंग वेक्टर को प्रशिक्षित करने में सक्षम हैं। अंतर्निहित आयाम में कमी के कारण यह सटीक विवरण पर कब्जा नहीं कर सकता है, लेकिन जैसा कि हम नीचे Lyft Ride Insights में दिखाएंगे, अच्छी तरह से प्रशिक्षित एम्बेडिंग ड्राइवर के यात्रा इतिहास की समग्र तस्वीर को कैप्चर करने में सक्षम हैं।

एक और लाभ यह है कि एम्बेडिंग डी -डायमेंशनल वैक्टर हैं जो डी -डायमेंशनल वेक्टर स्पेस में सिंगल पॉइंट्स का वर्णन करते हैं और उन स्पेस को अलग-अलग परिभाषित संस्थाओं द्वारा साझा किया जा सकता है। इकाइयां इनपुट ग्राफ़ में बिंदु या नोड हैं, जिन्हें हम एम्बेडिंग वैक्टर द्वारा प्रदर्शित करना चाहते हैं और इकाई प्रकारों द्वारा एक साथ समूहीकृत होते हैं। उदाहरण के लिए, हम दो एम्बेडिंग वैक्टर का निर्माण कर सकते हैं, एक राइडर इकाई का प्रतिनिधित्व करता है और एक उसी ग्राफ़ से स्थान इकाई का प्रतिनिधित्व करता है, जहाँ ग्राफ़ में जुड़े किनारे का मतलब है कि इस राइडर ने इस स्थान का दौरा किया है। एक समानता समारोह के साथ(समस्या सेटअप में परिभाषित), हम उनके बीच समानता स्कोर की गणना करके सीधे दो एम्बेडिंग वैक्टर की तुलना कर सकते हैं। इस ग्राफ में, समानता स्कोर यह बताएगा कि हमारे राइडर ने कितनी बार इस चुने हुए स्थान का दौरा किया है।

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

क्रियाविधि

ग्राफ़-आधारित एंबेडिंग संक्षेप में

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

दो प्रमुख घटक हैं: 1) एक एनकोडर जो प्रत्येक नोड को एक निम्न-आयामी वेक्टर में मैप करता है और 2) एक समानता फ़ंक्शन जो निर्दिष्ट करता है कि वेक्टर स्पेस मैप में रिश्ते मूल नेटवर्क में रिश्तों को कैसे मैप करते हैं।

चित्र 1: ग्राफ़ एम्बेडिंग¹ का एक उदाहरण

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

अगला, हम एम्बेडिंग प्रशिक्षण के विवरण को स्पष्ट करने के लिए एक उदाहरण के रूप में एक सरल Lyft राइड ग्राफ़ का उपयोग करेंगे।

लिफ़्ट और एंबेडिंग प्रशिक्षण में राइड ग्राफ़

Lyft में, हम स्थान और समय जैसे कारकों के संबंध में सवारियों, ड्राइवरों और उनकी सवारी वरीयताओं के बारे में जानने में रुचि रखते हैं।

स्थान को एक उदाहरण के रूप में लेते हुए, हम चित्र 2 की तरह एक ग्राफ का निर्माण कर सकते हैं। प्रत्येक राइडर, ड्राइवर और स्थान को एक अलग इकाई के रूप में दर्शाया गया है, और कनेक्शन वहाँ खींचे जाते हैं जहाँ एक राइडर या ड्राइवर ने एक निश्चित स्थान से सवारी शुरू की है।

चित्र 2: राइड ग्राफ़ का एक उदाहरण

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

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

प्रत्येक प्रशिक्षण चक्र के दौरान, प्रत्येक इकाई के लिए, मूल इनपुट ग्राफ़ में इकाई से जुड़े प्रत्येक किनारे को एक सकारात्मक (+) उदाहरण माना जाता है, जबकि एल्गोरिथ्म नकारात्मक (-) उदाहरणों के लिए असंबद्ध संस्थाओं से बेतरतीब ढंग से नमूने लेता है। हमारे राइड ग्राफ़ में, नमूने नीचे चित्र 3 की तरह दिखाई देंगे। ध्यान दें कि ऊपर चित्र 2 में सकारात्मक लेबल वाले किनारे कैसे मौजूद हैं, लेकिन नकारात्मक लेबल वाले किनारे नहीं हैं।

चित्र 3: सकारात्मक और नकारात्मक उदाहरणों के साथ प्रशिक्षण में राइड ग्राफ़

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

एक बार सभी सकारात्मक और नकारात्मक नमूनों के स्कोर निर्धारित हो जाने के बाद, एक नुकसान मीट्रिक सीखने को सक्षम करने के लिए प्रति युग एक नुकसान मूल्य में स्कोर को एकत्रित करता है। कॉमन लॉस फंक्शन रैंकिंग लॉस, लॉजिस्टिक लॉस और सॉफ्टमैक्स लॉस हैं ।

अंत में, सभी मॉडल मापदंडों को अपडेट करने के लिए एडाग्रेड ऑप्टिमाइज़ेशन पद्धति का उपयोग करके नुकसान को कम किया जाता है ।

Lyft सवारी अंतर्दृष्टि

अब हम दिलचस्प अंतर्दृष्टि दिखा सकते हैं जो राइड ग्राफ एम्बेडिंग से पता चलता है। एक त्वरित अस्वीकरण कि हमारा विश्लेषण अनाम या एकत्रित जानकारी पर केंद्रित है और हमारा लक्ष्य सीखे गए एम्बेडिंग से हमारे राइडर्स और ड्राइवरों के बारे में कोई व्यक्तिगत विशेषता या अंतर्दृष्टि प्राप्त करना नहीं है।

चालक सवारी पैटर्न तुलना

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

इनपुट ड्राइवर और Gh6 के साथ इकाइयों के रूप में एक ग्राफ है, और कई महीनों के समय (यानी एम्बेडिंग प्रशिक्षण अवधि) के दौरान प्रत्येक अनुरोधित सवारी के लिए ड्राइवर और सवारी के पिकअप Gh6 को जोड़ने वाले किनारे हैं। आउटपुट प्रत्येक Gh6 स्थान और प्रत्येक ड्राइवर के लिए 32-आयामी एम्बेडिंग है।

एम्बेडिंग के साथ, हमने ड्राइवर और Gh6 की प्रत्येक जोड़ी के बीच समानता की गणना की। इस उदाहरण में, समानता यह संकेत देगी कि ड्राइवर ने Gh6 लोकेशन से कितनी बार राइड पिक की है। समानता स्कोर जितना अधिक होता है, ड्राइवर ने उस स्थान से उतनी ही अधिक राइड चुनी हैं।

हमने दो ड्राइवरों - ड्राइवर A और B को चुना, और उनके साथ प्रत्येक Gh6 के समानता स्कोर की गणना उनके एम्बेडिंग के डॉट उत्पाद के माध्यम से की। चित्र 4 प्रत्येक Gh6 की ड्राइवर A और ड्राइवर B के साथ क्रमशः गहरे रंगों वाले उच्च स्कोर के साथ समानता दिखाता है।

चित्र 4: खाड़ी क्षेत्र के आसपास के स्थानों के लिए दो चालकों की समानताएं

समानता वाले भूखंडों से, हम स्पष्ट रूप से ड्राइवरों के अलग-अलग सवारी पैटर्न की कल्पना कर सकते हैं। हम देखते हैं कि ड्राइवर ए (बायां पैनल) एक एसएफ सिटी ड्राइवर है । वे कभी-कभी प्रायद्वीप क्षेत्र में सवारी के लिए थोड़ा नीचे दक्षिण की ओर ड्राइव करते हैं या उत्तरी खाड़ी क्षेत्र में सवारी के लिए उत्तर की ओर थोड़ा ऊपर जाते हैं, लेकिन वे शायद ही कभी पूर्वी खाड़ी या दक्षिण खाड़ी क्षेत्रों में जाते हैं।

इसके विपरीत, ड्राइवर बी (दायां पैनल) मुख्य रूप से एक ईस्ट बे ड्राइवर है , जिसने फ्रेमोंट क्षेत्र में अधिक सवारी की है जहां सबसे गहरे रंग ध्यान केंद्रित करते हैं। वे कभी-कभी पुलों के माध्यम से दक्षिण खाड़ी के प्रायद्वीप क्षेत्र में ड्राइव करते हैं, लेकिन शायद ही कभी सैन फ्रांसिस्को शहर क्षेत्र में जाते हैं।

इन दिलचस्प सवारी पैटर्नों का वर्णन करने के लिए स्थानों के संबंध में सवारी आवृत्तियों के एक बड़े हिस्टोग्राम की आवश्यकता हो सकती है। एम्बेडिंग के साथ, हम केवल 32-आयामी वेक्टर के साथ ड्राइवरों की सवारी के पैटर्न की एक बहुत समृद्ध तस्वीर प्राप्त करने में सक्षम हैं!

सप्ताह भर में राइड पैटर्न

अगले उदाहरण में, हम दिखाएंगे कि कैसे अस्थायी एम्बेडिंग सुविधाओं का उपयोग छिपे हुए संबंधों और अंतर्दृष्टि को उजागर करने में मदद कर सकता है जो साधारण समय सुविधाओं जैसे कि दिन के घंटे या सप्ताह के घंटे के साथ स्पष्ट नहीं हो सकते हैं।

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

हमने दो संदर्भ घंटे चुने - अमेरिका में सभी क्षेत्रों में शनिवार रात 8 बजे और सोमवार स्थानीय समयानुसार दोपहर और उनके साथ हर घंटे के समानता स्कोर की गणना की। इन दो संदर्भ घंटों को चुना गया है क्योंकि वे बहुत विशिष्ट सवारी पैटर्न का प्रतिनिधित्व करते हैं।

चित्र 5: सप्ताह के अन्य घंटों के साथ शनिवार 8 बजे और सोमवार 12 बजे की समानताएं

चित्र 5 के बाएँ प्लॉट पर, "x = Su" से थोड़ा पहले कूबड़ दर्शाता है कि शनिवार 8 बजे अपराह्न का उच्चतम समानता स्कोर है, जिसकी अपेक्षा की जाती है। मजे की बात यह है कि शनिवार रात 8 बजे के अगले सबसे समान घंटे शुक्रवार रात 8 बजे और उसके बाद रविवार को रात 8 बजे लगते हैं। अगले सबसे समान सोमवार से गुरुवार रात 8 बजे हैं, हालांकि वे शुक्रवार को रात 8 बजे की तुलना में निम्न समानता स्तर पर हैं।

जब सोमवार दोपहर 12 बजे रेफरेंस टाइम होता है तो एक अलग ही तस्वीर उभरती है। चित्र 5 का सही प्लॉट, सोमवार से शुक्रवार दोपहर के समान है, और शनिवार या रविवार को दोपहर के समान कम है।

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

इन दो भूखंडों के एक साधारण विपरीत के साथ, हम Lyft प्लेटफ़ॉर्म पर विशिष्ट ड्राइवर और सवारी समूहों को लगभग चुन सकते हैं - सप्ताहांत "पार्टी-घंटे" ड्राइवर और सवारी बनाम कार्यदिवस "कम्यूट-घंटे" ड्राइवर और सवारी। यह जानकारी सप्ताह के प्रत्येक घंटे के लिए 4-आयाम वाले वैक्टर में प्रदर्शित होती है जिसे आसानी से एक मॉडल में इनपुट के रूप में फीड किया जा सकता है। एम्बेडिंग के माध्यम से हम इस छिपे हुए रिश्ते को सुरुचिपूर्ण ढंग से पकड़ने और संप्रेषित करने में सक्षम हैं यदि हम केवल सप्ताह के घंटे को एक विशेषता के रूप में उपयोग करते हैं तो हम चूक जाते!

आगे क्या होगा

एम्बेडिंग के कई सफल अनुप्रयोगों को देखने के बाद, हम उनका उपयोग करने के लिए Lyft में कई मशीन लर्निंग (ML) मॉडलर्स को सशक्त बनाने के लिए एक मंच का निर्माण कर रहे हैं। डेटा ग्राफ़ बनाने और एम्बेडिंग बनाने का दृष्टिकोण बहुत लचीला है और इसे Lyft राइडशेयर व्यवसाय की विभिन्न पेचीदगियों का अध्ययन करने के लिए लागू किया जा सकता है। उजागर की गई जानकारी हमें अलग-अलग राइड पैटर्न, मार्केटप्लेस डायनेमिक्स को समझने में मदद कर सकती है और अंततः हमारे राइडर्स और ड्राइवरों के लिए बेहतर उत्पाद और राइड ऑफरिंग का निर्माण कर सकती है।

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

हम Lyft मार्केटप्लेस में सबसे दिलचस्प संस्थाओं के लिए नए एम्बेडिंग को बनाए रखने और उन्हें कई सामान्य उपयोग के मामलों के लिए आसानी से सुलभ सुविधाओं के रूप में उपलब्ध कराने की योजना बना रहे हैं।

[1] स्टैनफोर्ड CS224W पाठ्यक्रम व्याख्यान स्लाइड से चित्र।