Кіріспе
Математикалық оңтайландыру әдісі
(Шектеусіз) математикалық оңтайландыруда, кері іздеу – берілген іздеу бағыты бойынша қозғалу мөлшерін анықтауға арналған жол іздеу әдісі. Оны қолдану үшін мақсатты функция дифференциалдануы және оның градиенті белгілі болуы керек. Бұл әдіс жол іздеу бағыты бойынша қозғалыс үшін қадам өлшемін салыстырмалы түрде үлкен мәннен бастауды және қадам өлшемін қайта-қайта кішірейте беруді (яғни, «керіге қарай жылжуды») қамтиды, осылайша қадам өлшемі мен мақсатты функцияның жергілікті градиентіне сүйене отырып, күтілетін төмендеуге сай келетін мақсатты функцияның төмендеуі байқалады. Көп қолданылатын тоқтату шарты – Армижо-Голдштейн шарты. Кері іздеу әдетте градиенттік төмен түсу (GD) үшін қолданылады, бірақ оны басқа жағдайларда да қолдануға болады. Мысалы, Гессиан матрицасы оң анықталған болса, оны Ньютон әдісімен де қолдануға болады.
Оқу деңгейінің төменгі шегі
Бұл f функциясы, нүкте және түсу бағытына байланысты оң санды табудың жүйелі жолы бар ма, сонда барлық оқу жылдамдықтары Армихо шартын қанағаттандырады деген сұраққа жауап береді. Егер , онда біз шамамен таңдауымыз мүмкін, мұнда – нүкте маңындағы градиент үшін жергілікті Липшиц тұрақтысы (Липшиц үздіксіздігін қараңыз). Егер функция болса, онда нүктедегі функцияның Гессиан матрицасына жақын болады. Толықрақ мәлімет алу үшін қараңыз.
Оқу деңгейінің жоғарғы шегі
Бірдей жағдайда, қызықты сұрақ Армихо шартында (яғни, «Функцияны практикада кері іздеуді пайдалану арқылы азайту» бөлімінде анықталғандай, шектеу жоқ кезде) қандай үлкен оқыту жылдамдықтарын таңдауға болады, себебі үлкен оқыту жылдамдықтары шекті нүктеге жақын болғанда (егер бар болса) конвергенцияны жылдамдатуға мүмкіндік береді. Мысалы, Вулф шарттарында бұл туралы еске салынбаған, бірақ қисықтық шарты деп аталатын басқа шарт енгізілген. Егер құрастырылған тізбек дегенерацияланбаған сындық нүктеге жақын түсуі керек болса, оқу жылдамдықтарының жоғарғы шегі бар екені көрсетілген, қараңыз: Оқу жылдамдықтары жоғарыдан шамамен шектелуі керек. Мұнда H – функцияның шекті нүктедегі Гессиан, оның керісі және сызықтық оператордың нормасы. Осылайша, бұл нәтиже мысалы, Морзе функциялары үшін кері іздеуді пайдаланғанда қолданылады. 1-өлшемде бұл сан екенін ескеріңіз, сондықтан бұл жоғарғы шек «Оқу жылдамдығы үшін төменгі шек» бөліміндегі төменгі шекпен бірдей. Екінші жағынан, егер шекті нүкте дегенеративті болса, онда оқыту жылдамдықтары шексіз болуы мүмкін. Мысалы, кері іздеудің шексіз кері іздеу градиентінің түсуі деп аталатын модификациясы (қараңыз) оқу жылдамдығын жартысына дейін азайтуға мүмкіндік береді, мұндағы – тұрақты. Қарапайым функциялармен жасалған тәжірибелер «Тәжірибеде кері іздеуді пайдалану арқылы функцияны азайту» бөлімінде сипатталған негізгі нұсқаға қарағанда шексіз кері іздеу градиентінің төмендеуінің әлдеқайда жылдам конвергенциясын көрсетеді.
Уақыт тиімділігі
Армижо шартының қанағаттандырылуы қымбат болғандықтан, артқа қарай іздеуді пайдалануға қарсы аргумент бар, әсіресе үлкен масштабты оңтайландыруда. Онымен айналып өтудің бір жолы бар (екі жолды артқа қарай іздеу деп аталады), жақсы теориялық кепілдіктері бар және терең нейрондық желілерде жақсы нәтижелермен сынақтан өткен, қараңыз. (Онда Армижо шартының жақсы/тұрақты іске асырылымдарын және оның Momentum және NAG сияқты танымал алгоритмдермен үйлесімділігін, Cifar10 және Cifar100 сияқты деректер жиынтықтарында табуға болады.) Егер тізбек конвергенцияға жақын болса (итеративті оңтайландыру әдісін қолданғанда тілек етілгендей), оқу жылдамдықтарының тізбегі n жеткілікті үлкен болғанда аз өзгеруі керек. Сондықтан, егер іздеу кезінде әрқашан бастаса, тізбек алыс болса, көп уақытты жоғалтады. Оның орнына, бастап іздеу керек. Екінші байқау – мүмкін, үлкен болса, оқу жылдамдығын арттыруға рұқсат ету керек (алгоритм бөліміндегідей тек азайту емес). Екі жолды артқа қарай іздеу алгоритмі: n қадамында:
орнатыңыз және итерация санағын (Армижо шарты орындалса, оқу жылдамдығын арттырыңыз). Егер болса, онда бұл шарт және шарт орындалғанда, j-ді қайта-қайта орнатып, арттырыңыз. (Армижо шарты орындалмаса, оқу жылдамдығын азайтыңыз). Керісінше, егер болса, онда шарт орындалғанға дейін қайта-қайта арттырып, орнатыңыз. Оқу жылдамдығы үшін қайтарыңыз. (Жоғарыда аталған мақалада терең нейрондық желілерде бұрын сынақтан өтпеген 1), 3) және 4) алгоритмінің сипаттамасын табуға болады). Екі жолды артқа қарай іздеу және негізгі стандартты градиенттік төмендеу алгоритмі арасындағы гибридті қоспа арқылы уақытты үнемдеуге болады. Бұл процедураның да жақсы теориялық кепілдігі және жақсы сынақ нәтижелері бар. Шамамен айтқанда, екі жолды артқа қарай іздеуді бірнеше рет орындап, содан кейін алынған оқу жылдамдығын функция мәні өспесе өзгеріссіз пайдаланамыз. Мұны дәл осылай істеу керек. Алдын ала санды таңдап, итерация санағын j=0 деп орнатыңыз. қадамдарында екі жолды артқа қарай іздеуді қолданыңыз. Әр қадамда k жиынында: Егер болса, онда таңдаңыз және (Осы жағдайда оқу жылдамдығын өзгеріссіз пайдаланыңыз). Әйтпесе, егер болса, екі жолды артқа қарай іздеуді қолданыңыз. k-ны 1-ге арттырып, қайталаңыз. j-ді 1-ге арттырыңыз.
Return for the learning rate
(In one can find a description of an algorithm with 1), 3) and 4) above, which was not tested in deep neural networks before the cited paper.) One can save time further by a hybrid mixture between two way backtracking and the basic standard gradient descent algorithm. This procedure also has good theoretical guarantee and good test performance. Roughly speaking, we run two way backtracking a few times, then use the learning rate we get from then unchanged, except if the function value increases. Here is precisely how it is done. One choose in advance a number , and a number
Set iteration counter j=0. At the steps , use Two way Backtracking. At each step k in the set : Set If , then choose and (So, in this case, use the learning rate unchanged.) Otherwise, if , use Two way Backtracking. Increase k by 1 and repeat. Increase j by 1.
Теориялық кепілдік (дегенмен төмен түсетінде)
Вольфтың шартымен салыстырғанда Армихо шарты теориялық тұрғыдан жақсырақ. Шындығында, бүгінгі күнге дейін кері іздеу және оның модификациялары барлық сандық оңтайландыру алгоритмдерінің ішінде теориялық тұрғыдан ең сенімді әдістер болып табылады. Критикалық нүктелер – мақсатты функцияның градиенті 0 болатын нүктелер. Жергілікті минимумдар – бұл сынды нүктелер, бірақ барлық сынды нүктелер жергілікті минимумдар емес. Мысалы, ат құйрығын қарастырайық. Седлолық нүктелер – функцияның кем дегенде бір бағытта (жергілікті) максимумы болатын сынды нүктелер. Сондықтан бұл нүктелер жергілікті минимумдардан өте алыс. Мысалы, егер функцияның кем дегенде бір седлолық нүктесі болса, онда ол дөңес бола алмайды. Седлолық нүктелердің оңтайландыру алгоритмдеріне қатысы бар: үлкен масштабтағы (яғни жоғары өлшемді) оңтайландыруда минимумдардан гөрі көбірек седлолық нүктелер кездеседі. Сондықтан жақсы оңтайландыру алгоритмі седлолық нүктелерден аулақ болуы керек. Тераң оқытуда да седлолық нүктелер жиі кездеседі, қараңыз. Критикалық нүктелерге жуықтасу үшін: Мысалы, егер шығын функциясы нақты аналитикалық функция болса, онда жуықтасу кепілдігі көрсетілген. Негізгі идея – нақты аналитикалық функцияға тән Лояшевич теңсіздігін пайдалану. Лояшевич теңсіздігін қанағаттандыратын тегіс емес функциялар үшін жоғарыдағы жуықтасу кепілі кеңейтіледі, қараңыз. Артқа қарай іздеу арқылы құрылған әрбір тізбектегі кластерлік нүкте (яғни, егер кіші тізбек конвергенцияланса, онда оның лимиті) – сынды нүкте болып табылады. Ең көп дегенде саналатын сынды нүктелер саны бар функция (мысалы, Морзе функциясы) және тығыз субдеңгейлерге ие, сондай-ақ Липшиц үздіксіз градиенті бар және стандартты GD оқу жылдамдығымен <1/L қолданылса («Стохастикалық градиент түсуі» бөлімін қараңыз), онда жуықтасу кепілдігі бар, мысалы, қараңыз. Мұндағы тығыз субдеңгейлер туралы болжам Евклид кеңістігінің тығыз жиынтықтарымен жұмыс істеуді қамтамасыз ету үшін жасалған. Жалпы жағдайда, тек саналатын сынды нүктелер саны бар деп есептегенде, жуықтасу кепілдігі бар, қараңыз. Сол сілтемеде кері іздеу сызығының басқа модификациялары үшін де (мысалы, «Оқу жылдамдықтары үшін жоғарғы шекте» бөлімінде айтылған шексіз кері іздеу градиентінің төмендеуі) ұқсас жуықтасу кепілдігі бар. Тіпті функцияның санауға болатын емес сынды нүктелер саны болса да, жуықтасу мінез-құлқы туралы кейбір маңызды фактілерді шығаруға болады. Стохастикалық жағдайда, градиент Липшиц үздіксіз деп есептегенде және оқу жылдамдығының азайту схемасының (оқу жылдамдықтарының қосындысы шексіз және оқу жылдамдықтарының квадраттарының қосындысы шекті болуын талап ететін) шектеулі нұсқасын қолданғанда (қараңыз «Стохастикалық градиент түсуі» бөлімін) және функция қатаң дөңес болса, онда жуықтасу белгілі нәтижеде орнатылады. Осы нәтижелердің ешқайсысы (конвекс емес функциялар үшін) осы уақытқа дейін басқа оңтайландыру алгоритмі үшін дәлелденген жоқ. Седлолық нүктелерден аулақ болу үшін: Мысалы, егер шығын функциясының градиенті Липшиц үздіксіз болса және стандартты GD оқу жылдамдығы <1/L таңдалса, онда бастапқы нүкте кездейсоқ таңдалғанда (дәлірек айтқанда, Лебегтің нөлдік өлшемі жиынтығынан тыс), құрылған тізбек дегенерацияланбаған седлолық нүктеге (яғни, седлолық нүктеге) конвергенцияланбайды (дегенерацияланған седлолық нүктеге) конвергенцияланбайды. Градиент Липшиц үздіксіз және оқу жылдамдығының азайту схемасы қолданылса («Стохастикалық градиент түсуі» бөлімін қараңыз), онда седлолық нүктелерден аулақ болу орнатылады.
Арнайы жағдай: (стандартты) стохастикалық градиент түсімі (SGD)
Егер шығындар функциясының градиенті Липшиц тұрақтысы L болатын Липшиц үздіксіз болса, онда оқыту жылдамдығын тұрақты және өлшемі таңдау , градиент түсу үшін кері іздеудің ерекше жағдайы болып табылады. Бұл кем дегенде осы схемада қолданылған, бірақ L үшін жақсы бағалау қажет, әйтпесе егер оқыту жылдамдығы 1/L-ге қатысты тым жоғары болса, схеманың конвергенция кепілі болмайды. Егер шығындар функциясы f(t)=|t| функциясының тегістеуі болса, онда ненің дұрыс емес екенін көруге болады. Алайда, мұндай жақсы бағалау үлкен өлшемдерде қиын және еңбекті талап етеді. Сонымен қатар, егер функцияның градиенті жаһандық Липшиц үздіксіз болмаса, онда бұл схеманың конвергенция кепілі болмайды. Мысалы, бұл , шығын функциясы үшін және кез келген тұрақты оқыту жылдамдығы үшін таңдалған жаттығуға ұқсас, кездейсоқ бастапқы нүктесі бар реттілік осы ерекше схемамен құрылғанда жаһандық минимум 0-ға жиналмайды. Егер оқыту жылдамдығы 1/L-мен шектелуі керек деген шартқа мән бермесе, онда бұл ерекше схема әлдеқайда ертерек, кем дегенде 1847 жылдан бері Коши қолданған, оны стандартты GD деп атауға болады (мұндағы SGD, яғни стохастикалық градиентпен шатастыруға болмайды). Стохастикалық жағдайда (мысалы, терең оқытудағы шағын топтамалық жағдайда) стандартты GD стохастикалық градиент түсуі немесе SGD деп аталады. Шығын функциясының жаһандық үздіксіз градиенті болса да, терең оқытудағы шығын функциялары үшін Липшиц тұрақтысының жақсы бағалауы терең нейрондық желілердің өте жоғары өлшемдерін ескере отырып, мүмкін емес немесе қажетсіз болуы мүмкін. Сондықтан, стандартты GD немесе SGD қолдану кезінде оқыту жылдамдығын нақты реттеу әдісі бар. Бір жолы – жақсы нәтиже беруі мүмкін деген үмітпен, желілік іздеуден көптеген оқыту жылдамдықтарын таңдау. (Егер жоғалту функциясының Липшиц үздіксіз градиенті болмаса, онда жоғарыдағы мысалдан торды іздеудің көмектеспейтінін көреміз.) Тағы бір тәсіл – адаптивті стандартты GD немесе SGD, олардың кейбір өкілдері Adam, Adadelta, RMSProp және т.б., Стохастикалық градиент түсуі туралы мақаланы қараңыз. Адаптивті стандартты GD немесе SGD-де оқыту жылдамдықтары әрбір итерациялық n қадамда өзгеруге рұқсат етіледі, бірақ градиент түсу үшін кері іздеу сызығынан өзгеше. Армихо шарты орындалғанша кері іздеуді пайдалану қымбатқа түседі, өйткені адаптивті стандартты GD немесе SGD үшін бұранда іздеу қажет емес. Бұл адаптивті стандартты GD немесе SGD-нің көпшілігі барлық n үшін төмендеу қасиетіне ие емес, кері іздеу сызығы градиент түсуін іздейді. Бұл қасиетке ие бірнеше ғана, және олар жақсы теориялық қасиеттерге ие, бірақ олар Армихо шартының немесе жалпы Армихо шартының ерекше жағдайлары болып табылады. Біріншісі, егер L үшін жақсы бағалау мүмкін болса, үйрену жылдамдығын тұрақты <1/L деп таңдау, жоғарыда айтылғандай. Екіншісі – бұл төмендеу үйрену жылдамдығы, белгілі қағазда қолданылады , егер функцияның жаһандық Липшиц үздіксіз градиенті болса (бірақ Липшиц тұрақты белгісіз болуы мүмкін) және үйрену жылдамдықтары 0-ға жақындаса.
Қорытынды
Қорыта айтқанда, кері іздеу (және оның түрлендірілімдері) – іске асыру оңай, кез келген функцияға қолданылатын, теориялық тұрғыдан сенімді (сыни нүктелерге жуықтасу және еңіс нүктелерінен қашу бойынша) және практикада жақсы нәтиже беретін әдіс. Теориялық кепілдігі бар басқа да әдістер, мысалы, оқу жылдамдығын азайту немесе оқу жылдамдығы <1/L стандартты GD, олардың екеуі де мақсатты функцияның градиенті Липшиц үздіксіз болуын қажет етеді, кері іздеудің арнайы жағдайы болып табылады немесе Армихо шартын орындайды. Бұл әдісті қолдану үшін шығын функциясының үздіксіз түрде дифференциалдануы қажет болғанымен, практикада тығыз ашық жиынтықта үздіксіз дифференциалдалатын функцияларға да, мысалы, немесе , сәтті қолдануға болады.