File size: 870 Bytes
3c02ff0
c227032
3c02ff0
c227032
3c02ff0
 
 
 
c227032
 
 
 
 
 
 
 
 
 
3c02ff0
c227032
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from typing import Dict, Any
import torch
import torch.nn as nn
import torch.nn.functional as F

class ConsciousnessModel(nn.Module):
    def __init__(self, config: Dict[str, Any]):
        super().__init__()
        input_dim = config.get('input_dim', 768)
        hidden_dim1 = config.get('hidden_dim1', 128)
        hidden_dim2 = config.get('hidden_dim2', 64)
        output_dim = config.get('output_dim', 32)

        self.self_awareness = nn.Linear(input_dim, hidden_dim1)
        self.meta_cognitive = nn.Linear(hidden_dim1, hidden_dim2)
        self.phenomenal = nn.Linear(hidden_dim2, output_dim)
        self.dropout = nn.Dropout(config.get('dropout', 0.1))

    def forward(self, x):
        x = F.relu(self.self_awareness(x))
        x = self.dropout(x)
        x = F.relu(self.meta_cognitive(x))
        x = self.dropout(x)
        return self.phenomenal(x)