मल्टी-आर्म्ड बैंडिट्स (एमएबी) सुदृढीकरण सीखने की दुनिया में आधारशिला बनाते हैं, जो उन परिदृश्यों पर बातचीत करने के लिए एक शक्तिशाली तंत्र की पेशकश करते हैं जो अन्वेषण और शोषण के बीच इष्टतम संतुलन की आवश्यकता होती है। अन्वेषण का तात्पर्य नवीन विकल्पों को आज़माना है, जबकि शोषण का अर्थ वर्तमान सर्वोत्तम विकल्प पर टिके रहना है। ऐसी परिस्थितियों में, एमएबी अक्सर अपने बुद्धिमान शिक्षण तंत्र के कारण एक शानदार विकल्प साबित होते हैं।
सबसे पहले, आइए एमएबी के पीछे की अवधारणा को जानें। कल्पना करें कि एक जुआरी स्लॉट मशीनों की एक श्रृंखला से घिरा हुआ है, जिनमें से प्रत्येक को "एक-सशस्त्र डाकू" के रूप में जाना जाता है। यहां किए जाने वाले महत्वपूर्ण निर्णयों में यह निर्धारित करना शामिल है कि कौन सी मशीनों को चलाना है, खेलने का क्रम और खेल की आवृत्ति। समस्या यह है कि प्रत्येक मशीन एक अलग, अनिश्चित इनाम प्रदान करती है। अंतिम लक्ष्य नाटकों के अनुक्रम में उच्चतम संचयी पुरस्कार प्राप्त करना है।
"मल्टी-आर्म्ड बैंडिट" नाम एक विचार प्रयोग से आया है जिसमें स्लॉट मशीनों की एक पंक्ति में एक जुआरी शामिल था (जिसे अक्सर "वन-आर्म्ड बैंडिट्स" के रूप में जाना जाता है)। जुआरी को अपने कुल इनाम को अधिकतम करने के उद्देश्य से यह तय करने की आवश्यकता है कि कौन सी मशीनों को खेलना है, प्रत्येक मशीन को कितनी बार खेलना है और किस क्रम में खेलना है।
अधिक औपचारिक परिभाषा में, MAB समस्या एक टुपल (A, R) है
एमएबी समस्या में लक्ष्य एक नीति π
(ऐतिहासिक डेटा से कार्यों तक मैपिंग) ढूंढना है जो दिए गए राउंड की संख्या में अपेक्षित कुल इनाम Q
अधिकतम करता है।
एमएबी में मुख्य दुविधा "अन्वेषण" और "शोषण" के बीच का समझौता है:
सुदृढीकरण सीखने और एमएबी समस्याओं में अन्वेषण और शोषण को संतुलित करना एक मुख्य चुनौती है।
इस समस्या का समाधान करने के लिए, कई एल्गोरिदम विकसित किए गए हैं, जिनमें एप्सिलॉन-ग्रीडी, अपर कॉन्फिडेंस बाउंड (यूसीबी) और थॉम्पसन सैंपलिंग रणनीतियां शामिल हैं।
एमएबी के विस्तार के रूप में प्रासंगिक डाकुओं की विस्तृत समीक्षा अगले लेखों में शामिल की जाएगी।
एप्सिलॉन(ε)-लालची रणनीति एक सीधे सिद्धांत का पालन करती है। अधिकांश समय, (1 - ε) के रूप में निर्धारित, यह उच्चतम अनुमानित इनाम देने वाली कार्रवाई का विकल्प चुनता है, जिससे सबसे अच्छे ज्ञात विकल्प का फायदा उठाया जाता है। हालाँकि, बाकी समय, जिसे ε के रूप में परिमाणित किया गया है, यह एक यादृच्छिक क्रिया चुनता है, इस प्रकार नई संभावनाओं की खोज करता है। इस रणनीति की सरलता इसकी सादगी और प्रभावशीलता में निहित है, इस चेतावनी के बावजूद कि यह अपने अन्वेषण चरण के दौरान सबसे अधिक पुरस्कृत कार्यों के समान संभावना के साथ कम पुरस्कृत कार्यों का चयन कर सकती है और ε का मूल्य अन्वेषण और शोषण के बीच संतुलन निर्धारित करता है।
गणितीय रूप से इसे इस प्रकार परिभाषित किया जा सकता है:
इसे निम्नलिखित छद्मकोड द्वारा परिभाषित किया जा सकता है:
Initialize Q(a) for all a Repeat: Generate a random number p between 0 and 1 If p < epsilon: Select a random action a Else: Select action a with the highest Q(a) Execute action a and observe reward r Update Q(a) = Q(a) + alpha * (r - Q(a))
एप्सिलॉन-लालची रणनीति का पायथोनिक कार्यान्वयन काफी सरल है:
import numpy as np class EpsilonGreedy: def __init__(self, epsilon, counts, values): self.epsilon = epsilon self.counts = counts self.values = values def select_arm(self): if np.random.random() < self.epsilon: return np.random.choice(len(self.values)) else: return np.argmax(self.values) def update(self, chosen_arm, reward): self.counts[chosen_arm] += 1 n = self.counts[chosen_arm] value = self.values[chosen_arm] new_value = ((n-1) / float(n)) * value + (1 / float(n)) * reward self.values[chosen_arm] = new_value
ε-लालची एल्गोरिदम में सरलता का लाभ है और यह गारंटी है कि यह कई चरणों के बाद भी (थोड़ा सा) अन्वेषण जारी रखेगा। हालाँकि, यूसीबी या थॉम्पसन सैंपलिंग के विपरीत, जब इसकी जांच की जाती है तो यह इस बात पर ध्यान नहीं देता है कि प्रत्येक क्रिया के बारे में कितना जाना जाता है।
इसके विपरीत, यूसीबी रणनीति किसी कार्रवाई पर निर्णय लेते समय अनुमानित इनाम और संबंधित अनिश्चितता या भिन्नता दोनों को ध्यान में रखती है। यह उच्च अनिश्चितता वाले कार्यों के लिए प्राथमिकता प्रदर्शित करता है, इसे कम करने और अधिक उत्पादक अन्वेषण चरण सुनिश्चित करने की कोशिश करता है। यूसीबी रणनीति को गणितीय रूप से इस प्रकार परिभाषित किया गया है:
इसका पायथन कार्यान्वयन इस प्रकार है:
class UCB: def __init__(self, counts, values): self.counts = counts self.values = values def select_arm(self): n_arms = len(self.counts) for arm in range(n_arms): if self.counts[arm] == 0: return arm ucb_values = [0.0 for arm in range(n_arms)] total_counts = sum(self.counts) for arm in range(n_arms): bonus = sqrt((2 * log(total_counts)) / float(self.counts[arm])) ucb_values[arm] = self.values[arm] + bonus return np.argmax(ucb_values) def update(self, chosen_arm, reward): self.counts[chosen_arm] += 1 n = self.counts[chosen_arm] value = self.values[chosen_arm] new_value = ((n-1) / float(n)) * value + (1 / float(n)) * reward self.values[chosen_arm] = new_value
यूसीबी में अन्वेषण और शोषण के बीच संतुलन इसके सूत्र से आता है: एक कार्रवाई का अनुमानित मूल्य और एक शब्द जो समय के साथ घटता है (जैसा कि कार्रवाई के बारे में अधिक पता चलता है) लेकिन उस कार्रवाई के बारे में अनिश्चितता के साथ बढ़ता है। इस प्रकार, एल्गोरिथ्म उच्च अनिश्चितता और उच्च संभावित इनाम वाले हथियारों का पता लगाता है।
थॉम्पसन सैंपलिंग बहु-सशस्त्र दस्यु समस्या के लिए बायेसियन-प्रेरित एल्गोरिदम है। यह प्रत्येक डाकू (या प्रत्येक कार्रवाई) की इनाम संभावनाओं के लिए पूर्व वितरण निर्दिष्ट करता है, फिर पुरस्कार देखे जाने पर इन पुजारियों को अपडेट करता है। सर्वोत्तम क्रिया पर पश्च वितरण के अनुसार क्रिया चयन संभाव्य है।
बीटा-बर्नौली ढांचे में, हम प्रत्येक डाकू के इनाम वितरण को बर्नौली वितरण (यानी, बाइनरी पुरस्कार 0 या 1) के रूप में मानते हैं। फिर हम इनाम पाने की संभावना से पहले एक बीटा असाइन करते हैं। बीटा वितरण बर्नौली वितरण से पहले का संयुग्म है, जो आसान पश्च अद्यतन की अनुमति देता है।
तर्क:
प्रत्येक बैंडिट को पैरामीटर α=1, β=1 (एकसमान पूर्व) के साथ एक बीटा वितरण निर्दिष्ट करें।
प्रत्येक दौर के लिए:
import numpy as np from scipy.stats import beta class Bandit: def __init__(self, true_probability): self.true_probability = true_probability self.alpha = 1 self.beta = 1 def pull(self): return np.random.random() < self.true_probability def sample(self): return np.random.beta(self.alpha, self.beta) def update(self, reward): self.alpha += reward self.beta += (1 - reward) def Thompson(bandits, num_trials): rewards = np.zeros(num_trials) for i in range(num_trials): # Thompson sampling j = np.argmax([b.sample() for b in bandits]) # Pull the arm for the bandit with the largest sample reward = bandits[j].pull() # Update rewards log rewards[i] = reward # Update the distribution for the bandit whose arm we just pulled bandits[j].update(reward) return rewards # Suppose we have 3 bandits with these true probabilities true_probabilities = [0.2, 0.5, 0.75] bandits = [Bandit(p) for p in true_probabilities] # Run experiment rewards = Thompson(bandits, num_trials=10000) # Print the total reward print("Total reward earned:", rewards.sum()) print("Overall win rate:", rewards.sum() / len(rewards))
थॉम्पसन सैम्पलिंग इस प्रकार उन कार्यों की "खोज" करता है जिनके बारे में वह अनिश्चित है (जिनके लिए मूल्यों का वितरण फैला हुआ है) और उन कार्यों का "शोषण" करता है जिनके बारे में उसका मानना है कि उनका मूल्य उच्च हो सकता है (वे जिनके लिए वितरण उच्च मूल्यों की ओर झुका हुआ है)।
समय के साथ, जैसे-जैसे प्रत्येक क्रिया के बारे में अधिक सीखा जाता है, वितरण अधिक चरम पर पहुंच जाते हैं और एल्गोरिथम द्वारा चुनी गई क्रियाएं उच्चतम अपेक्षित मूल्य वाली क्रिया पर केंद्रित हो जाती हैं।
थॉम्पसन सैम्पलिंग में अन्वेषण/शोषण संतुलन स्वाभाविक रूप से वितरण के आकार से आता है। यह विधि काफी प्रभावी है, लेकिन यूसीबी या ε-लालची की तुलना में इसे लागू करना अधिक जटिल हो सकता है, विशेष रूप से बड़े या निरंतर कार्रवाई स्थानों, या जटिल इनाम संरचनाओं वाली समस्याओं के लिए।
मल्टी-आर्म्ड बैंडिट्स (एमएबी) के विभिन्न उद्योगों और डोमेन में अनुप्रयोगों की एक विस्तृत श्रृंखला है। यहां कुछ उदाहरण दिए गए हैं कि उनका उपयोग कैसे किया जा सकता है:
संक्षेप में, एमएबी की उपयोगिता पारंपरिक सुदृढीकरण सीखने के कार्यों से कहीं आगे तक फैली हुई है। वे अनिश्चितता के माहौल में निर्णय लेने की प्रक्रियाओं को बढ़ाने, विभिन्न क्षेत्रों में वास्तविक दुनिया की समस्याओं का व्यावहारिक समाधान प्रदान करने के लिए एक प्रभावी ढांचे का प्रतीक हैं। इसलिए, जब कार्य में अन्वेषण और शोषण को संतुलित करना शामिल होता है, तो एमएबी अक्सर विकल्प के रूप में उभरते हैं, जो निर्णय लेने की समस्याओं के लिए एक बहुमुखी, मजबूत और अनुकूली समाधान प्रदान करते हैं।
बहु-सशस्त्र डाकू, अन्वेषण और शोषण को प्रभावी ढंग से संतुलित करने की अपनी क्षमता के साथ, कई वास्तविक दुनिया की निर्णय लेने की समस्याओं का एक मजबूत समाधान प्रदान करते हैं। उनकी अंतर्निहित अनुकूलनशीलता और बहुमुखी प्रतिभा उन्हें न केवल सुदृढीकरण सीखने के दायरे में, बल्कि स्वास्थ्य सेवा से लेकर ऑनलाइन विज्ञापन तक अनुप्रयोगों की एक विस्तृत श्रृंखला में एक मूल्यवान उपकरण बनाती है। चाहे आप एक डेटा वैज्ञानिक हों, मशीन सीखने के शौकीन हों, या एक पेशेवर हों जो अपनी निर्णय लेने की प्रक्रियाओं को बढ़ाना चाहते हों, एमएबी रणनीतियों को समझना और लागू करना एक समृद्ध और पुरस्कृत अनुभव हो सकता है।