जब आप एक पंक्ति खोज नहीं कर सकते तो अनुकूली ढाल वंश चरण आकार


9

मेरा एक उद्देश्य कार्य है E एक मूल्य पर निर्भर ϕ(x,t=1.0), कहाँ पे ϕ(x,t)एक PDE के लिए समाधान है। मैं अनुकूलन कर रहा हूंEपीडीई की प्रारंभिक स्थिति में ढाल वंश द्वारा :ϕ(x,t=0.0)। यानी मैं अपडेट करता हूंϕ(x,t=0.0)और फिर मेरे अवशिष्ट की गणना करने के लिए पीडीई को एकीकृत करना होगा। इसका मतलब है, अगर मुझे ग्रेडिएंट डिसेंट स्टेप साइज के लिए एक लाइन सर्च करना था (इसे कॉल करेंα), के हर संभावित मूल्य के लिए α मुझे फिर से पीडीई को एकीकृत करना होगा।

मेरे मामले में यह बहुत महंगा होगा। वहाँ अनुकूली ढाल वंश कदम आकार के लिए एक और विकल्प है?

मैं यहां गणितीय रूप से राजसी योजनाओं की तलाश नहीं कर रहा हूं (हालांकि कुछ मौजूद है तो बेहतर है), लेकिन किसी भी चीज से खुश होंगे जो आम तौर पर एक स्थिर कदम के आकार से बेहतर होती है।

धन्यवाद!


मुझे नहीं लगता कि मैं इस समय पीडीई को एकीकृत करने के तरीके को संशोधित करना चाहता हूं, जैसा कि मेरे लिए एक प्रमुख कोड फिर से लिखना होगा। इसके अलावा, यह इतना नहीं है कि पीडीई एक मुश्किल है, क्योंकि मुझे इसे स्पेसटाइम में बहुत घने ग्रिड पर हल करना है क्योंकि मुझे बहुत अधिक संख्यात्मक सटीकता की आवश्यकता है।
NLi10Me

दूसरी ओर, बीबी पद्धति (जिसे मैं परिचित नहीं था) बहुत अच्छा लगता है; मुझे बस इतना करना है कि पिछली पुनरावृत्ति की स्थिति और ढाल पर नज़र रखें और मुझे एक दूसरा आदेश प्राप्त होगा ... जो बहुत अच्छा लगता है। हालाँकि, व्युत्पत्ति एक उत्तल द्विघात मानती है और मेरी समस्या लगभग निश्चित रूप से नहीं है। हालाँकि, मैं भी निश्चित रूप से (और के साथ खुश) वैश्विक minima के बजाय स्थानीय पा रहा हूँ। क्या आप जानते हैं कि बीबी ने बहुत ही उच्च आयामी समस्याओं पर कितना अच्छा प्रदर्शन किया है?
NLi10Me

मुझे लगता है कि स्थानीय मीनिमा के बारे में मेरा क्या मतलब है, एक स्थानीय न्यूनतम के पड़ोस में, क्या कोई फ़ंक्शन लगभग द्विघात नहीं है? मुझे लगता है कि मेरी प्रारंभिक अवस्थाϕ(0)(x,t=0.0)पर्याप्त रूप से एक न्यूनतम के करीब है, कई उदाहरणों के लिए मुझे स्थिर चरण आकार के साथ भी चिकनी अभिसरण मिलता है। इसलिए, भले ही यह बहुत ही उच्च आयामी है, और सामान्य तौर पर अगर आप संपूर्ण खोज स्थान पर विचार करते हैं तो समस्या गैर-उत्तल / गैर-द्विघात है, क्या बीबी अभी भी एक अच्छा विकल्प w / o लाइन खोज हो सकती है?
NLi10Me

अन्य "सामग्री" के लिए E प्रयोगात्मक छवि डेटा हैं। ϕ(x,t=1.0)एक छवि को दूसरे से "मेल" करने के लिए ताना मारने की कोशिश की जाती है (कुछ मिलान कार्यात्मक जैसे कि L2 मानदंड जो कि स्वरों पर एकीकृत है) द्वारा मापा जाता है। कुछ छवि जोड़े के लिए, मुझे स्थिर चरण आकार के साथ (मेरी वर्तमान पसंद) आसानी से अभिसरण मिलता है। अन्य छवि जोड़ियों के लिए, मुझे बहुत अधिक ऑसिलेटिंग मिलता है। सिस्टम को पूरी तरह से स्वचालित किया जाना है, इसलिए मैं वापस नहीं जा सकता और परेशान छवि जोड़े के लिए हाथ का आकार संपादित कर सकता हूं।
NLi10Me

ठीक है, मुझे ग्रेडिएंट (जो कि एक नास्टियर सिस्टम है और अधिक समय लगता है) प्राप्त करने के लिए आसन्न सिस्टम को हल करना होगा। ठीक है, मुझे लगता है कि मैं बीबी को बैकग्राउंडिंग लाइन सर्च के साथ आज़माऊंगा। सलाह के लिए बहुत बहुत धन्यवाद ; मेरे सलाहकार अक्सर कठिन होते हैं और उनमें से कई कार्यान्वयन में दिलचस्पी नहीं रखते हैं, बस मॉडल के रूप में। मुझे पता है कि संख्यात्मक तरीके यह प्रदर्शित करने के लिए महत्वपूर्ण घटक हैं कि क्या कोई मॉडल अच्छा है या नहीं, इसलिए पहले धन्यवाद फिर मैंने इसकी सराहना की।
NLi10Me

जवाबों:


15

मैं एक सामान्य टिप्पणी के साथ शुरू करूंगा: प्रथम-क्रम की जानकारी (अर्थात, केवल ग्रेडिएंट, जो ढलान का उपयोग करता है) आपको केवल दिशात्मक जानकारी दे सकता है: यह आपको बता सकता है कि खोज दिशा में फ़ंक्शन मान कम हो जाता है, लेकिन कितनी देर तक नहीं । यह तय करने के लिए कि खोज की दिशा में कितनी दूर जाना है, आपको अतिरिक्त जानकारी की आवश्यकता है (निरंतर कदम लंबाई के साथ ढाल वंश उत्तल द्विघात समस्याओं के लिए भी विफल हो सकता है)। इसके लिए, आपके पास मूल रूप से दो विकल्प हैं:

  1. दूसरे क्रम की जानकारी का उपयोग करें (जो वक्रता को कूटबद्ध करता है), उदाहरण के लिए ढाल वंश के बजाय न्यूटन की विधि का उपयोग करके (जिसके लिए आप हमेशा चरण लंबाई का उपयोग कर सकते हैं1 न्यूनतम करने के लिए पर्याप्त रूप से बंद)।
  2. परीक्षण और त्रुटि (बेशक, जिसका अर्थ है कि मैं एक उचित लाइन खोज का उपयोग कर रहा हूं जैसे कि आर्मिजो)।

यदि, जैसा कि आप लिखते हैं, आपके पास दूसरे डेरिवेटिव तक पहुंच नहीं है, और ऑब्जेक्टिव फ़ंक्शन का मूल्यांकन करना बहुत महंगा है, तो आपकी एकमात्र उम्मीद है कि समझौता करें: एक अच्छा उम्मीदवार कदम की लंबाई प्राप्त करने के लिए पर्याप्त अनुमानित दूसरे क्रम की जानकारी का उपयोग करें जैसे कि एक लाइन खोज की जरूरत है ही O(1) मूल्यांकन (यानी, सबसे अधिक (छोटे) निरंतर प्रयास के कई आप अपने ढाल का मूल्यांकन करने की जरूरत है)।

एक संभावना यह है कि बरज़िलाई - बोरवेइन स्टेप लेंथ (देखें, उदाहरण के लिए, फ्लेचर: बरज़िलाई-बोरवेइन पद्धति पर । अनुप्रयोगों के साथ अनुकूलन और नियंत्रण, 235–256, Appl। ऑप्टिमाइज़। ऑप्टिमाइज़ेशन, 96, स्प्रिंगर, न्यू यॉर्क, 2005 )। यह विचार कदम के आकार का अनुमान पाने के लिए खोज दिशा के साथ वक्रता के परिमित अंतर का उपयोग करने के लिए है। विशेष रूप से, चुनेंα0>0 मनमाना, सेट g0:=f(x0) और फिर के लिए k=0,...:

  1. सेट sk=αk1gk तथा xk+1=xk+sk
  2. मूल्यांकन करना gk+1=f(xk+1) और सेट करें yk=gk+1gk
  3. सेट αk+1=(yk)Tyk(yk)Tsk

यह विकल्प द्विघात कार्यों के लिए अभिसरण करने के लिए (बहुत जल्दी अभ्यास में) दिखाया जा सकता है, लेकिन अभिसरण मोनोटोन नहीं है (यानी, फ़ंक्शन मानf(xk+1) से बड़ा हो सकता है f(xk), लेकिन केवल एक बार थोड़ी देर में; फ्लेचर के पेपर में पृष्ठ 10 पर प्लॉट देखें)। गैर-द्विघात कार्यों के लिए, आपको इसे एक पंक्ति खोज के साथ जोड़ना होगा, जिसे गैर-अखंडता से निपटने के लिए संशोधित करने की आवश्यकता है। एक संभावना चुन रहा हैσk(0,αk1) (जैसे, पीछे करके) ऐसा

f(xkσkgk)maxmax(kM,1)jkf(xj)γσk(gk)Tgk,
जहां विशिष्ट आर्मिजो पैरामीटर है और एकरसता की डिग्री को नियंत्रित करता है (जैसे, )। एक ऐसा संस्करण भी है जो फ़ंक्शन मानों के बजाय ढाल मूल्यों का उपयोग करता है, लेकिन आपके मामले में ग्रेडिएंट फ़ंक्शन की तुलना में मूल्यांकन करने के लिए और भी अधिक महंगा है, ताकि यहां समझ में न आए। (नोट: आप निश्चित रूप से बीबी चरण की लंबाई को नेत्रहीन रूप से स्वीकार करने और अपनी किस्मत पर भरोसा करने की कोशिश कर सकते हैं, लेकिन अगर आपको किसी भी प्रकार की मजबूती की आवश्यकता है - जैसा कि आपने अपनी टिप्पणियों में लिखा है - यह वास्तव में बुरा विचार होगा।)γ(0,1)MM=10

एक वैकल्पिक (और, मेरी राय में, बहुत बेहतर) दृष्टिकोण खोज दिशा की गणना में पहले से ही इस परिमित अंतर सन्निकटन का उपयोग करना होगा; इसे अर्ध-न्यूटन विधि कहा जाता है । यह विचार है कि ग्रेडिएंट्स के अंतर का उपयोग करके Hessian का अनुमानित रूप से वर्धमान रूप से निर्माण किया जाए। उदाहरण के लिए, आप (पहचान मैट्रिक्स) ले सकते हैं और हल कर और साथ सेट करें ऊपर और । (इसे Broyden अपडेट कहा जाता है2f(xk)H0=Idk=0,

(1)Hksk=gk,
Hk+1=Hk+(ykHksk)T(sk)T(sk)Tsk
ykxk+1=xk+skऔर शायद ही कभी अभ्यास में उपयोग किया जाता है; एक बेहतर लेकिन थोड़ा अधिक जटिल अपडेट BFGS अपडेट है , जिसके लिए - और अधिक जानकारी - मैं नोकेडल और राइट की पुस्तक न्यूमेरिकल ऑप्टिमाइज़ेशन का संदर्भ देता हूं ।) नकारात्मक पक्ष यह है कि ए) को प्रत्येक चरण में एक रैखिक प्रणाली को हल करने की आवश्यकता होगी (लेकिन केवल अज्ञात का आकार जो आपके मामले में एक प्रारंभिक स्थिति है, इसलिए ग्रेडिएंट प्राप्त करने के लिए पीडीई को हल करके प्रयास को हावी किया जाना चाहिए। इसके अलावा, उलटा हेसियन के अनुमानों के लिए अद्यतन नियम मौजूद हैं , जिसमें केवल एक ही मैट्रिक्स की गणना की आवश्यकता होती है -vector उत्पाद) और बी) आपको अभी भी अभिसरण की गारंटी के लिए एक लाइन खोज की आवश्यकता है ...

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

qk(s)=12sTHks+sTgk.
sΔkΔkσk
ρk:=f(xk)f(xk+sk)f(xk)qk(sk)
वास्तविक और अनुमानित मूल्य में कमी। यदि बहुत छोटा है, तो आपका मॉडल खराब था, और आप छोड़ देते हैं और साथ पुन: प्रयास करते हैं । यदि करीब है , तो आपका मॉडल अच्छा है, और आप और । अन्यथा आप बस और अकेले छोड़ हैं। वास्तविक minimizer गणना करने के लिए कीρkskΔk+1<Δkρk1xk+1=xk+skΔk+1>Δkxk+1=xk+skΔkskminsΔkqk(s), पूर्ण विवश अनुकूलन समस्या को हल करने से बचने के लिए कई रणनीतियाँ मौजूद हैं; मेरा पसंदीदा Steihaug का छोटा सीजी तरीका है । अधिक विवरण के लिए, मैं फिर से नोकेडल और राइट का संदर्भ देता हूं।

मैं अभी इसे फिर से देख रहा हूं, और महसूस करता हूं कि मेरा सवाल है। BB विधि के लिए चरण तीन में आपके पास ; जहाँ और । लिए अभिव्यक्ति में अंश और भाजक आंतरिक उत्पादों की तरह दिखते हैं। मेरे मामले में, , जहां एक गैर-तुच्छ Riemannian मीट्रिक के साथ एक सदिश स्थान है: K. अर्थात्, । क्या इससे की परिभाषा प्रभावित होती है ? αk+1=(yk)Tyk(yk)Tskyk=gk+1gksk=αk1gkαk+1gkVVgk,gkV=gk,KgkL2αk+1
NLi10Me

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

डॉ। क्लैसन, मैं ISBI 2017 को एक पेपर प्रस्तुत कर रहा हूँ, जिसमें मैंने कुछ प्रयोगों का विवरण दिया है, जो कि एक अलग छवि पंजीकरण कार्य के लिए BB + लाइन खोज विधि का उपयोग करके किया है। क्या आप पांडुलिपि पर एक लेखक के रूप में शामिल होना चाहेंगे? मैंने इसे अभी तक नहीं लिखा है, लेकिन मेरे पास अधिकांश प्रयोग या तो पूर्ण हैं या चल रहे हैं। कृपया मुझे बताओ।
NLi10Me

@ NLi10Me इस तरह की पेशकश के लिए धन्यवाद, लेकिन मैंने कुछ भी ऐसा नहीं किया है जो सह-पूजा का गुण हो - मैंने जो कुछ भी लिखा है वह मानक पाठ्यपुस्तक सामग्री है। यदि आप इसके बारे में दृढ़ता से महसूस करते हैं, तो आप मुझे "इस बारे में सहायक टिप्पणी (जो भी मदद की है) के लिए धन्यवाद कर सकते हैं", लेकिन यह भी आवश्यक नहीं है। यह जानना कि मैंने जो लिखा था वह काफी था!
ईसाई क्लैसन

1
क्षमा करें, आप सही हैं, कि एक टाइपो है - तय! (अर्मिजो स्थिति को अक्सर रूप में लिखा जाता है , जहां खोज दिशा है - जो कि नकारात्मक है ग्रेडिएंट - और स्टेप साइज़, जो स्पष्ट करना चाहिए कि क्या चल रहा है।)f(x+σs)f(x)γf(x)T(σs)sσ
क्रिश्चियन क्लैसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.