User Tools

Site Tools


neurali:pybrain

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
neurali:pybrain [2018/07/17 18:50] – [Software (libero) di simulazione reti neurali] profproneurali:pybrain [2023/06/09 09:42] (current) profpro
Line 1: Line 1:
 +======Software (libero) di simulazione reti neurali======
 +
 + > Tornare alla pagina iniziale, per conoscere altri [[neurali:software di simulazione reti]]
 +
 +======PyBrain======
 +
 +  - **Inattivo** dal giugno 2014 (o anche da prima?)
 +  - Mailing list **inaccessibile** senza iscrizione a Google Gruppi
 +  - pacchetto debian
 +  - c'è un buon tutorail, utile per imparare cosa è una rete neurale e come funziona
 +
 +==== Doc ====
 +
 +https://web.archive.org/web/20100106050159/http://github.com/pybrain/pybrain
 +
 +====Download====
 +
 +  git clone ...
 +
 +
 + 
 +====XOR====
 +Il //quickstart// della documentazione mostra come creare una semplice rete per approssimare una funzione XOR
 +
 +https://web.archive.org/web/20230115194325/http://pybrain.org/docs/
 +
 +
 +====Dipendenze====
 +
 +  python-scipy python-matplotlib
 +
 +====Altri Pacchetti Consigliati==== 
 +  LIBSVM RL-Glue ODE(0.8) PyOde(1.2) PIL (Python Imaging Library) PyOpenGL(3.0) tk/tkinter PyCDF SCons
 +
 +=====Descrizione=====
 +
 +PyBrain permette di costruire reti mettendo insieme dei //modules// insieme alle //Connections//: i primi (detti anche layer) contengono i nodi o percettroni, i secondi stabiliscono legami tra i nodi e contengono i pesi.
 +
 +È necessaria la presenza dei seguenti tipi di moduli:
 +  * di input
 +  * di output
 +  * hidden
 +  * error (opzionale)
 +
 +
 +I nodi all'interno della rete sono caratterizzati da una //funzione di attivazione// (di trasferimento?), (utilizzata solo nella fase di apprendimento?), delle seguenti tipologie:
 +
 +  * sigmoid (default)
 +  * linear (non effettua nessuna trasformazione)
 +  * softmax (nei problemi di [[neurali:pybrain classificazioni con FFN|classificazione]])
 +  * Tanh (tangente iperbolica)
 +  * altro?
 +
 +(vedere [[neurali:percettrone#funzioni_di_attivazione_non_lineari]])
 +
 +Di solito la struttura dei layer di una rete è ordinata tramite //Connections// seguendo un modello di architettura //[[neurali:FeedForward Neural Network]]// (**FNN**), ma aggiungendo almeno un modulo di retroazione si può ottenere una architettura //[[neurali:Recurrent Neural Network]]// (**RNN**), che si distingue per la presenza di un ulteriore modulo che guarda indietro nel tempo (memoria).
 +===FNN===
 +Si utilizza un apprendimento "**machine learning**" detto anche "supervisioned learning", che ottimizza i pesi delle connessioni usando un //dataset// e il metodo //trainer//
 +Il metodo __trainer__ potrebbe essere di tipo //BackpropTrainer()//
 +===RNN===
 +Si utilizza un apprendimento "**reinforced learning**" usando un //environment// e un //optimization task//. L'ambiente o __environment__ potrebbe essere un labirinto (maze)
 +
 +Il costruttore delle connection (deve essere applicato su ogni modulo/layer) può essere di tipo:
 +
 +  * FullConnection()
 +  * da finire?
 +
 +=====Tutorial=====
 +
 +  * [[neurali:pybrain help|help]] python
 +  * tutorial 
 +  * [[neurali:pybrain classificazioni con FFN|classificazioni]]
 +  * [[neurali:pybrain costruire una rete|costruire una rete]] neurale
 +  * [[neurali:pybrain recurrent neural network|RNN]] con pybrain
 +  * [[neurali:pybrain supervisioned learning]]