როგორ დავწეროთ ხელოვნური ინტელექტი. Ხელოვნური ინტელექტი. შემოქმედების წინააღმდეგობები და პრობლემები. რატომ სცემს ხელოვნური ინტელექტი ადამიანებს

ხელოვნურმა ინტელექტმა შექმნა ნერვული ქსელი 2017 წლის 15 დეკემბერს

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


Google Brain-ის განყოფილების ინჟინერებმა AutoML აჩვენეს ამ გაზაფხულზე. ამ ხელოვნურ ინტელექტს შეუძლია შექმნას საკუთარი უნიკალური AI ადამიანის ჩარევის გარეშე. როგორც ცოტა ხნის წინ გაირკვა, AutoML-მა პირველად შეძლო NASNet, კომპიუტერული ხედვის სისტემის შექმნა. ეს ტექნოლოგია მნიშვნელოვნად აღემატება ყველა ანალოგს, რომელიც ადრე შექმნილ იქნა ადამიანის მიერ. ხელოვნურ ინტელექტზე დაფუძნებული ეს სისტემა შეიძლება იყოს შესანიშნავი ასისტენტი, ვთქვათ, ავტონომიური მანქანების განვითარებაში. ის ასევე გამოიყენება რობოტიკაში – რობოტები შეძლებენ სრულიად ახალ დონეს მიაღწიონ.

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

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

ამავდროულად, AutoML აფასებს NASNEt-ის მუშაობას და იყენებს ამ ინფორმაციას შვილობილი ქსელის გასაუმჯობესებლად; ეს პროცესი ათასჯერ მეორდება. როდესაც ინჟინრებმა NASNet გამოსცადეს ImageNet და COCO გამოსახულების კომპლექტებზე, მან გადააჭარბა ყველა არსებულ კომპიუტერული ხედვის სისტემას.

Google-მა ოფიციალურად გამოაცხადა, რომ NASNet ცნობს 82,7% სიზუსტით. შედეგი 1,2%-ით აღემატება წინა რეკორდს, რომელიც შემოდგომის დასაწყისში Momenta-ს და ოქსფორდის სპეციალისტების მკვლევარებმა დაამყარეს. NASNet 4%-ით უფრო ეფექტურია, ვიდრე მისი კოლეგები საშუალო სიზუსტით 43.1%.

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

ეს, რა თქმა უნდა, ბადებს ეთიკურ კითხვებს, რომლებიც დაკავშირებულია ხელოვნურ ინტელექტუალურ შეშფოთებასთან დაკავშირებით: რა მოხდება, თუ AutoML ააშენებს სისტემებს ისეთი სიჩქარით, რომ საზოგადოება უბრალოდ ვერ შეძლებს მათთან დაკავშირებას? თუმცა, ბევრი დიდი კომპანიებიშეეცადეთ გაითვალისწინოთ ხელოვნური ინტელექტის უსაფრთხოების საკითხები. მაგალითად, Amazon, Facebook, Apple და ზოგიერთი სხვა კორპორაცია არიან AI-ის პარტნიორობის წევრები ხალხისა და საზოგადოების სასარგებლოდ. ელექტროტექნიკის და ინჟინერიის ინსტიტუტმა (IEE) შესთავაზა ეთიკური სტანდარტები ხელოვნური ინტელექტისთვის და, მაგალითად, DeepMind-მა გამოაცხადა ჯგუფის შექმნა, რომელიც გაუმკლავდება მორალურ და ეთიკურ საკითხებს, რომლებიც დაკავშირებულია ხელოვნური ინტელექტის აპლიკაციებთან.

თუმცა, ბევრი მსხვილი კომპანია ცდილობს გაითვალისწინოს ხელოვნური ინტელექტის უსაფრთხოების პრობლემები. ეს, რა თქმა უნდა, ბადებს ეთიკურ კითხვებს, რომლებიც დაკავშირებულია ხელოვნურ ინტელექტუალურ შეშფოთებასთან დაკავშირებით: რა მოხდება, თუ AutoML ააშენებს სისტემებს ისეთი სიჩქარით, რომ საზოგადოება უბრალოდ ვერ შეძლებს მათთან დაკავშირებას? ელექტროტექნიკის და ინჟინერიის ინსტიტუტმა (IEE) შესთავაზა ეთიკური სტანდარტები ხელოვნური ინტელექტისთვის და, მაგალითად, DeepMind-მა გამოაცხადა ჯგუფის შექმნა, რომელიც გაუმკლავდება მორალურ და ეთიკურ საკითხებს, რომლებიც დაკავშირებულია ხელოვნური ინტელექტის აპლიკაციებთან. მაგალითად, Amazon, Facebook, Apple და ზოგიერთი სხვა კორპორაცია არიან AI-ის პარტნიორობის წევრები ხალხისა და საზოგადოების სასარგებლოდ.

რა არის ხელოვნური ინტელექტი?

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

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

რა არის ნერვული ქსელი?

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

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

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

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

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

Ძალიან მარტივი.

ვიღებთ 10 ყუთს ან ჭიქას. თითოეულზე ვწერთ რიცხვს 2-დან 11-მდე.

თითო ყუთში ორი ქვა ჩავყარეთ - შავი და თეთრი. თქვენ შეგიძლიათ გამოიყენოთ ნებისმიერი ელემენტი, სანამ ისინი განსხვავდებიან ერთმანეთისგან. სულ ეს არის - ჩვენ გვაქვს ათი ნეირონისგან შემდგარი ქსელი!

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

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

Სულ ეს არის! ითამაშე რამდენიმე მსგავსი თამაში. თავიდან საეჭვო ვერაფერს შეამჩნევთ, მაგრამ ყოველი გამარჯვების შემდეგ ქსელი უფრო და უფრო წარმატებულ სვლებს განახორციელებს - და დაახლოებით ათეული თამაშის შემდეგ მიხვდებით, რომ შექმენით მონსტრი, რომელსაც ვერ დაამარცხებთ.

წყაროები:

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

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

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

პირველი, რასაც ჩვენ გავაკეთებთ, არის განვსაზღვროთ რა არის ინტელექტი.

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

Პირველ რიგში ინტელექტი არის სწავლისა და წარმოსახვის უნარი.

ინტელექტის მოდელირების ალგორითმის შესაქმნელად, პირველი რაც უნდა გააკეთოთ არის მიანიჭეთ მას სწავლის უნარი, მასში ინვესტიციისთვის ცოდნა არ არის საჭირო.

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

  1. რაც უფრო ხშირად გაიგონებს სიტყვას სხვადასხვა კონტექსტში, მით უფრო სწრაფად გაიხსენებს მას. სიტყვა, რომელსაც ის პირველ რიგში წარმოთქვამს, დიდი ალბათობით იქნება „დედა“.
    "დედა გიყვარს"
    "დედა ხელებს დაიბანს"
    "დედა გკოცნის"
    "დედა სად არის?"
    სწავლა ხდება მონაცემთა სიჭარბის გამო.
  2. რაც მეტია ინფორმაციის ნაკადის არხი ჩართული, მით უფრო ეფექტურია ტრენინგი:
    ბავშვს ესმის: "დედა გიყვარს".
    ბავშვი ხედავს დედის ღიმილს.
    ბავშვი გრძნობს დედისგან მომდინარე სითბოს.
    ბავშვი დედის რძის გემოს და ყნოსავს.
    ბავშვი ამბობს "დედა".
  3. ბავშვი მაშინვე ვერ შეძლებს სიტყვის სწორად გამეორებას. ის ეცდება, ეცდება. "M", "Ma", "Mom", "M" ... "Mom". სწავლა ხდება მოქმედებაში, ყოველი მომდევნო მცდელობა მორგებულია მანამ, სანამ შედეგს არ მივიღებთ. საცდელი და შეცდომის მეთოდი. რეალობიდან გამოხმაურების მიღება ძალიან მნიშვნელოვანია.
  4. ნუ ასწავლით თქვენს შვილებს, ისინი მაინც თქვენნაირი იქნებიან. ბავშვი ცდილობს დაემსგავსოს გარშემომყოფებს. ის მათ ბაძავს და მათგან სწავლობს. ეს არის პიროვნების მოდელირების ერთ-ერთი მექანიზმი, რაზეც დაწვრილებით შემდეგ სტატიებში ვისაუბრებთ.

რა არის ფანტაზიის როლი?

წარმოიდგინეთ, რომ უცნობ გზაზე მიდიხართ. გაიარეთ 80 კმ/სთ სიჩქარის შეზღუდვის ნიშანი. იმოძრავეთ და ხედავთ სიჩქარის შეზღუდვის სხვა ნიშანს, მაგრამ ის ტალახით არის გაჟღენთილი და მისი გარჩევა თითქმის შეუძლებელია. თქვენ მოგზაურობთ 95 კმ/სთ სიჩქარით. Რას იზავ? სანამ გადაწყვეტილებას იღებდი, პოლიციელმა ბუჩქების უკნიდან გაიხედა და მის სახეზე გაბრწყინებული ღიმილი დაინახა. "ნიშნის გამოსახულება" მყისიერად დასრულდა თქვენს თავში და მიხვდით, რატომ არის აქ პოლიციელი და რომ სასწრაფოდ გჭირდებათ მუხრუჭის დაჭერა. სიჩქარეს 55 კმ/სთ-მდე აკლებთ, პოლიციელის სახიდან ღიმილი მყისიერად ქრება და აგრძელებთ მგზავრობას.

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

წარმოსახვა არის სიტუაციის სიმულაცია თვითნებური პირობებით.

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

ინტელექტი არის სწავლის, შემეცნების და ცვალებად პირობებთან ადაპტაციის უნარი სირთულეების გადაჭრის პროცესში.

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

დიახ, ჩვენ გამოგვრჩა აღქმა და დაავიწყდა მეხსიერებაზე საუბარი.

წარმოიდგინეთ, რომ თვალყურს ადევნებთ თვალს და ხედავთ წერილის ნაწილს:

რა არის ეს წერილი?

იქნებ "K"?

რა თქმა უნდა არა, ეს არის იაპონური იეროგლიფი "მარადიულობისთვის".

თქვენ ახლახან მოგეცით დავალება (პრობლემა). დიდი ალბათობით თქვენ თავში იპოვეთ ასო „K“-ის მსგავსი გამოსახულება და დამშვიდდით.

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

სურათი არის რეალური სამყაროს სუბიექტური ხედვა, რომელიც აღიქმება გრძნობების (ინფორმაციის ნაკადის არხების) დახმარებით.

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

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

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

მეხსიერება გამოიყენება სურათებისა და მათი ურთიერთობის შესანახად.

ფანტაზია არის დაუმთავრებელი გამოსახულების დასრულების შესაძლებლობა.

შეჯამებისთვის, აქ არის კიდევ ერთი ექსპერიმენტი ცხოველთა სამყაროდან:

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

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

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

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

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

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

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

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

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

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

AI პროგრამირება ერთი შეხედვით

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

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

ხელოვნური ინტელექტის გამოყენება

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

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

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

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

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

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

რაც იყო წინა ნაწილებში

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

დაზვერვის აგური

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

დაზვერვის ალგორითმი

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

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

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

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

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

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

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

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

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

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

ხელოვნური ინტელექტი, ვერსია 2.0

პრედიკატულ ენებში (როგორიცაა Prolog), პროგრამაში არ არის ნაბიჯების თანმიმდევრობა. არსებობს მხოლოდ წესების ნაკრები და ამ წესების განხორციელების თანმიმდევრობა თავდაპირველად არანაირად არ არის დადგენილი.

ეს ასე გამოიყურება:
წესი n: შედეგი თუ მდგომარეობა;
წესი m: შედეგი თუ მდგომარეობა;
და ა.შ.

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

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

კიდევ ერთხელ გაითვალისწინეთ, რომ მდგომარეობა (სიტუაცია) არის საწყისი პირობა, პლუს გამოყენებული წესების ჯაჭვი. უკან დაბრუნებისას გამოყენებული წესების ჯაჭვი შესაბამისად იცვლება.

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

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

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

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

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

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

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

პირველი, მოდით გავაკეთოთ პროგრამის გლობალური მდგომარეობა (ციფრების ჩვეულებრივი მასივი). ამ მასივის ნაწილი არის შეყვანის მონაცემები. ისინი რეგულარულად განახლდება გარედან. დაუშვას თუ არა პროგრამას მათი შეცვლა პრინციპული არ არის, მთავარია მათი რეგულარულად განახლება. ამ მასივის ნაწილია პროგრამის შიდა მდგომარეობა. დანარჩენი გამომავალია. შიდა და გამომავალი უჯრედები განსხვავდება მხოლოდ იმით, რომ გამოსავალი იკითხება გამომავალი უჯრედებიდან. ორივე შეყვანა და გამომავალი ყოველთვის გამოიყენება ერთი და იგივე პარამეტრის ჩასაწერად/წაკითხვაზე. მაგალითად, შეყვანა # 1 - სიჩქარე, შეყვანა # 2 - საწვავის სენსორი, გამომავალი # 3 - საჭის პოზიციის შეცვლა, გამომავალი # 4 - სიჩქარის შეცვლა. ჩვენ თვითნებურად ვანიჭებთ რიცხვებს, სასწავლო პროცესში თავად პროგრამამ უნდა ისწავლოს იმის გაგება, თუ სად არის შემავალი და გამომავალი.

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

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

ევოლუციის მსვლელობისას ასევე შეიძლება შეიცვალოს უჯრედების რაოდენობა გლობალურ მდგომარეობაში. შემდეგ ყველა ნერვული ქსელი მორგებულია შესაბამისად. თუ უჯრედები კლონირებულია, მაშინ კლონირებულია ნერვული ქსელების შესაბამისი შეყვანა და გამომავალი. თუ უჯრედები წაიშლება, მაშინ შესაბამისი შეყვანა/გამომავალი წაიშლება ყველა ქსელიდან.

ასევე არის ევოლუციური ცვლილებები, რომლებმაც შეიძლება გაზარდონ ან შეამცირონ ერთი ნერვული ქსელის გამომავალი რაოდენობა.

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

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

ახლა ახსნა რატომ არის ასე.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ხელოვნური ინტელექტი, ვერსია 3.0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

იოცნებებენ

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

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

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

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

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

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

ისინი იგრძნობენ ტკივილს

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

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

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

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

წესების ანსამბლები

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

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

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

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

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

და ისევ ტალღები, სიხშირეები და ჰოლოგრაფია

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

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

ასე რომ, გამოდის, რომ არც საათის გენერატორია საჭირო, არც მარყუჟები და პირობითი გადასვლები, არც გლობალური მდგომარეობა და სიტუაციის იძულებითი პარალელიზაცია.

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

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

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

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

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

ასოციაციები, კატეგორიები, განზოგადებები და სხვა ფილოსოფია

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

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

ჯერჯერობით ორი ვარიანტი ჩნდება.

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

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

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

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

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

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

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

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

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

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

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

არ არსებობს მეტა დონეები

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

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

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

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

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

კვანტური გენეტიკა

ბევრი საინტერესო რამ ითქვა კვანტურ გამოთვლისა და ინტელექტის კვანტურ თვისებებზე. ზოგს კი სჯერა, რომ ტვინს შეუძლია კვანტური პროცესების უშუალოდ აზროვნებაზე „გაჭედვა“.

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

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

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

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

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

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

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

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

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

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

ნივთების შინაგანი წარმოდგენა

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

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

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

გამარჯობა ლოგიკა

რა არის ლოგიკა და საიდან მოდის უმაღლესი ინტელექტუალური აქტივობა?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ანალოგიურად, ტვინს შეუძლია კომპიუტერების მუშაობის (Turing machines) მიბაძვა, „მძიმე“ პროცესების გამო, თუმცა, როგორც ჩანს, ტვინი მიჰყვება „დახვეწილ“ ალგორითმებს (განსაკუთრებით თუ ტვინი გაწვრთნილია ამისთვის).

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

  • გამოვიდა "რაღაც", საწყისი ვერსია (ან თუნდაც შემთხვევით გენერირებული).
  • მე შევამოწმე ამ „რაღაცის“ მუშაობა ლოგიკური მსჯელობის მიბაძვით, დამახსოვრებული პრობლემური სფეროები.
  • ვცადე პრობლემური სფეროების გაუმჯობესება აკრეფით (ეს „რაღაც“ გავაუმჯობესე).
  • შეამოწმეთ გაუმჯობესებული ვერსია და ა.შ.

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

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

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

ეტაპი 1. იმედგაცრუება

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

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

ეტაპი 2. მიღება

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

ეტაპი 3. განვითარება

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

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

ბუნებრივია, თქვენ უნდა დაიწყოთ უმარტივესი ბოტებით. ამისათვის გახსოვდეთ კარგი ძველი თამაში"Tic-tac-toe" 3x3 ველის გამოყენებისას და შეეცადეთ თავად გაარკვიოთ მოქმედებების ძირითადი ალგორითმები: გამარჯვების ალბათობა უშეცდომო მოქმედებებით, ყველაზე წარმატებული ადგილები მოედანზე ფიგურის პოზიციისთვის, უნდა შეამციროთ თამაში ფრემდე და ა.შ.

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

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

ეტაპი 4. მღელვარება

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

როგორც სახელებიდანაც გესმით, ეს არის API-ები, რომლებიც საშუალებას მოგცემთ შექმნათ სერიოზული ხელოვნური ინტელექტის გარეგნობა დროის დაკარგვის გარეშე.

ეტაპი 5. სამუშაო

ახლა, როდესაც უკვე საკმაოდ ნათლად გესმით, როგორ შექმნათ ხელოვნური ინტელექტი და რა გამოიყენოთ ამავდროულად, დროა თქვენი ცოდნა ახალ დონეზე გადაიტანოთ. პირველ რიგში, ის მოითხოვს დისციპლინის შესწავლას, რომელსაც ეწოდება მანქანათმცოდნეობა. მეორეც, თქვენ უნდა ისწავლოთ როგორ იმუშაოთ შერჩეული პროგრამირების ენის შესაბამის ბიბლიოთეკებთან. Python-ისთვის, რომელსაც ჩვენ განვიხილავთ, ეს არის Scikit-learn, NLTK, SciPy, PyBrain და Numpy. მესამე, განვითარება შეუცვლელია. და რაც მთავარია, თქვენ შეძლებთ წაიკითხოთ ხელოვნური ინტელექტის ლიტერატურა საკითხის სრული გაგებით:

  • ხელოვნური ინტელექტი თამაშებისთვის, იან მილინგტონი;
  • თამაშის პროგრამირების ნიმუშები, რობერტ ნისტორმი;
  • AI ალგორითმები, მონაცემთა სტრუქტურები და იდიომები Prolog-ში, Lisp-ში და Java-ში, George Luger, William Stbalfield;
  • გამოთვლითი კოგნიტური ნეირომეცნიერება, რენდალ ო'რეილი, იუკო მუნაკატა;
  • ხელოვნური ინტელექტი: თანამედროვე მიდგომა, სტიუარტ რასელი, პიტერ ნორვიგი.

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