क्या एक मॉडल को फिर से प्रशिक्षित किया जाना चाहिए यदि नई टिप्पणियां उपलब्ध हैं?


28

इसलिए, मुझे इस विषय पर कोई साहित्य नहीं मिला है, लेकिन ऐसा लगता है जैसे कुछ विचार देने लायक है:

  • यदि नए अवलोकन उपलब्ध हैं, तो मॉडल प्रशिक्षण और अनुकूलन में सर्वोत्तम अभ्यास क्या हैं?

  • क्या भविष्यवाणियों को नीचा दिखाना शुरू करने से पहले किसी मॉडल को फिर से प्रशिक्षित करने की अवधि / आवृत्ति निर्धारित करने का कोई तरीका है?

  • क्या यह ओवर-फिटिंग है अगर पैरामीटर एकत्रित डेटा के लिए फिर से अनुकूलित हैं?

ध्यान दें कि सीखना अनिवार्य रूप से ऑनलाइन नहीं हो सकता है। हाल के पूर्वानुमानों में महत्वपूर्ण विचरण देखने के बाद कोई मौजूदा मॉडल को अपग्रेड करना चाह सकता है।


उत्तर व्यापार डोमेन और विशेष रूप से मॉडल एप्लिकेशन पर अत्यधिक निर्भर है।
पीट

जवाबों:


16
  1. एक बार एक मॉडल को प्रशिक्षित किया जाता है और आपको नया डेटा मिलता है जिसका उपयोग प्रशिक्षण के लिए किया जा सकता है, आप पिछले मॉडल को लोड कर सकते हैं और उस पर प्रशिक्षण ले सकते हैं। उदाहरण के लिए, आप अपने मॉडल को एक .pickleफ़ाइल के रूप में सहेज सकते हैं और इसे लोड कर सकते हैं और नया डेटा उपलब्ध होने पर इस पर और प्रशिक्षण दे सकते हैं। , टिप्पणी मॉडल सही ढंग से भविष्यवाणी करने के लिए के लिए कि क्या the new training data should have a similar distribution as the past data
  2. भविष्यवाणियां आपके द्वारा उपयोग किए जा रहे डेटासेट के आधार पर नीचा दिखाती हैं। उदाहरण के लिए, यदि आप ट्विटर डेटा का उपयोग करके प्रशिक्षित करने का प्रयास कर रहे हैं और आपने उस उत्पाद के संबंध में डेटा एकत्र किया है जो उस दिन व्यापक रूप से ट्वीट किया गया है। लेकिन यदि आप कुछ दिनों के बाद ट्वीट्स का उपयोग करते हैं जब उस उत्पाद की चर्चा भी नहीं की जाती है, तो वह पक्षपातपूर्ण हो सकता है। The frequency will be dependent on datasetऔर ऐसा करने के लिए कोई विशेष समय नहीं है। If you observe that your new incoming data is deviating vastly, then it is a good practise to retrain the model
  3. कुल डेटा पर ऑप्टिमाइज़िंग पैरामीटर ओवरफ़िटिंग नहीं है। बड़े डेटा का मतलब ओवरफिटिंग नहीं है। ओवर-फिटिंग की जांच के लिए क्रॉस वेलिडेशन का उपयोग करें।

इसलिए यदि डेटा-सेट आने-जाने की प्रकृति संपूर्ण रूप से बनी रहे, तो ऐसा कुछ भी नया नहीं है जो मॉडल सीख सकता है?
user140323

यदि डेटा परिवर्तित नहीं होता है और यदि आप वर्तमान मॉडल की सटीकता से खुश हैं, तो मुझे इसे वापस लेने का कोई मतलब नहीं दिखता है।
हेमा वर्षा

@ आयुष, शायद आप आने वाले डेटा को सत्यापन सेट के रूप में उपयोग कर सकते हैं और अपने वर्तमान मॉडल की जांच कर सकते हैं।
हेमा वर्षा

अभी भी स्वीकार करने के लिए बहुत जल्दी है, लेकिन मैं करूंगा। धन्यवाद!
user140323

नमस्कार @ tktktk0711, मेरे पास आपको दिखाने के लिए वर्तमान में एक कोड नहीं है। लेकिन बस इसके माध्यम से जाना जो कोड के साथ एक और लिंक को इंगित करता है। github.com/tflearn/tflearn/issues/39
हेमा वर्षा

20

जब नए अवलोकन उपलब्ध होते हैं, तो आपके मॉडल को वापस लेने के तीन तरीके होते हैं:

  1. ऑनलाइन: जब भी कोई नया अवलोकन उपलब्ध होता है, तो आप अपने मॉडल को और अधिक प्रशिक्षित करने के लिए इस एकल डेटा बिंदु का उपयोग करते हैं (उदाहरण के लिए अपने वर्तमान मॉडल को लोड करें और उस एकल अवलोकन के साथ बैकप्रॉपैगैशन करके इसे प्रशिक्षित करें)। इस पद्धति के साथ, आपका मॉडल क्रमबद्ध तरीके से सीखता है और आपके डेटा में स्थानीय रूप से इस तरह का अनुकूलन करता है कि यह पुरानी टिप्पणियों की तुलना में हालिया टिप्पणियों से अधिक प्रभावित होगा। यह उन स्थितियों में उपयोगी हो सकता है जहां आपके मॉडल को डेटा में नए पैटर्न के अनुकूल होने की आवश्यकता होती है। यह तब भी उपयोगी है जब आप बहुत बड़े डेटा सेटों के साथ काम कर रहे हैं, जिसके लिए एक बार में सभी पर प्रशिक्षण असंभव है।
  2. ऑफ़लाइन: आप अपने पहले से मौजूद डेटा सेट में नई टिप्पणियों को जोड़ते हैं और अपने मॉडल को इस नए, बड़े डेटा सेट पर पूरी तरह से वापस लेते हैं। यह आमतौर पर लक्ष्य फ़ंक्शन के बेहतर वैश्विक सन्निकटन की ओर जाता है और यदि आपके पास एक निश्चित डेटा सेट है, या यदि आपके पास अक्सर नए अवलोकन नहीं हैं, तो यह बहुत लोकप्रिय है। हालांकि यह बड़े डेटा सेट के लिए अव्यावहारिक है।
  3. nn

अधिकांश मॉडल आज बैच / मिनी बैच का उपयोग करेंगे और बैच के आकार के लिए विकल्प आपके आवेदन और मॉडल पर निर्भर करता है। सही आकार का बैच चुनना सही आवृत्ति चुनने के बराबर है जिसके साथ अपने मॉडल को फिर से प्रशिक्षित करना है। यदि आपके नए अवलोकन में आपके मौजूदा डेटा के साथ कम विचरण है, तो मैं बड़े बैचों (256-512 शायद) का सुझाव दूंगा और यदि इसके विपरीत नए अवलोकन आपके मौजूदा डेटा के साथ बहुत भिन्न होते हैं, तो छोटे बैचों (8-256) का उपयोग करें। दिन के अंत में, बैच का आकार एक अन्य हाइपर-पैरामीटर की तरह होता है जिसे आपको ट्यून करने की आवश्यकता होती है और जो आपके डेटा के लिए विशिष्ट होता है


नमस्ते, मैं आपसे ऑनलाइन पूछना चाहता हूं: नए डेटा के लिए ऑनलाइन के रूप में। क्या यह विधि कुछ ML मॉडल को सीमित करती है, मेरा मतलब है कि पूरी मशीन सीखना नहीं है।
tktktk0711

क्या आप किसी भी टेंसरफ्लो उदाहरण के बारे में जानते हैं जो बैच का उपयोग करते हैं ?
मैक्सिमम

1

आपकी समस्या ऑनलाइन लर्निंग के तरीकों की छतरी के नीचे आती है। आ रही डेटा की एक धारा को मानते हुए, आप उस एकल उदाहरण का उपयोग करके अपने मॉडल मापदंडों को अपडेट करने के लिए स्टोचस्टिक ग्रेडिएंट डिसेंट विधि का उपयोग कर सकते हैं।

यदि आपकी लागत समारोह है:

मिनटθजम्मू(एक्स,y,θ)

θएक्समैं,yमैं

θटी=θटी-1-θजम्मू(एक्समैं,yमैं)

यह अनिवार्य रूप से बैच आकार 1 के साथ SGD है।

एक अन्य चाल है, आप एक खिड़की / बफर आधारित विधि को अपना सकते हैं, जहां आप धारा से कुछ उदाहरणों को बफर करते हैं और इसे बैच के रूप में मानते हैं और बैच SGD का उपयोग करते हैं। उस स्थिति में अद्यतन समीकरण बन जाएगा:

θटी=θटी-1-Σमैंθजम्मू(एक्समैं,yमैं)

यह अनिवार्य रूप से मिनी-बैच SGD है।


0

प्रश्न: क्या आप पुनः प्रयास करेंगे?

इसका उत्तर इस बात पर निर्भर करता है कि आपका मॉडल क्या करने का प्रयास करता है और इसे किस वातावरण में लागू किया जाता है।

मुझे कुछ उदाहरणों द्वारा समझाएं:

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.