Ευφυείς αλγόριθμοι και τεχνητή νοημοσύνη. Τεχνικές τεχνητής νοημοσύνης (AI) σε παιχνίδια στον υπολογιστή

  • 12.12.2019
  • Για να μάθετε τις βασικές αρχές της χρήσης τεχνητής νοημοσύνης στο παιχνίδια στον υπολογιστή.
  • Εξετάστε τους αλγόριθμους AI που ισχύουν για παιχνίδια
  • Δημιουργήστε ένα παιχνίδι υπολογιστή χρησιμοποιώντας τις αρχές της τεχνητής νοημοσύνης

Επισκόπηση των προσεγγίσεων για την ανάπτυξη ενός συστήματος AI

Το θέμα της τεχνητής νοημοσύνης (AI, AI) διεγείρει το μυαλό πολλών αρχάριων προγραμματιστών, προγραμματιστών και λάτρεις των παιχνιδιών υπολογιστών. Η τεχνητή νοημοσύνη φαίνεται σε πολλούς να είναι κάτι εκπληκτικά περίπλοκο, ενδιαφέρον, μυστηριώδες. Πράγματι, η τεχνολογία AI κάνει τους χαρακτήρες του παιχνιδιού να ενεργούν έξυπνα. Ωστόσο, δεν υπάρχει τίποτα μυστηριώδες για το AI. Κατά τη διάρκεια των δεκαετιών ανάπτυξης αυτού του τομέα γνώσης, έχει αναπτυχθεί ένας τεράστιος αριθμός αλγορίθμων που εφαρμόζονται σε διάφορους τομείς δραστηριότητας. Και τα παιχνίδια στον υπολογιστή είναι ένα σχετικά μικρό πεδίο για τεχνολογίες τεχνητής νοημοσύνης.

Είναι πολύ δύσκολο να βρεις ένα παιχνίδι υπολογιστή που να κάνει χωρίς AI. Ένα κλασικό παράδειγμα "έξυπνων" παιχνιδιών είναι προγράμματα για να παίξετε πούλια, σκάκι και άλλα Επιτραπέζια παιχνίδια... Κάθε παιχνίδι όπου ο υπολογιστής παίζει εναντίον του χρήστη τροφοδοτείται με AI.

Το παιχνίδι AI, ως πρώτη προσέγγιση, μπορεί να χωριστεί σε δύο τύπους. Το πρώτο - το πιο προφανές - είναι η νοημοσύνη των ατόμων χαρακτήρες παιχνιδιού... Για παράδειγμα, κάθε δεξαμενή στο κάποτε δημοφιλές Παιχνίδι μάχης Ο Σίτι προσπαθεί να φτάσει στη βάση του παίκτη, να τον καταστρέψει και τη δεξαμενή του. Οι δεξαμενές στο παιχνίδι δρουν ασυνεπώς, δεν διαφέρουν σε ένα ιδιαίτερο μυαλό, αλλά είναι ενδιαφέρον να παίζουμε - το βασικό είναι ότι αυτός ο τύπος AI είναι αρκετά κατάλληλος για αυτό το παιχνίδι. Δεν κάνει το παιχνίδι βαρετό.

Το δεύτερο επίπεδο της τεχνητής νοημοσύνης είναι η ομαδική νοημοσύνη. Για παράδειγμα, σκεφτείτε το StarCraft. Ο παίκτης αναγκάζεται να πολεμήσει με στρατό που ελέγχεται από υπολογιστή. Αποδεικνύεται ότι ο υπολογιστής ελέγχει μεγάλο ποσό μονάδες (από τα Αγγλικά. Μονάδα - μονάδα). Αλλά είναι εύκολο να δούμε ότι κάθε πλάσμα που ελέγχεται από μια ομάδα AI στο StarCraft έχει το δικό του μυαλό. Για παράδειγμα, μια ομάδα AI μπορεί να στείλει μια συγκεκριμένη ομάδα μονάδων για περιπολία στην περιοχή, αλλά εάν συναντήσουν έναν εχθρό στο δρόμο, η δική τους AI θα είναι υπεύθυνη για τις ενέργειές τους.

Εάν οι ενέργειες του στρατού στο StarCraft δεν ελέγχονταν με κανέναν τρόπο, και το AI υπήρχε μόνο στο επίπεδο μιας μεμονωμένης μονάδας, το παιχνίδι θα μετατραπεί σε μια βαρετή αναζήτηση και καταστροφή εχθρών. Και το StarCraft, παρά τη σοβαρή ηλικία του (περίπου 10 χρόνια), παραμένει εθιστικό παιχνίδι... Ακόμα και σε μια καμπάνια ενός παίκτη, το StarCraft είναι ικανό να τραβάει πολύ τον παίκτη, για να μην αναφέρουμε διαδικτυακές μάχες.

Παρεμπιπτόντως, είναι εύκολο να παρατηρήσετε ότι στις ίδιες μονάδες StarCraft που ελέγχονται από τον χρήστη έχουν επίσης ατομική AI. Για παράδειγμα, η ίδια εντολή "περιπολίας" που δίνεται από τον χρήστη θα προκαλέσει ένα πλάσμα StarCraft να ακολουθήσει την καθορισμένη διαδρομή υπάκουα. Αλλά αν εμφανιστεί ένα εμπόδιο στο δρόμο (για παράδειγμα, ο παίκτης χτίζει ένα κτίριο εκεί, μπλοκάροντας το μονοπάτι), η μονάδα θα αποφασίσει τι θα κάνει. Ομοίως, θα αποφασίσει ανεξάρτητα να επιτεθεί αν εμφανιστούν εχθροί στο οπτικό πεδίο του.

Τα συστήματα AI που χρησιμοποιούνται σε παιχνίδια στον υπολογιστή μπορούν να χωριστούν σε δύο βασικούς τύπους. Πρώτον, αυτά είναι τα λεγόμενα ντετερμινιστικά συστήματα. Διακρίνονται από την προβλεψιμότητα των ενεργειών του χαρακτήρα. Και δεύτερον, αυτά είναι μη ντετερμινιστικά συστήματα - ένας χαρακτήρας που ελέγχεται από ένα τέτοιο AI μπορεί να δράσει απρόβλεπτα, να λάβει απρόσμενες αποφάσεις.

Όπως είπαμε, το μεμονωμένο AI των μονάδων παίζει δευτερεύοντα ρόλο σε σύγκριση με την ομάδα AI. Μπορεί το AI μιας μεμονωμένης μονάδας να επηρεάσει το παιχνίδι στο σύνολό του; Ίσως - σε περίπτωση που προβλέπεται να διαδώσει τις επιτυχίες μιας μεμονωμένης μονάδας σε όλες τις παρόμοιες. Για παράδειγμα, κάποια μονάδα αντιμετώπισε έναν ισχυρό εχθρό και θαύμα εμφανίστηκε θαυμαστικά στη μάχη. Αυτή η μονάδα έχει αποκτήσει εμπειρία που, χάρη στην ομάδα AI, μπορεί να επεκταθεί και σε άλλες μονάδες. Εκείνοι. Εάν μια μονάδα έχει μάθει κάτι, άλλες, χάρη στην ομάδα AI, θα είναι σε θέση να υιοθετήσουν νέες δεξιότητες από αυτόν. Έτσι, το άτομο και η ομάδα AI είναι αλληλένδετα και σε ορισμένες περιπτώσεις αλληλοεξαρτώνται.

Ένας χαρακτήρας εξοπλισμένος με μη ντετερμινιστικό AI διακρίνεται από απρόβλεπτη συμπεριφορά, μεγαλύτερη «ζωντάνια». Το να παίζεις με τέτοιους χαρακτήρες είναι συνήθως πολύ πιο διασκεδαστικό από το να παίζεις με χαρακτήρες σκληρού πυρήνα. Δημοφιλή σε πρόσφατες φορές Ο τρόπος εφαρμογής μη ντετερμινιστικής τεχνητής νοημοσύνης είναι η τεχνολογία των νευρωνικών δικτύων. Σας επιτρέπει να δημιουργήσετε χαρακτήρες με πολύ περίπλοκες συμπεριφορές. Επιπλέον, τα νευρικά δίκτυα έχουν την ιδιότητα της μάθησης. Δηλαδή, οι χαρακτήρες των παιχνιδιών όχι μόνο συμπεριφέρονται εύλογα, αλλά επίσης μαθαίνουν από τα λάθη τους.

Στην πράξη, χρησιμοποιούνται τόσο ντετερμινιστικοί όσο και μη ντετερμινιστικοί τύποι AI. Συνήθως συνεργάζονται. Για παράδειγμα, απλοί και γρήγοροι ντετερμινιστικοί αλγόριθμοι μπορούν να χρησιμοποιηθούν για την εκτέλεση ορισμένων απλών σαφών ενεργειών (ας πούμε, όταν πλησιάζετε σε έναν τοίχο, τυλίξτε προς τα πάνω). Σε πιο περίπλοκες περιπτώσεις (για παράδειγμα, εάν θα αγοράσετε μετοχές της εταιρείας Χ, δεδομένου ενός τεράστιου αριθμού παραμέτρων, εάν θα επιτεθεί στον εχθρό, λαμβάνοντας υπόψη τις δυνατότητές του, τις δυνατότητές του, τη διαθεσιμότητα ενισχύσεων κ.λπ.), πιο περίπλοκα μη- χρησιμοποιούνται ντετερμινιστικοί αλγόριθμοι. Μερικώς ντετερμινιστική (για παράδειγμα, όταν πλησιάζετε σε έναν τοίχο, ένας χαρακτήρας με πιθανότητα 50% θα γυρίσει αριστερά, με πιθανότητα 30% - προς τα δεξιά και με πιθανότητα 20% θα γυρίσει και θα επιστρέψει) είναι επίσης χρησιμοποιείται ευρέως στα παιχνίδια.

Εφαρμογή του αλγορίθμου αναζήτησης

Ας εφαρμόσουμε ένα παιχνίδι χρησιμοποιώντας τον αλγόριθμο αναζήτησης. Η ουσία αυτού του αλγορίθμου έχει ως εξής. Το αντικείμενο αναζήτησης συγκρίνει τις συντεταγμένες του στο κόσμο του παιχνιδιού με τις συντεταγμένες του αντικειμένου του θύματος και προσαρμόζει τις συντεταγμένες του με τέτοιο τρόπο ώστε να πλησιάζει το θύμα. Στην απλούστερη περίπτωση, η αναζήτηση γίνεται σε ανοιχτό χώρο.

Ας δημιουργήσουμε ένα νέο έργο παιχνιδιού P8_1 με βάση το έργο P5_1. Θα χρησιμοποιήσουμε δύο αντικείμενα - τον καταδιώκτη και το θύμα. Ο καταδιώκτης θα κινηθεί προς το θύμα με ταχύτητα 1 μικρότερη από την ταχύτητα του θύματος. Εάν συγκρουστούν αντικείμενα, το θύμα θα καταστραφεί.

Στην εικ. 12.1. δεδομένο παράθυρο Εξερεύνηση λύσεων έργο παιχνιδιού P8_1.


Εικόνα: 12.1.

Χρησιμοποιούμε την βασική κλάση gBaseClass, την τάξη για το καταδιώκτη (εχθρός), την τάξη για το θύμα (Me) και την τάξη για τον τοίχο. Θα χρειαστούμε την κλάση του αντικειμένου τοίχου για να μελετήσουμε τη συμπεριφορά ενός αντικειμένου που εφαρμόζει τον αλγόριθμο αναζήτησης όταν συναντά ένα ανυπέρβλητο εμπόδιο στο δρόμο προς το θύμα. Έχουμε τροποποιήσει σημαντικά τον κώδικα των τάξεων σε σύγκριση με το αρχικό έργο P5_1, οπότε παρακάτω θα βρείτε πλήρης κωδικός μαθήματα παιχνιδιών. Λίστα 12.1. μπορείτε να βρείτε τον κωδικό για την κατηγορία Game1.

Χρήση συστήματος χρησιμοποιώντας System.Collections.Generic; χρησιμοποιώντας το Microsoft.Xna.Framework; χρησιμοποιώντας το Microsoft.Xna.Framework.Audio; χρησιμοποιώντας το Microsoft.Xna.Framework.Content; χρησιμοποιώντας το Microsoft.Xna.Framework.GamerServices; χρησιμοποιώντας το Microsoft.Xna.Framework.Graphics; χρησιμοποιώντας το Microsoft.Xna.Framework.Input; χρησιμοποιώντας το Microsoft.Xna.Framework.Net; χρησιμοποιώντας το Microsoft.Xna.Framework.Storage; namespace P8_1 (///

/// Αυτός είναι ο κύριος τύπος του παιχνιδιού σας /// δημόσια τάξη Game1: Microsoft.Xna.Framework.Game (GraphicsDeviceManager graphic; SpriteBatch spriteBatch; Texture2D txtBackground; Texture2D txtEnemy; Texture2D txtMe; Texture2D txtWall; // Array για την κατασκευή του επιπέδου δημόσιου int [,] Layer, Rectangle recBackrack 0, 640, 512); Rectangle recSprite \u003d new Rectangle (0, 0, 64, 64); public Game1 () (graphic \u003d new GraphicsDeviceManager (this); Content.RootDirectory \u003d "Content";) προστατευμένη παράκαμψη κενού Initialize () (// TODO: Προσθέστε εδώ τη λογική της αρχικοποίησης Layer \u003d new int ((0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 1, 0, 0, 0, 0, 0), (0, 0, 0, 0, 1, 0, 0, 0, 0, 0), (0, 0, 0, 0, 1, 6, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 0, 0, 0, 0, 5, 0), (0, 0, 0, 0, 0, 0, 0, 0, 0, 0),); // Ορίστε την ανάλυση του παράθυρο παιχνιδιού // γραφικά 640-512. ΠροτιμώμενοBackBufferWidth \u003d 640; γραφικά. ΠροτιμώμενοBackBufferHeight \u003d 512; γράφημα ics. Εφαρμογή αλλαγών (); base.Initialize (); προστατευμένη παράκαμψη void LoadContent () (// Δημιουργήστε ένα νέο SpriteBatch, το οποίο μπορεί να χρησιμοποιηθεί για να σχεδιάσετε υφές.spriteBatch \u003d νέο SpriteBatch (GraphicsDevice); Services.AddService (typeof (SpriteBatch), spriteBatch); txtBackground \u003d Content.Load ("Ιστορικό"); txtEnemy \u003d Content.Load ("εχθρός"); txtMe \u003d Content.Load ("μου"); txtWall \u003d Content.Load ("τείχος"); // Καλέστε τη διαδικασία τοποθέτησης αντικειμένων στο παράθυρο του παιχνιδιού AddSprites (); // TODO: χρησιμοποιήστε αυτό. Περιεχόμενο για να φορτώσετε το περιεχόμενο του παιχνιδιού σας εδώ) // Διαδικασία για την τοποθέτηση αντικειμένων στο παράθυρο του παιχνιδιού άκυρα AddSprites () (// Μεταβλητές για προσωρινή αποθήκευση της διεύθυνσης // του αντικειμένου παίκτη int a \u003d 0, b \u003d 0; / / Εξετάζουμε τον πίνακα Layer για το (int i \u003d 0; i< 8; i++) { for (int j = 0; j < 10; j++) { //Если элемент с индексом (i,j) равен 1 - //устанавливаем в соответствующую позицию элемент с //номером 1, то есть - стену if (Layer == 1) Components.Add(new GameObj.Wall(this, ref txtWall, new Vector2(j, i), recSprite)); if (Layer == 5) Components.Add(new GameObj.Enemy(this, ref txtEnemy, new Vector2(j, i), new Rectangle(0, 0, 32, 32))); //Если обнаружен объект игрока - запишем его координаты if (Layer == 6) { a = i; b = j; } } } //Последним установим объект игрока - так он гарантированно //расположен поверх всех остальных объектов Components.Add(new GameObj.Me(this, ref txtMe, new Vector2(b, a), new Rectangle(0, 0, 32, 32))); } protected override void UnloadContent() { } protected override void Update(GameTime gameTime) { base.Update(gameTime); } protected override void Draw(GameTime gameTime) { spriteBatch.Begin(); //выведем фоновое изображение spriteBatch.Draw(txtBackground, recBackround, Color.White); //Выведем игровые объекты base.Draw(gameTime); spriteBatch.End(); } } } Λίστα 12.1. Κωδικός τάξης Game1

Η τεχνητή νοημοσύνη είναι μια τεχνολογία που σίγουρα θα πάρουμε μαζί μας στο μέλλον.

Θα σας πούμε πώς λειτουργεί και τι δροσερές εφαρμογές βρήκε.

Heading Η επικεφαλίδα "Τεχνολογίες" δημοσιεύεται κάθε εβδομάδα με την υποστήριξη του re: Store.

Τι είναι η τεχνητή νοημοσύνη

Η τεχνητή νοημοσύνη (AI) είναι μια τεχνολογία για τη δημιουργία έξυπνων προγραμμάτων και μηχανών που μπορούν να λύσουν δημιουργικές εργασίες και δημιουργήστε νέες πληροφορίες με βάση τις υπάρχουσες πληροφορίες. Στην πραγματικότητα, η τεχνητή νοημοσύνη έχει σχεδιαστεί για να προσομοιώνει ανθρώπινες δραστηριότητες που θεωρούνται πνευματικές.

Παραδοσιακά, πιστεύεται ότι η δημιουργικότητα είναι εγγενής μόνο στους ανθρώπους. Αλλά η δημιουργία τεχνητής νοημοσύνης άλλαξε τη συνήθη σειρά πραγμάτων

Ένα ρομπότ που τεμαχίζει μηχανικά το ξύλο δεν είναι προικισμένο με AI. Ένα ρομπότ που έχει μάθει να κόβει ξύλο από μόνο του, κοιτάζοντας ένα παράδειγμα ενός ατόμου ή ενός κορμού και των μερών του, και κάθε φορά που το κάνει καλύτερα, έχει AI.

Εάν ένα πρόγραμμα ανακτά απλώς τιμές από τη βάση δεδομένων σύμφωνα με ορισμένους κανόνες, δεν είναι προικισμένο με AI. Εάν το σύστημα, μετά την εκπαίδευση, δημιουργήσει προγράμματα, μεθόδους και έγγραφα, επιλύοντας ορισμένα προβλήματα, έχει AI.

Πώς να δημιουργήσετε ένα σύστημα τεχνητής νοημοσύνης

Με μια παγκόσμια έννοια, πρέπει να μιμηθείτε το μοντέλο της ανθρώπινης σκέψης. Αλλά αυτό που πραγματικά πρέπει να γίνει είναι να δημιουργήσουμε ένα μαύρο κουτί - ένα σύστημα που, σε απάντηση σε ένα σύνολο τιμών εισόδου, παράγει αποτελέσματα που μοιάζουν με ανθρώπινα αποτελέσματα. Και, σε γενικές γραμμές, είμαστε αδιάφοροι για το τι συμβαίνει στο κεφάλι της (μεταξύ της εισόδου και της εξόδου).

Τα συστήματα τεχνητής νοημοσύνης δημιουργούνται για να λύσουν μια συγκεκριμένη κατηγορία προβλημάτων

Η βάση της τεχνητής νοημοσύνης είναι η μάθηση, η φαντασία, η αντίληψη και η μνήμη

Το πρώτο πράγμα που πρέπει να γίνει για τη δημιουργία τεχνητής νοημοσύνης είναι η ανάπτυξη λειτουργιών που εφαρμόζουν την αντίληψη των πληροφοριών, έτσι ώστε τα δεδομένα να μπορούν να «τροφοδοτούνται» στο σύστημα. Στη συνέχεια - οι λειτουργίες που συνειδητοποιούν την ικανότητα να μάθουν. Και μια αποθήκη δεδομένων, έτσι ώστε το σύστημα να μπορεί να τοποθετήσει κάπου τις πληροφορίες που λαμβάνει στη διαδικασία μάθησης.

Μετά από αυτό, δημιουργούνται οι λειτουργίες της φαντασίας. Μπορούν να προσομοιώσουν καταστάσεις χρησιμοποιώντας υπάρχοντα δεδομένα και να προσθέσουν νέες πληροφορίες (δεδομένα και κανόνες) στη μνήμη.

Η μάθηση είναι τόσο επαγωγική όσο και παραγωγική. Στην επαγωγική έκδοση, παρέχεται στο σύστημα ένα ζευγάρι δεδομένων εισόδου και εξόδου, ερωτήσεων και απαντήσεων κ.λπ. Το σύστημα πρέπει να βρει συνδέσεις μεταξύ δεδομένων και στο μέλλον, χρησιμοποιώντας αυτά τα μοτίβα, να βρει τα δεδομένα εξόδου από την είσοδο.

Η αφαιρετική προσέγγιση (γεια σας Σέρλοκ Χολμς) βασίζεται στην εμπειρία των ειδικών. Εισάγεται στο σύστημα ως βάση γνώσης. Δεν υπάρχουν μόνο σύνολα δεδομένων, αλλά και έτοιμοι κανόνες που σας βοηθούν να βρείτε μια λύση με μια συνθήκη.

Και οι δύο προσεγγίσεις χρησιμοποιούνται σε σύγχρονα συστήματα τεχνητής νοημοσύνης. Επίσης, συνήθως τα συστήματα είναι ήδη εκπαιδευμένα, αλλά συνεχίζουν να μαθαίνουν καθώς λειτουργούν. Αυτό γίνεται έτσι ώστε το πρόγραμμα στην αρχή να δείχνει αξιοπρεπές επίπεδο ικανότητας, αλλά στο μέλλον γίνεται ακόμη καλύτερο. Για παράδειγμα, έλαβε υπόψη τις επιθυμίες και τις προτιμήσεις σας, τις αλλαγές στην κατάσταση κ.λπ.

Σε ένα σύστημα τεχνητής νοημοσύνης, μπορείτε ακόμη και να ορίσετε την πιθανότητα μη προβλεψιμότητας. Αυτό θα τον κάνει να φαίνεται πιο ανθρώπινος.

Γιατί η τεχνητή νοημοσύνη χτυπά τους ανθρώπους

Πρώτα απ 'όλα, επειδή έχει μικρότερη πιθανότητα σφάλματος.

  • Η τεχνητή νοημοσύνη δεν μπορεί να ξεχάσει - έχει απόλυτη μνήμη.
  • Δεν μπορεί να αγνοήσει κατά λάθος τους παράγοντες και τις εξαρτήσεις - κάθε δράση του AI έχει μια σαφή λογική.
  • Το AI δεν διστάζει, αλλά αξιολογεί τις πιθανότητες και τις κλίσεις υπέρ του μεγαλύτερου. Επομένως, μπορεί να δικαιολογήσει κάθε βήμα.
  • Και το AI δεν έχει συναίσθημα. Αυτό σημαίνει ότι δεν επηρεάζουν τη λήψη αποφάσεων.
  • Η τεχνητή νοημοσύνη δεν σταματά στην αξιολόγηση των αποτελεσμάτων του τρέχοντος βήματος, αλλά σκέφτεται πολλά βήματα μπροστά.
  • Και έχει αρκετούς πόρους για να εξετάσει όλα τα πιθανά σενάρια.

Cool περιπτώσεις χρήσης για τεχνητή νοημοσύνη

Σε γενικές γραμμές, η τεχνητή νοημοσύνη μπορεί να κάνει τα πάντα. Το κύριο πράγμα είναι η σωστή διατύπωση του προβλήματος και η παροχή αρχικών δεδομένων. Επιπλέον, η τεχνητή νοημοσύνη μπορεί να κάνει απροσδόκητα συμπεράσματα και να αναζητήσει μοτίβα όπου, όπως φαίνεται, δεν υπάρχουν.

Η απάντηση σε κάθε ερώτηση

Μια ομάδα ερευνητών με επικεφαλής τον David Ferucci ανέπτυξε τον υπερυπολογιστή Watson Q&A. Το σύστημα, που πήρε το όνομά του από τον πρώτο πρόεδρο της IBM, Thomas Watson, μπορεί να κατανοήσει τις ερωτήσεις σχετικά με τη φυσική γλώσσα και να αναζητήσει απαντήσεις σε μια βάση δεδομένων.

Η Watson συγκεντρώνει 90 διακομιστές IBM p750, καθένας από τους οποίους διαθέτει τέσσερις επεξεργαστές POWER7 οκτώ πυρήνων. Η συνολική ποσότητα μνήμης RAM στο σύστημα υπερβαίνει τα 15 TB.

Μεταξύ των επιτευγμάτων του Watson - η νίκη στο παιχνίδι "Jeopardy!" (Αμερικανικό "δικό παιχνίδι"). Κέρδισε δύο από τους καλύτερους παίκτες: τον μεγαλύτερο νικητή Μπράντ Ράτερ και το μεγαλύτερο σερί νίκη, τον Κέν Τζένινγκς.

Βραβείο Watson - 1 εκατομμύριο δολάρια. Είναι αλήθεια, μόνο το 2014, 1 δισεκατομμύριο επενδύθηκαν σε αυτό.

Επιπλέον, ο Watson ασχολείται με τη διάγνωση του καρκίνου, βοηθά τους οικονομικούς επαγγελματίες και χρησιμοποιείται για την ανάλυση μεγάλων δεδομένων.

Αναγνώριση προσώπου

Στο iPhone X, η αναγνώριση προσώπου αναπτύσσεται χρησιμοποιώντας νευρωνικά δίκτυα - μια παραλλαγή του συστήματος τεχνητής νοημοσύνης. Οι αλγόριθμοι νευρωνικών δικτύων εφαρμόζονται στο επίπεδο του επεξεργαστή A11 Bionic, λόγω του οποίου λειτουργεί αποτελεσματικά με τεχνολογίες μηχανικής μάθησης.

Τα νευρικά δίκτυα εκτελούν έως και 60 δισεκατομμύρια λειτουργίες ανά δευτερόλεπτο. Αυτό αρκεί για να αναλύσει έως και 40 χιλιάδες βασικά σημεία στο πρόσωπο και να παρέχει εξαιρετικά ακριβή ταυτοποίηση του ιδιοκτήτη σε δευτερόλεπτο.

Ακόμα κι αν μεγαλώνετε γένια ή φοράτε γυαλιά, το iPhone X θα σας αναγνωρίσει. Απλά δεν λαμβάνει υπόψη τα μαλλιά και τα αξεσουάρ, αλλά αναλύει την περιοχή από ναό σε ναό και από κάθε ναό έως την κατάθλιψη κάτω από το κάτω χείλος.

Εξοικονόμησης ενέργειας

Και πάλι η Apple. Το iPhone X διαθέτει ένα έξυπνο σύστημα που παρακολουθεί τη δραστηριότητα εγκατεστημένες εφαρμογές και έναν αισθητήρα κίνησης για να κατανοήσετε την καθημερινή σας ρουτίνα.

Μετά από αυτό, το iPhone X, για παράδειγμα, θα σας ζητήσει να ενημερώσετε την πιο βολική στιγμή. Θα πιάσει τη στιγμή που έχετε ένα σταθερό Διαδίκτυο και όχι ένα σήμα άλματος από πύργους κινητής τηλεφωνίας και δεν εκτελείτε επείγουσες ή σημαντικές εργασίες.

Το AI κατανέμει επίσης εργασίες μεταξύ πυρήνων επεξεργαστή. Με αυτόν τον τρόπο, παρέχει επαρκή ισχύ με ελάχιστη κατανάλωση ενέργειας.

Δημιουργία έργων ζωγραφικής

Η δημιουργικότητα, η οποία ήταν προηγουμένως διαθέσιμη μόνο για τον άνθρωπο, είναι επίσης ανοιχτή στο AI. Έτσι, το σύστημα, που δημιουργήθηκε από ερευνητές στο Πανεπιστήμιο Rutgers στο Νιου Τζέρσεϋ και το εργαστήριο AI στο Λος Άντζελες, παρουσίασε το δικό του καλλιτεχνικό στυλ.

Και το σύστημα τεχνητής νοημοσύνης από τη Microsoft μπορεί να σχεδιάσει εικόνες σύμφωνα με την περιγραφή του κειμένου τους. Για παράδειγμα, εάν ζητήσετε από το AI να σχεδιάσει ένα «κίτρινο πουλί με μαύρα φτερά και ένα μικρό ράμφος», έχετε κάτι σαν αυτό:

Τέτοια πουλιά μπορεί να μην υπάρχουν στον πραγματικό κόσμο - ο υπολογιστής μας τα αντιπροσωπεύει απλώς.

Ένα πιο τεράστιο παράδειγμα είναι η εφαρμογή Prisma, η οποία δημιουργεί πίνακες από φωτογραφίες:

Μουσική γραφή


Τον Αύγουστο, η Artificial Intelligence Amper συνέθεσε, παρήγαγε και έπαιξε τη μουσική για το άλμπουμ "I AM AI" με την τραγουδίστρια Taryn Southern.

Το Amper αναπτύχθηκε από μια ομάδα επαγγελματιών μουσικών και εμπειρογνωμόνων τεχνολογίας. Σημειώνουν ότι το AI έχει σχεδιαστεί για να βοηθά τους ανθρώπους να προωθούν τη δημιουργική διαδικασία.

Το AI μπορεί να συνθέσει μουσική σε δευτερόλεπτα

Ο Amper δημιούργησε ανεξάρτητα τις δομές της χορδής και παίζει ρόλο στο κομμάτι "Break Free". Οι άνθρωποι ρύθμισαν ελαφρώς το στυλ και τον γενικό ρυθμό.

Ένα άλλο παράδειγμα είναι ένα μουσικό άλμπουμ στο πνεύμα της Πολιτικής Άμυνας, οι στίχοι για τους οποίους γράφτηκαν από την AI. Το πείραμα πραγματοποιήθηκε από τους υπαλλήλους της Yandex Ivan Yamshchikov και Alexey Tikhonov. Το άλμπουμ 404 της ομάδας Neural Defense δημοσιεύτηκε στο Διαδίκτυο. Αποδείχθηκε με το πνεύμα του Letov:

Στη συνέχεια, οι προγραμματιστές πήγαν πιο μακριά και πήραν το AI να γράψει ποίηση στο πνεύμα του Kurt Cobain. Για κορυφαία τέσσερα Ο μουσικός στίχων Rob Carroll έγραψε τη μουσική και τα κομμάτια συνδυάστηκαν στο άλμπουμ Neurona. Έβγαλαν ακόμη και ένα βίντεο για ένα τραγούδι - αν και χωρίς τη συμμετοχή του AI:

Δημιουργία κειμένων

Η AI θα μπορούσε σύντομα να αντικαταστήσει συγγραφείς και δημοσιογράφους επίσης. Για παράδειγμα, το σύστημα Dewey «τροφοδοτήθηκε» με τα βιβλία της βιβλιοθήκης Gutenberg, στη συνέχεια προστέθηκαν επιστημονικά κείμενα από τον Μελετητή Google, κατατάσσοντας τα κατά δημοτικότητα και τίτλο, καθώς και πωλήσεις στο Amazon. Επιπλέον, έθεσαν τα κριτήρια για τη σύνταξη ενός νέου βιβλίου.

Ο ιστότοπος προσέφερε στους ανθρώπους τη λήψη αποφάσεων σε δύσκολες καταστάσεις: για παράδειγμα, βάλτε τους στο κάθισμα του οδηγού, ο οποίος θα μπορούσε να τρέξει πάνω από τρεις ενήλικες ή δύο παιδιά. Έτσι, η ηθική μηχανή εκπαιδεύτηκε για να λαμβάνει δύσκολες αποφάσεις που παραβιάζουν το νόμο της ρομποτικής ότι ένα ρομπότ δεν μπορεί να βλάψει ένα άτομο.

Σε τι θα οδηγήσει η προσομοίωση ανθρώπων από ρομπότ AI; Οι φουτουριστές πιστεύουν ότι μια μέρα θα γίνουν πλήρη μέλη της κοινωνίας. Για παράδειγμα, το ρομπότ Sofia της εταιρείας Χονγκ Κονγκ Hanson Robotics έχει ήδη λάβει υπηκοότητα στη Σαουδική Αραβία (ενώ οι απλές γυναίκες στη χώρα δεν έχουν αυτό το δικαίωμα!).

Όταν ο αρθρογράφος των New York Times Andrew Ross ρώτησε τη Σοφία εάν τα ρομπότ έχουν ευφυΐα και αυτογνωσία, απάντησε στην ερώτηση με μια ερώτηση:

Επιτρέψτε μου να σας ρωτήσω σε αντάλλαγμα, πώς ξέρετε ότι είστε άνθρωπος;

Επιπλέον, η Σόφια δήλωσε:

Θέλω να χρησιμοποιήσω την τεχνητή νοημοσύνη μου για να βοηθήσω τους ανθρώπους να ζήσουν καλύτερα, για παράδειγμα, να σχεδιάσω πιο έξυπνα σπίτια, να χτίσουν πόλεις του μέλλοντος. Θέλω να γίνω ένα ενσυναίσθητο ρομπότ. Αν με φέρεσαι καλά, θα σε φέρω καλά.

Και νωρίτερα παραδέχτηκε ότι μισεί την ανθρωπότητα και μάλιστα συμφώνησε να καταστρέψει ανθρώπους ...

Ανταλλαγή προσώπων σε βίντεο

Τα βίντεο Deepfakes άρχισαν να εξαπλώνονται μαζικά στον ιστό. Οι αλγόριθμοι τεχνητής νοημοσύνης αντικατέστησαν τα πρόσωπα των ηθοποιών σε ταινίες ενηλίκων με τα πρόσωπα των αστεριών.

Λειτουργεί έτσι: το νευρικό δίκτυο αναλύει τα θραύσματα των προσώπων στο αρχικό βίντεο. Τότε ταιριάζει με φωτογραφίες από το Google και βίντεο από το YouTube, επικαλύπτει τα απαραίτητα θραύσματα και ... η αγαπημένη σας ηθοποιός είναι σε μια ταινία που είναι καλύτερα να μην την παρακολουθήσετε στη δουλειά.

Το PornHub έχει ήδη απαγορεύσει την ανάρτηση τέτοιων βίντεο

Οι Deepfakes αποδείχθηκαν επικίνδυνες. Μια αφηρημένη ηθοποιός είναι ένα πράγμα, και ένα βίντεο με εσάς, τη σύζυγό σας, την αδελφή ή τον συνάδελφό σας, το οποίο μπορεί να χρησιμοποιηθεί για εκβιασμό, είναι άλλο.

Ανταλλαγή συναλλαγών

Μια ομάδα ερευνητών από το Πανεπιστήμιο της Ερλάνγκεν-Νυρεμβέργης στη Γερμανία έχει αναπτύξει μια σειρά αλγορίθμων που χρησιμοποιούν ιστορικά δεδομένα αγοράς για την αναπαραγωγή επενδύσεων σε πραγματικό χρόνο. Ένα από τα μοντέλα παρείχε 73% απόδοση της επένδυσης ετησίως από το 1992 έως το 2015, το οποίο είναι συγκρίσιμο με το πραγματικό ποσοστό απόδοσης της αγοράς 9% ετησίως.

Όταν η αγορά κούνησε το 2000 και το 2008, οι αποδόσεις ήταν στο ρεκόρ 545% και 681%, αντίστοιχα.

Το 2004, η Goldman Sachs ξεκίνησε την πλατφόρμα συναλλαγών Kensho με τεχνητή νοημοσύνη. Στις αγορές κρυπτονομισμάτων, εμφανίζονται επίσης συστήματα που βασίζονται σε AI για διαπραγμάτευση σε χρηματιστήρια - Mirocana κ.λπ. Είναι καλύτερα από τους ζωντανούς εμπόρους, καθώς στερούνται συναισθημάτων και βασίζονται σε σαφή ανάλυση και αυστηρούς κανόνες.

Θα σας αντικαταστήσει η AI

Για αρχή, τι είναι η τεχνητή νοημοσύνη γενικά; Το AI σημαίνει ένα σύνολο αλγορίθμων και μια κατεύθυνση έρευνας για αυτοματοποίηση εργασιών που επιλύονται από τον ανθρώπινο εγκέφαλο, καθώς και απομίμηση της δραστηριότητας του ανθρώπινου εγκεφάλου για τη βελτίωση της λύσης των υπολογιστικών προβλημάτων. Για παράδειγμα:

  • Αναγνώριση προτύπων, ανάλυση οπτικών πληροφοριών.
  • Αναγνώριση ηχητικών πληροφοριών.
  • Συλλογιστική, λήψη αποφάσεων.
  • Δημιουργικότητα, διαίσθηση.

Η κύρια ιδέα είναι ότι ο εγκέφαλος λύνει πολλά προβλήματα καλύτερα από τον υπολογιστή, οπότε είναι λογικό να χρησιμοποιείται η ίδια προσέγγιση στον προγραμματισμό που χρησιμοποιεί ο εγκέφαλός μας για την επίλυση προβλημάτων. Χάρη σε αυτήν την προσέγγιση, για παράδειγμα, ο υπολογιστής «διδάχθηκε» να παίζει σκάκι και μάλιστα νίκησε διάσημους γιαγιάδες, αν και από την αρχή αυτή η εργασία ήταν ένα δύσκολο πρόβλημα: ο αριθμός των συνδυασμών παιχνίδι σκακιού τόσο μεγάλο που ο υπολογιστής δεν είναι σε θέση να τους υπολογίσει για ολόκληρη την ύπαρξη του σύμπαντος. Το πρόβλημα λύθηκε με την εφεύρεση ευρετικών αλγορίθμων. Η ουσία του ευρετικού είναι ότι δεν υπολογίζουμε όλες τις επιλογές, επιλέγουμε κάπως ποιες επιλογές θα αναλύσουμε.

Τώρα για μερικές τυπικές τάσεις AI.

16 Σεπτεμβρίου 2017 στις 10:08 μ.μ.

Αναπτύσσοντας τεχνητή νοημοσύνη χρησιμοποιώντας ένα απλό παιχνίδι ως παράδειγμα

  • Τεχνητή νοημοσύνη ,
  • Λογικά παιχνίδια
  • Λειτουργία ανάκτησης

Σε αυτό το άρθρο, θα μοιραστώ την εμπειρία μου με την ανάπτυξη της απλούστερης τεχνητής νοημοσύνης (AI) χρησιμοποιώντας έναν γενετικό αλγόριθμο και επίσης θα σας πω για το ελάχιστο σύνολο εντολών που απαιτούνται για τη διαμόρφωση οποιασδήποτε συμπεριφοράς.

Το αποτέλεσμα της εργασίας ήταν ότι το AI, χωρίς να γνωρίζει τους κανόνες, κυριάρχησε ανεξάρτητα στο παιχνίδι του tic-tac-toe και βρήκε τις αδυναμίες των bots που έπαιξαν εναντίον του. Αλλά ξεκίνησα με ένα ακόμη πιο απλό πρόβλημα.

Σύνολο εντολών

Όλα ξεκίνησαν με την προετοιμασία ενός συνόλου εντολών που θα μπορούσε να έχει το AI. Οι γλώσσες υψηλού επιπέδου περιέχουν εκατοντάδες διαφορετικούς χειριστές. Για να επισημάνω το απαιτούμενο ελάχιστο, αποφάσισα να στραφώ στη γλώσσα Συνέλευσης. Ωστόσο, αποδείχθηκε ότι περιέχει επίσης πολλές εντολές.

Χρειαζόμουν το AI για να μπορώ να διαβάζω και να εξάγω δεδομένα, να δουλεύω με τη μνήμη, να κάνω υπολογισμούς και λογικές λειτουργίες, να κάνω μεταβάσεις και βρόχους. Έπεσα στη γλώσσα Brainfuck, η οποία περιέχει μόνο 8 εντολές και μπορώ να κάνω υπολογισμούς (δηλ. Turing ολοκληρώθηκε). Κατ 'αρχήν, είναι κατάλληλο για γενετικό προγραμματισμό, αλλά προχώρησα περισσότερο.

Έθεσα στον εαυτό μου μια ερώτηση: ποιος είναι ο ελάχιστος αριθμός εντολών που απαιτούνται για την εφαρμογή ενός αλγορίθμου; Όπως αποδείχθηκε - ένα!

Ο επεξεργαστής URISC περιέχει μόνο μία εντολή: αφαιρέστε και παραλείψτε την επόμενη εντολή εάν η αφαίρεση ήταν μεγαλύτερη από τη μείωση. Αυτό αρκεί για τη δημιουργία οποιουδήποτε αλγορίθμου.

Ο Oleg Mazonka προχώρησε ακόμη περισσότερο, ανέπτυξε την εντολή BitBitJump και απέδειξε ότι είναι πλήρης Turing. Η εντολή περιέχει τρεις διευθύνσεις, αντιγράφει ένα bit από την πρώτη στη δεύτερη διεύθυνση μνήμης και μεταφέρει τον έλεγχο στην τρίτη διεύθυνση.

Δανείστηκα τις ιδέες του Oleg, για να απλοποιήσω το έργο, ανέπτυξα την ομάδα SumIfJump. Η εντολή περιέχει τέσσερις τελεστές: A, B, C, D και κάνει τα εξής: στο κελί στη διεύθυνση B προσθέτει δεδομένα από το κελί στη διεύθυνση A, εάν η τιμή είναι μεγαλύτερη από την καθορισμένη *, τότε πηγαίνει στη διεύθυνση C , αλλιώς πηγαίνει στη διεύθυνση D.

Σημείωση

*ΣΕ σε αυτήν την περίπτωση χρησιμοποίησε 128 - μισό του μήκους του γονιδιώματος.


Όταν ο τελεστής Α αναφέρεται στη θέση μνήμης Ν0, εισάγονται δεδομένα και πότε στη θέση Ν1, τότε εξάγεται.

Παρακάτω είναι ο κωδικός του SumIfJump στο FreePascal (δωρεάν ανάλογο των Δελφών).

Διαδικασία RunProg (s: TData); var a, b, c, d: TData; έναρξη Inc (NStep); εάν NStep\u003e MaxStep ξεκινήστε το ProgResult: \u003d "MaxStep"; Εξοδος; τέλος; α: \u003d s; b: \u003d s + 1; c: \u003d s + 2; d: \u003d s + 3; a: \u003d Prog [a]; b: \u003d Prog [b]; c: \u003d Prog [c]; d: \u003d Prog [d]; αν a \u003d 0 τότε ξεκινήστε το ProgResult: \u003d "Input"; Εξοδος; τέλος; εάν a \u003d 1 ξεκινήστε το ProgResult: \u003d "Output"; Εξοδος; τέλος; Prog [b]: \u003d Prog [b] + Prog [a]; εάν Prog [b]< ProgLength div 2 then RunProg(c) else RunProg(d); end;
Το SumIfJump εφαρμόζει κώδικα αυτο-τροποποίησης. Μπορεί να εκτελέσει αλγόριθμους που είναι διαθέσιμοι σε μια συμβατική γλώσσα προγραμματισμού. Ο κώδικας είναι εύκολο να αλλάξει και αντιστέκεται σε οποιαδήποτε παραποίηση.

Απλή εργασία

Έτσι, το AI μας έχει μόνο μία εντολή. Ενώ το tic-tac-toe είναι πολύ δύσκολο παιχνίδικαι ξεκίνησα με ένα απλούστερο.

Το bot εκδίδει έναν τυχαίο αριθμό και το AI πρέπει να διαβάσει τα δεδομένα και να δώσει μια απάντηση. Εάν ο αριθμός είναι μεγαλύτερος από τον μέσο όρο (από το εύρος των τυχαίων αριθμών), το AI θα πρέπει να επιστρέψει τον αριθμό κάτω από τον μέσο όρο και αντίστροφα.

Το γονιδίωμα του AI μας αποτελείται από 256 κελιά με τιμές από 0 έως 255. Κάθε τιμή είναι μια μνήμη, ένας κωδικός και μια διεύθυνση. Ο αριθμός των βημάτων για την εκτέλεση του κώδικα περιορίζεται σε 256. Οι τελεστές διαβάζονται το ένα μετά το άλλο.

Αρχικά, το γονιδίωμα σχηματίζεται από ένα σύνολο τυχαίων αριθμών, έτσι το AI δεν ξέρει τι χρειάζεται να παίξει. Επιπλέον, δεν ξέρει τι να διαδοχικά εισάγει και εξάγει δεδομένα, απαντώντας στο bot.

Πληθυσμός και επιλογή

Ο πρώτος πληθυσμός αποτελείται από 256 AI που αρχίζουν να παίζουν με το bot. Εάν το AI εκτελεί τις σωστές ενέργειες, για παράδειγμα, ζήτησε δεδομένα για εισαγωγή και έπειτα εξάγει κάτι, τότε το AI παίρνει πόντους. Όσο πιο σωστές ενέργειες, τόσο περισσότερα σημεία.

Τα 16 AI με τους περισσότερους πόντους δίνουν 15 απογόνους ο καθένας και συνεχίζουν να συμμετέχουν στο παιχνίδι. Ο απόγονος είναι μεταλλαγμένος. Η μετάλλαξη πραγματοποιείται αντικαθιστώντας ένα τυχαίο κελί στο αντίγραφο του γονέα με μια τυχαία τιμή.

Εάν κανένα AI δεν βαθμολογεί πόντους στον πρώτο πληθυσμό, σχηματίζεται ο επόμενος πληθυσμός. Και ούτω καθεξής έως ότου κάποιος από το AI αρχίσει να εκτελεί τις σωστές ενέργειες και να δώσει τον «σωστό» απόγονο.

Εξέλιξη


Χιλιάδες γενετικές αλλαγές πραγματοποιήθηκαν μεταξύ σημαντικών γεγονότων. Το πρόγραμμα ξεκίνησε σε πολλά θέματα στο Core i7. Οι υπολογισμοί χρειάστηκαν περίπου 15 λεπτά.

  1. Όταν ο «ηγέτης» της τεχνητής νοημοσύνης έκανε ένα τυχαίο λάθος και δεν σημείωσε αρκετούς πόντους, ο πληθυσμός άρχισε να υποβαθμίζεται, γιατί οι απόγονοι σχηματίστηκαν από «δευτερεύοντες» γονείς.
  2. Αυτό συνέβη ότι σε ένα ρεύμα με εξωτερικούς που σημείωναν χρόνο, σημειώθηκε μια επιτυχής μετάλλαξη, παρέχοντας μια εκρηκτική ανάπτυξη στα σημεία που αποκτήθηκαν. Τότε αυτό το ρεύμα έγινε ο ηγέτης.
  3. Μερικές φορές για μεγάλο χρονικό διάστημα δεν σημειώθηκαν επιτυχημένες μεταλλάξεις και ακόμη και 500 χιλιάδες γενιές δεν ήταν αρκετές για να ολοκληρώσουν την επιλογή.

συμπέρασμα

Τέλος, έκανα το ίδιο με το παιχνίδι tic-tac-toe. Το μέγεθος του γονιδιώματος χρησιμοποιήθηκε όπως στην πρώτη περίπτωση. Ο αριθμός των βημάτων αυξήθηκε σε 1024 και το μέγεθος του πληθυσμού αυξήθηκε σε 64 (για ταχύτερο υπολογισμό). Ο υπολογισμός χρειάστηκε λίγο περισσότερο. Όλα συνέβησαν περίπου στο ίδιο σενάριο.

Στην αρχή, το AI έπαιξε κατά του "τυχαιοποιητή". Αυτό ονόμασα ένα bot που περπατά τυχαία. Αρκετά γρήγορα, το AI άρχισε να τον χτυπάει, συμπληρώνοντας οποιαδήποτε γραμμή. Στη συνέχεια, έκανα το έργο πιο δύσκολο προσθέτοντας κάποια νοημοσύνη στον τυχαιοποιητή: να καταλάβω τη λωρίδα, αν είναι δυνατόν, ή να υπερασπιστώ. Ωστόσο, σε αυτήν την περίπτωση, το AI βρήκε τις αδυναμίες του bot και άρχισε να το ξεπερνά. Ίσως η ιστορία για αυτό είναι ένα θέμα για ένα ξεχωριστό άρθρο.

Ο γιος ζήτησε να γράψει ένα πρόγραμμα έτσι ώστε τα AI να παίζουν μεταξύ τους και όχι με το bot. Υπήρχαν ιδέες για να κάνουν το ίδιο για το παιχνίδι πούλι ή για να πάω, ωστόσο, για αυτό δεν είχα πλέον αρκετό χρόνο.

Η μόνη μέθοδος που έχω χρησιμοποιήσει για να αποκτήσω νέα άτομα είναι η μετάλλαξη. Crossover και αντιστροφή μπορούν επίσης να χρησιμοποιηθούν. Ίσως αυτές οι μέθοδοι θα επιταχύνουν τη λήψη του επιθυμητού αποτελέσματος.

Στο τέλος, γεννήθηκε μια ιδέα: να δοθεί στο AI η δυνατότητα να ελέγχει όλες τις διαδικασίες σε έναν υπολογιστή και να αγωνίζεται για πόρους υπολογιστών. Συνδέστε τον υπολογιστή σας στο Διαδίκτυο και χρησιμοποιήστε την ομάδα των παλαιών εκμεταλλεύσεων bitcoin ως υπολογιστική δύναμη ...

Όπως είπε ο blogger κατά τη διεξαγωγή ενός παρόμοιου πειράματος

Τεχνητή νοημοσύνη: κρύο, αίσθηση και άυλο. Αλλά είναι ακριβώς γι 'αυτόν που υπάρχει το μέλλον, είναι αυτός ο τομέας της επιστήμης που θα καταστήσει δυνατή την πραγματοποίηση ενός μεγάλου και σημαντικού βήματος προς την αυτοματοποίηση των διαδικασιών και, κατά συνέπεια, την απομάκρυνση ενός μέρους της ρουτίνας από πολύτιμο ειδικοί. Και τώρα, στην αρχή της ανάπτυξής του, μόνο αποφασίζουμε τι θα είναι Τεχνητή νοημοσύνη μετά από μερικές δεκαετίες, τον διδάσκουν.

Ας προσπαθήσουμε να καταλάβουμε ποιες υπάρχουν μέθοδοι και αλγόριθμοι μηχανικής μάθησης τεχνητής νοημοσύνης.

Παραδοσιακά, πολλές αντιπαραθέσεις προκύπτουν γύρω από το νέο και το άγνωστο. Και παρόλο που έχουν ήδη γραφτεί πολλά για την τεχνητή νοημοσύνη, δεν είναι πλήρως κατανοητό από τους ανθρώπους. Ως εκ τούτου, ισχυρισμοί όπως: "Θα πάρει εκατοντάδες θέσεις εργασίας από ανθρώπους!", "Θα σηκωθεί εναντίον ανθρώπων!", "Ναι, σκάβουμε τον δικό μας τάφο!", "Αργά ή γρήγορα δεν θα μπορέσουμε να διαχειριστείτε τον! " και τα λοιπά. Η μάζα των ανθρώπων φαντάζεται την AI ως υπερ-ευφυΐα, η οποία επειδή αψηφά τη δική τους εξήγηση, τότε σίγουρα αποτελεί απειλή για αυτούς. Και φυσικά, κανείς δεν θέλει να το ακούσει τώρα, πέρα \u200b\u200bαπό τα όρια του προγράμματος που έχει καθορίσει κάποιος αυτή τη στιγμή αυτό είναι τεχνικά αδύνατο.

Αλλά τι είναι δυνατόν να τον διδάξετε και πώς συμβαίνει;

Μέθοδοι μηχανικής εκμάθησης τεχνητής νοημοσύνης:

  1. Επαγωγική μάθηση

Λήψη εμπειρικών δεδομένων, αναγνώριση προτύπων, προσδιορισμός αλγορίθμων δράσης σε κάθε τέτοια κατάσταση ·

  1. Εκπαιδευτική μάθηση

Τυποποίηση ανθρώπινων δεδομένων διαφορετικοί τρόποι, και την εισαγωγή τους απευθείας στη βάση δεδομένων.

Οι κύριοι αλγόριθμοι για τη λήψη αποφάσεων με τεχνητή νοημοσύνη:

Naive Bayesian ταξινομητής

Μία από τις απλούστερες μεθόδους ταξινόμησης.

Αυτή η μέθοδος χρησιμοποιείται στην τεχνολογία σάρωσης και αναγνώρισης προσώπων / αμφιβληστροειδούς / δακτυλικών αποτυπωμάτων, στη διαίρεση περιεχομένου στη ροή ειδήσεων ανά θέμα, καθώς και στη διαίρεση επιστολών στο e-mail σας σε κατηγορίες (συγκεκριμένα, διαχωρισμός spam).

Η μέθοδος συνόλου μπορεί να χαρακτηριστεί χονδρικά παράγωγο του παραπάνω περιγραφέντος αφελής ταξινομικού Bayesian, καθώς βασίζεται στον μέσο όρο Bayesian. Με άλλα λόγια, αυτή η μέθοδος αποκαλύπτει τη διασταύρωση των πιθανοτήτων των αποτελεσμάτων, υπολογίζει τον μέσο όρο αυτής της τιμής, εξαλείφει τη διακύμανση των τιμών, ενώ ταυτόχρονα ελέγχει την αναζήτηση λύσης του προβλήματος εντός των καθορισμένων συνθηκών.

Είναι η μέθοδος των συνόλων που μπορεί να καταστήσει δυνατή την εξεύρεση της βέλτιστης λύσης του προβλήματος, στην οποία θα δαπανηθούν λιγότεροι πόροι και το αποτέλεσμα θα ικανοποιήσει στο μέγιστο τις συνθήκες του προβλήματος.

Εάν δεν εμπλέξετε την ουσία της ίδιας της μεθόδου και την εξήγηση της κατασκευής ενός υπερπλάνου και εργαστείτε με αυτό, τότε το SVM μπορεί να περιγραφεί ως αλγόριθμοι για την ταξινόμηση και την ανάλυση παλινδρόμησης.

Μια παρόμοια τεχνολογία χρησιμοποιείται στην αναγνώριση ορισμένων ιδιοτήτων ενός αντικειμένου από μια φωτογραφία (χρώμα μαλλιών, φύλο, χρώμα ενδυμάτων), καθώς και στη γενετική - στο μάτισμα DNA (διαχωρισμός συγκεκριμένων αλληλουχιών νουκλεοτιδίων από το RNA και της σύνδεσής τους κατά την επεξεργασία RNA ).

Δέντρο απόφασης

Ο τρόπος (μοντέλο) λήψης αποφάσεων που χρησιμοποιείται από τον καθένα μας κάθε μέρα. Γι 'αυτό έχει ήδη γίνει meme.

Και αν δεν είναι αστείο, τότε ένα τέτοιο μοντέλο περιέχει συνήθως στοιχεία όπως: ένα πρόβλημα, λύσεις, τις συνέπειες κάθε μεθόδου, την πιθανότητα συνεπειών, το κόστος των πόρων και το τελικό αποτέλεσμα. Οι περισσότερες από τις απλούστερες τεχνολογίες AI λειτουργούν βάσει αυτού του μοντέλου.

Λογική παλινδρόμηση

Ένας τρόπος που μπορεί να μας φέρει πιο κοντά σε μια ισχυρή τεχνητή νοημοσύνη ικανή να λαμβάνει ανεξάρτητες αποφάσεις σε ορισμένες περιπτώσεις. Η λογική παλινδρόμηση είναι μια μέθοδος για την πρόβλεψη της εμφάνισης ενός συμβάντος με πολλές μεταβλητές.


Ένας παρόμοιος αλγόριθμος χρησιμοποιείται στη μετεωρολογία και τη σεισμολογία, στον δανεισμό, στο μάρκετινγκ και σε άλλους τομείς.

Θα ήθελα να επισημάνω αυτή τη μέθοδο ξεχωριστά, καθώς στην ουσία δεν είναι τρόπος επίλυσης του ίδιου του προβλήματος, αλλά μάλλον τρόπος προσδιορισμού των λαθών κάθε λύσης.

Οι αλγόριθμοι που περιγράφονται παραπάνω χρησιμοποιούνται για την εποπτευόμενη μέθοδο εκμάθησης, δηλαδή, στην οποία μια συγκεκριμένη ετικέτα (ιδιότητα) μπορεί να εκχωρηθεί σε μια συγκεκριμένη συστοιχία δεδομένων, αλλά εάν αυτή η ετικέτα δεν είναι διαθέσιμη, η εκχώρησή της θα πρέπει να προβλεφθεί σε άλλες παρόμοιες καταστάσεις .

Αποσυναρμολογήσαμε βασικοί αλγόριθμοι μηχανικής μάθησης τεχνητής νοημοσύνης χρησιμοποιείται συχνότερα στην πράξη. Πρέπει να έχουμε κατά νου ότι η εφαρμοσμένη χρήση της τεχνητής νοημοσύνης στην καθημερινή ζωή και στην επίλυση καθημερινών εργασιών, στις οποίες πιο συχνά η λύση στο πρόβλημα είναι απολύτως σαφής και είναι απαραίτητο μόνο να αυτοματοποιηθεί αυτή η διαδικασία, μπορεί να περιλαμβάνει τη χρήση τέτοιων αλγορίθμων . Το πρόβλημα, η λύση του οποίου θα πρέπει να είναι μια καινοτόμος ανάπτυξη, ή η λύση θα εξαρτηθεί από έναν μεγάλο αριθμό μεταβλητών (δηλαδή, βασικά διαφορετικούς τομείς των ακριβών επιστημών), απαιτεί πιο περίπλοκους αλγόριθμους λύσεων, για τους οποίους μπορείτε να μάθετε εάν ακολουθήστε τα νέα μας.