public class LeakyIntegratorWithIntrinsicPlasticityModule extends LeakyIntegratorModule implements java.io.Serializable
LeakyIntegratorModule
by adaptive
transfer functions in order to implement entropy maximization using intrinsic
plasticity.LeakyIntegratorModule.SilentInhibition
Modifier and Type | Field and Description |
---|---|
protected java.util.List<java.util.List<java.lang.Double>> |
intrinsicAdaptationLearningRates |
protected boolean |
intrinsicPlasticity |
protected java.util.List<java.util.List<java.lang.Double>> |
targetDistributionParameters |
protected java.util.List<java.util.List<java.lang.Double>> |
transferFunctionParameterChanges |
protected java.util.List<java.util.List<java.lang.Double>> |
transferFunctionParameters |
activeCliqueEvolution, lastActiveClique, leaks, membranePotentials
activities, biases, changeListeners, elapsedTime, elapsedTimeSteps, forwardModules, GENERALIZED_HEBBIAN_LEARNING, HEBBIAN_LEARNING, OJAS_RULE_LEARNING, receptors
Constructor and Description |
---|
LeakyIntegratorWithIntrinsicPlasticityModule()
Default LeakyIntegratorWithIntrinsicPlasticityModule constructor for demonstration purpose.
|
LeakyIntegratorWithIntrinsicPlasticityModule(double[][] adjacencyMatrix,
java.util.Random random) |
LeakyIntegratorWithIntrinsicPlasticityModule(java.io.File file) |
LeakyIntegratorWithIntrinsicPlasticityModule(int size,
double linkProbability) |
LeakyIntegratorWithIntrinsicPlasticityModule(int size,
double linkProbability,
java.util.Random random) |
LeakyIntegratorWithIntrinsicPlasticityModule(int networkSize,
int numberOfPatterns,
double sparseness,
double lambda1)
Create a leaky integrator with latching dynamics for demonstration purpose.
|
Modifier and Type | Method and Description |
---|---|
void |
adaptTransferFunctionParameters(double deltaTime) |
void |
addNeuron(double activity) |
void |
calculateOneTimeStep(double deltaTime)
calculates one time step of the simulation calculation
This method has to be implemented by subclasses.
|
java.util.List<java.util.List<java.lang.Double>> |
getIntrinsicAdaptationLearningRates() |
java.util.List<java.lang.Double> |
getIntrinsicAdaptationLearningRates(int neuron) |
java.util.List<java.util.List<java.lang.Double>> |
getTargetDistributionParameters() |
java.util.List<java.lang.Double> |
getTargetDistributionParameters(int neuron) |
java.util.List<java.util.List<java.lang.Double>> |
getTransferFunctionParameterChanges() |
java.util.List<java.util.List<java.lang.Double>> |
getTransferFunctionParameters() |
java.util.List<java.lang.Double> |
getTransferFunctionParameters(int neuron) |
boolean |
isIntrinsicPlasticity() |
void |
printLogFileHeader(java.io.PrintWriter out)
Prints a file header for the log files.
|
void |
removeNeuron(int neuron) |
void |
setIntrinsicAdaptationLearningRates(double intrinsicAdaptationParameter) |
void |
setIntrinsicAdaptationLearningRates(double intrinsicAdaptationParameter1,
double intrinsicAdaptationParameter2) |
void |
setIntrinsicAdaptationLearningRates(int neuron,
double intrinsicAdaptationParameter) |
void |
setIntrinsicAdaptationLearningRates(int neuron,
double intrinsicAdaptationParameter1,
double intrinsicAdaptationParameter2) |
void |
setIntrinsicPlasticity(boolean intrinsicPlasticity) |
void |
setTargetDistributionParameters(double targetDistributionParameter1,
double targetDistributionParameter2) |
void |
setTargetDistributionParameters(int neuron,
double targetDistributionParameter1,
double targetDistributionParameter2) |
void |
setTransferFunctionParameters(double gain,
double threshold) |
void |
setTransferFunctionParameters(int neuron,
double gain,
double threshold) |
java.lang.String |
toString() |
double |
transferFunction(double potential,
int neuron)
Maps the membrane potential x ∈ [0, ∞) to the rate coding activity y ∈ [0,
1).
|
double |
transferFunctionInverse(double activity,
int neuron)
inverse of @see transferFunction
|
calculateMembranePotential, fromXML, getLeak, getLeaks, getMembranePotential, getMembranePotentials, getSilentInhibition, normalizeLinks, reset, setActivities, setActivity, setLeak, setLeaks, setMembranePotential, setMembranePotentials, setMembranePotentials, setSilentInhibition, transferFunction, transferFunctionInverse, updateActivities, updateActivity
addAfferentModule, addAfferentModule, addBias, addBias, addChangeListener, addForwardModule, addReceptor, exportGraphMLGraph, exportGraphvizGraph, exportGraphvizGraph, exportTGFGraph, exportXfigCircle, exportXfigLattice, getActiveClique, getActivities, getActivity, getAfferentLink, getAfferentLinks, getAfferentModules, getAverageCoordinationNumber, getBias, getBiases, getCliqueGraph, getCliques, getConnectedComponents, getDegreeDistribution, getElapsedTime, getElapsedTimeSteps, getForwardModules, getLearningRate, getLearningRates, getLearningType, getLink, getLinkProbability, getLinks, getName, getNeighbors, getNeighbors, getNodeDegree, getNodeDegrees, getNodeInDegree, getNodeInDegrees, getNodeOutDegree, getNodeOutDegrees, getPositiveLinkAverage, getReceptor, getReceptors, getSize, hasAfferentModule, hasForwardModule, isClique, isLearning, learning, multiplyExhibitoryAndInhibitoryLinksSeparately, notifyStateChanged, performOneTimeStep, removeAfferentModule, removeAfferentModules, removeChangeListener, removeForwardModule, removeForwardModules, setActivities, setAfferentLink, setAfferentLinks, setAfferentLinks, setBias, setBias, setLearning, setLearningRates, setLearningRates, setLearningType, setLink, setLink, setLinks, setName, setNegativeLinks, setPositiveLinkAverage, setPositiveLinks, setSize, writeGraphvizSubgraph, writeGraphvizSubgraph
protected java.util.List<java.util.List<java.lang.Double>> transferFunctionParameters
protected java.util.List<java.util.List<java.lang.Double>> targetDistributionParameters
protected boolean intrinsicPlasticity
protected java.util.List<java.util.List<java.lang.Double>> intrinsicAdaptationLearningRates
protected java.util.List<java.util.List<java.lang.Double>> transferFunctionParameterChanges
public LeakyIntegratorWithIntrinsicPlasticityModule()
public LeakyIntegratorWithIntrinsicPlasticityModule(int networkSize, int numberOfPatterns, double sparseness, double lambda1)
networkSize
- Size of the network.numberOfPatterns
- Number of random binary patterns.sparseness
- Ensemble average firing activity for the patterns.lambda1
- $\lambda_1$ for the time average firing activity $\mu$ for the target distribution.public LeakyIntegratorWithIntrinsicPlasticityModule(double[][] adjacencyMatrix, java.util.Random random)
public LeakyIntegratorWithIntrinsicPlasticityModule(int size, double linkProbability)
public LeakyIntegratorWithIntrinsicPlasticityModule(int size, double linkProbability, java.util.Random random)
public LeakyIntegratorWithIntrinsicPlasticityModule(java.io.File file) throws java.io.IOException
java.io.IOException
public void addNeuron(double activity)
addNeuron
in class LeakyIntegratorModule
public void removeNeuron(int neuron)
removeNeuron
in class LeakyIntegratorModule
public double transferFunction(double potential, int neuron)
transferFunction
in class LeakyIntegratorModule
potential
- public double transferFunctionInverse(double activity, int neuron)
transferFunctionInverse
in class LeakyIntegratorModule
public void calculateOneTimeStep(double deltaTime)
Module
calculateOneTimeStep
in class LeakyIntegratorModule
public void adaptTransferFunctionParameters(double deltaTime)
public java.util.List<java.util.List<java.lang.Double>> getTransferFunctionParameters()
public java.util.List<java.lang.Double> getTransferFunctionParameters(int neuron)
public void setTransferFunctionParameters(double gain, double threshold)
public void setTransferFunctionParameters(int neuron, double gain, double threshold)
public java.util.List<java.util.List<java.lang.Double>> getTransferFunctionParameterChanges()
public boolean isIntrinsicPlasticity()
public void setIntrinsicPlasticity(boolean intrinsicPlasticity)
public java.util.List<java.util.List<java.lang.Double>> getIntrinsicAdaptationLearningRates()
public java.util.List<java.lang.Double> getIntrinsicAdaptationLearningRates(int neuron)
public void setIntrinsicAdaptationLearningRates(double intrinsicAdaptationParameter)
public void setIntrinsicAdaptationLearningRates(double intrinsicAdaptationParameter1, double intrinsicAdaptationParameter2)
public void setIntrinsicAdaptationLearningRates(int neuron, double intrinsicAdaptationParameter)
public void setIntrinsicAdaptationLearningRates(int neuron, double intrinsicAdaptationParameter1, double intrinsicAdaptationParameter2)
public java.util.List<java.util.List<java.lang.Double>> getTargetDistributionParameters()
public java.util.List<java.lang.Double> getTargetDistributionParameters(int neuron)
public void setTargetDistributionParameters(double targetDistributionParameter1, double targetDistributionParameter2)
public void setTargetDistributionParameters(int neuron, double targetDistributionParameter1, double targetDistributionParameter2)
public void printLogFileHeader(java.io.PrintWriter out)
Module
printLogFileHeader
in class LeakyIntegratorModule