|
22 | 22 | import org.aika.Neuron; |
23 | 23 | import org.aika.corpus.Conflicts; |
24 | 24 | import org.aika.corpus.Document; |
25 | | -import org.aika.corpus.InterprNode; |
26 | | -import org.aika.corpus.SearchNode; |
| 25 | +import org.aika.corpus.InterpretationNode; |
27 | 26 | import org.aika.lattice.NodeActivation; |
28 | 27 | import org.aika.neuron.Activation; |
29 | 28 | import org.aika.neuron.INeuron; |
|
34 | 33 | import java.util.List; |
35 | 34 | import java.util.TreeSet; |
36 | 35 |
|
37 | | -import static org.aika.corpus.InterprNode.State.SELECTED; |
38 | | -import static org.aika.corpus.InterprNode.State.EXCLUDED; |
39 | | -import static org.aika.corpus.InterprNode.State.UNKNOWN; |
| 36 | +import static org.aika.corpus.InterpretationNode.State.SELECTED; |
| 37 | +import static org.aika.corpus.InterpretationNode.State.EXCLUDED; |
40 | 38 |
|
41 | 39 |
|
42 | 40 | /** |
| 41 | + * Meta-neurons and meta-synapses allow to generate new fully trained neurons based on a single training data set. |
| 42 | + * The meta-network employs an inhibitory feedback loop to determine if a certain information is already known (i.e. |
| 43 | + * there is already a neuron representing it) or if it is new knowledge that should be represented by a new neuron. If |
| 44 | + * there is already a neuron that represents this information, then the meta-neuron will be suppressed by the |
| 45 | + * feedback loop. Otherwise the meta-neuron will be activated which means a copy of the meta-neuron will be generated |
| 46 | + * using only the meta information of this neuron. The meta-synapses are only added to this new neuron if the input |
| 47 | + * neuron has beed active in the training data set as well. If the input neuron of the meta-synapse is another |
| 48 | + * inhibitory neuron, then the resulting synapse of the new neuron is going to be connected to the activated input |
| 49 | + * neuron of this inhibitory neuron. |
43 | 50 | * |
44 | 51 | * @author Lukas Molzberger |
45 | 52 | */ |
@@ -200,9 +207,9 @@ private static void transferMetaSynapses(Document doc, Activation metaAct, Neuro |
200 | 207 |
|
201 | 208 |
|
202 | 209 | private static boolean isConflicting(Activation tAct, long v) { |
203 | | - ArrayList<InterprNode> tmp = new ArrayList<>(); |
| 210 | + ArrayList<InterpretationNode> tmp = new ArrayList<>(); |
204 | 211 | Conflicts.collectConflicting(tmp, tAct.key.interpretation, v); |
205 | | - for(InterprNode c: tmp) { |
| 212 | + for(InterpretationNode c: tmp) { |
206 | 213 | if(c.state == SELECTED) return true; |
207 | 214 | } |
208 | 215 | return false; |
|
0 commit comments