Package network.aika.neuron
Class INeuron
- java.lang.Object
-
- network.aika.AbstractNode<Neuron>
-
- network.aika.neuron.INeuron
-
- All Implemented Interfaces:
Comparable<INeuron>,Writable
public class INeuron extends AbstractNode<Neuron> implements Comparable<INeuron>
TheINeuronclass represents a internal neuron implementation in Aikas neural network and is connected to other neurons through input synapses and output synapses. The activation value of a neuron is calculated by computing the weighted sum (input act. value * synapse weight) of the input synapses, adding the bias to it and sending the resulting value through a transfer function (the upper part of tanh).The neuron does not store its activationsBySlotAndPosition by itself. The activation objects are stored within the logic nodes. To access the activationsBySlotAndPosition of this neuron simply use the member variable
nodeor use the methodgetFinalActivations(Document doc)to ge the final activationsBySlotAndPosition of this neuron.- Author:
- Lukas Molzberger
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classINeuron.ActKeystatic classINeuron.SynapseSummarystatic classINeuron.Type
-
Field Summary
Fields Modifier and Type Field Description static booleanALLOW_WEAK_NEGATIVE_WEIGHTSstatic INeuronMAX_NEURONstatic INeuronMIN_NEURONSet<Integer>slotHasInputsSet<Integer>slotRequiredstatic doubleWEIGHT_TOLERANCE-
Fields inherited from class network.aika.AbstractNode
lastUsedDocumentId, modified, provider
-
-
Constructor Summary
Constructors Constructor Description INeuron(Model m, String label, String outputText, INeuron.Type type, ActivationFunction actF)
-
Method Summary
-
Methods inherited from class network.aika.AbstractNode
getProvider, read, setModified
-
-
-
-
Constructor Detail
-
INeuron
public INeuron(Model m, String label, String outputText, INeuron.Type type, ActivationFunction actF)
-
-
Method Detail
-
getLabel
public String getLabel()
-
getType
public INeuron.Type getType()
-
getSynapseSummary
public INeuron.SynapseSummary getSynapseSummary()
-
getInputSynapses
public Collection<Synapse> getInputSynapses()
-
getPassiveInputSynapses
public Collection<Synapse> getPassiveInputSynapses()
-
addRequiredSlot
public void addRequiredSlot(int slot)
-
getActivationFunction
public ActivationFunction getActivationFunction()
-
getExtension
public <T extends Writable> T getExtension()
-
getActivations
public Stream<Activation> getActivations(Document doc)
-
isEmpty
public boolean isEmpty(Document doc)
-
size
public int size(Document doc)
-
clearActivations
public void clearActivations(Document doc)
-
getActivations
public Stream<Activation> getActivations(Document doc, int slot, Position pos, boolean onlyFinal)
-
clearActivations
public void clearActivations()
-
clearActivations
public void clearActivations(int threadId)
-
getActivations
public Stream<Activation> getActivations(Document doc, int fromSlot, Position fromPos, boolean fromInclusive, int toSlot, Position toPos, boolean toInclusive)
-
getActivations
public Stream<Activation> getActivations(Document doc, boolean onlyFinal)
-
getActivations
public Collection<Activation> getActivations(Document doc, SortedMap<Integer,Position> slots)
-
setOutputText
public void setOutputText(String outputText)
-
getOutputText
public String getOutputText()
-
addInput
public Activation addInput(Document doc, Activation.Builder input)
Propagate an input activation into the network.- Parameters:
doc- The current documentinput-
-
commit
public void commit(Collection<Synapse> modifiedSynapses)
-
checkRequiredSlots
public boolean checkRequiredSlots(Document doc, SortedMap<Integer,Position> slots)
-
lookupActivation
public Activation lookupActivation(Document doc, SortedMap<Integer,Position> slots, Predicate<Activation.Link> filter)
-
remove
public void remove()
-
getNewSynapseId
public int getNewSynapseId()
-
registerSynapseId
public void registerSynapseId(Integer synId)
-
propagate
public void propagate(Activation act)
-
compareTo
public int compareTo(INeuron n)
- Specified by:
compareToin interfaceComparable<INeuron>
-
write
public void write(DataOutput out) throws IOException
Description copied from interface:WritableSerialize the fields of this object toout.- Specified by:
writein interfaceWritable- Parameters:
out-DataOuputto serialize this object into.- Throws:
IOException
-
readFields
public void readFields(DataInput in, Model m) throws IOException
Description copied from interface:WritableDeserialize the fields of this object fromin.For efficiency, implementations should attempt to re-use storage in the existing object where possible.
- Specified by:
readFieldsin interfaceWritable- Parameters:
in-DataInputto deseriablize this object from.- Throws:
IOException
-
suspend
public void suspend()
- Overrides:
suspendin classAbstractNode<Neuron>
-
reactivate
public void reactivate()
- Overrides:
reactivatein classAbstractNode<Neuron>
-
setBias
public void setBias(double b)
-
updateBiasDelta
public void updateBiasDelta(double biasDelta)
-
getBias
public double getBias()
-
getNewBias
public double getNewBias()
-
register
public void register(Activation act)
-
readNeuron
public static INeuron readNeuron(DataInput in, Neuron p) throws IOException
- Throws:
IOException
-
isPassiveInputNeuron
public boolean isPassiveInputNeuron()
-
registerPassiveInputSynapse
public void registerPassiveInputSynapse(Synapse s)
-
toStringWithSynapses
public String toStringWithSynapses()
-
-