Features और superposition
अक्सर एक ही न्यूरॉन कई असंबंधित चीज़ों पर प्रतिक्रिया देता है। इसकी एक प्रमुख व्याख्या यह है कि मॉडल अपने डाइमेंशन्स की तुलना में कहीं ज़्यादा features को समाहित (pack) करते हैं।
60 सेकंड में
Features और superposition
अक्सर एक ही न्यूरॉन कई असंबंधित चीज़ों पर प्रतिक्रिया देता है। इसकी एक प्रमुख व्याख्या यह है कि मॉडल अपने डाइमेंशन्स की तुलना में कहीं ज़्यादा features को समाहित (pack) करते हैं।
Superposition का विचार
- यदि features शायद ही कभी एक साथ सक्रिय होते हैं, तो उनका थोड़ा-बहुत ओवरलैप शायद ही कभी परेशानी पैदा करता है।
- इसकी कीमत interference (हस्तक्षेप) है: जब दो ओवरलैप होने वाले features एक साथ सक्रिय होते हैं, तो वे धुंधले हो सकते हैं या गलत संकेत दे सकते हैं।
- एक साइड इफ़ेक्ट: प्रत्येक न्यूरॉन (एक अक्ष) कई feature दिशाओं के साथ आंशिक रूप से संरेखित (aligned) हो जाता है, इसलिए यह polysemantic दिखने लगता है।
एक 2-D खिलौना: दो संख्याओं में पाँच features
import numpy as np
# 5 features squeezed into 2 dimensions: directions spread like a pentagon.
k = 5
angles = 2 * np.pi * np.arange(k) / k
W = np.stack([np.cos(angles), np.sin(angles)]) # shape (2, 5)
bias = -0.35 # ReLU threshold hides small overlaps
def encode(f): # 5 features -> 2 numbers
return W @ f
def decode(h): # 2 numbers -> 5 feature guesses
return np.maximum(0, W.T @ h + bias)
print("overlap between feature directions:")
print(np.round(W.T @ W, 2))
single = np.array([1.0, 0, 0, 0, 0]) # sparse: one feature on
print("one feature ->", np.round(decode(encode(single)), 2))
two = np.array([1.0, 0, 1.0, 0, 0]) # two features on together
print("features 0+2 ->", np.round(decode(encode(two)), 2))| स्थिति | Superposition काम करता है? | क्यों |
|---|---|---|
| Features sparse हैं | ज़्यादातर हाँ | ओवरलैप शायद ही कभी मिलते हैं, और थ्रेशोल्ड छोटे ओवरलैप्स को छिपा देता है |
| Features अक्सर एक साथ आते हैं | खराब तरीके से | ओवरलैप जुड़ जाते हैं और गलतियाँ पैदा करते हैं |
| कुछ features बहुत महत्वपूर्ण हैं | मॉडल उन्हें अपनी अलग दिशा दे सकता है | उन पर गलतियाँ बहुत भारी पड़ती हैं |
और देखें और पढ़ें
लैब
मापें कि जैसे-जैसे features कम sparse होते हैं, एक खिलौना superposition मॉडल में interference कैसे बढ़ता है।
समस्या
स्टार्टर कोड चलाएं (numpy की आवश्यकता है)। यह पेंटागन खिलौने के साथ रैंडम इनपुट्स को एन्कोड करता है और गिनता है कि डिकोडिंग कितनी बार चालू/बंद पैटर्न को बिल्कुल सही पाती है।
- प्रिंट की गई प्रत्येक sparsity स्तर के लिए त्रुटि दर (error rate) रिकॉर्ड करें।
kको बदलकर 3 और 8 करें (अभी भी 2 डाइमेंशन्स में संकुचित)। त्रुटि कैसे बदलती है?biasको 0.0 और -0.8 में बदलें। समझाएं कि थ्रेशोल्ड किस चीज़ का समझौता (trade-off) करता है।- अपने परिणामों को वास्तविक मॉडलों में polysemantic न्यूरॉन्स से जोड़ते हुए तीन वाक्य लिखें।
प्रैक्टिस लैब
कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।
कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1यदि कोई मॉडल डाइमेंशन्स से अधिक features समाहित कर सकता है, तो वह असीमित संख्या में features क्यों नहीं समाहित करता?दिखाएं
प्रत्येक अतिरिक्त feature दूसरों के साथ ओवरलैप जोड़ता है, जिससे interference बढ़ता है। एक बिंदु पर टकराव से होने वाली त्रुटियों की हानि नए feature द्वारा बचाए गए लॉस से अधिक हो जाती है। कितने features समा सकते हैं यह इस बात पर निर्भर करता है कि वे कितने sparse और कितने महत्वपूर्ण हैं। दुर्लभ, कम महत्वपूर्ण features को समाहित करना सबसे सस्ता होता है; बार-बार आने वाले, महत्वपूर्ण features को स्पष्ट (clean) दिशाएं मिलती हैं।
Q2Superposition, probing और एकल-न्यूरॉन विश्लेषण के लिए अलग-अलग तरीकों से समस्या क्यों है?दिखाएं
एकल-न्यूरॉन विश्लेषण विफल हो जाता है क्योंकि प्रत्येक न्यूरॉन कई features को मिलाता है, इसलिए इसकी गतिविधि का कोई एक अर्थ नहीं होता है। Probing तब भी काम करती है जब आपको पता हो कि किस लेबल की तलाश करनी है, क्योंकि यह एक दिशा ढूंढती है, न्यूरॉन नहीं। लेकिन probing केवल वही ढूंढती है जो आप पूछते हैं। Superposition का मतलब है कि ऐसे कई features हो सकते हैं जिनके बारे में आपने probe करने की कभी सोची भी नहीं, यही कारण है कि sparse autoencoders जैसे अनसुपरवाइज्ड तरीके आकर्षक हैं।
अक्सर पूछे जाने वाले सवाल
यदि न्यूरॉन्स polysemantic हैं, तो लोगों ने कभी एकल न्यूरॉन्स का अध्ययन क्यों किया?
क्योंकि कुछ न्यूरॉन वास्तव में बिल्कुल स्पष्ट (clean) होते हैं, खासकर इमेज मॉडल्स में, और एकल न्यूरॉन्स का निरीक्षण करना आसान होता है। Polysemanticity तब खोजी गई जब कई न्यूरॉन्स को देखा गया और पाया गया कि ज़्यादातर का कोई एक अकेला अर्थ नहीं था। इसी खोज ने इस क्षेत्र को दिशाओं के रूप में features की ओर धकेला।
क्या कोई feature किसी probe दिशा के समान होता है?
संबंधित है, लेकिन समान नहीं। एक probe ऐसी दिशा ढूंढता है जो आपके द्वारा चुने गए लेबल की भविष्यवाणी करती है। एक feature वह चीज़ है जिसे मॉडल खुद दर्शाता है, जिसके बारे में शायद आपने सोचा भी न हो। Sparse autoencoders (अगला पाठ) पहले से लेबल चुने बिना features ढूंढने की कोशिश करते हैं।
Sparsity इतनी महत्वपूर्ण क्यों है?
क्योंकि interference केवल तभी होता है जब ओवरलैप होने वाले features एक साथ सक्रिय होते हैं। यदि प्रत्येक feature इनपुट के केवल एक छोटे से हिस्से में चालू होता है, तो टकराव दुर्लभ होते हैं, और मॉडल को बहुत कम त्रुटि के बदले बहुत अधिक क्षमता मिलती है।
क्या यह उन embeddings में होता है जो मैंने पहले बनाए थे?
शायद। एक छोटे डाइमेंशन में बड़ी शब्दावली के लिए embedding वेक्टर्स को स्पेस शेयर करना पड़ता है। जो शब्द शायद ही कभी एक साथ आते हैं वे सुरक्षित रूप से ओवरलैप हो सकते हैं, यही एक कारण है कि छोटे embeddings भी अच्छा काम करते हैं।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।