From afb5618d5aa5f6e1145c67f88c634d4a7b47f555 Mon Sep 17 00:00:00 2001
From: lukas
- Neuron forenameCategory = m.createNeuron("C-forename");
- Neuron surnameCategory = m.createNeuron("C-surname");
- Neuron inhibitingN = m.createNeuron("INHIB");
+ Neuron forenameCategory = m.createNeuron("C-forename", INHIBITORY, LIMITED_RECTIFIED_LINEAR_UNIT);
+ Neuron surnameCategory = m.createNeuron("C-surname", INHIBITORY, LIMITED_RECTIFIED_LINEAR_UNIT);
+ Neuron inhibitingN = m.createNeuron("INHIB", INHIBITORY, LIMITED_RECTIFIED_LINEAR_UNIT);
Neuron cookSurnameEntity = Neuron.init(
- m.createNeuron("E-cook (surname)"),
+ m.createNeuron("E-cook (surname)", EXCITATORY, RECTIFIED_HYPERBOLIC_TANGENT),
6.0, // adjusts the bias
- RECTIFIED_HYPERBOLIC_TANGENT,
- EXCITATORY,
new Synapse.Builder() // Requires the word to be recognized
.setSynapseId(0)
.setNeuron(inputNeurons.get("cook"))
@@ -165,8 +163,6 @@ Named Entity Recognition / Entity Resolution example
Neuron.init(
forenameCategory,
0.0,
- RECTIFIED_LINEAR_UNIT,
- EXCITATORY,
new Synapse.Builder() // In this example there is only one forename considered.
.setSynapseId(0)
.setNeuron(jacksonForenameEntity)
@@ -180,8 +176,6 @@ Named Entity Recognition / Entity Resolution example
Neuron.init(
surnameCategory,
0.0,
- RECTIFIED_LINEAR_UNIT,
- EXCITATORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(cookSurnameEntity)
@@ -204,8 +198,6 @@ Named Entity Recognition / Entity Resolution example
Neuron.init(
inhibitingN,
0.0,
- RECTIFIED_LINEAR_UNIT,
- INHIBITORY,
new Synapse.Builder().setNeuron(cookProfessionEntity)
.setSynapseId(0)
.setWeight(1.0)
@@ -279,23 +271,27 @@ Named Entity Recognition / Entity Resolution example
-Activation ID - Final Decision - Slots | Identity - Neuron Label - Logic Layer - Upper Bound -
+Activation ID - Neuron Type - Final Decision - Slots (Ranges) | Identity - Neuron Label - Logic Layer - Upper Bound -
Value | Sum | Weight - Input Value | Target Value
- ...
-3 - SELECTED - (0:4, 1:12) () - C-forename - OR[] - V:1.0 Net:1.0 W:0.0
-4 - SELECTED - (0:4, 1:12) () - INHIB - OR[] - V:1.0 Net:1.0 W:0.0
-1 - SELECTED - (0:4, 1:12) () - W-jackson - OR[] - V:1.0 Net:0.0 W:0.0 - IV:1.0
-2 - SELECTED - (0:4, 1:12) () - E-jackson (forename) - V:1.0 Net:6.0 W:6.0
-5 - EXCLUDED - (0:4, 1:12) () - E-jackson (city) -
-8 - SELECTED - (0:12, 1:17) () - C-surname - OR[] - V:1.0 Net:1.0 W:0.0
-9 - SELECTED - (0:12, 1:17) () - INHIB - OR[] - V:1.0 Net:1.0 W:0.0
-6 - SELECTED - (0:12, 1:17) () - W-cook - OR[] - V:1.0 Net:0.0 W:0.0 - IV:1.0
-7 - SELECTED - (0:12, 1:17) () - E-cook (surname) - V:1.0 Net:8.0 W:8.0
-10 - EXCLUDED - (0:12, 1:17) () - E-cook (profession) -
- ...
-
- Final SearchNode:8 WeightSum:13.999
+0 INPUT - - (0:0, 1:4) "mr. " () - W-mr. - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+4 INHIBITORY - - (0:4, 1:12) "jackson " () - C-forename - V:1.0 UB:1.0 Net:1.0 W:0.0
+5 INHIBITORY - - (0:4, 1:12) "jackson " () - INHIB - V:1.0 UB:1.0 Net:1.0 W:0.0
+1 INPUT - - (0:4, 1:12) "jackson " () - W-jackson - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+2 EXCITATORY - SELECTED - (0:4, 1:12) "jackson " () - E-jackson (forename) - V:1.0 UB:1.0 Net:6.0 W:6.0
+3 EXCITATORY - EXCLUDED - (0:4, 1:12) "jackson " () - E-jackson (city) - V:0.0 UB:0.0 Net:-95.0 W:0.0
+9 INHIBITORY - - (0:12, 1:17) "cook " () - C-surname - V:1.0 UB:1.0 Net:1.0 W:0.0
+10 INHIBITORY - - (0:12, 1:17) "cook " () - INHIB - V:1.0 UB:1.0 Net:1.0 W:0.0
+6 INPUT - - (0:12, 1:17) "cook " () - W-cook - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+7 EXCITATORY - SELECTED - (0:12, 1:17) "cook " () - E-cook (surname) - V:1.0 UB:1.0 Net:6.0 W:6.0
+8 EXCITATORY - EXCLUDED - (0:12, 1:17) "cook " () - E-cook (profession) - V:0.0 UB:0.0 Net:-95.0 W:0.0
+11 INPUT - - (0:17, 1:21) "was " () - W-was - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+12 INPUT - - (0:21, 1:26) "born " () - W-born - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+13 INPUT - - (0:26, 1:29) "in " () - W-in - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+14 INPUT - - (0:29, 1:33) "new " () - W-new - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+15 INPUT - - (0:33, 1:38) "york " () - W-york - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+
+ Final SearchNode:6 WeightSum:12.0
@@ -316,19 +312,17 @@ Mutual exclusion example
Model m = new Model();
// Create the input neurons for the network.
- Neuron inA = m.createNeuron("IN-A");
- Neuron inB = m.createNeuron("IN-B");
- Neuron inC = m.createNeuron("IN-C");
+ Neuron inA = m.createNeuron("IN-A", INPUT);
+ Neuron inB = m.createNeuron("IN-B", INPUT);
+ Neuron inC = m.createNeuron("IN-C", INPUT);
// Instantiate the inhibitory neuron. Its inputs will be added later on.
Neuron inhibN = m.createNeuron("INHIB");
// Create three neurons that might be suppressed by the inhibitory neuron.
Neuron pA = Neuron.init(
- m.createNeuron("A"),
+ m.createNeuron("A", EXCITATORY),
3.0,
- RECTIFIED_HYPERBOLIC_TANGENT,
- EXCITATORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(inA)
@@ -352,10 +346,8 @@ Mutual exclusion example
);
Neuron pB = Neuron.init(
- m.createNeuron("B"),
+ m.createNeuron("B", EXCITATORY),
5.0,
- RECTIFIED_HYPERBOLIC_TANGENT,
- EXCITATORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(inB)
@@ -379,10 +371,8 @@ Mutual exclusion example
);
Neuron pC = Neuron.init(
- m.createNeuron("C"),
+ m.createNeuron("C", EXCITATORY),
2.0,
- RECTIFIED_HYPERBOLIC_TANGENT,
- EXCITATORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(inC)
@@ -409,8 +399,6 @@ Mutual exclusion example
Neuron.init(
inhibN,
0.0,
- RECTIFIED_LINEAR_UNIT,
- INHIBITORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(pA)
@@ -443,10 +431,9 @@ Mutual exclusion example
.setRelation(EQUALS)
);
- Neuron outN = Neuron.init(m.createNeuron("OUT"),
+ Neuron outN = Neuron.init(
+ m.createNeuron("OUT", EXCITATORY),
0.0,
- RECTIFIED_HYPERBOLIC_TANGENT,
- EXCITATORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(pB)
@@ -486,17 +473,17 @@ Mutual exclusion example
- Activation ID - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
+ Activation ID - Neuron Type - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
Value | Net | Weight - Input Value | Target Value
-0 - SELECTED - (0:0, 1:1) () - IN-A - V:1.0 Net:0.0 W:0.0 - IV:1.0
-3 - SELECTED - (0:0, 1:1) () - IN-B - V:1.0 Net:0.0 W:0.0 - IV:1.0
-6 - SELECTED - (0:0, 1:1) () - IN-C - V:1.0 Net:0.0 W:0.0 - IV:1.0
-2 - SELECTED - (0:0, 1:1) () - INHIB - V:1.0 Net:1.0 W:0.0
-1 - EXCLUDED - (0:0, 1:1) () - A -
-4 - SELECTED - (0:0, 1:1) () - B - V:1.0 Net:5.0 W:5.0
-7 - EXCLUDED - (0:0, 1:1) () - C -
-5 - SELECTED - (0:0, 1:1) () - OUT - V:0.762 Net:1.0 W:0.0
+0 INPUT - - (0:0, 1:1) "f" () - IN-A - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+3 INPUT - - (0:0, 1:1) "f" () - IN-B - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+6 INPUT - - (0:0, 1:1) "f" () - IN-C - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+2 INHIBITORY - - (0:0, 1:1) "f" () - INHIB - V:1.0 UB:1.0 Net:1.0 W:0.0
+1 EXCITATORY - EXCLUDED - (0:0, 1:1) "f" () - A - V:0.0 UB:0.0 Net:-97.0 W:0.0
+4 EXCITATORY - SELECTED - (0:0, 1:1) "f" () - B - V:1.0 UB:1.0 Net:5.0 W:5.0
+7 EXCITATORY - EXCLUDED - (0:0, 1:1) "f" () - C - V:0.0 UB:0.0 Net:-98.0 W:0.0
+5 INHIBITORY - - (0:0, 1:1) "f" () - OUT - V:0.762 UB:0.762 Net:1.0 W:0.0
Final SearchNode:10 WeightSum:5.0
@@ -518,16 +505,14 @@ Pattern matching example
// Create an input neuron for every letter in this example.
for(char c: new char[] {'a', 'b', 'c', 'd', 'e', 'f'}) {
- Neuron in = m.createNeuron(c + "");
+ Neuron in = m.createNeuron(c + "", INPUT);
inputNeurons.put(c, in);
}
Neuron pattern = Neuron.init(
- m.createNeuron("BCDE"),
+ m.createNeuron("BCDE", EXCITATORY),
5.0,
- RECTIFIED_HYPERBOLIC_TANGENT,
- EXCITATORY,
new Synapse.Builder()
.setSynapseId(0)
.setNeuron(inputNeurons.get('b'))
@@ -605,15 +590,15 @@ Pattern matching example
-Activation ID - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
+Activation ID - Neuron Type - Final Decision - Slots | Identity - Neuron Label - Upper Bound -
Value | Net | Weight - Input Value | Target Value
-0 - SELECTED - (0:0, 1:2) () - a - V:1.0 Net:0.0 W:0.0 - IV:1.0
-1 - SELECTED - (0:2, 1:4) () - b - V:1.0 Net:0.0 W:0.0 - IV:1.0
-5 - SELECTED - (0:2, 1:10) () - BCDE - V:1.0 Net:5.0 W:0.0
-2 - SELECTED - (0:4, 1:6) () - c - V:1.0 Net:0.0 W:0.0 - IV:1.0
-3 - SELECTED - (0:6, 1:8) () - d - V:1.0 Net:0.0 W:0.0 - IV:1.0
-4 - SELECTED - (0:8, 1:10) () - e - V:1.0 Net:0.0 W:0.0 - IV:1.0
+0 INPUT - - (0:0, 1:2) "a " () - a - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+1 INPUT - - (0:2, 1:4) "b " () - b - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+5 EXCITATORY - SELECTED - (0:2, 1:10) "b c d e " () - BCDE - V:1.0 UB:1.0 Net:5.0 W:0.0
+2 INPUT - - (0:4, 1:6) "c " () - c - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+3 INPUT - - (0:6, 1:8) "d " () - d - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
+4 INPUT - - (0:8, 1:10) "e " () - e - V:1.0 UB:1.0 Net:0.0 W:0.0 - IV:1.0
Final SearchNode:1 WeightSum:0.0