PatchTST: ინოვაციური მოდელი დროითი რიგების გრძელვადიანი პროგნოზირებისთვის ტრანსფორმერების გამოყენებით
ICLR 2023-ზე წარდგენილი PatchTST მოდელი რევოლუციურ მიდგომას გვთავაზობს დროითი რიგების გრძელვადიანი პროგნოზირებისთვის ტრანსფორმერების გამოყენებით. მოდელი ეფუძნება ინდივიდუალური დროითი რიგების „პაჩებად“ დაყოფას, რაც არაერთ სარგებელს იძლევა. სტატიაში აღწერილია PatchTST-ის ვარჯიში Electricity მონაცემთა ნაკრებზე და მისი ტრანსფერული სწავლის შესაძლებლობები ETTh1 მონაცემთა ნაკრებზე, სადაც ნაჩვენებია მნიშვნელოვანი გაუმჯობესება ნულოვანი სწავლის (zero-shot), წრფივი გამოძიების (linear probing) და სრული ფაინ
PatchTST მოდელი შემოთავაზებული იქნა ნაშრომში „A Time Series is Worth 64 Words: Long-term Forecasting with Transformers“ ავტორების Yuqi Nie, Nam H. Nguyen, Phanwadee Sinthong, Jayant Kalagnanam მიერ და წარდგენილი იქნა ICLR 2023 კონფერენციაზე. ზოგადად, მოდელი ვექტორიზაციას უკეთებს ინდივიდუალურ დროით რიგებს ბატჩში (batch) მოცემული ზომის „პაჩებად“ (patches) და აკოდირებს მიღებული ვექტორების თანმიმდევრობას ტრანსფორმერის (Transformer) მეშვეობით, რომელიც შემდეგ გამოსცემს პროგნოზირების ხანგრძლივობის პროგნოზს შესაბამისი „ჰედის“ (head) მეშვეობით. მოდელი ეფუძნება ორ ძირითად კომპონენტს: პაჩინგის დიზაინს ბუნებრივად სამმაგი სარგებელი აქვს: გარდა ამისა, PatchTST-ს აქვს მოდულური დიზაინი, რომელიც უწყვეტად უზრუნველყოფს როგორც ნიღბიანი დროითი რიგების წინასწარ ვარჯიშს (masked time series pre-training), ასევე დროითი რიგების პირდაპირ პროგნოზირებას.
ეს დემო მოითხოვს Hugging Face Transformers-ის ბიბლიოთეკას მოდელისთვის და IBM tsfm პაკეტს დამხმარე მონაცემთა წინასწარი დამუშავებისთვის. ორივეს დაყენება შესაძლებელია tsfm საცავის (repository) კლონირებით და ქვემოთ მოცემული ნაბიჯების მიყოლებით. აქ ჩვენ ვავარჯიშებთ PatchTST მოდელს უშუალოდ Electricity მონაცემთა ნაკრებზე (ხელმისაწვდომია https://github.com/zhouhaoyi/Informer2020-დან) და ვაფასებთ მის მუშაობას. შემდეგ უჯრედში, გთხოვთ, დაარეგულიროთ შემდეგი პარამეტრები თქვენი აპლიკაციის შესაბამისად: მონაცემები ჯერ იტვირთება Pandas მონაცემთა ფრეიმში (dataframe) და იყოფა სავარჯიშო, ვალიდაციისა და ტესტირების ნაწილებად. შემდეგ Pandas მონაცემთა ფრეიმები გადაკეთდება შესაბამის PyTorch მონაცემთა ნაკრებად, რომელიც საჭიროა ვარჯიშისთვის. ამის შემდეგ, ჩვენ ვქმნით შემთხვევით ინიციალიზებულ PatchTST მოდელს კონფიგურაციით. ქვემოთ მოცემული პარამეტრები აკონტროლებს არქიტექტურასთან დაკავშირებულ სხვადასხვა ჰიპერპარამეტრს. პარამეტრების სრული დეტალებისთვის, იხილეთ დოკუმენტაცია. შემდეგ, ჩვენ შეგვიძლია გამოვიყენოთ Hugging Face Trainer კლასი მოდელის პირდაპირი პროგნოზირების სტრატეგიის საფუძველზე სავარჯიშოდ. პირველ რიგში, ჩვენ განვსაზღვრავთ TrainingArguments-ს, რომელიც ჩამოთვლის ვარჯიშისთვის საჭირო სხვადასხვა ჰიპერპარამეტრს, როგორიცაა ეპოქების რაოდენობა, სწავლის ტემპი და ა.შ.
შემდეგ, ჩვენ შეგვიძლია გამოვიყენოთ trainer.evaluate() ტესტის მეტრიკების გამოსათვლელად. მიუხედავად იმისა, რომ ეს არ არის სამიზნე მეტრიკა ამ ამოცანაში შესაფასებლად, ის გვაწვდის გონივრულ შემოწმებას იმისა, რომ წინასწარ ნავარჯიშები მოდელი სწორად არის ნავარჯიშები. გაითვალისწინეთ, რომ PatchTST-ის ვარჯიშისა და შეფასების დანაკარგი არის საშუალო კვადრატული შეცდომის (MSE) დანაკარგი. შესაბამისად, ჩვენ ცალკე არ ვითვლით MSE მეტრიკას არცერთ შემდგომ შეფასების ექსპერიმენტში. 0.131-ის MSE ძალიან ახლოს არის იმ მნიშვნელობასთან, რომელიც მოხსენებულია Electricity მონაცემთა ნაკრებისთვის PatchTST-ის ორიგინალურ ნაშრომში.
ამ სექციაში, ჩვენ ვაჩვენებთ PatchTST მოდელის ტრანსფერული სწავლის შესაძლებლობას. ჩვენ ვიყენებთ Electricity მონაცემთა ნაკრებზე წინასწარ ნავარჯიშებ მოდელს ETTh1 მონაცემთა ნაკრებზე ნულოვანი სწავლის პროგნოზირების (zero-shot forecasting) შესასრულებლად. ტრანსფერული სწავლის ქვეშ ვგულისხმობთ, რომ ჯერ მოდელს ვავარჯიშებთ პროგნოზირების ამოცანისთვის წყაროს მონაცემთა ნაკრებზე (რაც ზემოთ გავაკეთეთ Electricity მონაცემთა ნაკრებზე). შემდეგ, წინასწარ ნავარჯიშებ მოდელს გამოვიყენებთ სამიზნე მონაცემთა ნაკრებზე ნულოვანი სწავლის პროგნოზირებისთვის. „ნულოვანი სწავლის“ ქვეშ ვგულისხმობთ, რომ ჩვენ ვამოწმებთ მუშაობას სამიზნე დომენში ყოველგვარი დამატებითი ვარჯიშის გარეშე. ვიმედოვნებთ, რომ მოდელმა წინასწარი ვარჯიშიდან საკმარისი ცოდნა მიიღო, რომელიც შეიძლება სხვა მონაცემთა ნაკრებზე გადავიტანოთ.
შემდგომში, ჩვენ ჩავატარებთ წინასწარ ნავარჯიშები მოდელის წრფივ გამოძიებას (linear probing) და (შემდეგ) ფაინთიუნინგს (finetuning) სამიზნე მონაცემთა სავარჯიშო ნაწილზე და შევაფასებთ პროგნოზირების მუშაობას სამიზნე მონაცემთა სატესტო ნაწილზე. ამ მაგალითში, წყაროს მონაცემთა ნაკრები არის Electricity, ხოლო სამიზნე მონაცემთა ნაკრები არის ETTh1. ყველა შეფასება ხორციელდება ETTh1 მონაცემთა სატესტო ნაწილზე. ნაბიჯი 1: უშუალოდ შეაფასეთ Electricity-ზე წინასწარ ნავარჯიშები მოდელი. ეს არის ნულოვანი სწავლის (zero-shot) მუშაობა. ნაბიჯი 2: შეაფასეთ წრფივი გამოძიების შემდეგ. ნაბიჯი 3: შეაფასეთ სრული ფაინთიუნინგის შემდეგ. ქვემოთ, ჩვენ ვტვირთავთ ETTh1 მონაცემთა ნაკრებს, როგორც Pandas მონაცემთა ფრეიმს. შემდეგ, ვქმნით 3 დაყოფას ვარჯიშისთვის, ვალიდაციისა და ტესტირებისთვის. ამის შემდეგ, ვიყენებთ TimeSeriesPreprocessor კლასს თითოეული დაყოფის მოდელისთვის მოსამზადებლად. ვინაიდან ვაპირებთ პროგნოზირების მუშაობის შემოწმებას პირდაპირ („out-of-the-box“), ჩვენ ვტვირთავთ ზემოთ წინასწარ ნავარჯიშებ მოდელს. როგორც ჩანს, ნულოვანი სწავლის პროგნოზირების მიდგომით მივიღებთ MSE-ს 0.370-ს, რაც ახლოსაა PatchTST-ის ორიგინალურ ნაშრომში მოხსენებულ უახლეს შედეგთან.
შემდეგ, ვნახოთ, როგორ შეგვიძლია გავაუმჯობესოთ შედეგი წრფივი გამოძიების შესრულებით, რაც გულისხმობს წრფივი ფენის ვარჯიშს გაყინული, წინასწარ ნავარჯიშები მოდელის თავზე. წრფივი გამოძიება ხშირად გამოიყენება წინასწარ ნავარჯიშები მოდელის მახასიათებლების მუშაობის შესამოწმებლად. ჩვენ შეგვიძლია სწრაფი წრფივი გამოძიება ჩავატაროთ სამიზნე მონაცემთა სავარჯიშო ნაწილზე, რათა დავინახოთ ტესტის მუშაობის შესაძლო გაუმჯობესება. როგორც ჩანს, მხოლოდ მარტივი წრფივი ფენის ვარჯიშით გაყინული „ბექბოუნის“ (backbone) თავზე, MSE შემცირდა 0.370-დან 0.357-მდე, რითაც აჯობა თავდაპირველად მოხსენებულ შედეგებს!
და ბოლოს, ვნახოთ, შეგვიძლია თუ არა დამატებითი გაუმჯობესების მიღწევა მოდელის სრული ფაინთიუნინგით. ჩვენ შეგვიძლია ჩავატაროთ მოდელის სრული ფაინთიუნინგი (იმის ნაცვლად, რომ გამოვიკვლიოთ ბოლო წრფივი ფენა, როგორც ზემოთ იყო ნაჩვენები) სამიზნე მონაცემთა სავარჯიშო ნაწილზე, რათა დავინახოთ ტესტის მუშაობის შესაძლო გაუმჯობესება. კოდი ჰგავს ზემოთ მოცემულ წრფივი გამოძიების ამოცანას, გარდა იმისა, რომ არ ვყინავთ არცერთ პარამეტრს. ამ შემთხვევაში, ETTh1 მონაცემთა ნაკრებზე სრული ფაინთიუნინგით მხოლოდ მცირე გაუმჯობესებაა.
თეგები:
#მანქანური სწავლება
#ტრანსფორმერები
#ტრანსფერული სწავლა
#დროითი რიგების პროგნოზირება
#patchtst
წყარო: huggingface.co
AI-ით გადამუშავებული
მსგავსი სტატიები
ხელოვნური ინტელექტი
Anthropic-ის Claude-ის აღზევება Apple App Store-ის რეიტინგებში პენტაგონთან მოლაპარაკებების ფონზე
ხელოვნური ინტელექტი
ტრამპის ადმინისტრაცია Anthropic-ს სანქციებს უწესებს ხელოვნური ინტელექტის გამოყენებაზე უარის გამო: ექსპერტი ინდუსტრიის უსაფრთხოების ხარვეზებზე საუბრობს
ხელოვნური ინტელექტი