In[]:=
meshNetToExpression[depth_Integer,activationFunction_]:=With[{n=2depth,act=activationFunction},Block[{w=1,b=1},Nest[act[Total[#*Table[Subscript[W,w++],2]]+Subscript[B,b++]]&/@Partition[ArrayPad[#,{1,1}],2,1]&,{x},n][[depth+1]]]]
In[]:=
meshNetToExpression[1,ϕ]
Out[]=
ϕ[+ϕ[+x]+ϕ[+x]]
B
4
W
7
B
1
W
2
W
8
B
2
W
3
In[]:=
meshNetToExpression[2,ϕ]
Out[]=
ϕ[+ϕ[+ϕ[+ϕ[+x]]+ϕ[+ϕ[+x]+ϕ[+x]]]+ϕ[+ϕ[+ϕ[+x]+ϕ[+x]]+ϕ[+ϕ[+x]]]]
B
12
W
23
B
7
W
13
B
3
W
6
B
1
W
2
W
14
B
4
W
7
B
1
W
2
W
8
B
2
W
3
W
24
B
8
W
15
B
4
W
7
B
1
W
2
W
8
B
2
W
3
W
16
B
5
W
9
B
2
W
3
In[]:=
meshNetToExpression[2,Ramp]
Out[]=
Ramp[+Ramp[+Ramp[+Ramp[+x]]+Ramp[+Ramp[+x]+Ramp[+x]]]+Ramp[+Ramp[+Ramp[+x]+Ramp[+x]]+Ramp[+Ramp[+x]]]]
B
12
B
7
B
3
B
1
W
2
W
6
W
13
B
4
B
1
W
2
W
7
B
2
W
3
W
8
W
14
W
23
B
8
B
4
B
1
W
2
W
7
B
2
W
3
W
8
W
15
B
5
B
2
W
3
W
9
W
16
W
24
In[]:=
FullSimplify[%]
In[]:=
Simplify[meshNetToExpression[1,(Exp[#]-1)/(Exp[#]+1)&]]
Out[]=
-1+++
B
4
-1++x
B
1
W
2
W
7
1++x
B
1
W
2
-1++x
B
2
W
3
W
8
1++x
B
2
W
3
1+++
B
4
-1++x
B
1
W
2
W
7
1++x
B
1
W
2
-1++x
B
2
W
3
W
8
1++x
B
2
W
3
In[]:=
Series[%,{x,0,1}]
Out[]=
-1+++
B
4
-1+
B
1
W
7
1+
B
1
-1+
B
2
W
8
1+
B
2
1+++
B
4
-1+
B
1
W
7
1+
B
1
-1+
B
2
W
8
1+
B
2
4+++2+++2++2++x
B
4
-1+
B
1
W
7
1+
B
1
-1+
B
2
W
8
1+
B
2
B
1
W
2
W
7
B
1
B
2
W
2
W
7
B
1
B
2
W
2
W
7
B
2
W
3
W
8
B
1
B
2
W
3
W
8
2+
B
1
B
2
W
3
W
8
2
(1+)
B
1
2
(1+)
B
2
2
1+++
B
4
-1+
B
1
W
7
1+
B
1
-1+
B
2
W
8
1+
B
2
2
O[x]
In[]:=
Rotate[GridGraph[{5,5}],45Degree]
Out[]=
In[]:=
meshNetToExpression[2,ϕ]/.Subscript[B,_]->0
Out[]=
ϕ[ϕ[ϕ[ϕ[x]]+ϕ[ϕ[x]+ϕ[x]]]+ϕ[ϕ[ϕ[x]]+ϕ[ϕ[x]+ϕ[x]]]]
W
23
W
13
W
6
W
2
W
14
W
7
W
2
W
8
W
3
W
24
W
16
W
9
W
3
W
15
W
7
W
2
W
8
W
3
In[]:=
ExpressionTree[%]
Out[]=