vincentiusyoshuac commited on
Commit
7011a65
·
verified ·
1 Parent(s): 254bf80

Update node.py

Browse files
Files changed (1) hide show
  1. node.py +8 -7
node.py CHANGED
@@ -4,13 +4,13 @@ from collections import deque
4
  from .memory import CognitiveMemory
5
 
6
  class CognitiveNode(nn.Module):
7
- """Node dengan penanganan dimensi terintegrasi"""
8
  def __init__(self, node_id: int, input_size: int):
9
  super().__init__()
10
  self.id = node_id
11
  self.input_size = input_size
12
 
13
- # Parameter dengan dimensi yang sesuai
14
  self.weights = nn.Parameter(torch.randn(input_size) * 0.1)
15
  self.bias = nn.Parameter(torch.zeros(1))
16
  self.memory = CognitiveMemory(context_size=input_size)
@@ -18,25 +18,26 @@ class CognitiveNode(nn.Module):
18
  # Sistem neuromodulator
19
  self.dopamine = nn.Parameter(torch.tensor(0.5))
20
  self.serotonin = nn.Parameter(torch.tensor(0.5))
21
-
22
- # Aktivasi terakhir
23
  self.recent_activations = deque(maxlen=100)
24
 
25
  def forward(self, inputs: torch.Tensor) -> torch.Tensor:
 
 
 
26
  # Integrasi memori
27
  mem_context = self.memory.retrieve(inputs)
28
  combined = inputs * 0.7 + mem_context * 0.3
29
 
30
- # Aktivasi dengan kontrol dimensi
31
  activation = torch.tanh(torch.dot(combined, self.weights) + self.bias)
32
  modulated = activation * (1 + torch.sigmoid(self.dopamine)
33
  - torch.sigmoid(self.serotonin))
34
 
35
- # Update memori
36
  self.memory.add_memory(inputs, modulated.item())
37
  self.recent_activations.append(modulated.item())
38
 
39
- return modulated
40
 
41
  def update_plasticity(self, reward: float):
42
  """Update neurotransmitter dengan clamping"""
 
4
  from .memory import CognitiveMemory
5
 
6
  class CognitiveNode(nn.Module):
7
+ """Unit neuron dengan operasi tensor yang aman"""
8
  def __init__(self, node_id: int, input_size: int):
9
  super().__init__()
10
  self.id = node_id
11
  self.input_size = input_size
12
 
13
+ # Parameter dengan dimensi sesuai input
14
  self.weights = nn.Parameter(torch.randn(input_size) * 0.1)
15
  self.bias = nn.Parameter(torch.zeros(1))
16
  self.memory = CognitiveMemory(context_size=input_size)
 
18
  # Sistem neuromodulator
19
  self.dopamine = nn.Parameter(torch.tensor(0.5))
20
  self.serotonin = nn.Parameter(torch.tensor(0.5))
 
 
21
  self.recent_activations = deque(maxlen=100)
22
 
23
  def forward(self, inputs: torch.Tensor) -> torch.Tensor:
24
+ # Validasi dimensi input
25
+ inputs = inputs.view(-1)
26
+
27
  # Integrasi memori
28
  mem_context = self.memory.retrieve(inputs)
29
  combined = inputs * 0.7 + mem_context * 0.3
30
 
31
+ # Operasi linear yang aman
32
  activation = torch.tanh(torch.dot(combined, self.weights) + self.bias)
33
  modulated = activation * (1 + torch.sigmoid(self.dopamine)
34
  - torch.sigmoid(self.serotonin))
35
 
36
+ # Update memori dengan scalar value
37
  self.memory.add_memory(inputs, modulated.item())
38
  self.recent_activations.append(modulated.item())
39
 
40
+ return modulated.squeeze()
41
 
42
  def update_plasticity(self, reward: float):
43
  """Update neurotransmitter dengan clamping"""