Градіє́нтний спуск (англ.gradient descent) — це ітераційнийалгоритмоптимізаціїпершого порядку, в якому для знаходження локального мінімуму функції здійснюються кроки, пропорційні протилежному значеннюградієнту (або наближеного градієнту) функції в поточній точці. Якщо натомість здійснюються кроки пропорційно самому значенню градієнту, то відбувається наближення до локального максимуму цієї функції; і ця процедура тоді відома як градіє́нтний підйо́м (англ.gradient ascent).
Градієнтний спуск відомий також як найшви́дший спуск (англ.steepest descent), або ме́тод найшви́дшого спу́ску (англ.method of steepest descent). Градієнтний спуск не слід плутати з методом перевалу[en] для наближення інтегралів.
Опис
Градієнтний спуск ґрунтується на тому спостереженні, що якщо функція кількох змінних[en] є визначеною[en] та диференційовною в околі точки , то зменшується найшвидше, якщо йти від в напрямку, протилежному градієнтові в , . З цього випливає, що якщо
для достатньо малого , то . Іншими словами, член віднімається від , оскільки ми хочемо рухатися проти градієнту, тобто вниз до мінімуму. Враховуючи це спостереження, починають з припущення про локальний мінімум , і розглядають таку послідовність , що
Ми маємо
і тому сподіваємося, що послідовність збігається до бажаного локального мінімуму. Зауважте, що значення розміру кроку (англ.step size) дозволено змінювати на кожній ітерації. Для деяких припущень стосовно функції (наприклад, що є опуклою, а задовольняє умові Ліпшиця) і певних варіантах вибору (наприклад, якщо його вибирають лінійним пошуком, який задовольняє умови Вольфе), збіжність до локального мінімуму може бути гарантовано. Якщо функція є опуклою, то всі локальні мінімуми є також і глобальними мінімумами, тому в такому випадку градієнтний спуск може збігатися до глобального розв'язку.
Цей процес проілюстровано на зображенні праворуч. Тут припускається, що визначено на площині, і що її графік має форму чаші. Сині криві є ізолініями, тобто областями, в яких значення є сталим. Червоні стрілки, які виходять з точок, показують напрям, протилежний градієнтові в цій точці. Зауважте, що (анти)градієнт у точці є ортогональним до ізолінії, яка проходить цією точкою. Видно, що спуск градієнтом веде нас до дна чаші, тобто до точки, в якій значення функції є мінімальним.
Приклади
Градієнтний спуск має проблеми з патологічними функціями, такими як показана тут функція Розенброка.
Функція Розенброка має вузьку вигнуту долину, яка містить мінімум. Дно цієї долини є дуже пологим. Через вигнутість пологої долини оптимізація повільно рухається в напрямку мінімуму зиґзаґом кроками малого розміру.
«Зиґзаґоподібна» природа цього методу також є очевидною нижче, де градієнтний спуск застосовано до .
Обмеження
Для деяких із наведених вище прикладів градієнтний спуск є відносно повільним поблизу мінімуму: з технічної точки зору, його асимптотичний темп збігання поступається багатьом іншим методам. Для невдало обумовлених опуклих задач градієнтний спуск «зиґзаґує» все більше, коли градієнт вказує майже ортогонально до найкоротшого напряму до точки мінімуму. Докладніше див. коментарі нижче.
Для недиференційовних функцій градієнтні методи є недостатньо визначеними. Для локально ліпшицевих задач, та особливо для задач опуклої оптимізації, цілком визначеними є в'язкові методи спуску. Також можуть застосовуватися не-спускові методи, такі як методи субградієнтної проєкції.[1] Ці методи зазвичай є повільнішими за градієнтний спуск. Іншою альтернативою для недиференційовних функцій є «згладжування» цих функцій, або обмеження функції гладкою функцією. За цього підходу розв'язують згладжену задачу в надії, що відповідь для неї є близькою до відповіді на незгладжену задачу (іноді це може бути зроблено строгим).
Розв'язання лінійної системи
Градієнтний спуск може застосовуватися для розв'язання системи лінійних рівнянь, переформульованого як задача квадратичної мінімізації, наприклад, із застосуванням методу найменших квадратів. Розв'язок
у сенсі методу найменших квадратів визначається як мінімізація функції
В традиційному методі найменших квадратів для дійсних та використовується евклідова норма, і в цьому випадку
В такому випадку мінімізація лінійним пошуком, яка знаходить на кожній ітерації локально оптимальний розмір кроку , може виконуватися аналітично, і явні формули локально оптимального є відомими.[2]
Для розв'язання лінійних рівнянь градієнтний спуск застосовується рідко, а однією з найпопулярніших альтернатив є метод спряжених градієнтів. Швидкість збігання градієнтного спуску залежить від максимального та мінімального власних значень, тоді як швидкість збігання спряжених градієнтів має складнішу залежність від цих власних значень, і може отримувати користь від передобумовлювання[en]. Градієнтний спуск також отримує користь від передобумовлювання, але це не роблять так поширено.
Розв'язання нелінійної системи
Градієнтний спуск може також застосовуватися і до розв'язання систем нелінійних рівнянь. Нижче наведено приклад, як застосовувати градієнтний спуск для розв'язання для трьох невідомих змінних, x1, x2 та x3. Цей приклад показує одну ітерацію градієнтного спуску.
Тепер мусить бути знайдено придатний , такий що . Це можна зробити за допомогою будь-якого з безлічі алгоритмів лінійного пошуку. Можна також просто припустити , що дає
При обчисленні на цьому значенні
Зменшення з до значення наступного кроку є відчутним зменшенням цільової функції. Подальші кроки знижуватимуть її значення доти, доки не буде знайдено розв'язок системи.
Коментарі
Градієнтний спуск працює в просторах з будь-яким числом вимірів, навіть у нескінченновимірних. В останньому випадку простір пошуку зазвичай є простором функцій, і для визначення напрямку спуску здійснюється обчислення похідної Гато функціоналу, який мінімізують.[3]
Якщо кривина заданої функції дуже різниться в різних напрямках, то градієнтному спускові може знадобитися багато ітерацій для обчислення локального мінімуму з потрібною точністю. Для таких функцій повільне збігання лікується передобумовлюванням[en], яке змінює геометрію простору так, щоби надати множинам рівнів функції форми концентричних кіл. Проте побудова та застосування передобумовлювання можуть бути обчислювально витратними.
Градієнтний спуск можна поєднувати з лінійним пошуком, який на кожній ітерації шукає локально оптимальний розмір кроку . Виконання лінійного пошуку може бути витратним за часом. З іншого боку, застосування незмінного малого може давати погану збіжність.
Кращими альтернативами можуть бути методи на основі методу Ньютона та обернення гессіану із застосуванням методик спряжених градієнтів.[4][5] Загалом такі методи збігаються за меншу кількість ітерацій, але вартість кожної ітерації є вищою. Прикладом є Метод БФГШ, який складається з обчислення на кожному кроці матриці, на яку множиться вектор градієнту, щоби йти в «найкращому» напрямку, поєднаного зі складнішим алгоритмом лінійного пошуку для знаходження «найкращого» значення . Для надзвичайно великих задач, у яких домінують питання комп'ютерної пам'яті, замість БФГШ або найшвидшого спуску повинні застосовуватися методи з обмеженою пам'яттю, такі як О-БФГШ[en].
Алгоритм градієнтного спуску застосовується для знаходження локального мінімуму функції f(x)=x4−3x3+2 з похідною f'(x)=4x3−9x2. Ось реалізація мовою програмування Python.
# Виходячи з обчислень, ми очікуємо, що локальний мінімум матиме місце в x=9/4x_old=0# Це значення не важливе, оскільки abs(x_new - x_old) > precisionx_new=6# Алгоритм стартує з x=6gamma=0.01# розмір крокуprecision=0.00001deff_derivative(x):return4*x**3-9*x**2whileabs(x_new-x_old)>precision:x_old=x_newx_new=x_old-gamma*f_derivative(x_old)print("Локальний мінімум має місце в",x_new)
Наведений вище фрагмент коду має бути змінено по відношенню до розміру кроку відповідно до системи, яка є під руками, а збіжність може бути зроблено швидшою шляхом застосування адаптивного розміру кроку. В наведеному вище випадку розмір кроку не є адаптивним. Він залишається на рівні 0.01 в усіх напрямках, що може іноді призводити до невдачі методу за рахунок відхилення від мінімуму.
MATLAB
Наступний код MATLAB демонструє конкретне рішення для розв'язання системи нелінійних рівнянь, представленої в попередньому розділі:
% Багатовимірна вектор-функція G(x)G=@(x)[3*x(1)-cos(x(2)*x(3))-3/2;4*x(1)^2-625*x(2)^2+2*x(2)-1;exp(-x(1)*x(2))+20*x(3)+(10*pi-3)/3];% Якобіан GJG=@(x)[3,sin(x(2)*x(3))*x(3),sin(x(2)*x(3))*x(2);8*x(1),-1250*x(2)+2,0;-x(2)*exp(-x(1)*x(2)),-x(1)*exp(-x(1)*x(2)),20];% Цільова функція F(x), яку потрібно мінімізувати, щоби розв'язати G(x)=0F=@(x)0.5*sum(G(x).^2);% Градієнт F (часткові похідні)dF=@(x)JG(x).'*G(x);% ПараметриGAMMA=0.001;% розмір кроку (темп навчання)MAX_ITER=1000;% максимальне число ітераційFUNC_TOL=0.1;% кінцеве допустиме відхилення F(x)fvals=[];% зберігання значень F(x) протягом ітераційprogress=@(iter,x)fprintf('iter = %3d: x = %-32s, F(x) = %f\n',...iter,mat2str(x,6),F(x));% Ітеруванняiter=1;% лічильник ітераційx=[0;0;0];% початкове припущенняfvals(iter)=F(x);progress(iter,x);whileiter<MAX_ITER&&fvals(end)>FUNC_TOLiter=iter+1;x=x-GAMMA*dF(x);% градієнтний спускfvals(iter)=F(x);% обчислити цільову функціюprogress(iter,x);% показати перебігend% Накреслитиplot(1:iter,fvals,'LineWidth',2);gridon;title('Objective Function');xlabel('Iteration');ylabel('F(x)');% Обчислити кінцевий розв'язок системи рівнянь G(x)=0disp('G(x) = ');disp(G(x))% Виведення:%% iter = 1: x = [0;0;0] , F(x) = 58.456136% iter = 2: x = [0.0075;0.002;-0.20944] , F(x) = 23.306394% iter = 3: x = [0.015005;0.0015482;-0.335103] , F(x) = 10.617030% ...% iter = 187: x = [0.683335;0.0388258;-0.52231] , F(x) = 0.101161% iter = 188: x = [0.684666;0.0389831;-0.522302] , F(x) = 0.099372%% (збіглося за 188 ітерацій після перевищення кінцевого допустимого відхилення F(x))
Розширення
Градієнтний спуск може бути розширено для підтримки обмежень шляхом включення проєкції на множину обмежень. Цей метод підходить лише тоді, коли ця проєкція є ефективно обчислюваною на комп'ютері. За зручних припущень цей метод збігається. Цей метод є окремим випадком послідовно-зворотного алгоритму для монотонних включень (який включає опукле програмування та варіаційні нерівності[en]).[6]
Швидкий проксимальний градієнтний метод
Інше розширення градієнтного спуску виникло завдяки Юрієві Нестерову[en] 1983 року,[7] і було згодом узагальнене. Він пропонує просту видозміну цього алгоритму, яка уможливлює швидке збігання для опуклих задач. А саме, якщо функція є опуклою, а є ліпшицевою, і немає припущення, що є сильно опуклою, то похибку цільового значення, породжувану методом градієнтного спуску на кожному кроці , буде обмежено. Із застосуванням методики прискорення Нестерова похибка знижується до .[8]
Метод імпульсу
Ще одним розширенням, яке знижує ризик застрягнути в локальному мінімумі, а також істотно прискорює збіжність у випадках, коли інакше процес би сильно зиґзаґував, є метод імпульсу (англ.momentum method), який використовує член імпульсу по аналогії з «масою ньютонових частинок, які рухаються в'язким середовищем у консервативному силовому полі».[9] Цей метод часто використовують як розширення алгоритмів зворотного поширення, що застосовуються для тренування штучних нейронних мереж.[10][11]
↑Kiwiel, Krzysztof C. (2001). Convergence and efficiency of subgradient methods for quasiconvex minimization. Mathematical Programming (Series A). Т. 90, № 1. Berlin, Heidelberg: Springer. с. 1—25. doi:10.1007/PL00011414. ISSN0025-5610. MR1819784. (англ.)
↑Yuan, Ya-xiang (1999). Step-sizes for the gradient method(PDF). AMS/IP Studies in Advanced Mathematics. Providence, RI: American Mathematical Society. 42 (2): 785.{{cite journal}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)(англ.)
↑G. P. Akilov, L. V. Kantorovich, Functional Analysis, Pergamon Pr; 2 Sub edition, ISBN 0-08-023036-9, 1982 (англ.)
↑T. Strutz: Data Fitting and Uncertainty (A practical introduction to weighted least squares and beyond). 2nd edition, Springer Vieweg, 2016, ISBN 978-3-658-11455-8. (англ.)
Mordecai Avriel (2003). Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0. (англ.)
Jan A. Snyman (2005). Practical Mathematical Optimization: An Introduction to Basic Optimization Theory and Classical and New Gradient-Based Algorithms. Springer Publishing. ISBN 0-387-24348-8(англ.)
Arachosia and the Pactyans during the 1st millennium BC Perbatasan Afganistan–Pakistan atau lebih dikenal Garis Durand (bahasa Pashtun: د ډیورنډ کرښه) adalah batas internasional sepanjang 2,430-kilometer (1,510 mi) yang memisahkan antara Pakistan dan Afghanistan. Garis ini diberlakukan sejak tahun 1896 antara Sir Mortimer Durand, seorang diplomat Inggris dan pegawai negeri sipil British India, dan Abdur Rahman Khan, Amir Afghanistan untuk memperjelas batas untuk memperba...
Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Desember 2022. Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Javana...
Yongzhou adalah sebuah kota tingkat prefektur di selatan provinsi Hunan, Republik Rakyat Tiongkok, yang terletak di tepi selatan Sungai Xiang, yang terbentuk oleh persimpangan Sungai Xiao dan Xiang, dan berbatasan dengan Guangdong di tenggara dan Guangzi di barat daya. Dengan sejarah 2000 tahun, Yongzhou adalah salah satu dari empat kabupaten kuno di Hunan. Pranala luar Wikivoyage memiliki panduan wisata Yongzhou. Official website of Yongzhou Government Referensi lbsPembagian setingkat count...
Pour les articles homonymes, voir Baudot. Émile BaudotÉmile Baudot.BiographieNaissance 11 septembre 1845MagneuxDécès 28 mars 1903 (à 57 ans)SceauxNationalité françaiseActivités Inventeur, ingénieur électricien, ingénieurConjoint Marié avec Marie Joséphine Adélaïde Langrognet, le 14/01/1890 à Bar-le-Duc département de la Meuse.Autres informationsDistinctions Officier de la Légion d'honneur (1898)Chevalier de l'ordre de François-JosephChevalier de l'ordre des Saints-...
This article is about a town in Colombia. For the district in Costa Rica, see San José de la Montaña District. This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: San José de la Montaña – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this template message) Municipality and town in A...
Persamaan van der Waals (atau persamaan keadaan van der Waals; dinamai dari Johannes Diderik van der Waals) merupakan suatu persamaan keadaan yang didasarkan pada alasan yang dapat diterima bahwa gas nyata tidak mengikuti hukum gas ideal.[1][2] Hukum gas yang ideal memperlakukan molekul gas sebagai partikel titik yang tidak berinteraksi kecuali dalam tumbukan elastis. Dengan kata lain, mereka tidak mengambil ruang apa pun, dan tidak tertarik atau ditolak oleh molekul gas lainn...
Church in London Borough of Hackney, United KingdomSt Leonard's, Shoreditch18th-century print of St Leonard'sLocationLondon Borough of HackneyCountryUnited KingdomDenominationChurch of EnglandArchitectureArchitect(s)George Dance the ElderStylePalladianYears built1740AdministrationDioceseLondonClergyVicar(s)Paul Turp Looking towards the east end St Leonard's, Shoreditch, is the ancient parish church of Shoreditch, often known simply as Shoreditch Church. It is located at the intersection of S...
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (يوليو 2022) السيرة العاشورية: الحرافيش (ج1) مبني على ملحمة الحرافيش قصة نجيب محفوظ إخراج وائل عبد الله سيناريو محسن زاي...
Canadian ice hockey player Ice hockey player Sophie Shirley Shirley with PWHL Boston in 2024Born (1999-06-30) June 30, 1999 (age 24)Saskatoon, Saskatchewan, CanadaHeight 5 ft 9 in (175 cm)Weight 140 lb (64 kg; 10 st 0 lb)Position ForwardShoots RightPWHL teamFormer teams PWHL BostonWisconsin Badgers (NCAA)Calgary Inferno (CWHL)National team CanadaPlaying career 2015–present Medal record Women's ice hockey Representing Canada World U18 C...
Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini. Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan. Mengganti markah HTML dengan markah wiki bila dimungkinkan. Tambahkan pranala wiki. Bila dirasa perlu, buatlah pautan ke artikel wiki lainnya dengan cara menambahkan [[ dan ]] pada kata yang bersangkutan (lihat WP:LINK untuk keterangan lebih lanjut...
Charles Wilkes Charles WilkesInformación personalNacimiento 1798Nueva YorkFallecimiento 1877, 78 añosWashington D. C.Sepultura Cementerio Nacional de Arlington Nacionalidad EstadounidenseFamiliaPadres John de Ponthieu Wilkes Mary Magdalene Wilkes EducaciónEducado en Universidad de Columbia Información profesionalÁrea oficial de la Marina, explorador, botánico, pteridólogoAños activo desde 1818Cargos ocupados Comandante de Expedición Wilkes (1838-1842) Abreviatura en botánica Wi...
Study of language within historical and social contexts This article is about an academic field of study. For the journal of the same name, see Anthropological Linguistics (journal). Part of a series onAnthropology OutlineHistory Types Archaeological Biological Cultural Linguistic Social Archaeological Aerial Aviation Battlefield Biblical Bioarchaeological Environmental Ethnoarchaeological Experiential Feminist Forensic Maritime Paleoethnobotanical Zooarchaeological Biological Anthrozoologica...
Desktop computer by Apple Inc. Mac StudioDeveloperApple Inc.TypeCompact desktopWorkstationRelease dateMarch 18, 2022; 2 years ago (2022-03-18)Introductory price$1999 (current M2 Max model)$3999 (current M2 Ultra model)Operating systemmacOSSystem on a chipApple M-seriesMemoryUp to 192 GB (unified LPDDR5)StorageUp to 2x Apple-proprietary 8 TB NVMe solid-state driveRemovable storageFull-size SDXCConnectivityUSB 3.0, Thunderbolt 4, HDMI, 10 Gigabit Ethernet, Wi-Fi, BluetoothPowe...
Questa voce sull'argomento film commedia è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Le SchpountzFernandel in una scena del filmTitolo originaleLe Schpountz Lingua originalefrancese, italiano Paese di produzioneFrancia Anno1938 Durata160 min Dati tecniciB/Nrapporto: 1,37:1 Generecommedia RegiaMarcel Pagnol SceneggiaturaMarcel Pagnol ProduttoreCharles Pons Casa di produzioneLes Films Marcel Pagnol F...
Araucaria biramulata Status konservasi Rentan (IUCN 2.3) Klasifikasi ilmiah Kerajaan: Plantae Divisi: Pinophyta Kelas: Pinopsida Ordo: Pinales Famili: Araucariaceae Genus: Araucaria Spesies: A. biramulata Nama binomial Araucaria biramulataBuchh. Araucaria biramulata di Blue Mountains Botanic Garden Araucaria biramulata (Biramule araucaria) adalah spesies konifer dari familia Araucariacea. Tumbuhan ini hanya dapat ditemukan di Kaledonia Baru tepatnya di pulau utama Grande Terre. Ar...