Time Series Simulations: Difference between revisions
No edit summary |
|||
Line 19: | Line 19: | ||
==Multivariate Connectivity Analysis== | ==Multivariate Connectivity Analysis== | ||
Convert the artificial time series into patterns, keeping only the maximal activation for the trial window (ends up being the last time step because of how the simulator examples run), and for only trials where both inputs are either 0 or 1 (omit the .5 .5 ambiguous trials). This is implemented in the script <code>gen_simcon_patterns.m</code>. 10K simulations produced 5K patterns in the file ''simcon.csv'' | Convert the artificial time series into patterns, keeping only the maximal activation for the trial window (ends up being the last time step because of how the simulator examples run), and for only trials where both inputs are either 0 or 1 (omit the .5 .5 ambiguous trials). This is implemented in the script <code>gen_simcon_patterns.m</code>. 10K simulations produced 5K patterns in the file ''simcon.csv''. Copy the file to a workstation with Keras/TensorFlow. | ||
===Implement Autoencoder=== | |||
Connectivity estimated with a straight autoencoder with hidden layer: | |||
_________________________________________________________________ | |||
Layer (type) Output Shape Param # | |||
================================================================= | |||
input (InputLayer) (None, 24) 0 | |||
_________________________________________________________________ | |||
input_noise (GaussianNoise) (None, 24) 0 | |||
_________________________________________________________________ | |||
dense_1 (Dense) (None, 6) 150 | |||
_________________________________________________________________ | |||
ae_out (Dense) (None, 24) 168 | |||
================================================================= | |||
Total params: 318 | |||
Trainable params: 318 | |||
Non-trainable params: 0 |
Revision as of 15:16, 25 February 2019
Wernickesarea has some compiled MikeNet code to generate simulate time series data for a small network that generates activation throughout a 3-layer network in response to inputs 0 and 1 (A and B). Activation of these units drives activation in 3 banks of 4 units in layer 1 (1A, 1NULL, 1B). Up to 4 1A units are active when input[0] is active, and up to 4 units of 1B are active when input[1] is active. The 1NNULL units are active only when both inputs are inactive. Also, one of the units in 1A and 1B are inhibited .8 of the time. 1A and 1B connect fully to 4 units in 2A and 2B respectively, and all units in 2A and 2B connect to layer3, which is maximally active only when both inputs are active (i.e., superadditivity).
Procedure
Generate Time Series
A shell script generates a specified (hard-coded) number of simulations:
#!/bin/bash for i in $(seq -f "%04g" 0 999) do echo $i ./xor >> simdat.txt done
Remove Delimiters
Each of the banks of units are delimited by a ^ (caret) symbol for readability, but this character interferes with MATLAB import. To strip that character out with sed
sed -i 's/\^//g' simdat.txt #this syntax works on linux, but not on OSX
Conventional Correlation-Based Connectivity
The full work-up based on correlations is implemented in the script simdata_connectivity.m
, which implements connectivity analyses posted elsewhere on this wiki. The interesting thing to look for is how do units 1 and 9 cluster, because these units are in banks 1A and 1B, respectively, but are inhibited .80 of the time. In a large data set, it looks like these units fail to cluster with their layer buddies because they are more weakly correlated.
Multivariate Connectivity Analysis
Convert the artificial time series into patterns, keeping only the maximal activation for the trial window (ends up being the last time step because of how the simulator examples run), and for only trials where both inputs are either 0 or 1 (omit the .5 .5 ambiguous trials). This is implemented in the script gen_simcon_patterns.m
. 10K simulations produced 5K patterns in the file simcon.csv. Copy the file to a workstation with Keras/TensorFlow.
Implement Autoencoder
Connectivity estimated with a straight autoencoder with hidden layer:
_________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input (InputLayer) (None, 24) 0 _________________________________________________________________ input_noise (GaussianNoise) (None, 24) 0 _________________________________________________________________ dense_1 (Dense) (None, 6) 150 _________________________________________________________________ ae_out (Dense) (None, 24) 168 ================================================================= Total params: 318 Trainable params: 318 Non-trainable params: 0