|
|
Different dynamics are produced, seemingly by the same underlying system, in different conditions (Huys, others), motivating the question, here in neural systems, of how a homogeneous substrate, such as a sheet of firing rate neurons, can be switched to different dynamics.
|
|
For a first concrete example, we will take the first four equations 3.5 (and the competition component from 3.4) from Pillai 2008 corresponding to a double Fitzhugh-Nagumo excitator system in which the phase flow composed of (\xi_1,\xi_2) competes with that of (\xi_3,\xi_4):
\dot{ \xi_1 } = ( 1-\sum_{i=1}^4 \xi_i^2) \xi_1 + \mu (\xi_2+\xi_1-\xi_1^3/3) \tau - c_1 \xi_1 \sum_i^4 \xi_i^2
\dot{ \xi_2 } = ( 1-\sum_{i=1}^4 \xi_i^2) \xi_2 - \mu (\xi_1 - a_1 - I_1 - b_1 \xi_2 ) / \tau - c_1 \xi_2 \sum_i^4 \xi_i^2
\dot{ \xi_3 } = ( 1-\sum_{i=1}^4 \xi_i^2) \xi_3 + \mu (\xi_4+\xi_3-\xi_3^3/3) \tau - c_2 \xi_3 \sum_i^4 \xi_i^2
\dot{ \xi_4 } = ( 1-\sum_{i=1}^4 \xi_i^2) \xi_4 - \mu (\xi_3 - a_2 - I_2 - b_2 \xi_4 ) / \tau - c_2 \xi_4 \sum_i^4 \xi_i^2
in which a_i, b_i, and I_i produce different phase flows, i.e. a combination of monostable, bistable or limit cycle.
|
|
|
The parameters c_1 and c_2 control the competition between the (\xi_1,\xi_2) and (\xi_3,\xi_4) dynamics. As c_i is raised (lowered) the i^{th} functional subnetwork's activity is inhibited (enhanced).
|
|
In terms of order parameters, \xi_i we have
and in terms firing rate nodes we have
or
where \textbf{Z} is a connectivity matrix. Based on the coordinate transform \textbf{w}, from which we have \vec{ q } = \textbf{ w } \vec{ \xi } , \vec{ \xi } = \textbf{ w }^\dagger \vec{ q } and an adjoint system \textbf{w}^\dagger \textbf{w} = \textbf{I} , we write
and expand \textbf{ Z } into z_0 + \mu \textbf{ Z } :
At this point, let the neural interaction function (taken to be a sigmoid) be approximated as S(q) = a_1 + a_2 q + a_3 q^2 (vector multiplication is element-wise unless otherwise denoted) and expand the form:
In the formulation of functional system dynamics above, flows are a static property of the vector field and each flow has a corresponding coefficient that determines its role in competition with other flows. In the neural network formulation, asymmetries in the connectivity matrix \textbf{Z} produce flows. In order to recruit multiple flows in a neural network, we first assume that, as in the functional form, the capability to produce a particular flow or set of flows is a static property of the vector field, i.e. the connectivity matrix does not change. The neural network analog of the biased competition present in the equations used next is a linear combination of baseline excitability, I_{j,i} in the i^{th} neuron, corresponding to the j^{th} phase flow:
which after the derivation above takes the form
where f(\vec{\xi})=\textbf{w}^\dagger [ - 1 + z_0 ( a_1 + a_2 \textbf{ w } \vec{ \xi } + a_3 ( \textbf{ w } \vec{ \xi } )^2 ) ] \textbf{ w } and g(\vec{\xi})= \textbf{w}^\dagger \textbf{ Z } [ a_1 + a_2 \textbf{ w } \vec{ \xi } + a_3 (\textbf{ w } \vec{ \xi } )^2 ] \textbf{ w } \vec{ \xi } . Comparing this form to that of the functional dynamics
we should be able to fit f(.) from the network formulation to that of the functional form in order to create the desired manifold and similarly g(.)+ \dots to produce the flows and flow competition. In the procedure to fit the network formulation, we want to minimize the angle between the functional vector field, \vec{V}_f (\vec{\xi},\vec{c}), and the network vector field, \vec{V}_n (\vec{\xi},\vec{c}),
(\arccos is evaluated element-wise) evaluated over some region of the space spanned by (\vec{\xi}, \vec{c}) by manipulating parameters of the network vector field \textbf{Z}, z_0, a_i, and I_{j,i}. In particular, z_0 and a_i will be set when fitting the manifold, while \textbf{Z} and I_{j,i} will be set in order to produce the flows and their competition.
|
|
First, we'll attempt to embed a simpler excitator limit-cycle flow into a network of five firing rate neurons. From the above, we have
whose behavior we want to map into
by fitting the form \dot{\vec{\xi}} = f(\vec{\xi}) \vec{\xi} + \mu g(\vec{\xi}) (where f(\vec{\xi})=\textbf{w}^\dagger [ - 1 + z_0 ( a_1 + a_2 \textbf{ w } \vec{ \xi } + a_3 ( \textbf{ w } \vec{ \xi } )^2 ) ] \textbf{ w } and g(\vec{\xi})= \textbf{w}^\dagger \textbf{ Z } [ a_1 + a_2 \textbf{ w } \vec{ \xi } + a_3 (\textbf{ w } \vec{ \xi } )^2 ] \textbf{ w } \vec{ \xi } ) as shown above. In the following we put subscripts \xi or q to denote the form from which the expression is taken, i.e. f_\xi (.) vs f_q(.).
First, we select a coordinate transform \textbf{w} and one of its possible adjoints:
\newcommand{\Bold}[1]{\mathbf{#1}}\left(\begin{array}{rr}
1 & 0 \\
0 & 1
\end{array}\right)
|
We describe the functional manifold as
\newcommand{\Bold}[1]{\mathbf{#1}}\left(-{(\xi_{1}^{2} + \xi_{2}^{2} - 1)} \xi_{1},-{(\xi_{1}^{2} + \xi_{2}^{2} - 1)} \xi_{2}\right)
|
and the neural network manifold
\newcommand{\Bold}[1]{\mathbf{#1}}\left({({(a_{31} \xi_{1}^{2} + a_{32} \xi_{2}^{2} + a_{21} \xi_{1} + a_{22} \xi_{2} + a_{1})} z_{0} - 1)} \xi_{1},{({(a_{31} \xi_{1}^{2} + a_{32} \xi_{2}^{2} + a_{21} \xi_{1} + a_{22} \xi_{2} + a_{1})} z_{0} - 1)} \xi_{2}\right)
|
Next, we take the angles between the corresponding components of the two vector fields, and sum the square of their errors,
where d\xi is a relevant region of the phase space. Elsewhere (Pillai 2008, Huys), fitting has done by numerically evaluating the vector field and finding a numerical angle between high-dimensional vectors. However, because the expressions for the vector fields used here are known, we can integrate to obtain an expression of the sum squared angle in terms of the fitting parameters: (click %hide to see code)
\newcommand{\Bold}[1]{\mathbf{#1}}\arccos\left(-\frac{2}{3147} \, \frac{{({(574 \, a_{1} - 945 \, a_{22} + 1064 \, a_{31} + 1608 \, a_{32})} z_{0} + {(574 \, a_{1} + 945 \, a_{22} + 1064 \, a_{31} + 1608 \, a_{32})} z_{0} - 1148)} \sqrt{\frac{1049}{35}}}{\sqrt{\frac{32}{315} \, {(140 \, {(2 \, a_{1} + 3 \, a_{22})} a_{31} + 168 \, {(3 \, a_{1} + 5 \, a_{22} + 4 \, a_{31})} a_{32} + 105 \, a_{1}^{2} + 315 \, a_{1} a_{22} + 140 \, a_{21}^{2} + 252 \, a_{22}^{2} + 336 \, a_{31}^{2} + 720 \, a_{32}^{2})} z_{0}^{2} + \frac{32}{315} \, {(140 \, {(2 \, a_{1} - 3 \, a_{22})} a_{31} + 168 \, {(3 \, a_{1} - 5 \, a_{22} + 4 \, a_{31})} a_{32} + 105 \, a_{1}^{2} - 315 \, a_{1} a_{22} + 140 \, a_{21}^{2} + 252 \, a_{22}^{2} + 336 \, a_{31}^{2} + 720 \, a_{32}^{2})} z_{0}^{2} - \frac{32}{45} \, {(30 \, a_{1} - 45 \, a_{22} + 40 \, a_{31} + 72 \, a_{32})} z_{0} - \frac{32}{45} \, {(30 \, a_{1} + 45 \, a_{22} + 40 \, a_{31} + 72 \, a_{32})} z_{0} + \frac{64}{3}}}\right)^{2} + \arccos\left(-\frac{4}{3147} \, \frac{{({(287 \, a_{1} - 357 \, a_{22} + 804 \, a_{31} + 532 \, a_{32})} z_{0} + {(287 \, a_{1} + 357 \, a_{22} + 804 \, a_{31} + 532 \, a_{32})} z_{0} - 574)} \sqrt{\frac{1049}{35}}}{\sqrt{\frac{32}{315} \, {(504 \, {(a_{1} + a_{22})} a_{31} + 28 \, {(10 \, a_{1} + 15 \, a_{22} + 24 \, a_{31})} a_{32} + 105 \, a_{1}^{2} + 210 \, a_{1} a_{22} + 252 \, a_{21}^{2} + 140 \, a_{22}^{2} + 720 \, a_{31}^{2} + 336 \, a_{32}^{2})} z_{0}^{2} + \frac{32}{315} \, {(504 \, {(a_{1} - a_{22})} a_{31} + 28 \, {(10 \, a_{1} - 15 \, a_{22} + 24 \, a_{31})} a_{32} + 105 \, a_{1}^{2} - 210 \, a_{1} a_{22} + 252 \, a_{21}^{2} + 140 \, a_{22}^{2} + 720 \, a_{31}^{2} + 336 \, a_{32}^{2})} z_{0}^{2} - \frac{64}{45} \, {(15 \, a_{1} - 15 \, a_{22} + 36 \, a_{31} + 20 \, a_{32})} z_{0} - \frac{64}{45} \, {(15 \, a_{1} + 15 \, a_{22} + 36 \, a_{31} + 20 \, a_{32})} z_{0} + \frac{64}{3}}}\right)^{2}
|
Next, we can minimize the expression for the sum squared angle to a value near zero (using a guess for starting):
Optimization terminated successfully.
Current function value: 0.000000
Iterations: 19
Function evaluations: 22
Gradient evaluations: 22
|
Just to check, we evalute the expression at the parameters found:
Theta = 7.80465e-12 |
Now, we verify the foregoing method works by sampling the two vector fields over a region of space, and compute the angle of the high-dimensional vector (click %hide to see code).
Theta = 1.83617e-06 |
Close enough.
The next step is to fit
to
As before, we create the functional flow
\newcommand{\Bold}[1]{\mathbf{#1}}\left(-\frac{1}{3} \, \frac{{(\xi_{1}^{3} - 3 \, \xi_{1} - 3 \, \xi_{2})}}{\tau},-\frac{{(\beta \xi_{2} + \alpha - \xi_{1})}}{\tau}\right)
|
and the neural flow
\newcommand{\Bold}[1]{\mathbf{#1}}\left({(z_{12} + z_{32} + z_{42})} {(a_{31} \xi_{1}^{2} + a_{32} \xi_{2}^{2} + a_{21} \xi_{1} + a_{22} \xi_{2} + a_{1})} \xi_{2} + {(z_{11} + z_{31} + z_{41})} {(a_{31} \xi_{1}^{2} + a_{32} \xi_{2}^{2} + a_{21} \xi_{1} + a_{22} \xi_{2} + a_{1})} \xi_{1},{(z_{22} + z_{32} + z_{42} + z_{52})} {(a_{31} \xi_{1}^{2} + a_{32} \xi_{2}^{2} + a_{21} \xi_{1} + a_{22} \xi_{2} + a_{1})} \xi_{2} + {(z_{21} + z_{31} + z_{41} + z_{51})} {(a_{31} \xi_{1}^{2} + a_{32} \xi_{2}^{2} + a_{21} \xi_{1} + a_{22} \xi_{2} + a_{1})} \xi_{1}\right)
|
substitute our previous values for a_{ij} and set \alpha, \beta and \tau in the functional flow,
|
|
compute \Theta,
\newcommand{\Bold}[1]{\mathbf{#1}}\arccos\left(-\frac{20}{5455583513727} \, \frac{{(291939899101 \, z_{11} + 4761066364129 \, z_{12} + 291939899101 \, z_{31} + 4761066364129 \, z_{32} + 291939899101 \, z_{41} + 4761066364129 \, z_{42})} \sqrt{\frac{122}{35}}}{\sqrt{\frac{2}{1959696563137922789941005} \, {(\left(3.29385193864 \times 10^{27}\right) \, z_{12} + \left(3.29385193864 \times 10^{27}\right) \, z_{32})} z_{42} + \frac{2}{1959696563137922789941005} \, {(\left(3.29385029392 \times 10^{27}\right) \, z_{11} + \left(3.29385029392 \times 10^{27}\right) \, z_{31})} z_{41} + \frac{1}{1959696563137922789941005} \, {(\left(3.29385029392 \times 10^{27}\right) \, z_{11} - 297055606876.0 \, z_{12})} z_{31} + \frac{1}{1959696563137922789941005} \, {(\left(3.29385029392 \times 10^{27}\right) \, z_{11} + 297055606876.0 \, z_{12})} z_{31} + 1680.79607623 \, z_{11}^{2} + 1680.7969155 \, z_{12}^{2} + 3361.59383101 \, z_{12} z_{32} + 1680.79607623 \, z_{31}^{2} + 1680.7969155 \, z_{32}^{2} + \frac{3293850293924868824397045184}{1959696563137922789941005} \, z_{41}^{2} + 1680.7969155 \, z_{42}^{2}}}\right)^{2} + \arccos\left(-\left(6.57909184807 \times 10^{-13}\right) \, \frac{{(23805322706581 \, z_{21} - 47610663641290 \, z_{22} + 23805322706581 \, z_{31} - 47610663641290 \, z_{32} + 23805322706581 \, z_{41} - 47610663641290 \, z_{42} + 23805322706581 \, z_{51} - 47610663641290 \, z_{52})}}{\sqrt{-{(-1680.7969155 \, z_{22} - 1680.7969155 \, z_{32})} z_{42} + {(1680.7969155 \, z_{22} + 1680.7969155 \, z_{32})} z_{42} - {(-1680.79607623 \, z_{21} - 1680.79607623 \, z_{31})} z_{41} - {(-1680.79607623 \, z_{21} - \left(1.51582450295 \times 10^{-13}\right) \, z_{22})} z_{31} + {(1680.79607623 \, z_{21} + 1680.79607623 \, z_{31})} z_{41} + {(1680.79607623 \, z_{21} - \left(1.51582450295 \times 10^{-13}\right) \, z_{22})} z_{31} - {(-1680.7969155 \, z_{22} - 1680.7969155 \, z_{32} - 1680.7969155 \, z_{42})} z_{52} + {(1680.7969155 \, z_{22} + 1680.7969155 \, z_{32} + 1680.7969155 \, z_{42})} z_{52} - {(-1680.79607623 \, z_{21} - \left(1.51582450295 \times 10^{-13}\right) \, z_{22} - 1680.79607623 \, z_{31} - \left(1.51582450295 \times 10^{-13}\right) \, z_{32} - 1680.79607623 \, z_{41} - \left(1.51582450295 \times 10^{-13}\right) \, z_{42})} z_{51} + {(1680.79607623 \, z_{21} - \left(1.51582450295 \times 10^{-13}\right) \, z_{22} + 1680.79607623 \, z_{31} - \left(1.51582450295 \times 10^{-13}\right) \, z_{32} + 1680.79607623 \, z_{41} - \left(1.51582450295 \times 10^{-13}\right) \, z_{42})} z_{51} + 1680.79607623 \, z_{21}^{2} + 1680.7969155 \, z_{22}^{2} + 3361.59383101 \, z_{22} z_{32} + 1680.79607623 \, z_{31}^{2} + 1680.7969155 \, z_{32}^{2} + 1680.79607623 \, z_{41}^{2} + 1680.7969155 \, z_{42}^{2} + 1680.79607623 \, z_{51}^{2} + 1680.7969155 \, z_{52}^{2}}}\right)^{2}
|
minimize using free variables
\newcommand{\Bold}[1]{\mathbf{#1}}((z11, z12, z21, z22, z31, z32, z41, z42, z51, z52), 10)
|
Optimization terminated successfully.
Current function value: 0.720901
Iterations: 13
Function evaluations: 14
Gradient evaluations: 14
|
0.72 radians is not too good.
|
|