Posts about sciblog (old posts, page 5)

2010-11-04 installing Dovecot on MacOsX using MacPorts

2010-11-05 15:40:38
  • master howto: https://trac.macports.org/wiki/howto/SetupDovecot
  • Install
    sudo port install dovecot
    sudo port load dovecot
  • Configure
    sudo cp /opt/local/etc/dovecot/dovecot-example.conf  /opt/local/etc/dovecot/dovecot.conf
    
    sudo vim /opt/local/etc/dovecot/dovecot.conf
  • Mine reads (it's just meant to access imap files from the local mail server and not to serve outside the localhost):
    protocols = imap
    listen = localhost:10143
    disable_plaintext_auth = no
    ssl = no
    mail_location = maildir:~/Maildir
    protocol imap {
    }
    auth default {
      mechanisms = plain
      passdb pam {
        args = login
      }
      userdb passwd {
          args =
      }
    user = root
    dict {
    }
  • Reload
    sudo launchctl stop org.macports.dovecot
    sudo launchctl start org.macports.dovecot
  • It does not work on the first try... so read documentation
    less /opt/local//share/doc/dovecot/documentation.txt
    less /opt/local//share/doc/dovecot/auth-protocol.txt
    less /opt/local//share/doc/dovecot/wiki/PasswordDatabase.PAM.txt
  • Authentification
    ls -l /etc/pam.d/
    sudo vim /etc/pam.d/dovecot

    with /etc/pam.d/dovecot being

    auth       required       pam_permit.so
    account    required       pam_permit.so
    password   required       pam_deny.so
    session    required       pam_uwtmp.so

2010-10-31 Marseille : bookmarks and tips

2010-11-11 13:47:22

2010-10-27 installing python and its components

  • Python is often pre-installed on your system or easy to download. More difficult is to get the essential packages (numpy, scipy, matplotlib, ipython) and their dependencies installed. Here, I list some of the possibilities.

on MacOsX: using MacPorts

  • A basic installation procedure is to use the enthought distribution,
  • Another route is to use MacPorts. It is a generic package manager inspired by what you get using Debian's apt scheme.
  • Once installed, do on the command-line
    • on Leopard:
      sudo port install py25-pil py25-numpy py25-scipy py25-ipython py25-matplotlib +cairo+latex+tkinter
      sudo python_select python25

      (Note: you may also use python26 on Leopard).

    • on Snow Leopard:
      sudo port install py26-numpy py26-scipy py26-ipython py26-matplotlib
      sudo port install py26-pyobjc2-cocoa py26-pil py26-distribute py26-pip py26-py2app python_select
      sudo port install vtk5 +carbon +qt4_mac +python26 py26-mayavi
      
      sudo python_select python26

      to install a bunch of useful python packages.

    • to get a package that is not available through macports, do:
      sudo easy_install progressbar
  • for visionEgg :
    sudo port install py26-opengl py26-game
    sudo easy_install visionegg
  • http://ipython.scipy.org/moin/Py4Science/InstallationOSX
  • on Snow Leopard, you'll have to follow these instructions.

Windows

Debian / Ubuntu

DistUtils, PIP & Easy Install

  • most of the time, there's a setup.py file:
    python setup.py install --prefix=~
  • See http://peak.telecommunity.com/DevCenter/EasyInstall
  • to install numpy (same for pylab, scipy, or visionegg), simply do
    easy_install numpy
  • most of the cases, on a test server or a single-user machine, you may find more useful to install in your home dirtectory, for instance:
    easy_install -d ~/lib/python2.5/site-packages/ numpy
  • to upgrade, use
    easy_install -U numpy
  • you can browse the list of available packages.
  • for pip: http://pip.openplans.org/
  • you may create a script tu update all packages:
    for i in `python -c "for dist in __import__('pkg_resources').working_set: print dist.project_name"`:
    do
    echo "`easy_install -U $i`"
    echo "++++++++++++++++++++++++++++++++++++++++++++++++++"
    done
  • to install PIL, use
    easy_install -d lib/python2.6/site-packages/ --find-links http://www.pythonware.com/products/pil/ Imaging

SVNs: bleeding edge versions

  • numpy
    svn co http://svn.scipy.org/svn/numpy/trunk numpy
    cd numpy
    python setup.py build
    sudo python setup.py install
    rm -rf build
    cd ..
  • SciPy
    svn co http://svn.scipy.org/svn/scipy/trunk scipy
    cd scipy
    python setup.py build
    sudo python setup.py install
    rm -rf build
    cd ..
  • pylab
    svn co https://svn.sourceforge.net/svnroot/matplotlib/trunk/matplotlib matplotlib
    cd matplotlib
    python setup.py build
    sudo python setup.py install
    sudo rm -rf build
    cd ..
  • SPE
    svn checkout svn://svn.berlios.de/python/spe/trunk/_spe
  • PIL
    wget http://effbot.org/downloads/Imaging-1.1.6.tar.gz
    tar zxvf  Imaging-1.1.6.tar.gz
    cd Imaging-1.1.6
    python setup.py build_ext -i
    python selftest.py
    python setup.py install
  • gsl
    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/gsl login
    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/gsl checkout gsl
    cd gsl/
    ./autogen.sh
    ./configure --enable-maintainer-mode
    make
  • pytables
    • dependency on HDF
      wget ftp://ftp.hdfgroup.org/HDF5/current/src/hdf5-1.6.5.tar.gz
      tar zxvf hdf5-1.6.5.tar.gz
      cd hdf5-1.6.5
      ./configure --enable-cxx
      make
      make install
      h5ls -r  Documents/Sci/projets/virtualV1/experiments/benchmark_one/results/benchmark_retina_high.h5
      wget http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/Pyrex-0.9.5.1a.tar.gz
      tar zxvf Pyrex-0.9.5.1a.tar.gz
      cd Pyrex-0.9.5.1a
      python setup.py build
      sudo python setup.py install
      rm -rf build
    • install
      wget http://puzzle.dl.sourceforge.net/sourceforge/pytables/pytables-1.4.tar.gz
      #svn co http://pytables.org/svn/pytables/trunk/ pytables
      tar zxvf pytables-1.4.tar.gz
      cd pytables-1.4
      export DYLD_LIBRARY_PATH=/sw/lib # or in .bashrc
      python setup.py install --hdf5=/sw
      cd ..
  • pygtk
    wget http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.8/pygtk-2.8.6.tar.bz2
    tar xvfj pygtk-2.8.6.tar.bz2
    cd pygtk-2.8.6
    .configure
    make
    sudo make install    # or without sudo as root
    cd ..

2010-10-27 Master M2 Sciences

Travaux pratiques : modèle bayesien de détection du mouvement d'objets

  • Le 27/10/2010, de 14h00 à 17h00 dans la salle formation de l'INCM (bâtiment N du GLM, 31, chemin Joseph Aiguier 13402 Marseille cedex).
  • alert me prévenir si vous n'avez pas un ordinateur portable personnel!

principe du TP

  • But: définition de la probabilité de vraissemblance pour des translations d'images grâce à l'utilisation d'un script générique
  • Méthode: montage d'expérience:
    1. expérience simple
    2. expérience avec vitesse entre 0 et une période
    3. effet du contraste sur le wagon wheel illusion
  • Résultats:
    1. une figure montrant 2 images successives d'un film, la densité de probabilité de mouvement. les images seront: un point, une ligne (réseau), un barber-pole, une image naturelle.
    2. une figure montrant l'influence d'un bruit ajouté sur ces images
    3. une figure montrant l'influence de la vitesse sur le mouvement d'un réseau

pré-requis

expérience simple

  • pour charger la boîte à outils :
    import motion_plant as mp
  • pour visualiser une image
    I1, I2 = mp.generate(V_X = 3.5)
    mp.show_images(I1,I2)
  • Calcule la proba sur les vitesses V pour les 2 images:
    1. Il faut définir V avec la fonction velocity_grid, par exemple:
      V= mp.velocity_grid(v_max = 5.)

      (v_max est important il donne la valeur max des proba à tester)

    2. puis invoquer:
      P= mp.proba(V, I1, I2)
  • on peut voir la proba avec
    mp.show_proba(V, P)
  • et trouver celle qui correspond au maximum:
    mp.ArgMaxProba(V, P)

    ou la moyenne

    mp.MeanProba(V, P)
  • essayez différentes images...
    1. image naturelle
      I1, I2 = mp.lena()
    2. réseau carré
      I1, I2 = mp.generate(V_X = 2.5, square=True)
  • et différents paramètres, comme la variance de la vraissemblance
    sigmas = np.logspace(-2, 0, 10)
    
    for sigma in sigmas:
        I1, I2 = mp.generate(V_X = 2.5)
        P= mp.proba(V, I1, I2, sigma=sigma)
        mp.show_proba(V, P)
        pylab.title('sigma ' + str(sigma))
        print mp.ArgMaxProba(V, P), mp.MeanProba(V, P)
  • ou la variance du prior
    sigmas = np.logspace(-1, 1, 10)
    
    for sigma_p in sigmas:
        I1, I2 = mp.generate(V_X = 2.5)
        P= mp.proba(V, I1, I2, sigma_p=sigma_p)
        mp.show_proba(V, P)
        pylab.title('sigma_p ' + str(sigma_p))
        print mp.ArgMaxProba(V, P), mp.MeanProba(V, P)

expérience avec différents niveaux de bruit

  • pour créer une liste de bruits à tester, utiliser
    noises = np.linspace(0, 2., 10)
    
    for noise in noises:
        I1, I2 = mp.generate(V_X = 2.5, noise=noise)
        mp.show_images(I1,I2)
        P= mp.proba(V, I1, I2, sigma_p=1.)
        print mp.ArgMaxProba(V, P), mp.MeanProba(V, P)
  • à comparer avec le cas où on est plus conservateur:
    pylab.close('all')
    N_contrast =10
    contrasts = np.linspace(0, 1., N_contrast)
    V_hat = np.zeros((N_contrast,2))
    for i, contrast in enumerate(contrasts):
        I1, I2 = mp.generate(V_X = 2.5, contrast=contrast, noise=.2,)
        P= mp.proba(V, I1, I2, sigma_p=10.)
        V_hat[i,:] = mp.MeanProba(V, P)
    
    pylab.plot(contrasts, V_hat[:,0], 'r')
    pylab.plot(contrasts, V_hat[:,1], 'r--')
    
    V_hat = np.zeros((N_contrast,2))
    for i, contrast in enumerate(contrasts):
        I1, I2 = mp.generate(V_X = 2.5, contrast=contrast, noise=.2,)
        P= mp.proba(V, I1, I2, sigma_p=1.)
        V_hat[i,:] = mp.MeanProba(V, P)
    
    pylab.plot(contrasts, V_hat[:,0], 'g')
    pylab.plot(contrasts, V_hat[:,1], 'g--')
  • ou avec une image naturelle:
    pylab.close('all')
    N_contrast =10
    contrasts = np.linspace(0, 1., N_contrast)
    V_hat = np.zeros((N_contrast,2))
    for i, contrast in enumerate(contrasts):
        I1, I2 = mp.lena()
        P= mp.proba(V, I1, I2, sigma_p=10.)
        V_hat[i,:] = mp.MeanProba(V, P)
    
    pylab.plot(contrasts, V_hat[:,0], 'b')
    pylab.plot(contrasts, V_hat[:,1], 'b--')

expérience avec un réseau à différentes vitesses

  • pour créer une liste de vitesses à tester, utiliser
    speeds = np.linspace(0, 10., 10)
    V_hat = np.zeros((10,2))
    for i, V_X in enumerate(speeds):
        I1, I2 = mp.generate(V_X = V_X, frequence=12)
        P= mp.proba(V, I1, I2, sigma_p=1.)
        V_hat[i,:] = mp.ArgMaxProba(V, P)
    
    pylab.plot(speeds, V_hat[:,0], 'g')
    pylab.plot(speeds, V_hat[:,1], 'g--')
  • ... c'est le Wagon-wheel effect!

références

2010-10-20 Master M2 Sciences

http://2010.neurocomp.fr/images/neurocomplog.png

Laurent Perrinet

https://crac.dsi.cnrs.fr/image/logo_cnrs.gif
Laurent Perrinet - Team InViBe, Institut de Neurosciences de la Timone (UMR 7289)
CNRS - Aix-Marseille Université Researcher http://invibe.net/LaurentPerrinet

Les Neurosciences Computationelles étudient l'émergence dans les réseaux neuronaux (structure) des fonctions cognitives (fonction). Durant ce cours, nous allons définir ce paradigme de façon générique avant de l'appliquer à trois cas particuliers. D'abord nous allons étudier un exemple de réseau de type Bayesien appliqué à la détection du mouvement visuel. Ensuite, nous étudierons un exemple de réseau de neurones abstraits appliqué au codage adaptatif d'images. Enfin, l'étude de différents types de connectivité dans des réseaux de neurones impulsionnels réalistes.

Neurosciences Computationelles: émergence dans des réseaux d'information

Plan du cours

  1. Neurosciences computationnelles?
  2. Une première application fonctionnelle: détection du mouvement utilisant des modèles probabilistes.
  3. Réseaux optimaux pour le calcul de la représentation d'une image
  4. Vers des implantations neurales...

Le cerveau est-elle une machine de Turing ?

http://www.ecs.syr.edu/faculty/fawcett/handouts/webpages/pictures/turingMachine.gif

Le Système Nerveux Central: quelques chiffres

  • Cerveau = 100 milliards de neurones (cerveau humain)
  • 2% du poids, 20% de la consommation énergétique (5W)
  • 1mm^3 = 90 000 neurones / 700.000.000 synapses / 4 km d’axone / 0,5 km de dendrites

http://upload.wikimedia.org/wikipedia/commons/c/c2/SnowflakesWilsonBentley.jpg

Émergence dans des réseaux d'information

  • Approche classique: réductionisme , atomisme
  • computere
  • émergence ( {en} {fr} )

Neurosciences Computationelles?

http://parasol.tamu.edu/~neilien/research/neurons.jpg

  • Les Neurosciences Computationelles étudient l'émergence dans les réseaux neuronaux (structure) des fonctions cognitives (fonction) en termes de traitement d'information (méthode).

    alert ne pas confondre Neurosciences Computationelles et NeuroInformatique !

  • convergence interdisciplinaire de :
    • neurosciences (physiologie, psychophysique)
    • mathématiques (EDP, physique statistique, probabilités et statistiques, calcul stochastique, théorie des graphes, physique statistique, ...)
    • informatique (théorie de l'information, théorie computationnelle, simulation de modèles)
  • applications à la compréhension de la biologie, à répondre aux pathologies + création de nouveaux paradigmes computationnels

Histoire des Neurosciences Computationelles

  • suit d'abord l'histoire des neurosciences http://upload.wikimedia.org/wikipedia/commons/7/75/Duck_of_Vaucanson.jpg
  • 1930 : Turing http://longstreet.typepad.com/.a/6a00d83542d51e69e20120a5d6fc90970c-500wi
  • 1950 : Hebb / von Neumann
  • 1950 : réseaux de neurones, parallelisme (PDP, Rosenblatt)
  • 1980 : étude des systèmes complexes, arrivée de l'émergence (Amari, Grossberg, Kohonen, Hopfield, physique statistique), premières définitions des Neurosciences Computationelles (congrès de Carmel)
  • 1990 : machine learning (NIPS)
  • 2000 : machines hybrides, science de la complexité (probabilités), approche système (explosion du volume de données) http://people.csail.mit.edu/koen/wholeBrainAtlasMesh.gif
  • 2010 : ...

Niveaux d'analyse de David Marr

fonction / définition algorithmique / méthode hardware / structure, support neural
analyse spectrale décomposition de Fourier FFT
cognition et comportement (modèles de prise de décision; conditionnement classique; conditionnement opérant; apprentissage par réenforcement; neuroéconomie) Traitement de l'information (traitement sensoriel; filtres linéaires et champs récepteurs; estimation des champs récepteurs; détecteurs de contour; modèle de Hubel et Wiesel; statistiques des images naturelles; théorie de l'information; analyse en composantes indépendante; décodage neuronale; codage par population) Dynamique et mécanismes (biophysique d'un neurone; génération de potentiels d'action; réseaux de neurones feedforward et récurrent; réseaux attracteurs; fonctions d'énergie, énergie de Liapounov; apprentissage et plasticité synaptique; mémoires associatives)
Modèles des systèmes neuronaux : La perception visuelle, système vestibulaire, contrôle oculomoteur, contrôle des membres, prise de décision. Théorie des réseaux neuronaux : Codage neuronaux, apprentissage supervisé et non supervisé, apprentissage par renforcement. Modèles de neurones : Modèles de membrane, potentiels d’action, équation Hodgkin-Huxley, modèles de compartiments, canaux, synapses.
suivi d'objet détection d'objet circuit V1-MT/MST-FEF

Suivi d'objet: l'exemple de l'Occular Following Response

grating_contrastgrating_sizefull_field_barberpole
Figure Stimuli used for testing OFR. (Left) Grating in a disk aperture with varying contrast and(Middle)*with varying diameters.*(Right) Barberpole.

http://invibe.net/LaurentPerrinet/Figures/Perrinet07neurocomp/FigureUn?action=AttachFile&do=get&target=summary.png

Figures/Perrinet04tauc/FigureUn/inverse.png

Modèles Probabilistes

model_simple.png

Avantages des représentations probabilitistes

  1. Règles de calcul probabiliste / lien avec la théorie de l'information
  2. Le modèle génératif (vraissemblance) permet de baser inférence (échelle temporelle du codage) et apprentissage (échelle temporelle de l'adaptation)
  3. Modèles hiérarchiques
  4. Réseaux bayesiens

La règle de Bayes

  1. $P( \vec{V} | {\bf I} ) \propto P( {\bf I} | \vec{V} ). P( \vec{V} )$ :
    1. on veut calculer la probabilité a posteriori,
    2. Le modèle génératif permet de définir la probabilité de vraissemblance de tous les modèles directs,
    3. On introduit un prior (ici perceptif) modulant cette probabilité.

De la mesure aux probabilités

  • Soit $\mathbf{I}$ une image contenant du mouvement
  • La meilleure estimation de la vitesse de translation est: $$\vec{v}^\ast = E( \vec{V} | \mathbf{I} ) = \int \vec{V} dP( \vec{v} | \mathbf{I} )$$

../050_ProbabilisticModels/model_simple.png

Bayes

  • $$P( \vec{V} | {\bf I} ) \propto P( {\bf I} | \vec{V} ). P( \vec{V} )$$

Un modèle du mouvement

  • Connaissant $\vec{V}$, on estime que $\mathbf{I}(\vec{x},t) \approx \mathbf{I}(\vec{x} - \vec{V} . dt ,t-dt)$
  • $$P( {\bf I} | \vec{V} ) \propto \exp(- \frac{C2 . \mathcal{T}(\mathbf{I}_{100})2}{2.\sigma_m^2})$$
    • avec $\mathcal{T}(\mathbf{I}_{100}) = \| \mathbf{I}_{100}(\vec{x},t) - \mathbf{I}_{100}(\vec{x} - \vec{V} . dt ,t-dt) \|$
    • Son contraste est $C$ par rapport à une référence: $\mathbf{I}=C.\mathbf{I}_{100}$
  • Hypothèse quadratique: $$P( {\bf I} | \vec{V} ) = \mathcal{N}( \vec{V_m} , \sigma_m )$$

inclusion d'un prior basse vitesse

  • $$P( \vec{V} ) = \mathcal{N}( 0 , \sigma_p )$$
  • On en déduit: $$ P( \vec{V} | \mathbf{I} ) \propto \exp(- \frac{C2 . \| \vec{V}-\vec{V_m} \|2}{2.\sigma_m2 } - \frac{ \| \vec{V} \|2}{2.\sigma_p^2 })$$

naka_rushton.png

Naka-Rushton

  • On définit le gain $$\gamma (C) = \frac{ \vec{V}(C)}{ \vec{V_m} }$$
  • On trouve: $$\gamma (C) \propto \frac{C2}{C_{50}2+C^2}$} with $C_{50} \propto \frac{\sigma_p}{\sigma_m}$$

intégration d'informations indépendantes

http://invibe.net/LaurentPerrinet/Figures/Perrinet08areadne/FigureDeux?action=AttachFile&do=get&target=model_rog.png

  • $\mathcal{N} (\vec{V}_ \bf n C \bf n )=\frac{1}{\sqrt{det(2 \pi C \bf n )}}.exp(\frac{1}{2} (\vec{V}-\vec{V}_ \bf n )T C{{\bf n}}{-1} (\vec{V} - \vec{V}_ \bf n )$
  • avec $C_

    \bf n

    $ donné par

    \begin{eqnarray*}%
    \left( \begin{array}{ccc}%
    \cos(\theta) & -\sin(\theta) \\%
    \sin(\theta) & \cos(\theta)%
    \end{array} \right)%
    \left( \begin{array}{ccc}%
    \sigma_{{\bf n}}^2 & 0 \\%
    0 & \sigma_2^2%
    \end{array} \right)%
    \end{eqnarray*}%
  • Indépendence des bruits de mesure: $ P( \vec{V} | \mathbf{I} ) = \Pi_

    \bf n

    P( \vec{V} | \mathbf{I} , {\bf n})=\mathcal{N} (\vec{v}_m,C)$ avec :

    \begin{eqnarray*}
    \left\{
    \begin{array}{rcl}
    C^{-1}              &=& \sum C^{-1}_{{\bf n}}\\
    C^{-1} . \vec{v}_m &=& \sum C^{-1}_{{\bf n}} \vec{v}_{{\bf n}}
     \end{array}
     \right.
    \end{eqnarray*}
  • d'où
    \begin{eqnarray*}%
    C_{{\bf n}}^{-1} = %
    \left( \begin{array}{ccc}
    \cos(\theta) & \sin(\theta) \\
    -\sin(\theta) & \cos(\theta)
    \end{array} \right)
    \left( \begin{array}{ccc}
    \sigma_{{\bf n}}^{-2}  & 0 \\
    0 & \sigma_2^{-2}
    \end{array} \right)
    \end{eqnarray*}

intégration spatio-temporelle

http://invibe.net/LaurentPerrinet/Figures/Perrinet08areadne/FigureTrois?action=AttachFile&do=get&target=fit_BRF.png

  • intégration sur la surface d'un disque:
    \begin{eqnarray*}%
    \gamma(d) = \frac{C^2}{C_e^2} . \frac{ 1- \exp(-\frac{d^2}{2.\omega^2}) }{ 1 + \frac{C^2}{C_e^2}.(1- \exp(-\frac{d^2}{2.\omega^2})) }%
    \end{eqnarray*}%
  • avec un champ inhibiteur
    \begin{eqnarray*}
    \gamma(d_c) = \frac{ \frac{C^2}{C_e^2} . g_e }{ 1 + \frac{C^2}{C_i^2}. g_i  + \frac{C^2}{C_e^2}. g_e}
    \mbox{ with }
    \left\{
    \begin{array}{rcl}
    g_e              &=& 1- \exp(-\frac{d_c^2}{2.\omega^2}) \\
    g_i &=& 1- \exp(-\frac{d_c^2}{2.\omega_i^2})
     \end{array}
     \right.
    \end{eqnarray*}
  • extensible à d'autres formes d'intégration

Animation of the formation of RFs during aSSC learning

Des probas à une définition du coût neural

$$ {\bf I} = \Psi \cdot \vec{c} + \vec{\nu} $$

$$ \mathcal{C}( {\bf I} | \vec{c} , \Psi) = -\log P( {\bf I} | \vec{o} , \Psi ) $$ $$ \mathcal{C}( {\bf I} | \vec{c} , \Psi ) = \log Z + \frac{1}{2\sigma_n2} \| {\bf I} - \Psi \cdot \vec{c} \|2 - \sum_i \log P(c_i | \Psi)$$ $$ \mathcal{C}( {\bf I} | \vec{c} , \Psi ) = \log Z + \frac{1}{2\sigma_n2} \| {\bf I} - \Psi \cdot \vec{c} \|2 - \lambda \| \vec{c} \|_0$$

  • un problème inverse insoluble (NP-complet). Soyons gourmants!

du coût neural au code neuronal

apprentissage par descente de gradient

  • connaissant le $\vec{c}$ optimal, $\forall i, \Psi_{i} $ devient $ \Psi_{i} + \eta c_{i} ({\bf I} - \Psi\cdot\vec{c}) $

codage par Matching Pursuit

  1. pour un $\Psi$ donné, on choisit $ i^\ast = \mbox{ArgMax}_i (\rho_i)$ avec $\rho_i = <\frac \bf I {\| {\bf I} \|} , \frac{ \Psi_i}{\| \Psi_i\|} > $
  2. comme $ {\bf I} = a_{i\ast} \dico_{i\ast} + \bf{R} $, utilisons $\bf{R}$ et retournons à 1.

Pour plus d'informations, voir Perrinet, Neural Computation (2010).

Figures/Perrinet03ieee/FigureZero/v1_tiger.gif

D'autres modèles de plasticité

http://topographica.org/Tutorials/images/oo_or_map.png

Apprentissage non-supervisé

  1. Apprentissage Hebbien linéaire (PCA), décorrelation
  2. Réseaux Winner-take-all, clustering
  3. Codes distribués parcimonieux (sparse coding)

Plasticité et cartes corticales

  1. Self-organizing maps, Kohonen nets
  2. Modèles de ré-organisation topographique
  3. Apprentissage de sous-variétés

Codage Neural et systèmes dynamiques linéaires

http://upload.wikimedia.org/wikipedia/en/3/3f/LinDynSysTraceDet.jpg

  • systèmes dynamiques linéaires $$ \frac{d}{dt} \mathbf{x}(t) = \mathbf{A} \mathbf{x}(t) $$
  • Les racines de $det(A- \lambda I)$ sont les valeurs propores de $A$. Le signe des racines determine la stabilité du système.
  • Pour 2-dimensions, le polynôme characteristique est de la forme $\lambda2-\tau\lambda+\Delta=0$. Les racines sont donc: $$ \lambda=\frac{\tau \pm \sqrt{\tau2-4\Delta}}{2}$$

http://upload.wikimedia.org/wikipedia/en/5/55/LinearFields.png

Codage Neural et systèmes dynamiques NON linéaires

Figures/Voges10neurocomp/FigureTrois

Codage Neural et systèmes dynamiques NON linéaires (2)

Figures/Voges09cosyne/FigureModel

Codage Neural et systèmes dynamiques NON linéaires (3)

Figures/Kremkow10jcns/FigureTrois

Des points à retenir

  • Importance de poser (toutes) les hypothèses: a-t-on compris l'ensemble du signal?
  • Compréhension de la cognition à différents niveaux d'analyse, à différentes échelles.
  • Nous quittons le siècle de l'information. Nous entrons dans le siècle de la complexité.

2010-10-09 nous

2010-10-09 14:59:09
  • http://en.wikipedia.org/wiki/Nous
  • Nous (pronounced /ˈnuːs/, Greek: νοῦς or νόος) is a philosophical term for mind or intellect. Outside of a philosophical context, it is used, in coloquial English, to denote "common sense," with a different pronunciation (/naʊs/), and sometimes a different spelling (nouse or nowse).

2010-10-06 Émergence

2010-10-06 08:45:12

http://upload.wikimedia.org/wikipedia/commons/2/2d/Automate_cellulaire_hexagonal.png

  • dossier de La recherche de février 2007: article du philosophe Michel Bitbol + entretien de Robert Laughlin + article d'exemeples + frise historique
  • article très compréhensif de Bitbol:
    1. La nature est-elle un puits sans fond?
    2. l'émergence s'oppose au réductionnisme atomiste
    3. répond à l'argument atomiste: "si l'ensemble est plus que la somme des parties, alors ces parties seront les nouveaux atomes": "la propriété émergente est autonome des parties qui la compose" (elle sont multi-réalisables ou survenantes. On observe les même organisations à différentres échelles de la physique: cristaux, cerveau, internet.
    4. d'où une nécessité de montrer la robustesse de la loi émergente par rapport à des perturbations du substrat. principe de protection.
    5. pré-existence du phénomène par rapport à la loi, qui n'est là que pour décrire (au mieux) comme pour la http://fr.wikipedia.org/wiki/Renormalisation
    6. met dans le contexte politique de la science physique (atomistes nucléaires vs. emergentistes de la matière)
    7. "L'option du "sans fond" à un avantage. En elle, la question de la base ne se pose plus en termes d'existence mais en termes de méthode." Il est dur de se déplacer du centre du monde où l'homme s'est placé. L'intelligence n'est qu'un de ces propriétés émergentes, n'est plus "l'œil divin" au centre de la ronde des éléments.

http://i.ytimg.com/vi/HuwXJlPvkhc/0.jpg

  1. article de Laughlin, moins de contenu.
  2. exemples
    1. comportements collectifs
    2. L'Équation de Langevin (1908) est une équation stochastique pour le mouvement brownien.
    3. réseaux small world
  3. frise historique
    1. anaxagore contre l'idée du vide
    2. Leibnitz: charque monade (partie) reflète le tout
    3. G. Bruno = univers infini. brulé par l'eglise (peut-être permet de mettre en lumière le sermon récent du pape sur les athées)
    4. Lewes: origine du mot émergence
    5. RM Hare: Survenance = une propriété survient sur une autre si des variations pour lea première impliquent des différences dans la seconde, mais pas nécessairement l'inverse (une définition de la causalité?)
  4. notes:
    1. on parle toujours d'objet vs des actions sur ces objets: n'est-ce pas une vision anthropomorphique de l'homo faber?
    2. et le "contrat positiviste" ? http://fr.wikipedia.org/wiki/Positivisme « La philosophie positive est l’ensemble du savoir humain, disposé suivant un certain ordre qui permet d’en saisir les connexions et l’unité et d’en tirer les directions générales pour chaque partie comme pour le tout. Elle se distingue de la philosophie théologique et de la philosophie métaphysique en ce qu’elle est d’une même nature que les sciences dont elle procède, tandis que la théologie et la métaphysique sont d’une autre nature et ne peuvent ni guider les sciences ni en être guidées ; les sciences, la théologie et la métaphysique n’ont point entre elles de nature commune. Cette nature commune n’existe qu’entre la philosophie positive et les sciences. Mais comment définirons-nous le savoir humain ? Nous le définirons l’étude des forces qui appartiennent à la matière, et des conditions ou lois qui régissent ces forces. Nous ne connaissons que la matière et ses forces ou propriétés ; nous ne connaissons ni matière sans propriétés ou propriétés sans matière. Quand nous avons découvert un fait général dans quelque une de ces forces ou propriétés, nous disons que nous sommes en possession d’une loi, et cette loi devient aussitôt pour nous une puissance mentale et une puissance matérielle ; une puissance mentale, car elle se transforme dans l’esprit en instrument de logique ; une puissance matérielle, car elle se transforme dans nos mains en moyens de diriger les forces naturelles. » — Emile Littré, Auguste Comte et la philosophie positive

2010-09-27 bundling using py2app

2010-09-28 05:44:57

using macports

  • install py2app :
    sudo port install -u  py26-py2app
  • there's sometimes a problem in py2app to check the right architecture to build on:
    find /opt/local -name apptemplate/setup.py
    sudo vim /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/py2app/apptemplate/setup.py
  • in this case, this can be done by adding the following lines to py2app/apptemplate/setup.py:
    gPreBuildVariants = [
        ...
        {
            'name': 'main-x86_64',
            'target': '10.6',
            'cflags': '-isysroot /Developer/SDKs/MacOSX10.6.sdk -arch x86_64',
            'cc': 'gcc-4.2',
        },
        {
            'name': 'main-i386',
            'target': '10.6',
            'cflags': '-isysroot / -arch i386',
            'cc': 'gcc-4.2',
        },
        ...
    ]

    . So, change to

    gPreBuildVariants = [
        {
            'name': 'main-x86_64',
            'target': '10.5',
            'cflags': '-isysroot /Developer/SDKs/MacOSX10.5.sdk -arch x86_64',
            'cc': 'gcc-4.2',
         },
    #     {
    #         'name': 'main-universal',
    #         'target': '10.5',
    #         'cflags': '-isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386 -arch ppc -arch ppc64 -arch x86_64',
    #         'cc': 'gcc-4.2',
    #     },
    #     {
    #         'name': 'main-fat3',
    #         'target': '10.5',
    #         'cflags': '-isysroot / -arch i386 -arch ppc -arch x86_64',
    #         'cc': 'gcc-4.2',
    #     },
    #     {
    #         'name': 'main-intel',
    #         'target': '10.5',
    #         'cflags': '-isysroot / -arch i386 -arch x86_64',
    #         'cc': 'gcc-4.2',
    #     },
    #     {
    #         'name': 'main-fat',
    #         'target': '10.3',
    #         'cflags': '-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc',
    #         'cc': 'gcc-4.0',
    #     },
    ]

using homebrew