სხვა AI ტექნიკები 5 წთ კითხვა

ღრმა განმტკიცების სწავლა

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

სალექციო ვიქტორინა

RL-ის შესასრულებლად ჩვენ გვჭირდება:

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

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

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

OpenAI სპორტული დარბაზი

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

შენიშვნა: თქვენ შეგიძლიათ ნახოთ ყველა ის გარემო, რომელიც ხელმისაწვდომია OpenAI Gym აქ-დან.

CartPole Balancing

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

დაბალანსების გამარტივებული ვერსია ცნობილია, როგორც CartPole პრობლემა. კარტპოლების სამყაროში გვაქვს ჰორიზონტალური სლაიდერი, რომელსაც შეუძლია გადაადგილება მარცხნივ ან მარჯვნივ, და მიზანია სლაიდერის თავზე ვერტიკალური ბოძის დაბალანსება მისი მოძრაობისას.

a cartpole

ამ გარემოს შესაქმნელად და გამოსაყენებლად, ჩვენ გვჭირდება პითონის კოდის რამდენიმე ხაზი:

იტვირთება…

თითოეულ გარემოზე წვდომა შეიძლება ზუსტად იგივე გზით:

  • env.reset იწყებს ახალ ექსპერიმენტს
  • env.step ასრულებს სიმულაციის საფეხურს. ის იღებს მოქმედებას სამოქმედო სივრციდან და აბრუნებს დაკვირვებას (დაკვირვების სივრციდან), ასევე ჯილდოს და დასრულების დროშას.

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

non-balancing cartpole

RL ალგორითმის მიზანია მოდელის მომზადება - ე.წ პოლიტიკა π - რომელიც დააბრუნებს მოქმედებას მოცემული მდგომარეობის საპასუხოდ. ჩვენ ასევე შეგვიძლია ჩავთვალოთ პოლიტიკა ალბათობით, მაგ. ნებისმიერი მდგომარეობის s და ქმედებისთვის a ის დააბრუნებს ალბათობას π(a|s), რომ უნდა ავიღოთ a მდგომარეობაში s.

პოლიტიკის გრადიენტების ალგორითმი

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

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

შეიტყვეთ მეტი პოლიტიკის გრადიენტის ალგორითმის შესახებ და იხილეთ ის მოქმედებაში მაგალითად ნოუთბუქი-ში.

მსახიობი-კრიტიკოსის ალგორითმი

Policy Gradients მიდგომის გაუმჯობესებულ ვერსიას ჰქვია Actor-Critic. მისი მთავარი იდეა არის ის, რომ ნერვული ქსელი გაწვრთნილი იქნება ორი რამის დასაბრუნებლად:

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

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

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

ერთ-ერთი ამ ალგორითმის გაშვების შემდეგ, ჩვენ შეგვიძლია ველოდოთ, რომ ჩვენი CartPole ასე მოიქცევა:

a balancing cartpole

სავარჯიშოები: პოლიტიკის გრადიენტები და მსახიობი-კრიტიკოსი RL

განაგრძეთ სწავლა შემდეგ რვეულებში:

  • RL TensorFlow-ში
  • RL PyTorch-ში

სხვა RL ამოცანები

განმტკიცების სწავლება დღესდღეობით კვლევის სწრაფად მზარდი სფეროა. განმამტკიცებელი სწავლის რამდენიმე საინტერესო მაგალითია:

  • კომპიუტერის თამაშის სწავლება Atari Games. ამ პრობლემის გამომწვევი ნაწილი ის არის, რომ ჩვენ არ გვაქვს მარტივი მდგომარეობა, რომელიც წარმოდგენილია ვექტორად, არამედ სკრინშოტი - და ჩვენ უნდა გამოვიყენოთ CNN ამ ეკრანის სურათის ფუნქციის ვექტორად გადასაყვანად, ან ჯილდოს ინფორმაციის ამოსაღებად. Atari თამაშები ხელმისაწვდომია სპორტდარბაზში.
  • კომპიუტერის სამაგიდო თამაშების სწავლება, როგორიცაა ჭადრაკი და წადი. ახლახან უახლესი პროგრამებს, როგორიცაა Alpha Zero, ნულიდან ავარჯიშებდნენ ორი აგენტი, რომლებიც თამაშობდნენ ერთმანეთის წინააღმდეგ და იხვეწებოდნენ ყოველ ნაბიჯზე.
  • ინდუსტრიაში, RL გამოიყენება სიმულაციური კონტროლის სისტემების შესაქმნელად. სერვისი სახელწოდებით ბონსაი სპეციალურად შექმნილია ამისთვის.

დასკვნა

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

გამოწვევა

გამოიკვლიეთ აპლიკაციები, რომლებიც ჩამოთვლილია "სხვა RL ამოცანები" განყოფილებაში და სცადეთ მისი განხორციელება!

ლექციის შემდგომი ვიქტორინა

მიმოხილვა და თვითშესწავლა

შეიტყვეთ მეტი კლასიკური გაძლიერების სწავლის შესახებ ჩვენს Machine Learning დამწყებთათვის სასწავლო პროგრამა-ში.

უყურეთ ეს შესანიშნავი ვიდეო-ს, რომელიც საუბრობს იმაზე, თუ როგორ ისწავლის კომპიუტერს Super Mario-ს თამაში.

ეს გაკვეთილი არის Microsoft “AI for Beginners” კურსის ქართული თარგმანი, გავრცელებული MIT ლიცენზიით.