Skip to content

Commit

Permalink
GNN v1 upload
Browse files Browse the repository at this point in the history
Punctuation, Source file structure, and Step-by-Step examples.
  • Loading branch information
ActiveInferenceInstitute authored Apr 5, 2023
1 parent cacc72f commit fe2e954
Show file tree
Hide file tree
Showing 3 changed files with 196 additions and 0 deletions.
164 changes: 164 additions & 0 deletions GNN examples ~ Step-by-Step.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
GNN Section,Static Perception,Dynamic Perception,Dynamic Perception with Policy Selection,Dynamic Perception with Flexible Policy Selection
Image from paper,image.png,image.png,image.png,image.png
GNN version and flags,"## LanGauge
v1","## LanGauge
v1","## LanGauge
v1","## LanGauge
v1"
Model name,# Static perception v1,# Dynamic perception v1,"# Dynamic perception with Policy Selection v1 ",# Dynamic perception with Flexible Policy Selection v1
Model annotation,"## Model annotations
Static
Perception
Simple
Snapshot
This model relates a single hidden state, to a single observable modality. It is a static model.","## Model annotations
Dynamic
Perception
This model relates a single hidden state, to a single observable modality. It is a dynamic model because it tracks changes in the hidden state through time. ","## Model annotations
Dynamic
Perception
Action
Variational Free Energy
This model relates a single hidden state, to a single observable modality. It is a dynamic model because it tracks changes in the hidden state through time. There is Action applied via pi. ","## Model annotations
Dynamic
Perception
Action
Variational Free Energy
This model relates a single hidden state, to a single observable modality. It is a dynamic model because it tracks changes in the hidden state through time. There is Action applied via pi, and uncertainty about action via the beta parameter. "
State space block,"## State space block
D[2,1,type=float]
s[2,1,type=float]
A[2,2,type=float]
o[2,1,type=float]","## State space block
D[2,1,type=float]
B[2,1,type=float]
s_t[2,1,type=float]
A[2,2,type=float]
o_t[2,1,type=float]
t[1,type=int]","## State space block
A[2,2,type=float]
D[2,1,type=float]
B[2,len(π), 1,type=float]
π=[2]
C=[2,1]
G=len(π)
s_t[2,1,type=float]
o_t[2,1,type=float]
t[1,type=int]","## State space block
A[2,2,type=float]
D[2,1,type=float]
B[2,len(π),1,type=float]
π=[2]
C=[2,1]
G=len(π)
s_t[2,1,type=float]
o_t[2,1,type=float]
t[1,type=int]"
Connections,"## Connections among variables
D-s
s-A
A-o","## Connections among variables
D-s_t
s_t-A
A-o
s_t-B
B-s_t+1","## Connections among variables
D-s_t
s_t-A
A-o
s_t-B
B-s_t+1
C>G
G>π","## Connections among variables
D-s_t
s_t-A
A-o
s_t-B
B-s_t+1
C>G
G>π
E>π
β-γ
γ>π"
"Initial parameterization ","Initial Parameterization

D={0.5,0.5}

o={1,0}

A={(.9,.1),(.2,.8)}","## Initial Parameterization
",## Initial Parameterization,Initial Parameterization
Equations,"## Equations
\text{softmax}(\ln(D)+\ln(\mathbf{A}^\top o))
","## Equations
s_{tau=1}=softmax((1/2)(ln(D)+ln(B^dagger_tau*s_{tau+1})+ln(trans(A)o_tau)

s_{tau>1}=softmax((1/2)(ln(D)+ln(B^dagger_tau*s_{tau+1})+ln(trans(A)o_tau)","Equations

s_{pi, tau=1}=sigma((1/2)(lnD+ln(B^dagger_{pi, tau}s_{pi, tau+1}))+lnA^T*o_tau)

s_{pi, tau>1}=sigma((1/2)(ln(B_{pi, tau-1}s_{pi, tau-1})+ln(B^dagger_{pi, tau}s_{pi, tau+1}))+lnA^T*o_tau)

G_pi=sum_tau(As_{pi, tau}(ln(A*s_{pi, tau})-lnC_tau)-diag(A^TlnA)*s_{pi, tau})

pi=sigma(-G)","Equations

F_pi = sum_tau (s_{pi, tau} * (ln(s_{pi, tau}) - (1/2)(ln(B_{pi, tau-1}s_{pi, tau-1}) + ln(B^dagger_{pi, tau}s_{pi, tau+1})) - A^To_tau))

pi_0=sigma(lnE-gamma*G)

pi=sigma(lnE-F-gamma*G)

p(gamma)=Gamma(1,beta)

E[gamma]=gamma=1/beta

beta=beta-beta_{update}/psi

beta_{update}=beta-beta_0+(pi-pi_0)*(-G)"
Time,"## Time
Static","## Time
Dynamic
s_t=DiscreteTime
ModelTimeHorizon=Unbounded","## Time
Dynamic
s_t=DiscreteTime
ModelTimeHorizon=Unbounded","## Time
Dynamic
s_t=DiscreteTime
ModelTimeHorizon=Unbounded"
ActInf Ontology annotation,"## Active Inference Ontology
A=RecognitionMatrix
D=Prior
s=HiddenState
o=Observation
","## Active Inference Ontology
A=RecognitionMatrix
B=TransitionMatrix
D=Prior
s=HiddenState
o=Observation
t=Time
","## Active Inference Ontology
A=RecognitionMatrix
B=TransitionMatrix
C=Preference
D=Prior
G=ExpectedFreeEnergy
s=HiddenState
o=Observation
π=PolicyVector
t=Time
","## Active Inference Ontology
A=RecognitionMatrix
B=TransitionMatrix
C=Preference
D=Prior
E=Prior on Action
G=ExpectedFreeEnergy
s=HiddenState
o=Observation
π=PolicyVector
t=Time"
Footer,# Static perception v1,# Dynamic perception v1,"# Dynamic perception with Policy Selection v1 ",# Dynamic perception with Flexible Policy Selection v1
Signature,,,,
13 changes: 13 additions & 0 deletions GNN Punctuation.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Symbol,Meaning,Example Use,Meaning of Example
^,A caret means superscript.,X^Y,X with a superscript Y
",",A comma is used to separate items in a list.,"X,Y",List with X and Y as elements
##,A double hashtag signals a new section in the Markdown file.,## Section123,Has “Section123” as a section name
#,A hashtag signals the title header in the Markdown file.,"## Title123 ",Has “Title123” as model title
###,A triple hashtag is a comment line in the Markdown file.,### Comment123,Has “Comment123” as a comment
{ },Curly brackets are specification of exact values for a variable.,X{1},X is a scalar with value of 1
-,Hypen is an undirected causal edge between two variables.,X-Y,Undirected causal edge between X and Y
( ),Parentheses are used to bound other expressions.,X^(Y_2),X with a superscript that is Y with a subscript 2
[ ],"Rectangular brackets define the dimensionality, or state space, of a variable.","X[2,3]","X is a matrix with dimensions (2,3)"
=,"The equals sign declares the two side of the = to be equal. ",X=5,Sets the variable X to value of 5
>,The greater than symbol represents a directed causal edge between two variables.,X>Y,Unidirectional causal edge from X to Y
_,Underscore means subscript.,X_2,X with a subscript 2
19 changes: 19 additions & 0 deletions GNN source file structure.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
GNN Section,Section Meaning,Controlled Terms
Image from paper,"Shows the image of the graphical model, if one exists.",
GNN version and flags,Describes which specification of LanGauge is being used.,
Model name,Gives a name for the model being expressed.,
Model annotation,"Plaintext caption or annotation for the model. This is a free metadata field which does not need to use any formal or controlled language. ",
State space block,"Describes all variables in the model, and their state space (dimensionality). ",
Connections,Describes edges among variables in the graphical model.,
"Initial parameterization ","Provides the initial parameter values for variables.
",
Equations,"Describes any equations associated with the model, written in LaTeX. These equations are at least rendered for display, and further can actually specify relationships among variables. ",
Time,"Describes the model’s treatment of Time. ","“Static” → Is a static model.
“Dynamic” → Is a dynamic model.
DiscreteTime=X_t → Specifies X_t as the temporal variable in a discrete time model.
ContinuousTime=X_t → Specifies X_t as the temporal variable in a continuous time model.
ModelTimeHorizon=X → Specifies X as the time horizon for finite-time modeling. "
ActInf Ontology annotation,"Connects the variables to their associated Active Inference Ontology term, for display and model juxtaposition.","Variables in this section are associated with one or more terms from the Active Inference Ontology.
For example “C=Preference” means that the C variable plays the role of the Preference variable. "
Footer,"Closes the file and allows read-in from either end. ",
Signature,"Cryptographic signature block (can have information regarding the completeness or provenance of the .S file). ",

0 comments on commit fe2e954

Please sign in to comment.