Table of Contents
Software (libero) di simulazione reti neurali
> Tornare alla pagina iniziale, per conoscere altri 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
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 classificazione)
- Tanh (tangente iperbolica)
- altro?
(vedere funzioni_di_attivazione_non_lineari)
Di solito la struttura dei layer di una rete è ordinata tramite Connections seguendo un modello di architettura FeedForward Neural Network (FNN), ma aggiungendo almeno un modulo di retroazione si può ottenere una architettura 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
- help python
- tutorial
- costruire una rete neurale
- RNN con pybrain