ज्ञान आसवन

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

यंत्र ज्ञान के कई अनुप्रयोगों जैसे वस्तु का पता लगाना, ध्वनिक मॉडल, और प्राकृतिक भाषा प्रसंस्करण में ज्ञान आसवन का सफलतापूर्वक उपयोग किया गया है।

वर्तमान में, इसे गैर-ग्रिड डेटा पर लागू तंत्रिका नेटवर्क को ग्राफ़ करने के लिए भी प्रस्तुत किया गया है।

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

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

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

ज्ञान आसवन भी फ़राज़ तोराबी एट अल द्वारा वेरिएबल्स्चा की गई व्यवहारिक क्लोनिंग की अवधारणा से संबंधित है।

सूत्रीकरण
सदिश वेरिएबल्स $$\mathbf{x}$$ के फलन के रूप में बड़े मॉडल को देखते हुए, विशिष्ट सांख्यिकीय वर्गीकरण कार्य के लिए प्रशिक्षित, सामान्यतः नेटवर्क की अंतिम परत सॉफ्टमैक्स फलन के रूप में होती है

y_i(\mathbf{x}|t) = \frac{e^{\frac{z_i(\mathbf{x})}{t}}}{\sum_j e^{\frac{z_j(\mathbf{x})}{t}}} $$ जहाँ $$t$$ तापमान नामक पैरामीटर है, जो मानक सॉफ्टमैक्स के लिए सामान्य रूप से 1 पर समुच्चय होता है। सॉफ्टमैक्स ऑपरेटर लॉगिट मानों $$z_i(\mathbf{x})$$ को परिवर्तित करता है छद्म संभावनाओं के लिए, और तापमान के उच्च मानों का प्रभाव आउटपुट वर्गों के बीच छद्म संभावनाओं के नरम वितरण को उत्पन्न करने पर पड़ता है। ज्ञान आसवन में डिस्टिल्ड मॉडल कहे जाने वाले एक छोटे नेटवर्क को स्थानांतरण समुच्चय (बड़े मॉडल को प्रशिक्षित करने के लिए उपयोग किए जाने वाले डाटासमुच्चय से अलग) नामक डेटासमुच्चय पर डिस्टिल्ड मॉडल $$\mathbf{y}(\mathbf{x}|t)$$ के आउटपुट और बड़े मॉडल द्वारा उत्पादित (या व्यक्तिगत आउटपुट का औसत, यदि बड़ा मॉडल संपरिधान है) आउटपुट $$\hat{\mathbf{y}}(\mathbf{x}|t)$$ के बीच हानि फलन के रूप में क्रॉस एन्ट्रापी का उपयोग करके प्रशिक्षित करना सम्मिलित है। सॉफ्टमैक्स तापमान के उच्च मूल्य का उपयोग करके $$t$$ दोनों मॉडलों के लिए :$$ E(\mathbf{x}|t) = -\sum_i \hat{y}_i(\mathbf{x}|t) \log y_i(\mathbf{x}|t). $$

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

यदि स्थानांतरण समुच्चय के लिए जमीनी सच्चाई उपलब्ध है, तो डिस्टिल्ड मॉडल ($$t = 1$$ के साथ गणना) और ज्ञात लेबल $$\bar{y}$$ के आउटपुट के बीच क्रॉस-एन्ट्रॉपी के हानि को जोड़कर प्रक्रिया को शक्तिशाली किया जा सकता है

E(\mathbf{x}|t) = -t^2 \sum_i \hat{y}_i(\mathbf{x}|t) \log y_i(\mathbf{x}|t) - \sum_i \bar{y}_i \log y_i(\mathbf{x}|1) $$ जहां बड़े मॉडल के संबंध में हानि के घटक $$t^2$$ को कारक द्वारा भारित किया जाता है चूंकि, जैसे-जैसे तापमान बढ़ता है, मॉडल भार के संबंध में हानि की प्रवणता $$\frac{1}{t^2}$$ के कारक से होता है।

मॉडल संपीड़न के साथ संबंध
इस धारणा के अनुसार कि लॉग्स का माध्य शून्य है, यह दिखाना संभव है कि मॉडल संपीड़न ज्ञान आसवन का विशेष मामला है। ज्ञान आसवन हानि की प्रवणता $$E$$ डिस्टिल्ड मॉडल के लॉग के संबंध में $$z_i$$ द्वारा दिया गया है

\begin{align} \frac{\partial}{\partial z_i} E       &= -\frac{\partial}{\partial z_i} \sum_j \hat{y}_j \log y_j \\ &= -\hat{y}_i \frac{1}{y_i} \frac{\partial}{\partial z_i} y_i \\ &= -\hat{y}_i \frac{1}{y_i} \frac{\partial}{\partial z_i} \frac{e^{\frac{z_i}{t}}}{\sum_j e^{\frac{z_j}{t}}} \\ &= -\hat{y}_i \frac{1}{y_i} \left(           \frac{\frac{1}{t} e^{\frac{z_i}{t}} \sum_j e^{\frac{z_j}{t}} - \frac{1}{t} \left( e^{\frac{z_i}{t}} \right)^2}                 {\left( \sum_j e^{\frac{z_j}{t}} \right)^2}        \right) \\ &= -\hat{y}_i \frac{1}{y_i} \left( \frac{y_i}{t} - \frac{y_i^2}{t} \right) \\ &= \frac{1}{t} \left( y_i - \hat{y}_i \right) \\ &= \frac{1}{t} \left( \frac{e^{\frac{z_i}{t}}}{\sum_j e^{\frac{z_j}{t}}} - \frac{e^{\frac{\hat{z}_i}{t}}}{\sum_j e^{\frac{\hat{z}_j}{t}}} \right) \\ \end{align} $$ जहाँ $$\hat{z}_i$$ बड़े मॉडल के लॉग हैं। $$t$$ के बड़े मानों के लिए इसका अनुमान लगाया जा सकता है

\frac{1}{t} \left(   \frac{1 + \frac{z_i}{t}}{N + \sum_j \frac{z_j}{t}} -    \frac{1 + \frac{\hat{z}_i}{t}}{N + \sum_j \frac{\hat{z}_j}{t}} \right) $$ और शून्य-मतलब परिकल्पना के अनुसार $$\sum_j z_j = \sum_j \hat{z}_j = 0$$ यह $$ \frac{z_i - \hat{z}_i}{NT^2} $$ बनता है, जिसका व्युत्पन्न $$\frac{1}{2} \left( z_i - \hat{z}_i \right)^2$$ है, अर्थात् हानि दो मॉडलों के लॉग्स के मिलान के बराबर है, जैसा कि मॉडल संपीड़न में किया गया है।

बाहरी संबंध

 * Distilling the knowledge in a neural network – Google AI