फोकल लॉस एक लॉस फंक्शन है जिसका उपयोग डीप लर्निंग में तंत्रिका नेटवर्क को गंभीर वर्ग असंतुलन वाले कार्यों, जैसे छवियों में वस्तु पहचान, के लिए प्रशिक्षित करने में किया जाता है। यह मानक क्रॉस-एन्ट्रॉपी लॉस में एक मॉड्यूलेटिंग कारक जोड़कर संशोधित करता है, जो अच्छी तरह से वर्गीकृत उदाहरणों से लॉस योगदान को कम करता है, जिससे मॉडल कठिन, गलत वर्गीकृत उदाहरणों पर ध्यान केंद्रित कर सकता है। यह दृष्टिकोण 2017 में त्सुंग-यी लिन, प्रिया गोयल, रॉस गिरशिक, कैमिंग हे और पियोट्र डॉलर द्वारा पेपर "फोकल लॉस फॉर डेंस ऑब्जेक्ट डिटेक्शन" में प्रस्तुत किया गया था।
फोकल लॉस जिस मुख्य समस्या का समाधान करता है, वह घने भविष्यवाणी कार्यों में अग्रभूमि और पृष्ठभूमि वर्गों के बीच असंतुलन है। एक विशिष्ट वस्तु पहचान छवि में, अधिकांश उम्मीदवार स्थान पृष्ठभूमि होते हैं, और केवल कुछ में वस्तुएं होती हैं। मानक क्रॉस-एन्ट्रॉपी लॉस आसान, प्रचुर पृष्ठभूमि उदाहरणों से अभिभूत हो सकता है, जिससे मॉडल पृष्ठभूमि की भविष्यवाणी करने की ओर पक्षपाती हो जाता है और दुर्लभ वस्तु वर्गों की उपेक्षा करता है।
गणितीय सूत्रीकरण
फोकल लॉस बाइनरी क्रॉस-एन्ट्रॉपी (CE) लॉस पर आधारित है। सही वर्ग के लिए अनुमानित संभावना p के साथ बाइनरी वर्गीकरण के लिए, CE को CE(p) = -log(p) के रूप में परिभाषित किया गया है। फोकल लॉस एक फोकसिंग पैरामीटर गामा (γ) और एक भारांक कारक अल्फा (α) प्रस्तुत करता है। सूत्र है:
FL(p) = -α(1 - p)^γ log(p)
यहाँ, (1 - p)^γ मॉड्यूलेटिंग कारक है। जब p 1 के करीब होता है (एक आसान, अच्छी तरह से वर्गीकृत उदाहरण), यह कारक 0 के करीब पहुंचता है, जिससे लॉस नाटकीय रूप से कम हो जाता है। जब p छोटा होता है (एक कठिन उदाहरण), कारक 1 के करीब होता है, जिससे लॉस संरक्षित रहता है। पैरामीटर γ उस दर को नियंत्रित करता है जिस पर आसान उदाहरणों को कम भार दिया जाता है; विशिष्ट मान 2.0 हैं, जिसमें 0 मानक क्रॉस-एन्ट्रॉपी के अनुरूप होता है। अल्फा पैरामीटर सकारात्मक और नकारात्मक उदाहरणों के महत्व को संतुलित करता है, जिसे अक्सर वर्ग आवृत्ति के व्युत्क्रम के रूप में सेट किया जाता है या सत्यापन सेट पर ट्यून किया जाता है।
वस्तु पहचान में अनुप्रयोग
फोकल लॉस का प्राथमिक उद्देश्य एकल-चरण वस्तु डिटेक्टरों को दो-चरण डिटेक्टरों की सटीकता से मेल खाने में सक्षम बनाना था। दो-चरण डिटेक्टर, जैसे फास्टर R-CNN, उम्मीदवार बॉक्स को फ़िल्टर करने के लिए एक क्षेत्र प्रस्ताव नेटवर्क का उपयोग करते हैं, जिससे वर्ग असंतुलन स्वाभाविक रूप से कम हो जाता है। एकल-चरण डिटेक्टर, जैसे YOLO और SSD, सभी स्थानों का सीधे मूल्यांकन करते हैं, जिससे बहुत बड़ा असंतुलन होता है। फोकल लॉस ने एकल-चरण डिटेक्टरों, विशेष रूप से RetinaNet, को गति बनाए रखते हुए अत्याधुनिक सटीकता प्राप्त करने की अनुमति दी। उसी पेपर में प्रस्तुत RetinaNet ने एक फीचर पिरामिड नेटवर्क और फोकल लॉस का उपयोग किया, जो पिछले एक-चरण डिटेक्टरों से बेहतर प्रदर्शन करता था और COCO डेटासेट पर दो-चरण समकक्षों से मेल खाता था या उनसे अधिक था।
विस्तार और विविधताएं
अपनी शुरुआत के बाद से, फोकल लॉस को विभिन्न डोमेन और समस्याओं के लिए अनुकूलित किया गया है। मशीन लर्निंग अनुसंधान में, बहु-वर्ग वर्गीकरण, अर्थपूर्ण विभाजन और चिकित्सा इमेजिंग के लिए विविधताएं प्रस्तावित की गई हैं। उदाहरण के लिए, कई वर्गों वाले घने भविष्यवाणी कार्यों में, लॉस की गणना प्रति वर्ग की जाती है और जोड़ा जाता है। कुछ कार्यों ने अनुकूली गामा या अल्फा पैरामीटरों का पता लगाया है, उन्हें प्रशिक्षण के दौरान सीखा है। फोकल लॉस को प्राकृतिक भाषा प्रसंस्करण कार्यों पर भी लागू किया गया है, जैसे असंतुलित डेटासेट के साथ पाठ वर्गीकरण, और बड़े भाषा मॉडल के लिए नामित इकाई पहचान जैसे कार्यों में जहां दुर्लभ इकाइयां कम प्रतिनिधित्व वाली होती हैं।
अन्य तकनीकों से संबंध
फोकल लॉस अवधारणात्मक रूप से कठिन उदाहरण खनन से संबंधित है, जहां प्रशिक्षण प्रक्रिया स्पष्ट रूप से कठिन उदाहरणों का चयन करती है। हालांकि, फोकल लॉस एक सुचारू, अवकलनीय सन्निकटन है जो सभी उदाहरणों को निरंतर रूप से भारित करता है, स्पष्ट चयन अनुमानों की आवश्यकता से बचता है। यह लागत-संवेदनशील शिक्षण से भी जुड़ता है, जहां गलत वर्गीकरण लागत प्रति वर्ग समायोजित की जाती है। अल्फा पैरामीटर लागत संवेदनशीलता का एक रूप प्रदान करता है, जबकि गामा कठिन उदाहरणों पर ध्यान केंद्रित करता है। व्यवहार में, फोकल लॉस को अक्सर डेटा वृद्धि और अन्य नियमितीकरण तकनीकों के साथ जोड़ा जाता है ताकि सामान्यीकरण में और सुधार हो सके।
व्यावहारिक विचार
फोकल लॉस को लागू करने के लिए गामा और अल्फा की सावधानीपूर्वक ट्यूनिंग की आवश्यकता होती है। एक सामान्य प्रारंभिक बिंदु गामा = 2 और अल्फा = 0.25 है, जैसा कि मूल RetinaNet पेपर में उपयोग किया गया था। व्यवहार में, बहुत छोटे p मानों के लिए लॉस अस्थिर हो सकता है, इसलिए कार्यान्वयन अक्सर लॉग तर्क में एक छोटा एप्सिलॉन जोड़ते हैं। फोकल लॉस प्रमुख डीप लर्निंग फ्रेमवर्क, जिसमें PyTorch और TensorFlow शामिल हैं, में उपलब्ध है, या तो अंतर्निहित कार्यों के माध्यम से या कस्टम कार्यान्वयन के माध्यम से। यह विशेष रूप से प्रभावी होता है जब वर्ग असंतुलन चरम होता है, जैसे प्रति छवि हजारों पृष्ठभूमि बॉक्स वाली वस्तु पहचान में, लेकिन जब असंतुलन हल्का होता है तो यह सीमांत लाभ प्रदान कर सकता है।
यह भी देखें
संदर्भ
Lin, T. Y., Goyal, P., Girshick, R., He, K., & Dollár, P. (2017). Focal loss for dense object detection. In Proceedings of the IEEE international conference on computer vision (pp. 2980-2988).