लॉक-इन समस्या
एक बैंडिट जो लगातार जीतता रहता है
वैनिला UCB1 हर चरण में स्कोर पुनर्गणना करता है। एक आर्म चुनता है। उसे खींचता है। n_k & mean_reward(k) को अपडेट करता है। दोहराता है। कई स्रोतों के साथ लंबे प्रशिक्षण रन में, एक एकल आर्म उच्च पुरस्कारों की एक श्रृंखला एकत्र कर सकता है, अपना औसत ऊपर चढ़ा सकता है, & उसे हराना लगभग असंभव हो जाता है। अन्य आर्म कम n_k पर ठहर जाते हैं पुराने औसत के साथ। लॉक-इन।
लॉक-इन ANDREA को दो तरीकों से नुकसान पहुँचाता है:
1. विविधता का पतन। एक मॉडल जो 90% चरणों पर एक स्रोत पर प्रशिक्षित होता है, वह स्रोत की शैलीगत विशेषताओं को सीख लेता है। उत्पन्न नमूने प्रमुख स्रोत से मेल खाने वाले दोहरावपूर्ण पैटर्न की ओर बढ़ जाते हैं।
2. पुरानी खोज। पुराने औसत वाले आर्म्स ठीक नहीं हो सकते। एक आर्म जिसका औसत शुरुआत में गिर गया, वह उसी औसत पर अटका रहता है भले ही मॉडल ने अब उससे इनाम निकालने की पर्याप्त क्षमता विकसित कर ली हो।
एक चरण समय खरीदता है
समाधान: एक चरण (कई चरणों) के लिए एक निश्चित फोकस आर्म्स का सेट रखें, फिर पुनर्मूल्यांकन करें। 14 चरणों का एक चरण का मतलब है कि 14 फॉरवर्ड पासेस एक ही फोकस आर्म्स को हिट करते हैं। औसत इनाम स्थिर हो जाते हैं। स्टोकेस्टिक शोर औसत हो जाता है। फिर बैंडिट दोबारा रोल करता है।
चर चरण लंबाई
ANDREA प्रत्येक चरण की सीमा पर {7, 14, 21, 28, 42} चरणों में से यादृच्छिक रूप से चरण की लंबाई चुनता है। पांच मान, एकसमान यादृच्छिक। छोटे चरण (7) खराब चयनों पर तेजी से प्रतिक्रिया देते हैं; लंबे चरण (42) स्थिर फोकस सेटों को पूरी तरह से शोषण करने देते हैं। छत क्षति को सीमित करती है: सबसे अधिक 42 चरण एक खराब फोकस कॉन्फ़िगरेशन पर खर्च होते हैं इससे पहले कि जबरन पुन: रोल हो।
चरण लंबाई सांख्यिकी
1d3 (2-आँख) & 1d4 (3-आँख)
पासा संकेतन
टेबलटॉप संकेतन: NdM का अर्थ है N पासे फेंकें, प्रत्येक के M पहलू। 1d3 एक 3-पक्षीय पासा फेंकता है, जो {1, 2, 3} में से एक मान लौटाता है। 1d4 एक 4-पक्षीय पासा फेंकता है, जो {1, 2, 3, 4} लौटाता है। ANDREA परंपरा से 0 परिणाम भी अनुमत करता है: 0 का फेंकना पूर्ण रूप से यादृच्छिक चरण (कोई UCB फोकस आर्म्स नहीं) का अर्थ है।
2-आँख बनाम 3-आँख कॉन्फ़िगरेशन
ANDREA का प्रशिक्षण कॉन्फ़िग दो पासा मोड्स में से एक चुनता है:
2-आँख वाला कॉन्फ़िग (1d3). संभावित फोकस आर्म गिनती: {0, 1, 2, 3}. परिणाम 0 को रैंडम फेज़ के लिए आरक्षित किया गया है।
3-आँख वाला कॉन्फ़िग (1d4). संभावित फोकस आर्म गिनती: {0, 1, 2, 3, 4}. बड़े पूल अधिक केंद्रित फेज़ की अनुमति देते हैं।
पहले रैंडम, UCB बाद में
डाइस के रोल जो भी हों, ANDREA फोकस स्लॉट्स को दो पासों में भरता है:
1. पहले रैंडम आर्म्स. सभी उपलब्ध आर्म्स में से फोकस स्लॉट्स का एक समानुपाती हिस्सा समान रूप से रैंडम चुनें। यह हर फेज़ में UCB रैंकिंग की परवाह किए बिना संयोजनात्मक विविधता को मजबूर करता है।
2. UCB शेष स्लॉट्स भरता है। पहले से चुने गए आर्म्स के लिए UCB1 स्कोर गणना करें। फोकस स्लॉट काउंट भरने तक शीर्ष-रैंक वाले शेष आर्म्स लें।
रैंडम-फर्स्ट महत्वपूर्ण है। यदि UCB पहले चुना जाता, तो एक स्ट्रीक-लीडर हमेशा एक स्लॉट दावा कर लेता। रैंडम-फर्स्ट के साथ, सर्वश्रेष्ठ UCB आर्म भी एक चरण से बाहर रह सकता है। विविधता सुनिश्चित रहती है।
शुद्ध रैंडम चरण
जब डाइस 0 रोल करता है, तो पूरा फोकस सेट रैंडम पिक्स से आता है। UCB कुछ भी योगदान नहीं देता। लगभग 25% चरण (1d4) या 33% चरण (1d3) यहाँ आते हैं। शुद्ध रैंडम चरण बैंडिट को कम-खींचे गए आर्म्स के सैंपल को रिफ्रेश करने के लिए मजबूर करते हैं, जिससे पूरे आर्म पूल में mean_reward अनुमान ईमानदार रहते हैं।
डाइस परिणाम संभावनाएँ
क्षति को सीमित करना
एक खराब चरण में 42 चरणों तक की क्षति होती है
मान लीजिए UCB रैंकिंग एक फोकस आर्म चुनती है जिसका वास्तविक माध्य उसके अवलोकित माध्य से बहुत कम है। चरण उस आर्म को लॉक कर देता है। पूरा चरण पुरस्कार कम रहता है। बैंडिट सुधारने में कितना समय लगेगा?
अधिकतम चरण लंबाई: 42 चरण। 42 चरणों के बाद, चरण समाप्त हो जाता है, पासे दोबारा फेंके जाते हैं, फोकस आर्म्स को दोबारा मिलाया जाता है। खराब चयन 42 फॉरवर्ड पासों से अधिक समय तक नहीं चल सकता।
क्यों 42 (और 100 नहीं, और 1000 नहीं)
लंबे चरण mean_reward अनुमानों को स्थिर करने देते हैं। सांख्यिकीय सिद्धांत: n नमूनों के औसत का विचलन 1/n के रूप में सिकुड़ता है। 7 नमूनों से 42 नमूनों तक जाना 6x अधिक नमूने देता है, sqrt(6) लगभग 2.45x अधिक कड़ा मानक त्रुटि। 42 नमूनों के बाद, mean_reward अपने वास्तविक मान के लगभग +/-15% के भीतर रहता है (पुरस्कार विचलन पर निर्भर)।
42 नमूनों के बाद, लाभ सिकुड़ जाता है: 100 नमूने बनाम 42 नमूने = 2.4x अधिक, sqrt(2.4) लगभग 1.55x अधिक कड़ा मानक त्रुटि। खराब लॉक-इन की लागत बढ़ने के साथ सीमांत लाभ कम हो जाता है। 42 चरण दोनों को संतुलित करता है।
विविधता बनाम अभिसरण
छोटे चरण (7 चरण): पुरस्कार अनुमान शोरयुक्त रहते हैं, लेकिन खराब चयन की लागत कम होती है। लंबे चरण (42 चरण): अनुमान सटीक होते हैं, लेकिन खराब चयन की लागत अधिक होती है। ANDREA चरणों की लंबाई को समान रूप से मिश्रित करता है ताकि दोनों स्थितियाँ हर प्रशिक्षण रन में दिखाई दें।
Btok पुनर्निर्माण लागत
प्रत्येक चरण सीमा फोकस आर्म्स के लिए btok फ़ाइल पुनर्निर्माण को ट्रिगर करती है। Btok पुनर्निर्माण पृष्ठभूमि धागे में चलता है; CUDA mtime परिवर्तन पर हॉट-रीलोड करता है। पुनर्निर्माण में सेकंड लगते हैं; चरणों को इतने लंबे चलना चाहिए कि पुनर्निर्माण ओवरहेड छोटा रहे। ANDREA-120M प्रशिक्षण गति पर 42 चरण आराम से पुनर्निर्माण समय से अधिक होते हैं।
सीलिंग के बारे में तर्क
आगामी
आपके पास क्या है
चरण-आधारित डाइस नियंत्रण UCB1 को तीन सुरक्षात्मक नियमों में लपेटता है: परिवर्तनीय चरण लंबाई (7-42), पहले यादृच्छिक आर्म्स, डाइस-चालित यादृच्छिक चरण (25-33% शुद्ध यादृच्छिक)। 42-चरण की सीमा क्षति को सीमित करती है; यादृच्छिक चरण लॉक-इन को रोकते हैं; परिवर्तनीय लंबाइयाँ प्रतिक्रिया गति को अनुमान स्थिरता के साथ मिलाती हैं।
जो बाकी है
UCB को खिलाने वाला इनाम संकेत वास्तव में कहाँ से आता है? गतिविधि 78 (इनाम انتساب) दिखाती है कि CUDA हर चरण में प्रति-स्रोत हानि कैसे रिपोर्ट करता है, प्रति-स्रोत EMA इनाम को कैसे ट्रैक करता है, & ANDREA कच्चे इनामों को UCB1 को खिलाने से पहले 1000x क्यों स्केल करता है।
फ्लोर्स और एपोक पेनल्टीज़ (गतिविधि 79) बैंडिट के आउटपुट के ऊपर अतिरिक्त सुरक्षात्मक नियमों की परतें जोड़ती हैं, यह सुनिश्चित करते हुए कि छोटे स्रोत भूखे न रहें और बड़े स्रोतों को दोहराव से स्मृतिकरण न हो।
संदर्भ
ANDREA whitepaper, अनुभाग 3.2.