გრადიენტური დაღმართი არის ყველაზე პოპულარული ოპტიმიზაციის ტექნიკა მანქანათმცოდნეობის (ML) მოდელირებაში. ალგორითმი მინიმუმამდე ამცირებს ცდომილებას წინასწარმეტყველებულ მნიშვნელობებსა და დაფუძნებულ სიმართლეს შორის. ვინაიდან ტექნიკა ითვალისწინებს თითოეულ მონაცემთა წერტილს შეცდომის გასაგებად და შესამცირებლად, მისი შესრულება დამოკიდებულია ტრენინგის მონაცემთა ზომაზე. ტექნიკები, როგორიცაა სტოქასტური გრადიენტური დაღმართი (SGD) შექმნილია გაანგარიშების შესრულების გასაუმჯობესებლად, მაგრამ კონვერგენციის სიზუსტის ფასად.
სტოქასტური საშუალო გრადიენტი აბალანსებს კლასიკურ მიდგომას, რომელიც ცნობილია როგორც სრული გრადიენტული დაღმართი და SGD, და გთავაზობთ ორივე სარგებელს. მაგრამ სანამ ალგორითმს გამოვიყენებთ, ჯერ უნდა გავიგოთ მისი მნიშვნელობა მოდელის ოპტიმიზაციისთვის.
მანქანათმცოდნეობის მიზნების ოპტიმიზაცია გრადიენტური დაღმართით
ყველა ML ალგორითმს აქვს დაკავშირებული დაკარგვის ფუნქცია, რომელიც მიზნად ისახავს მოდელის მუშაობის მინიმიზაციას ან გაუმჯობესებას. მათემატიკურად, დანაკარგი შეიძლება განისაზღვროს როგორც:
ეს უბრალოდ განსხვავებაა რეალურ და პროგნოზირებულ გამომავალს შორის და ამ განსხვავების მინიმიზაცია ნიშნავს, რომ ჩვენი მოდელი უფრო უახლოვდება ძირეული სიმართლის მნიშვნელობებს.
მინიმიზაციის ალგორითმი იყენებს გრადიენტულ დაღმართს დანაკარგის ფუნქციის გასავლელად და გლობალური მინიმუმის საპოვნელად. ყოველი გადასასვლელი ნაბიჯი მოიცავს ალგორითმის წონების განახლებას გამომავალი ოპტიმიზაციისთვის.
უბრალო გრადიენტული დაღმართი
ჩვეულებრივი გრადიენტური წარმოშობის ალგორითმი იყენებს ყველა გრადიენტის საშუალოს, რომელიც გამოითვლება მთელ მონაცემთა ბაზაში. ერთი სასწავლო მაგალითის სასიცოცხლო ციკლი ასე გამოიყურება:
წონის განახლების განტოლება ასე გამოიყურება:
სადაც W
წარმოადგენს მოდელის წონას და dJ/dW
არის დაკარგვის ფუნქციის წარმოებული მოდელის წონასთან მიმართებაში. ჩვეულებრივ მეთოდს აქვს მაღალი კონვერგენციის კოეფიციენტი, მაგრამ გამოთვლითი ძვირი ხდება, როდესაც საქმე გვაქვს მონაცემთა დიდ ნაკრებებთან, რომლებიც მოიცავს მილიონობით მონაცემთა წერტილს.
სტოქასტური გრადიენტური დაღმართი (SGD)
SGD მეთოდოლოგია იგივე რჩება, რაც ჩვეულებრივი GD, მაგრამ იმის ნაცვლად, რომ გამოიყენოს მთელი მონაცემთა ბაზა გრადიენტების გამოსათვლელად, ის იყენებს მცირე პარტიას შეყვანიდან. მეთოდი ბევრად უფრო ეფექტურია, მაგრამ შეიძლება ზედმეტად გადახტეს გლობალურ მინიმუმზე, რადგან ყოველი გამეორება იყენებს მონაცემთა მხოლოდ ნაწილს სწავლისთვის.
სტოქასტური საშუალო გრადიენტი
სტოქასტური საშუალო გრადიენტის (SAG) მიდგომა დაინერგა, როგორც შუა გზა GD-სა და SGD-ს შორის. ის ირჩევს შემთხვევითი მონაცემების წერტილს და განაახლებს მის მნიშვნელობას ამ წერტილის გრადიენტზე და ამ კონკრეტული მონაცემთა წერტილისთვის შენახული წარსული გრადიენტების საშუალო შეწონილზე დაყრდნობით.
SGD-ის მსგავსად, SAG აყალიბებს ყველა პრობლემას, როგორც ამოზნექილი, დიფერენცირებადი ფუნქციების სასრული ჯამი. ნებისმიერი მოცემული გამეორებისას ის იყენებს არსებულ გრადიენტებს და წინა გრადიენტების საშუალოს წონის განახლებისთვის. განტოლება იღებს შემდეგ ფორმას:
კონვერგენციის მაჩვენებელი
ორ პოპულარულ ალგორითმს შორის, სრული გრადიენტი (FG) და სტოქასტური გრადიენტული დაღმართი (SGD), FG ალგორითმს აქვს უკეთესი კონვერგენციის მაჩვენებელი, რადგან ის იყენებს მთელ მონაცემებს ყოველი გამეორების დროს გაანგარიშებისთვის.
მიუხედავად იმისა, რომ SAG-ს აქვს SGD-ის მსგავსი სტრუქტურა, მისი კონვერგენციის მაჩვენებელი შედარებულია და ზოგჯერ უკეთესია, ვიდრე სრული გრადიენტური მიდგომა. ქვემოთ მოყვანილი ცხრილი 1 აჯამებს ექსპერიმენტების შედეგებს
შემდგომი ცვლილებები
მიუხედავად მისი საოცარი შესრულებისა, რამდენიმე მოდიფიკაცია იქნა შემოთავაზებული ორიგინალური SGD ალგორითმის გასაუმჯობესებლად.
- ხელახალი წონა ადრეულ გამეორებებში: SAG კონვერგენცია რჩება ნელი პირველი რამდენიმე გამეორების დროს, ვინაიდან ალგორითმი ახდენს მიმართულების ნორმალიზებას n-ით (მონაცემთა წერტილების საერთო რაოდენობა). ეს იძლევა არაზუსტ შეფასებას, რადგან ალგორითმს ჯერ კიდევ არ უნახავს მრავალი მონაცემთა წერტილი. მოდიფიკაცია გვთავაზობს ნორმალიზებას m-ით n-ის ნაცვლად, სადაც m არის მონაცემთა რაოდენობა, რომელიც ერთხელ მაინც ჩანს ამ კონკრეტულ გამეორებამდე.
- მინი პარტიები: სტოქასტური გრადიენტის მიდგომა იყენებს მინი პარტიებს რამდენიმე მონაცემთა წერტილის ერთდროულად დასამუშავებლად. იგივე მიდგომა შეიძლება გამოყენებულ იქნას SAG-ზე. ეს იძლევა ვექტორიზაციას და პარალელიზებას კომპიუტერის გაუმჯობესებული ეფექტურობისთვის. ის ასევე ამცირებს მეხსიერების დატვირთვას, რაც მნიშვნელოვანი გამოწვევაა SAG ალგორითმისთვის.
- ნაბიჯის ზომის ექსპერიმენტი: ადრე ნახსენები ნაბიჯის ზომა (116ლ) იძლევა გასაოცარ შედეგებს, მაგრამ ავტორებმა შემდგომი ექსპერიმენტები ჩაატარეს ნაბიჯის ზომის 1ლ გამოყენებით. ამ უკანასკნელმა კიდევ უფრო უკეთესი კონვერგენცია უზრუნველყო. თუმცა, ავტორებმა ვერ შეძლეს გაუმჯობესებული შედეგების ფორმალური ანალიზის წარმოდგენა. ისინი ასკვნიან, რომ ნაბიჯის ზომა უნდა იყოს ექსპერიმენტული, რათა იპოვოთ ოპტიმალური კონკრეტული პრობლემისთვის.
საბოლოო აზრები
გრადიენტური დაღმართი არის პოპულარული ოპტიმიზაცია, რომელიც გამოიყენება მოწოდებული ობიექტური ფუნქციების გლობალური მინიმუმების დასადგენად. ალგორითმი იყენებს ობიექტური ფუნქციის გრადიენტს, რათა გადაკვეთოს ფუნქციის დახრილობა, სანამ ის არ მიაღწევს ყველაზე დაბალ წერტილს.
სრული გრადიენტური დაღმართი (FG) და სტოქასტური გრადიენტური დაღმართი (SGD) ალგორითმის ორი პოპულარული ვარიაციაა. FG იყენებს მთელ მონაცემთა ბაზას ყოველი გამეორების დროს და უზრუნველყოფს მაღალი კონვერგენციის სიჩქარეს მაღალი გამოთვლითი ღირებულებით. ყოველი გამეორებისას SGD იყენებს მონაცემთა ქვეჯგუფს ალგორითმის გასაშვებად. ეს ბევრად უფრო ეფექტურია, მაგრამ გაურკვეველი კონვერგენციით.
სტოქასტური საშუალო გრადიენტი (SAG) არის კიდევ ერთი ვარიაცია, რომელიც უზრუნველყოფს ორივე წინა ალგორითმის სარგებელს. ის იყენებს წარსული გრადიენტების საშუალოს და მონაცემთა ნაკრების ქვეჯგუფს, რათა უზრუნველყოს მაღალი კონვერგენციის მაჩვენებელი დაბალი გამოთვლებით. ალგორითმი შეიძლება შეიცვალოს მისი ეფექტურობის გასაუმჯობესებლად ვექტორიზაციისა და მინი პარტიების გამოყენებით.