გრადიენტული დაშვება (Gradient descent) – ოპტიმიზაციის მეთოდი: მოდელი პარამეტრებს პატარა ნაბიჯებით იმ მიმართულებით ცვლის, სადაც შეცდომა მცირდება.
როგორ მუშაობს გრადიენტული დაშვება
მოდელს აქვს შეცდომის ფუნქცია, რომელიც გვიჩვენებს, რამდენად ცუდად მუშაობს. გრადიენტი მიუთითებს, რომელი მიმართულებით იზრდება შეცდომა ყველაზე სწრაფად. გრადიენტული დაშვება წონებს საპირისპირო მიმართულებით, პატარა ნაბიჯით ცვლის, რომ შეცდომა შემცირდეს. ნაბიჯის ზომას სწავლის ტემპი (learning rate) ეწოდება. პროცესი მრავალჯერ მეორდება, სანამ შეცდომა საკმარისად არ დაიკლებს.
მაგალითი ყოველდღიური ცხოვრებიდან
წარმოიდგინე, რომ ნისლში მთიდან ეშვები და ხეობას ეძებ. შორს ვერ ხედავ, ამიტომ ყოველ ნაბიჯზე ფეხით ამოწმებ, სად არის დაღმართი, და იქით მიდიხარ. გრადიენტული დაშვებაც ზუსტად ასე „ეშვება“ ყველაზე დაბალი შეცდომისკენ.
რატომ არის გრადიენტული დაშვება მნიშვნელოვანი
- სწავლის ძრავა – თანამედროვე ნეირონული ქსელების უმეტესობა მისი ვარიანტებით სწავლობს.
- მასშტაბი – მუშაობს მილიარდობით პარამეტრის მქონე მოდელებზეც.
- დახვეწა – გავრცელებული ვარიანტებია SGD და Adam.
გრადიენტული დაშვების სახეები
კლასიკურ გრადიენტულ დაშვებაში გრადიენტი მთელ დატასეტზე ითვლება, რაც დიდ მონაცემებზე ძალიან ნელია. ამიტომ პრაქტიკაში იყენებენ სტოქასტურ გრადიენტულ დაშვებას (SGD), სადაც გრადიენტი ერთ მაგალითზე ან პატარა ბეჩზე ითვლება. ასეთი განახლებები უფრო „ხმაურიანია“, მაგრამ ბევრად სწრაფია და ზოგჯერ მოდელს ცუდი ადგილიდან თავის დაღწევაშიც ეხმარება.
გაუმჯობესებულ ვარიანტებს ინერციის იდეა აქვთ: წინა ნაბიჯების მიმართულება ახალ ნაბიჯსაც გავლენას ახდენს, ისე როგორც დაღმართზე დაგორებული ბურთი. Adam და მისი მონათესავე ოპტიმიზატორები ამას თითოეული პარამეტრისთვის ნაბიჯის ავტომატურ რეგულირებასთან აერთიანებენ. დიდი ენობრივი მოდელების ტრენინგში სწორედ ასეთი ოპტიმიზატორები გამოიყენება ყველაზე ხშირად.
გრადიენტულ დაშვებას თავისი სირთულეები აქვს. შეცდომის „ლანდშაფტი“ შეიძლება ბევრ ორმოს შეიცავდეს, და ალგორითმი შეიძლება საუკეთესოს ნაცვლად ახლომდებარე, ნაკლებად კარგ ორმოში გაჩერდეს. პრაქტიკაში აღმოჩნდა, რომ დიდ ნეირონულ ქსელებში ეს ნაკლებად მძიმე პრობლემაა, ვიდრე თავდაპირველად ფიქრობდნენ. მთავარი გამოწვევა ხშირად სწავლის ტემპის სწორი შერჩევა და სტაბილურობაა.
დაკავშირებული ტერმინები
უკუგავრცელება · შეცდომის ფუნქცია · ოპტიმიზაცია · ჰიპერპარამეტრი · გაწვრთნა · AI ლექსიკონი
ხშირად დასმული კითხვები
რა ხდება, თუ ნაბიჯი ძალიან დიდია?
სწავლა შეიძლება არასტაბილური გახდეს და შეცდომა არ შემცირდეს. ძალიან პატარა ნაბიჯი კი სწავლას ანელებს.
რა კავშირშია უკუგავრცელებასთან?
უკუგავრცელება ითვლის გრადიენტებს, გრადიენტული დაშვება კი მათ წონების შესაცვლელად იყენებს.
შეჯამება
გრადიენტული დაშვება წონებს პატარა ნაბიჯებით ცვლის, რომ შეცდომა შემცირდეს. ეს ნეირონული ქსელების სწავლების მთავარი მეთოდია.