Εμφάνιση αναρτήσεων με ετικέτα Νευρωνικά Δίκτυα. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα Νευρωνικά Δίκτυα. Εμφάνιση όλων των αναρτήσεων

Τρίτη, Νοεμβρίου 11, 2008

back propagation basics


τα βασικά του back propagation σε μία διαφάνεια...
(από http://aibook.csd.auth.gr/include/slides/Chap19.pdf)

Παρασκευή, Μαρτίου 07, 2008

The Next Generation of Neural Networks

Εδώ βρίσκεται ένα βιντεάκι(59:23min) με μια ομιλία του Geoffrey Hinton στη google (νοέμβριος 2007) για όσους πεθύμησαν το back propagation (λέει διάφορα ενδιαφέροντα πράγματα, ανάμεσα στα οποία και τη συγκλονιστική πληροφορία πως το παράξενο σύστημα ταξινόμησης των αμερικάνικων supermarkets τοποθετεί τις κονσέρβες τόνου μαζί με τα pizza toppings!!!!!--και άντε εσύ μετά να κάνεις θεματική αναζήτηση....)

Στη σελίδα του τύπου μπορεί κανείς να δει digit movies όπου το καημένο μοντελάκι πασχίζει ν' αναγνωρίσει κακογραμμένους αριθμούς (ακριβώς όπως αυτό που δείχνει στην ομιλία του) και άλλα geeky stuff!!

Δευτέρα, Ιανουαρίου 14, 2008

Χαρτογραφώντας επιχειρήματα : Μπορούν οι ηλεκτρονικοί υπολογιστές να σκεφτούν?

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

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

Κάθε χάρτης δίνει περιληπτικά περίπου 100 επιχειρήματα, αλλά το σημαντικό είναι πώς τα δίνει: σε οπτική οργάνωση ανάλογα με τις μεταξύ τους σχέσεις (ποιο υποστηρίζει ποιο, ποιο αντιδρά σε τι κλπ)!!!


Bonus link : μιας και ο λόγος περι επιχειρημάτων, και εν είδη διαλείμματος από το διάβασμα, μπορείτε να δοκιμάσετε να νικήσετε τον Σωκράτη (ώστε να πιεί το κώνειο μόνος του υπό την ασφυκτική πίεση της ανυπόφορης λογικής σας --αυτό ήταν hint!) στην -montypythonιακής εμπνεύσεως- Socrates Argument Clinic!!!

Τρίτη, Νοεμβρίου 06, 2007

Links για νευρωνικά δίκτυα

Μερικά ενδιαφέροντα links σχετικά με νευρωνικά δίκτυα

http://www.tech.plym.ac.uk/soc/staff/guidbugm/bugmann.htm
http://www.tech.plym.ac.uk/soc/staff/guidbugm/avision.htm

Link για το software Cortex, έναν προσομοιωτή δικτύου
http://cortex.snowcron.com/

Κυριακή, Νοεμβρίου 04, 2007

Tlearn και δυαδική πρόσθεση

Α)Η απλούστερη περίπτωση πρόσθεσης στο tlearn είναι ο ακόλουθος δυαδικός αθροιστής 2 ψηφίων. Έχουμε δύο προσθεταίους 1 bit ο καθένας (είσοδοι i1,i2) και 2 bit εξόδου για το δυαδικό άθροισμα (5,6)

Στο αρχείο ba.cf ορίζουμε ένα δίκτυο με 2 κόμβους-εισόδους και 6 κόμβους από τους οποίους 2 είναι έξοδοι (οι i1,i2 είναι είσοδοι, οι 1,2,3,4 το κρυφό επίπεδο , και οι 5,6 έξοδοι). Ακόμα ορίζουμε τις συνδέσεις (οι 1,2,3,4 παίρνουν είσοδο από τους i1,i2 και οι 5,6 από τους 1,2,3,4). Τέλος ορίζουμε μέγιστο βάρος για την αρχική - αυθαίρετη κατανομή των βαρών και σαν επιλεγμένους τους κόμβους εξόδου για να τυπώνεται η τιμή τους.

Στο αρχείο ba.data δίνουμε έναν πίνακα με τους συνδιασμούς των πιθανών τιμών εισόδου και στο ba.teach τις επιθυμητές - σωστές απαντήσεις πάλι σε μορφή πίνακα αντίστοιχα.




Μετά από την εκπαίδευση το δίκτυο κάνει σωστά την πρόσθεση όπως φαίνεται στις παρακάτω εικόνες:







Τα γκριζα τετράγωνα είναι 0 και τα λευκά 1
Η πάνω-πάνω γραμμή είναι η έξοδος και η κάτω-κάτω η είσοδος
οι απόλυτοι αριθμοί για τις τιμές των εξόδων είναι :

Node 5 & 6 activities
using ba-6000.wts and ba.data (Training Set)
0.001 0.108
0.021 0.902
0.048 0.905
0.948 0.071
για τις τιμές εισόδου:
0 0
0 1
1 0
1 1
αντίστοιχα.
παρατηρούμε ότι υπάρχει σχετική απόκλιση από τις ακριβείς τιμές που θα έπρεπε να ήταν :
0 0
0 1
0 1
1 0

παρακάτω τα βάρη που κατέληξε η διαδικασία μάθησης

NETWORK CONFIGURED BY TLEARN
# weights after 6000 sweeps
# WEIGHTS
# TO NODE 1
0.0000000000
2.9818105698
-6.0779738426
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
# TO NODE 2
0.0000000000
6.1313815117
-2.9242992401
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
# TO NODE 3
0.0000000000
-4.4514608383
-4.7775363922
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
# TO NODE 4
0.0000000000
-2.5334775448
1.1163078547
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
0.0000000000
# TO NODE 5
0.0000000000
0.0000000000
0.0000000000
-7.2919034958
4.4269704819
-5.9890913963
-5.3023133278
0.0000000000
0.0000000000
# TO NODE 6
0.0000000000
0.0000000000
0.0000000000
6.0124821663
-3.6080329418
-9.9171791077
3.2884705067
0.0000000000
0.0000000000


Β)Κάποιος θα μπορούσε να αναλύσει - σχεδιάσει ένα δίκτυο - δυαδικό αθροιστή και να καθορίσει τα βάρη ως εξής :

έχουμε δύο προσθεταίους a0, b0 και δύο ψηφία εξόδου e0,e1 και 4 καταστάσεις τις : 00, 01, 10, 11 που συνδέονται ως εξής



e0=(a0-b0)+(-a0+b0)
e1=(0.5*a0+0.5*b0)
Υποθέτουμε κατώφλι 0.9 (για να μην ενεργοποιηθεί η ενδιάμεση 11 στις περιπτώσεις εισόδου 01,10 όπου φτάνει ερέθισμα 0.5)
Η λογική είναι ότι το e0 γίνετε 1 όταν προκύψουν οι καταστάσεις 01, 10 και το e1 όταν προκύψει η κατάσταση 11 όπου το e0 πρέπει να γίνει 0. Η κατάσταση 00 αφήνει την έξοδο ανεπηρέαστη σε 00

Επεκτείνωντας τη λογική μπορεί κανείς να χτίσει έναν αθροιστή n bit ως εξής
το ψηφίο e0 πάντα θα εξαρτάται μόνο από τα a0,b0
το e1 θα εξαρτάται από τα a0,b0 (με συντελεστή 0,5) και τα a1,b1
το e2 από τα a1,b1 και τα a1,b1
...
το en+1 από τα an,bn


Γ)Ορισμένα ερωτήματα και σκέψεις:

Μπορούν για το ίδιο δίκτυο να υπάρχουν διαφορετικά configurations στα βάρη που να δίνουν ΑΚΡΙΒΩΣ τις ίδιες τιμές εξόδου;

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

Σχετικά με το δίκτυο για τα πρόσωπα: Θέλουμε ένα δίκτυο που να του βάζεις μια photo και να λέει "α ΄να! είναι ο γιάννης και η μαρία και ο κώστας στο βάθος!";