1. A method for feature extraction, comprising: providing sensory input to a first neural module in a neural network comprising a plurality of neural modules interconnected via a plurality of weighted synaptic connections; extracting one or more input features from said sensory input as said sensory input propagates from said first neural module through said neural network in a first direction via at least one of said plurality of weighted synaptic connections; providing motor output to a second neural module in said neural network; extracting one or more output features from said motor output as said motor output propagates from said second neural module through said neural network in a second direction via at least one of said plurality of weighted synaptic connections, wherein said first direction is opposite of said second direction; and associating said one or more input features with said one or more output features.