You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First, please excuse my naive questions or misuse of terminology; I'm a newbie.
I'm trying to set up a simple model for analyzing neural data only (no auxiliaries) on public datasets on DANDI. The idea is to try to get some information about the spike sorting in terms of its information content, beyond things like correlograms, firing rates, unit waveforms, etc. I'm having a difficult time wrapping my head around the various parameters, despite perusing the docs. Here's what I have at the moment.
# spike trains are binned at 20 mscebra.CEBRA(
max_iterations=10000,
model_architecture="offset10-model",
batch_size=1000,
output_dimension=10,
temperature=1.0,
distance='cosine',
conditional='time_delta',
time_offsets=50,
verbose=True
)
I gather that offset10-model means that the receptive field is 10, meaning that each neuron in the cnn receives 10 contiguous samples?
conditional=time_delta and time_offsets=50 -- even after reading through the docs, I don't quite understand what this means. Should I be setting delta to go with this? I gather that this relates to choosing positive pairs. I chose time_offsets=50 to correspond to 1 second. I was expecting that this would choose positive pairs as samples that are close within 1 second. But based on the resulting embedding, it appears like it is pinching at exactly 1-second offsets, and not sampling from the range 0-1 seconds as I had hoped. I tried putting in a tuple of time_offsets like range(1, 51) but got an error message that this wasn't supported.
Here's a plot of average distances between pairs of samples in the embedding for varying lag. It shows the 'pinching' behavior at exactly 1 second.
But maybe I should take an entirely different approach. Open to suggestions about how to tweak the model. As I said, I'm hoping to get an embedding that captures time-continuity in the data. Then as a follow-up I'd see if that embedding could predict the various behavioral parameters such as cursor position (rather than including them as auxiliary variables).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
First, please excuse my naive questions or misuse of terminology; I'm a newbie.
I'm trying to set up a simple model for analyzing neural data only (no auxiliaries) on public datasets on DANDI. The idea is to try to get some information about the spike sorting in terms of its information content, beyond things like correlograms, firing rates, unit waveforms, etc. I'm having a difficult time wrapping my head around the various parameters, despite perusing the docs. Here's what I have at the moment.
I gather that offset10-model means that the receptive field is 10, meaning that each neuron in the cnn receives 10 contiguous samples?
conditional=time_delta and time_offsets=50 -- even after reading through the docs, I don't quite understand what this means. Should I be setting delta to go with this? I gather that this relates to choosing positive pairs. I chose time_offsets=50 to correspond to 1 second. I was expecting that this would choose positive pairs as samples that are close within 1 second. But based on the resulting embedding, it appears like it is pinching at exactly 1-second offsets, and not sampling from the range 0-1 seconds as I had hoped. I tried putting in a tuple of time_offsets like range(1, 51) but got an error message that this wasn't supported.
Here's a plot of average distances between pairs of samples in the embedding for varying lag. It shows the 'pinching' behavior at exactly 1 second.
But maybe I should take an entirely different approach. Open to suggestions about how to tweak the model. As I said, I'm hoping to get an embedding that captures time-continuity in the data. Then as a follow-up I'd see if that embedding could predict the various behavioral parameters such as cursor position (rather than including them as auxiliary variables).
Thanks for this amazing project!
Beta Was this translation helpful? Give feedback.
All reactions