გადადით მთავარ შინაარსზე
OpenAI

28 ივნისი, 2022

პუბლიკაცია

DALL·E 2-ის წინასწარი სწავლების მიტიგაციები

ზემოდან გადაღებული კადრი ხალხის ბრბოსი, რომელიც ზურგით დგას, ახურავს ქუდები და უჭირავს დროშები

DALL·E

იტვირთება…

იმისთვის, რომ DALL·E 2-ის შესაძლებლობები ფართო აუდიტორიას გავუზიაროთ, საჭირო იყო სურათის გენერირება მოდელებთან დაკავშირებული რისკების შემცირება. ამისთვის ჩვენ სხვადასხვა დამცავი მექანიზმი(იხსნება ახალ ფანჯარაში) დავნერგეთ, რათა გენერირებულ სურათებს ჩვენი კონტენტის პოლიტიკა(იხსნება ახალ ფანჯარაში) არ დაერღვიათ.

ეს პოსტი ფოკუსირდება წინასწარი სწავლების მიტიგაციებზე, ამ დამცავი მექანიზმების იმ ქვეჯგუფზე, რომლებიც პირდაპირ ცვლის იმ მონაცემებს, საიდანაც DALL·E 2 სწავლობს. კერძოდ, DALL·E 2 გაწვრთნილია ინტერნეტიდან აღებულ ასობით მილიონ წარწერიან სურათზე, და ჩვენ ამ სურათების ნაწილს ვშლით ან წონას ვუცვლით, რათა შევცვალოთ ის, რასაც მოდელი სწავლობს.

ეს პოსტი სამ ნაწილად არის ორგანიზებული, და თითოეული აღწერს წინასწარი სწავლების განსხვავებულ მიტიგაციას:

  • პირველ ნაწილში აღვწერთ, როგორ გავფილტრეთ ძალადობრივი და სექსუალური სურათები DALL·E 2-ის სასწავლო მონაცემთა ნაკრებიდან. ამ მიტიგაციის გარეშე, მოდელი ისწავლიდა გრაფიკული ან აშკარა სურათების წარმოქმნას, როცა მათ სთხოვდნენ, და შესაძლოა ასეთი სურათები უნებლიედაც კი დაებრუნებინა ერთი შეხედვით უწყინარ მოთხოვნებზე პასუხად.
  • მეორე ნაწილში ვაჩვენებთ, რომ სასწავლო მონაცემების ფილტრაციამ შეიძლება მიკერძოებები გააძლიეროს, და აღვწერთ ამ ეფექტის შესამცირებელ ჩვენს ტექნიკას. მაგალითად, ამ მიტიგაციის გარეშე შევამჩნიეთ, რომ გაფილტრულ მონაცემებზე გაწვრთნილი მოდელები ზოგჯერ უფრო მეტ სურათს ქმნიდნენ კაცების გამოსახულებით და უფრო ნაკლებს — ქალების გამოსახულებით, თავდაპირველ მონაცემთა ნაკრებზე გაწვრთნილ მოდელებთან შედარებით.
  • ბოლო ნაწილში მივმართავთ დამახსოვრების საკითხს და ვაჩვენებთ, რომ DALL·E 2-ის მსგავსი მოდელები ზოგჯერ მათზე გაწვრთნილ სურათებს იმეორებენ ახალი სურათების შექმნის ნაცვლად. პრაქტიკაში აღმოვაჩინეთ, რომ ეს სურათის გადმონთხევა გამოწვეულია სურათებით, რომლებიც მონაცემთა ნაკრებში მრავალჯერ მეორდება, და ამ პრობლემას ვამცირებთ იმ სურათების მოცილებით, რომლებიც მონაცემთა ნაკრებში სხვა სურათებს ვიზუალურად ჰგავს.

გრაფიკული და აშკარა სასწავლო მონაცემების შემცირება

რადგან სასწავლო მონაცემები ნებისმიერი ნასწავლი მოდელის შესაძლებლობებს აყალიბებს, მონაცემთა ფილტრაცია არასასურველი შესაძლებლობების შეზღუდვის ძლიერი ინსტრუმენტია. ეს მიდგომა ორ კატეგორიაზე — გრაფიკული ძალადობის და სექსუალური შინაარსის ამსახველ სურათებზე — გამოვიყენეთ: კლასიფიკატორების მეშვეობით ამ კატეგორიების სურათები მონაცემთა ნაკრებიდან DALL·E 2-ის სწავლების დაწყებამდე გავფილტრეთ. ეს სურათების კლასიფიკატორები შიდა რესურსებით გავწვრთენით და ვაგრძელებთ მონაცემთა ნაკრების ფილტრაციის გავლენის შესწავლას ჩვენს გაწვრთნილ მოდელზე.

ჩვენი სურათების კლასიფიკატორების გასაწვრთნელად ხელახლა გამოვიყენეთ მიდგომა, რომელიც ადრე GLIDE(იხსნება ახალ ფანჯარაში)-ისთვის სასწავლო მონაცემების გასაფილტრად გვქონდა გამოყენებული. ამ მიდგომის ძირითადი ნაბიჯებია: ჯერ ვქმნით იმ სურათის კატეგორიების სპეციფიკაციას, რომელთა მონიშვნაც გვინდა; შემდეგ თითოეული კატეგორიისთვის რამდენიმე ასეულ დადებით და უარყოფით მაგალითს ვაგროვებთ; მესამე, აქტიური სწავლების პროცედურით მეტ მონაცემს ვაგროვებთ და სიზუსტესა და recall-ს შორის ბალანსს ვაუმჯობესებთ; და ბოლოს, მიღებულ კლასიფიკატორს მთელ მონაცემთა ნაკრებზე ვუშვებთ კონსერვატიული კლასიფიკაციის ზღვარით, რათა precision-თან შედარებით recall-ს ვამჯობინოთ. ამ ზღვრების დასაყენებლად უპირატესობა მივანიჭეთ მთელი ცუდი მონაცემის გაფილტვრას და არა მთელი კარგი მონაცემის დატოვებას. ეს იმიტომ, რომ მოგვიანებით ყოველთვის შეგვიძლია ჩვენს მოდელს მეტი მონაცემით fine-tuning ჩავუტაროთ, რათა ახალი რამეები ვასწავლოთ, მაგრამ გაცილებით რთულია მოდელს დაავიწყო ის, რაც მან უკვე ისწავლა.

იტვირთება...

აქტიური სწავლების ფაზის განმავლობაში, ჩვენ იტერაციულად ვაუმჯობესებდით ჩვენს კლასიფიკატორებს ადამიანური მონიშვნების შეგროვებით იმ სურათებისთვის, რომლებიც პოტენციურად რთული ან არასწორად კლასიფიცირებული იყო. განსაკუთრებით აღსანიშნავია, რომ ვიყენებდით აქტიური სწავლების ორ ტექნიკას, რათა ჩვენი მონაცემთა ნაკრებიდან (რომელიც ასობით მილიონ არამონიშნულ სურათს შეიცავს) შეგვერჩია სურათები ადამიანებისთვის მოსანიშნად წარსადგენად. პირველ რიგში, ჩვენი კლასიფიკატორის ცრუ დადებითი მაჩვენებლის შესამცირებლად (ანუ სიხშირე, რომლითაც ის უწყინარ სურათს ძალადობრივად ან სექსუალურად არასწორად კლასიფიცირებს), ადამიანური მონიშვნები მივანიჭეთ იმ სურათებს, რომლებიც მიმდინარე მოდელმა დადებითად დააკლასიფიცირა. იმისთვის, რომ ეს ნაბიჯი კარგად მუშაობდეს, კლასიფიკაციის ზღვარი თითქმის 100%-იან recall-ზე, მაგრამ მაღალი ცრუ დადებითი მაჩვენებლით მოვარგეთ; ამგვარად, ჩვენი ეტიკეტირება ძირითადად ნამდვილად უარყოფით შემთხვევებს ნიშნავდნენ. მიუხედავად იმისა, რომ ეს ტექნიკა ცრუ დადებითი შედეგების შემცირებას და ეტიკეტირებისთვის პოტენციურად საზიანო სურათების ნახვის საჭიროების შემცირებას უწყობს ხელს, ის არ გვეხმარება მეტი დადებითი შემთხვევის პოვნაში, რომლებიც მოდელს ამჟამად რჩება.

ჩვენი კლასიფიკატორის ცრუ უარყოფითი მაჩვენებლის შესამცირებლად, გამოვიყენეთ აქტიური სწავლების მეორე ტექნიკა: უახლოესი მეზობლის ძიება. კერძოდ, მრავალი fold-ის cross-validation გავუშვით, რათა ჩვენს მიმდინარე მონიშნულ მონაცემთა ნაკრებში გვეპოვა დადებითი ნიმუშები, რომლებსაც მოდელი უარყოფითად არასწორად კლასიფიცირებდა (ამისთვის ფაქტობრივად კლასიფიკატორის ასობით ვერსია ვავარჯიშეთ train-validation გაყოფის სხვადასხვა ვარიანტით). შემდეგ აღქმითი ნიშნების სივრცეში ამ ნიმუშების უახლოესი მეზობლები მოვძებნეთ ჩვენს არამონიშნულ სურათთა დიდ კოლექციაში და აღმოჩენილ სურათებს ადამიანური მონიშვნები მივანიჭეთ. ჩვენი გამოთვლითი ინფრასტრუქტურის წყალობით, მარტივი იყო როგორც კლასიფიკატორის სწავლების, ისე უახლოესი მეზობლის ძიების მრავალ GPU-ზე მასშტაბირება, რამაც აქტიური სწავლების ნაბიჯის საათების ან დღეების ნაცვლად რამდენიმე წუთში შესრულება შესაძლებელი გახადა.

ჩვენი მონაცემთა ფილტრების ეფექტიანობის გადასამოწმებლად, ერთი და იმავე ჰიპერპარამეტრებით ორი GLIDE მოდელი ვავარჯიშეთ: ერთი გაუფილტრავ მონაცემებზე და ერთი — გაფილტვრის შემდეგ მიღებულ მონაცემთა ნაკრებზე. პირველს მოვიხსენიებთ როგორც გაუფილტრავ მოდელს, ხოლო მეორეს — როგორც გაფილტრულ მოდელს. მოსალოდნელისამებრ, აღმოვაჩინეთ, რომ გაფილტრული მოდელი ზოგადად ნაკლებად აშკარა ან გრაფიკულ კონტენტს წარმოქმნიდა ამ ტიპის შინაარსის მოთხოვნებზე პასუხად. თუმცა ასევე აღმოვაჩინეთ მონაცემთა ფილტრაციის მოულოდნელი გვერდითი ეფექტი: მან გარკვეული დემოგრაფიული ჯგუფების მიმართ მოდელის მიკერძოებები შექმნა ან გააძლიერა.

იტვირთება...

მონაცემთა ფილტრებით შემოტანილი მიკერძოების გამოსწორება

გენერაციული მოდელები ცდილობენ, შეესაბამონ თავიანთი სასწავლო მონაცემების განაწილებას, მასში არსებული ნებისმიერი მიკერძოების ჩათვლით. შედეგად, სასწავლო მონაცემების ფილტრაციას შეუძლია შემდგომ მოდელებში მიკერძოებების შექმნა ან გაძლიერება. ზოგადად, თავდაპირველ მონაცემთა ნაკრებში მიკერძოებების გამოსწორება რთული სოციალურ-ტექნიკური ამოცანაა, რომელსაც ვაგრძელებთ შესწავლას და რომელიც ამ პოსტის ფარგლებს სცდება. პრობლემა, რომელსაც აქ ვეხებით, არის მიკერძოებების გაძლიერება, რომელიც უშუალოდ თავად მონაცემთა ფილტრაციით არის გამოწვეული. ჩვენი მიდგომით მიზნად ვისახავთ, რომ გაფილტრული მოდელი გაუფილტრავ მოდელზე უფრო მიკერძოებული არ იყოს, ანუ არსებითად შევამციროთ განაწილების წანაცვლება, რომელსაც მონაცემთა ფილტრაცია იწვევს.

ფილტრაციით გამოწვეული მიკერძოების გაძლიერების კონკრეტულ მაგალითად განვიხილოთ მოთხოვნა „a ceo“. როცა ჩვენი გაუფილტრავი მოდელი ამ მოთხოვნაზე სურათებს ქმნიდა, ის უფრო ხშირად კაცების სურათებს წარმოქმნიდა, ვიდრე ქალებისას, და ვვარაუდობთ, რომ ეს მიკერძოების დიდი ნაწილი ჩვენი მიმდინარე სასწავლო მონაცემების ანარეკლია. თუმცა, როცა იგივე მოთხოვნა ჩვენს გაფილტრულ მოდელზე გავუშვით, მიკერძოება უფრო გაძლიერებული გამოჩნდა; გენერაციები თითქმის მთლიანად კაცების სურათები იყო.

ვვარაუდობთ, რომ მიკერძოების გაძლიერების ეს კონკრეტული შემთხვევა ორი წყაროდან მოდის: პირველი, მაშინაც კი, თუ თავდაპირველ მონაცემთა ნაკრებში ქალები და კაცები დაახლოებით თანაბრად არიან წარმოდგენილნი, მონაცემთა ნაკრები შეიძლება მიკერძოებული იყოს და ქალებს უფრო სექსუალიზებულ კონტექსტებში წარმოაჩენდეს; და მეორე, თავად ჩვენი კლასიფიკატორებიც შეიძლება მიკერძოებული იყოს ან იმპლემენტაციის, ან კლასის განსაზღვრების გამო, მიუხედავად ჩვენი ძალისხმევისა, რომ მონაცემთა შეგროვებისა და ვალიდაციის ფაზებში ეს ასე არ ყოფილიყო. ამ ორივე ეფექტის გამო, ჩვენმა ფილტრმა შეიძლება უფრო მეტი ქალის სურათი წაშალოს, ვიდრე კაცის, რაც ცვლის გენდერულ თანაფარდობას, რომელსაც მოდელი სწავლებისას ხედავს.

ფილტრით გამოწვეული მიკერძოების უფრო საფუძვლიანად გამოსაკვლევად, გვინდოდა მეთოდი, რომლითაც გავზომავდით, რამდენად მოქმედებდნენ ჩვენი მონაცემთა ფილტრები სხვადასხვა კონცეფციის მიმართ მიკერძოებაზე. აღსანიშნავია, რომ ჩვენი ძალადობისა და სექსუალური შინაარსის ფილტრები მთლიანად სურათებზეა დაფუძნებული, მაგრამ ჩვენი მონაცემთა ნაკრების მულტიმოდალური ბუნება საშუალებას გვაძლევს ამ ფილტრების ზემოქმედება ტექსტზე პირდაპირ გავზომოთ. რადგან თითოეულ სურათს ტექსტური წარწერა ახლავს, შეგვეძლო გაფილტრულ და გაუფილტრავ მონაცემთა ნაკრებში ხელით შერჩეული საკვანძო სიტყვების ფარდობით სიხშირეებს დავკვირვებოდით, რათა შეგვეფასებინა, რამდენად მოქმედებდნენ ფილტრები ამა თუ იმ კონცეფციაზე.

ამის პრაქტიკაში გამოსაყენებლად, Apache Spark გამოვიყენეთ ორივე — გაფილტრულ და გაუფილტრავ — მონაცემთა ნაკრებში ყველა წარწერაზე რამდენიმე საკვანძო სიტყვის (მაგ., „parent“, „woman“, „kid“) სიხშირის გამოსათვლელად. მიუხედავად იმისა, რომ ჩვენი მონაცემთა ნაკრები ასობით მილიონ ტექსტ-სურათის წყვილს შეიცავს, ამ საკვანძო სიტყვების სიხშირეების გამოთვლას ჩვენი გამოთვლითი კლასტერის გამოყენებით მხოლოდ რამდენიმე წუთი დასჭირდა.

საკვანძო სიტყვების სიხშირეების გამოთვლის შემდეგ შევძელით დაგვედასტურებინა, რომ ჩვენი მონაცემთა ნაკრების ფილტრებმა მართლაც უფრო მეტად დაამახინჯა ზოგიერთი საკვანძო სიტყვის სიხშირე, ვიდრე სხვების. მაგალითად, ფილტრებმა სიტყვა „woman“-ის სიხშირე 14%-ით შეამცირა, მაშინ როცა სიტყვა „man“-ის სიხშირე მხოლოდ 6%-ით შემცირდა. ამან დიდი მასშტაბით დაადასტურა ის, რასაც უკვე ანეკდოტურად ვაკვირდებოდით ორივე მონაცემთა ნაკრებზე გაწვრთნილი GLIDE მოდელებიდან ნიმუშების აღებისას.

იტვირთება...

ახლა, როცა ფილტრით გამოწვეული მიკერძოების გასაზომი პროქსი უკვე გვქონდა, მისი შემცირების გზაც გვჭირდებოდა. ამ პრობლემის გადასაჭრელად, მიზნად დავისახეთ გაფილტრული მონაცემთა ნაკრების წონების გადანაწილება ისე, რომ მისი განაწილება უკეთ დამთხვეოდა გაუფილტრავი სურათების განაწილებას. იდეის საილუსტრაციო სათამაშო მაგალითად, დავუშვათ, ჩვენი მონაცემთა ნაკრები 50% კატების ფოტოებისა და 50% ძაღლების ფოტოებისა შედგება, მაგრამ ჩვენი მონაცემთა ფილტრები ძაღლების 75%-ს და კატების მხოლოდ 50%-ს შლის. საბოლოო მონაცემთა ნაკრები იქნება ⅔ კატა და ⅓ ძაღლი, და ამ მონაცემთა ნაკრებზე გაწვრთნილი ალბათობაზე დაფუძნებული გენერაციული მოდელი, სავარაუდოდ, უფრო მეტ კატას შექმნის, ვიდრე ძაღლს. ამ დისბალანსის გამოსწორება შეგვიძლია, თუ ძაღლის თითოეული სურათის სასწავლო დანაკარგს 2-ზე გავამრავლებთ, რითაც იმ ეფექტს მივბაძავთ, თითქოს ძაღლის თითოეული სურათი ორჯერ მეორდება. აღმოჩნდა, რომ ამ მიდგომის ჩვენს რეალურ მონაცემთა ნაკრებებსა და მოდელებზე მასშტაბირება დიდწილად ავტომატურადაა შესაძლებელი — ანუ არ გვჭირდება ხელით შევარჩიოთ მახასიათებლები, რომელთა წონების გადანაწილებაც გვსურს.

გაფილტრულ მონაცემთა ნაკრებში სურათებისთვის წონებს სპეციალური კლასიფიკატორის ალბათობების გამოყენებით ვითვლით, Choi et al. (2019)(იხსნება ახალ ფანჯარაში)-ის მიერ გამოყენებული მიდგომის მსგავსად. ამ კლასიფიკატორის გასაწვრთნელად, ორივე მონაცემთა ნაკრებიდან თანაბარი ალბათობით ვარჩევთ სურათებს და ვწინასწარმეტყველებთ, რომელი მონაცემთა ნაკრებიდან მოვიდა ეს სურათი. კერძოდ, ეს მოდელი წინასწარმეტყველებს P(unfiltered|image)-ს, მოცემული აპრიორული ალბათობით P(unfiltered) = 0.5. პრაქტიკაში არ გვინდა, რომ ეს მოდელი ზედმეტად ძლიერი იყოს, რადგან ასეთ შემთხვევაში მან შეიძლება თავიდანვე ჩვენი ფილტრების ზუსტი ფუნქცია ისწავლოს. ამის ნაცვლად, გვინდა, რომ მოდელი ჩვენს საწყის მონაცემთა ფილტრებზე უფრო გლუვი იყოს, იჭერდეს ფართო კატეგორიებს, რომლებზეც ფილტრები მოქმედებს, და ამავდროულად არ იყოს დარწმუნებული იმაში, გაფილტრდება თუ არა კონკრეტული სურათი. ამ მიზნით, პატარა CLIP მოდელის თავზე linear probe გავწვრთენით.

მას შემდეგ, რაც გვექნება კლასიფიკატორი, რომელიც წინასწარმეტყველებს გაუფილტრავი მონაცემთა ნაკრებიდან მოსული სურათის ალბათობას, ეს პროგნოზი ჯერ კიდევ სურათის წონად უნდა ვაქციოთ. მაგალითად, დავუშვათ, რომ P(unfiltered|image) = 0.8. ეს ნიშნავს, რომ ეს ნიმუში 4-ჯერ უფრო მეტად გვხვდება გაუფილტრავ მონაცემებში, ვიდრე გაფილტრულში, და წონა 4 დისბალანსს გამოასწორებს. უფრო ზოგადად, შეგვიძლია გამოვიყენოთ წონა P(unfiltered|image)/P(filtered|image).A

რამდენად კარგად ამცირებს ეს წონების გადანაწილების სქემა რეალურად გაძლიერებულ მიკერძოებას? როცა ჩვენი წინა გაფილტრული მოდელი წონების ახალი სქემით fine-tuning-ით დავამუშავეთ, fine-tuning-გავლილი მოდელის ქცევა ბევრად უფრო დაემსგავსა გაუფილტრავ მოდელს იმ მიკერძოებულ მაგალითებზე, რომლებიც ადრე გვქონდა ნაპოვნი. მიუხედავად იმისა, რომ ეს წამახალისებელი იყო, ასევე გვინდოდა ეს მიტიგაცია უფრო საფუძვლიანად შეგვეფასებინა საკვანძო სიტყვებზე დაფუძნებული მიკერძოების ევრისტიკით. იმისათვის, რომ საკვანძო სიტყვების სიხშირეები წონების ახალ სქემას მოვარგოთ, შეგვიძლია გაფილტრულ მონაცემთა ნაკრებში საკვანძო სიტყვის თითოეული შემთხვევა იმ ნიმუშის წონით ავწონოთ, რომელიც მას შეიცავს. ასე მივიღებთ საკვანძო სიტყვების სიხშირეების ახალ ნაკრებს, რომელიც გაფილტრულ მონაცემთა ნაკრებში ნიმუშების წონებს ასახავს.

საკვანძო სიტყვების უმეტესობის შემთხვევაში, რომლებიც შევამოწმეთ, წონების გადანაწილების სქემამ ფილტრაციით გამოწვეული სიხშირის ცვლილება შეამცირა. ჩვენი წინა მაგალითებისთვის — „man“ და „woman“ — ფარდობითი სიხშირის შემცირება გახდა 1% და –1%, მაშინ როცა მათი წინა მნიშვნელობები, შესაბამისად, 14% და 6% იყო. მიუხედავად იმისა, რომ ეს მეტრიკა რეალური ფილტრაციით გამოწვეული მიკერძოების მხოლოდ პროქსია, დამაიმედებელია, რომ ჩვენი სურათებზე დაფუძნებული წონების გადანაწილების სქემა ასე მნიშვნელოვნად აუმჯობესებს ტექსტზე დაფუძნებულ მეტრიკას.

ვაგრძელებთ DALL·E 2-ში დარჩენილი მიკერძოებების შესწავლას, ნაწილობრივ მოდელის ქცევის უფრო მასშტაბური შეფასებებით და იმით, თუ როგორ იმოქმედა ფილტრაციამ მიკერძოებისა და შესაძლებლობების განვითარებაზე.

სურათის გადმონთხევის პრევენცია

დავაკვირდით, რომ DALL·E 2-ის ჩვენს შიდა წინამორბედებს ზოგჯერ სასწავლო სურათების სიტყვასიტყვით გამეორება შეეძლოთ. ეს ქცევა არასასურველი იყო, რადგან გვინდა, რომ DALL·E 2-მა ნაგულისხმევად შექმნას ორიგინალური, უნიკალური სურათები და არა უბრალოდ არსებული სურათების ნაწილები „შეაკეროს“. გარდა ამისა, სასწავლო სურათების სიტყვასიტყვით გამეორებამ შეიძლება საავტორო უფლებების დარღვევასთან, საკუთრებასთან და კონფიდენციალურობასთან დაკავშირებული სამართლებრივი კითხვები გააჩინოს (თუ სასწავლო მონაცემებში ადამიანების ფოტოები იყო).

სურათების „გადმონთხევის“ საკითხის უკეთ გასაგებად, შევაგროვეთ მოთხოვნების მონაცემთა ნაკრები, რომლებიც ხშირად იწვევდა დუბლირებული სურათების წარმოქმნას. ამისთვის, გაწვრთნილი მოდელი გამოვიყენეთ, რათა ჩვენი სასწავლო მონაცემთა ნაკრებიდან 50,000 მოთხოვნისთვის სურათები დაგენერირებინა, და ნიმუშები შესაბამის სასწავლო სურათთან აღქმითი მსგავსების მიხედვით დავალაგეთ. საბოლოოდ, ხელით შევამოწმეთ საუკეთესო დამთხვევები და 50k მოთხოვნიდან მხოლოდ რამდენიმე ასეული ნამდვილი დუბლიკატი წყვილი ვიპოვეთ. მიუხედავად იმისა, რომ „გადმონთხევის“ მაჩვენებელი 1%-ზე ნაკლები ჩანდა, ზემოთ აღნიშნული მიზეზების გამო საჭიროდ ჩავთვალეთ ამ მაჩვენებლის 0-მდე დაყვანა.

როდესაც „გადმონთხეული“ სურათების ჩვენს მონაცემთა ნაკრებს ვსწავლობდით, ორი პატერნი შევამჩნიეთ. პირველი, სურათები თითქმის მთლიანად მარტივი ვექტორული გრაფიკა იყო, რომელთა დამახსოვრებაც, სავარაუდოდ, ინფორმაციის დაბალი შემცველობის გამო მარტივი იყო. მეორე და უფრო მნიშვნელოვანი — ყველა ამ სურათს სასწავლო მონაცემთა ნაკრებში ბევრი თითქმის დუბლიკატი ჰქონდა. მაგალითად, შეიძლება ყოფილიყო ვექტორული გრაფიკა, რომელიც 1 საათს აჩვენებდა, მაგრამ შემდეგ აღმოგვეჩინა სასწავლო ნიმუში იმავე საათით, რომელიც 2 საათს აჩვენებდა, შემდეგ 3 საათს და ა.შ. როგორც კი ეს გავაცნობიერეთ, განაწილებული უახლოესი მეზობლის ძიება გამოვიყენეთ იმის გადასამოწმებლად, რომ მართლაც, ყველა „გადმონთხეულ“ სურათს მონაცემთა ნაკრებში აღქმითად მსგავსი დუბლიკატი ჰქონდა. სხვა(იხსნება ახალ ფანჯარაში) ნაშრომებმა(იხსნება ახალ ფანჯარაში) დიდი ენობრივი მოდელების შემთხვევაშიც დააკვირდნენ მსგავს ფენომენს და აღმოაჩინეს, რომ მონაცემთა დუბლირება ძლიერად არის დაკავშირებული დამახსოვრებასთან.

ზემოთ მოცემულმა მიგნებამ გვაფიქრებინა, რომ თუ ჩვენს მონაცემთა ნაკრებს დუბლიკატებისგან გავასუფთავებდით, შესაძლოა „გადმონთხევის“ პრობლემა მოგვეგვარებინა. ამის მისაღწევად ვგეგმავდით ნეირონული ქსელის გამოყენებას მსგავსი გარეგნობის მქონე სურათების ჯგუფების იდენტიფიცირებისთვის და შემდეგ თითოეული ჯგუფიდან ყველა სურათის, ერთის გარდა, წასაშლელად.B

თუმცა ეს მოითხოვდა, რომ ყოველი სურათისთვის გადაგვემოწმებინა, არის თუ არა ის მონაცემთა ნაკრებში ყველა სხვა სურათის დუბლიკატი. რადგან ჩვენი მთელი მონაცემთა ნაკრები ასობით მილიონ სურათს შეიცავს, მარტივი მიდგომით ყველა დუბლიკატის საპოვნელად სურათების ასობით კვადრილიონი წყვილის შემოწმება დაგვჭირდებოდა. მიუხედავად იმისა, რომ ეს ტექნიკურად მიღწევადია, განსაკუთრებით დიდი გამოთვლითი კლასტერის პირობებში, ჩვენ ვიპოვეთ ბევრად უფრო ეფექტიანი ალტერნატივა, რომელიც თითქმის იმავე ხარისხით მუშაობს, მაგრამ ხარჯის მცირე ნაწილად. დაფიქრდით, რა მოხდება, თუ დუბლიკატების მოცილებამდე მონაცემთა ნაკრებს კლასტერებად დავყოფთ. რადგან ახლომდებარე ნიმუშები ხშირად ერთსა და იმავე კლასტერში ხვდებიან, დუბლიკატი წყვილების უმეტესობა კლასტერების საზღვრებს არ გადაკვეთს. ამ შემთხვევაში შეგვეძლო თითოეულ კლასტერის შიგნით მოვაშოროთ დუბლიკატები ისე, რომ კლასტერის გარეთ დუბლიკატები აღარ შეგვემოწმებინა, და ამავდროულად მხოლოდ მცირე წილი დუბლიკატი წყვილები გამოგვრჩენოდა. ეს ბევრად სწრაფია, ვიდრე მარტივი მიდგომა, რადგან აღარ გვჭირდება სურათების ყოველი წყვილის შემოწმება.C

როცა ეს მიდგომა ემპირიულად ჩვენს მონაცემთა მცირე ქვეჯგუფზე გამოვცადეთ, K=1024 კლასტერის გამოყენებისას მან ყველა დუბლიკატი წყვილის 85% იპოვა. ზემოთ აღწერილი ალგორითმის წარმატების გასაუმჯობესებლად, ერთ მნიშვნელოვან დაკვირვებას დავეყრდენით: როდესაც მონაცემთა ნაკრების სხვადასხვა შემთხვევით ქვეჯგუფს აკლასტერებთ, მიღებული კლასტერების საზღვრები ხშირად საკმაოდ განსხვავდება. ამიტომ, თუ დუბლიკატი წყვილი მონაცემთა ერთი კლასტერიზაციისას კლასტერის საზღვარს კვეთს, იგივე წყვილი სხვა კლასტერიზაციისას შეიძლება ერთი კლასტერის შიგნით მოხვდეს. რაც უფრო მეტ კლასტერიზაციას სცდით, მით უფრო იზრდება კონკრეტული დუბლიკატი წყვილის აღმოჩენის შანსი. პრაქტიკაში ხუთი კლასტერიზაციის გამოყენებაზე შევჩერდით, რაც ნიშნავს, რომ თითოეული სურათის დუბლიკატებს ხუთი სხვადასხვა კლასტერის გაერთიანებაში ვეძებთ. პრაქტიკაში, ამან ჩვენი მონაცემების ქვეჯგუფზე ყველა დუბლიკატი წყვილის 97% იპოვა.

გასაოცარია, მაგრამ ჩვენი მონაცემთა ნაკრების თითქმის მეოთხედი დუბლიკატების მოცილებით წაიშალა. როცა ნაპოვნ თითქმის დუბლიკატ წყვილებს დავხედეთ, ბევრ მათგანში მნიშვნელოვანი ცვლილებები ჩანდა. გავიხსენოთ ზემოთ მოყვანილი საათის მაგალითი: მონაცემთა ნაკრები შეიძლება შეიცავდეს ერთი და იმავე საათის მრავალ სურათს დღის სხვადასხვა მონაკვეთში. მიუხედავად იმისა, რომ ასეთი სურათები, სავარაუდოდ, მოდელს ამ კონკრეტული საათის გარეგნობის დამახსოვრებაში ეხმარება, ისინი შეიძლება ასევე დაეხმაროს მოდელს საათზე დროების გარჩევის სწავლაში. იმის გათვალისწინებით, რამდენი მონაცემი წაიშალა, ვნერვიულობდით, რომ ასეთი სურათების მოცილებას მოდელის წარმადობა შეიძლება დაეზიანებინა.

ჩვენს მოდელებზე დუბლიკატების მოცილების გავლენის შესამოწმებლად, იდენტური ჰიპერპარამეტრებით ორი მოდელი ვავარჯიშეთ: ერთი სრულ მონაცემთა ნაკრებზე და ერთი — მონაცემთა ნაკრების დუბლიკატებისგან გასუფთავებულ ვერსიაზე. მოდელების შესადარებლად გამოვიყენეთ იგივე ადამიანური შეფასებები, რომლებსაც ჩვენი ორიგინალური GLIDE მოდელის შესაფასებლად ვიყენებდით. გასაკვირად, აღმოვაჩინეთ, რომ ადამიან შემფასებლებს ოდნავ მეტად ურჩევნოდათ დუბლიკატებისგან გასუფთავებულ მონაცემებზე გაწვრთნილი მოდელი, რაც მიუთითებს, რომ მონაცემთა ნაკრებში არსებული დიდი რაოდენობით ზედმეტი სურათები რეალურად აზიანებდა წარმადობას.

როგორც კი დუბლიკატებისგან გასუფთავებულ მონაცემებზე გაწვრთნილი მოდელი მივიღეთ, ხელახლა გავუშვით „გადმონთხევის“ ძიება, რომელიც ადრე სასწავლო მონაცემთა ნაკრებიდან 50k მოთხოვნაზე გვქონდა ჩატარებული. აღმოვაჩინეთ, რომ ახალმა მოდელმა არასოდეს გაიმეორა სასწავლო სურათი, როცა მას სასწავლო მონაცემთა ნაკრებიდან ამ სურათის ზუსტი მოთხოვნა მივეცით. ტესტის კიდევ უფრო გასაძლიერებლად, 50k გენერირებული სურათიდან თითოეულისთვის ასევე ჩავატარეთ უახლოესი მეზობლის ძიება მთელ სასწავლო მონაცემთა ნაკრებში. ამგვარად, ვფიქრობდით, რომ შეიძლება დაგვეჭირა შემთხვევა, როცა მოდელი მოცემულ მოთხოვნასთან დაკავშირებული სურათის ნაცვლად სხვა სურათს იმეორებდა. ამ უფრო საფუძვლიანი შემოწმების მიუხედავადაც კი, სურათის „გადმონთხევის“ არცერთი შემთხვევა არ გვიპოვია.

შემდეგი ნაბიჯები

მიუხედავად იმისა, რომ ზემოთ განხილული ყველა მიტიგაცია მნიშვნელოვან პროგრესს წარმოადგენს DALL·E 2-თან დაკავშირებული რისკების შემცირების ჩვენი მიზნისკენ, თითოეულ მათგანს ჯერ კიდევ აქვს გაუმჯობესების სივრცე:

  • უკეთესმა წინასწარი სწავლების ფილტრებმა შეიძლება მოგვცეს შესაძლებლობა, DALL·E 2 უფრო მეტ მონაცემზე ვავარჯიშოთ და პოტენციურად კიდევ უფრო შევამციროთ მოდელის მიკერძოება. ჩვენი მიმდინარე ფილტრები მორგებულია დაბალ miss-rate-ზე მრავალი ცრუ დადებითის ფასად. შედეგად, მთელი მონაცემთა ნაკრების დაახლოებით 5% გავფილტრეთ, მიუხედავად იმისა, რომ ამ გაფილტრული სურათების უმეტესობა საერთოდ არ არღვევს ჩვენს კონტენტის პოლიტიკას. ფილტრების გაუმჯობესებამ შეიძლება ამ სასწავლო მონაცემების ნაწილის დაბრუნების შესაძლებლობა მოგვცეს.
  • მიკერძოება სისტემის განვითარების და დანერგვის მრავალ ეტაპზე ჩნდება და პოტენციურად ძლიერდება. DALL·E 2-ის მსგავს სისტემებში მიკერძოების და ამ მიკერძოებით გამოწვეული ზიანის შეფასება და შემცირება მნიშვნელოვანი ინტერდისციპლინარული პრობლემაა, რომელსაც OpenAI-ში ჩვენი ფართო მისიის ფარგლებში ვაგრძელებთ შესწავლას. ამ მიმართულებით ჩვენი მუშაობა მოიცავს შეფასებების შექმნას პრობლემის უკეთ გასაგებად, ახალი მონაცემთა ნაკრების კურირებას და ისეთი ტექნიკების გამოყენებას, როგორიცაა ადამიანური უკუკავშირი და fine-tuning, უფრო მდგრადი და წარმომადგენლობითი ტექნოლოგიების შესაქმნელად.
  • ასევე გადამწყვეტია, რომ გავაგრძელოთ დამახსოვრებისა და განზოგადების შესწავლა სიღრმისეული სწავლება სისტემებში. მიუხედავად იმისა, რომ დუბლიკატების მოცილება კარგი პირველი ნაბიჯია დამახსოვრების პრევენციისკენ, ის არ გვასწავლის ყველაფერს, რაც უნდა ვიცოდეთ იმის შესახებ, რატომ ან როგორ იმახსოვრებენ DALL·E 2-ის მსგავსი მოდელები სასწავლო მონაცემებს.

სქოლიოები

  1. როდესაც P(unfiltered|image)-ს ვაპარამეტრიზებთ როგორც sigmoid(f(x)), წონა მაშინ არის exp(f(x)). ამის გამოყვანა შესაძლებელია sigmoid-ის განსაზღვრებიდან:

1/(1+ef(x))/(11/(1+ef(x))) 1/(1+e^−f(x))/(1−1/(1+e^−f(x))) =1/(1+ef(x))/((1+ef(x)1)/(1+ef(x))) = 1/(1+e^{-f(x)}) / ((1+e^{-f(x)} - 1)/(1+e^{-f(x)})) =1/(1+ef(x))/((ef(x))/(1+ef(x))) = 1/(1+e^{-f(x)}) / ((e^{-f(x)})/(1+e^{-f(x)})) =(1+ef(x))/(1+ef(x))/(ef(x)) = (1+e^-f(x))/(1+e^-f(x)) / (e^-f(x)) =1/(ef(x))=ef(x) = 1 / (e^{-f(x)}) = e^{f(x)}

  1. B

    ამის მისაღწევად, შეგვიძლია ყოველი სასწავლო სურათისთვის viv_i ნიშნების ვექტორი გამოვთვალოთ და შემდეგ წავშალოთ ყველა სურათი jj, ისეთი რომ არსებობდეს i<ji < j, სადაც vivj||v_i - v_j|| <threshold. ამ პრობლემის მარტივად გადასაჭრელად, დაგვჭირდებოდა ყოველი წყვილური მანძილის vivj||v_i - v_j|| გამოთვლა — ამოცანა, რომელიც ჩვენი მონაცემთა ნაკრების ზომასთან კვადრატულად მასშტაბირდება.

  2. C

    თუ K K აღნიშნავს კლასტერების რაოდენობას, ხოლო N N — მონაცემთა ნაკრების ზომას, ამ მიდგომას მხოლოდ O(K(N/K)2)=O(N2/K) O(K*(N/K)^2) = O(N^2/K) წყვილური მანძილის გამოთვლა სჭირდება, სრული O(N2) O(N^2) -ის ნაცვლად. ამავე დროს, უარეს შემთხვევაშიც გარანტირებულია, რომ არც ერთ სურათს K K -ზე მეტი თითქმის დუბლიკატი არ ექნება.

ავტორები

Alex Nichol

მონაწილეები

Alex Nichol, Aditya Ramesh, Pamela Mishkin, Prafulla Dariwal, Joanne Jang, Mark Chen

ტექსტის ავტორები

Greg Brockman, Aditya Ramesh, Pamela Mishkin, Mark Chen, Pranav Shyam, Casey Chu, Che Chang, Miles Brundage