[論文レビュー] Nonhuman Primate Reaching with Multichannel Sensorimotor Cortex Electrophysiology
この論文は、スパコン上でMPIベースの並列化を活用して、大規模な神経生理学的データ解析のためのスケーラブルで高パフォーマンスなUoI-LASSOおよびUoI-VARの実装を提示している。最大1,000ノードのVARモデルを達成し、最大278,528コアで強スケーリングおよび弱スケーリングを示しており、非ヒト霊長類の運動制御データに対する解釈可能で予測可能なモデリングを可能にした。
<strong>General Description.</strong> This dataset consists of: The threshold crossing times of extracellularly and simultaneously recorded spikes, sorted into units (up to five, including a "hash" unit), along with sorted waveform snippets, and, The x,y position of the fingertip of the reaching hand and the x,y position of reaching targets (both sampled at 250 Hz). The behavioral task was to make self-paced reaches to targets arranged in a grid (e.g. 8x8) without gaps or pre-movement delay intervals. One monkey reached with the right arm (recordings made in the left hemisphere); The other reached with the left arm (right hemisphere). In some sessions recordings were made from both M1 and S1 arrays (192 channels); in most sessions M1 recordings were made alone (96 channels). Data from two primate subjects are included: 37 sessions from monkey 1 ("Indy", spanning about 10 months) and 10 sessions from monkey 2 ("Loco", spanning about 1 month), for a total of ~ 20,000 reaches and 6,500 reaches from monkeys 1 and 2, respectively. <strong>Possible uses. </strong>These data are ideal for training BCI decoders, in particular because they are not segmented into trials. We expect that the dataset will be valuable for researchers who wish to design improved models of sensorimotor cortical spiking or provide an equal footing for comparing different BCI decoders. Other uses could include analyses of the statistics of arm kinematics, spike noise-correlations or signal-correlations, or for exploring the stability or variability of extracellular recording over sessions. <strong>Variable names. </strong>Each file contains data in the following format. In the below, <em>n</em> refers to the number of recording channels, <em>u</em> refers to the number of sorted units, and <em>k</em> refers to the number of samples. chan_names - n x 1 A cell array of channel identifier strings, e.g. "<em>M1 001</em>". cursor_pos - k x 2 The position of the cursor in Cartesian coordinates (x, y), mm. finger_pos - k x 3 <em>or </em>k x 6 The position of the working fingertip in Cartesian coordinates (z, -x, -y), as reported by the hand tracker in cm. Thus the cursor position is an affine transformation of fingertip position using the following matrix:<br> \(\begin{pmatrix} 0 & 0 \\ -10 & 0 \\ 0 & -10 \end{pmatrix}\)<br> Note that for some sessions finger_pos includes the orientation of the sensor as well; the full state is thus: (z, -x, -y, azimuth, elevation, roll). target_pos - k x 2 The position of the target in Cartesian coordinates (x, y), mm. t - k x 1 The timestamp corresponding to each sample of the cursor_pos, finger_pos, and target_pos, seconds. spikes - n x u A cell array of spike event vectors. Each element in the cell array is a vector of spike event timestamps, in seconds. The first unit (<em>u</em><sub>1</sub>) is the "unsorted" unit, meaning it contains the threshold crossings which remained after the spikes on that channel were sorted into other units (<em>u</em><sub>2</sub>, <em>u</em><sub>3</sub>, etc.) For some sessions spikes were sorted into up to 2 units (i.e. <em>u</em>=3); for others, 4 units (<em>u</em>=5). wf - n x u A cell array of spike event waveform "snippets". Each element in the cell array is a matrix of spike event waveforms. Each waveform corresponds to a timestamp in "spikes". Waveform samples are in microvolts. <strong>Videos. </strong>For some sessions, we recorded screencasts of the stimulus presentation display using a dedicated hardware video grabber. These screencasts are thus a faithful representation of the stimuli and feedback presented to the monkey and are available for the following sessions: indy_20160921_01 indy_20160930_02 indy_20160930_05 indy_20161005_06 indy_20161006_02 indy_20161007_02 indy_20161011_03 indy_20161013_03 indy_20161014_04 indy_20161017_02 <strong>Supplements. </strong>The raw broadband neural recordings that the spike trains in this dataset were extracted from are available for the following sessions: indy_20160622_01: doi:10.5281/zenodo.1488440 indy_20160624_03: doi:10.5281/zenodo.1486147 indy_20160627_01: doi:10.5281/zenodo.1484824 indy_20160630_01: doi:10.5281/zenodo.1473703 indy_20160915_01: doi:10.5281/zenodo.1467953 indy_20160916_01: doi:10.5281/zenodo.1467050 indy_20160921_01: doi:10.5281/zenodo.1451793 indy_20160927_04: doi:10.5281/zenodo.1433942 indy_20160927_06: doi:10.5281/zenodo.1432818 indy_20160930_02: doi:10.5281/zenodo.1421880 indy_20160930_05: doi:10.5281/zenodo.1421310 indy_20161005_06: doi:10.5281/zenodo.1419774 indy_20161006_02: doi:10.5281/zenodo.1419172 indy_20161007_02: doi:10.5281/zenodo.1413592 indy_20161011_03: doi:10.5281/zenodo.1412635 indy_20161013_03: doi:10.5281/zenodo.1412094 indy_20161014_04: doi:10.5281/zenodo.1411978 indy_20161017_02: doi:10.5281/zenodo.1411882 indy_20161024_03: doi:10.5281/zenodo.1411474 indy_20161025_04: doi:10.5281/zenodo.1410423 indy_20161026_03: doi:10.5281/zenodo.1321264 indy_20161027_03: doi:10.5281/zenodo.1321256 indy_20161206_02: doi:10.5281/zenodo.1303720 indy_20161207_02: doi:10.5281/zenodo.1302866 indy_20161212_02: doi:10.5281/zenodo.1302832 indy_20161220_02: doi:10.5281/zenodo.1301045 indy_20170123_02: doi:10.5281/zenodo.1167965 indy_20170124_01: doi:10.5281/zenodo.1163026 indy_20170127_03: doi:10.5281/zenodo.1161225 indy_20170131_02: doi:10.5281/zenodo.854733 <strong>Contact Information.</strong> We would be delighted to hear from you if you find this dataset valuable, especially if it leads to publication. Corresponding author: J. E. O'Doherty <joeyo@neuroengineer.com>. <strong>Publications making use of this dataset.</strong> Makin, J. G., O'Doherty, J. E., Cardoso, M. M. B. & Sabes, P. N. (2018). Superior arm-movement decoding from cortex with a new, unsupervised-learning algorithm. <em>J Neural Eng</em> 15(2): 026010. doi:10.1088/1741-2552/aa9e95 Ahmadi, N., Constandinou, T. G., & Bouganis, C.-S. (2018). Spike Rate Estimation Using Bayesian Adaptive Kernel Smoother (BAKS) and Its Application to Brain Machine Interfaces. <em>2018 40th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC)</em>, Honolulu, HI, USA, 2018, pp. 2547-2550. doi:10.1109/EMBC.2018.8512830 Balasubramanian, M., Ruiz, T., Cook, B., Bhattacharyya, S., Prabhat, Shrivastava, A. & Bouchard K. (2018). Optimizing the Union of Intersections LASSO (UoILASSO) and Vector Autoregressive (UoIVAR) Algorithms for Improved Statistical Estimation at Scale. <em>arXiv preprint arXiv:1808.06992</em> Ahmadi, N., Constandinou, T. G., & Bouganis, C.-S. (2019). Decoding Hand Kinematics from Local Field Potentials Using Long Short-Term Memory (LSTM) Network. <em>arXiv preprint arXiv:1901.00708</em> Clark, D. G., Livezey, J. A., & Bouchard, K. E. (2019). Unsupervised Discovery of Temporal Structure in Noisy Data with Dynamical Components Analysis. <em>arXiv preprint arXiv:1905.09944</em> Shaikh, S., So, R., Sibindi, T., Libedinsky, C., & Basu, A. (2019). Towards Intelligent Intra-cortical BMI (i<sup>2</sup>BMI): Low-power Neuromorphic Decoders that outperform Kalman Filters. <em>bioRxiv preprint</em> 772988. doi:10.1101/772988 Clark, D. G., Livezey, J. A., & Bouchard, K. E. (2019). Unsupervised Discovery of Temporal Structure in Noisy Data with Dynamical Components Analysis. <em>Advances in Neural Information Processing Systems (NeurIPS) 32.</em> Keshtkaran, M. R., & Pandarinath, C. (2019). Enabling hyperparameter optimization in sequential autoencoders for spiking neural data. <em>Advances in Neural Information Processing Systems (NeurIPS) 32.</em> Ahmadi, N., Constandinou, T. G., & Bouganis, C.-S. (2019). End-to-End Hand Kinematic Decoding from LFPs Using Temporal Convolutional Network. <em>2019 IEEE Biomedical Circuits and Systems Conference (BioCAS), </em>Nara, Japan, pp. 1-4. doi:10.1109/biocas.2019.8919131 Bose, S. K., Acharya, J., & Basu, A. (2019). Is my Neural Network Neuromorphic? Taxonomy, Recent Trends and Future Directions in Neuromorphic Engineering. <em>2019 53rd Asilomar Conference on Signals, Systems, and Computers</em>, Pacific Grove, CA, USA, pp. 1522-1527. doi:10.1109/IEEECONF44664.2019.9048891 Sachdeva, P. S., Bhattacharyya, S., & Bouchard, K. E. (2019). Sparse, Predictive, and Interpretable Functional Connectomics with UoILasso, <em>41st Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC)</em>, Berlin, Germany, pp. 1965-1968. doi:10.1109/EMBC.2019.8856316 Sachdeva, P. S, Livezey, J. A, Dougherty, M. E., Gu, B.-M., Berke, J. D, & Bouchard, K. E. (2020). Accurate Inference in Parametric Models Reshapes Neuroscientific Interpretation and Improves Data-driven Discovery. <em>bioRxiv Preprint.</em> 2020.04.10.036244. doi:10.1101/2020.04.10.036244 Ahmadi, N., Constandinou, T. G., Bouganis, C.-S. (2020). Inferring entire spiking activity from local field potentials with deep learning. <em>bioRxiv Preprint.</em> 2020.05.02.074104. doi:10.1101/2020.05.02.074104 Ahmadi, N., Constandinou, T. G., Bouganis. C.-S. (2020). Impact of referencing scheme on decoding performance of LFP-based brain-machine interface. <em>bioRxiv Preprint. </em>2020.05.03.075218 doi:10.1101/2020.05.03.075218
研究の動機と目的
- 大規模な科学的データ解析における解釈可能で予測可能な統計的機械学習手法の増大するニーズに対応する。
- UoI-LASSOおよびUoI-VARアルゴリズムを、高性能コンピューティングシステム(Cori KNL)における単一ノードおよびマルチノード実行に最適化する。
- 非ヒト霊長類の運動タスクからの高次元時系列神経生理学的データのスケーラブルな解析を可能にする。
- テラバイトスケールのデータセットを処理するため、数万コアで強スケーリングおよび弱スケーリングを達成する。
- 実際の神経生理学的データを用いて、神経科学分野で最も大きなベクトル自己回帰(VAR)モデルを構築する。
提案手法
- MPIベースの並列化を用いたC++によるUoI-LASSOの実装。HDF5ファイルへのランダムなデータ分散を適用し、効率的なブートストラップサブサンプリングを実現する。
- 2段階フレームワークの採用:ブートストラップサンプルおよび正則化パラメータのLASSOサポートの共通部分を介したモデル選択、その後にブートストラップサンプル全体でのOLS平均化によるモデル推定。
- 分散Kronecker積とベクトル化を用いたUoI-VARの実装により、高次元時系列データを効率的に処理。ブートストラップサンプルおよび正則化パラメータの並列化を実施。
- 通信ボトルneckを軽減するため、P_BおよびP_λ並列化戦略を採用。特に、モデル選択フェーズにおけるMPI_Allreduce呼び出しの影響を軽減。
- Sparse Eigen C++を活用してスパース行列演算を最適化し、VAR推定における行列-ベクトル乗算を高速化。
- 通信オーバーヘッドを低減するため、ハイブリッドデータ分散戦略を採用。特に大規模分散行列構築において有効。
実験結果
リサーチクエスチョン
- RQ1UoI-LASSOおよびUoI-VARフレームワークは、数万コアで実行可能であり、特徴選択および推定における低バイアス・低分散を維持できるか?
- RQ2MPI_Allreduceに起因する通信オーバーヘッドは、大規模スケールにおけるUoI-LASSOおよびUoI-VARのパフォーマンスにどのように影響するか?
- RQ3大規模データセットにおいて、UoI-LASSO(計算 vs. 通信)およびUoI-VAR(分散 vs. 計算)の主なボトルneckは何か?
- RQ4UoI-VARフレームワークは、大規模スケールで非ヒト霊長類の記録データから得られた高次元神経時系列データをモデリングできるか?
- RQ5このフレームワークを用いて、実際の神経生理学的データから推定可能な最大のVARモデルは何か?
主な発見
- UoI-LASSOの実装は、68〜278,528コアで強スケーリングおよび弱スケーリングを達成。大規模実行では通信(特にMPI_Allreduce)が実行時間の主因となった。
- UoI-VARの実装はコア数の増加に伴い効果的にスケーリングされ、効率的なスパース行列演算のおかげで、計算時間はほぼ理想の強スケーリングを示した。
- 大規模データ(例:1.3TB)では、通信およびデータ分散のオーバーヘッドが実行時間の主因となり、特にUoI-LASSOのモデル選択フェーズで顕著だった。
- UoI-VARフレームワークは、実際の非ヒト霊長類の運動タスクデータから192ノードのVARモデルを推定に成功。Cori KNL上で81,600コアを用い、計算時間96.9秒、通信時間1,598.72秒を記録した。
- 本研究では、神経科学分野で報告された中で最大のVARモデル(1,000ノード)を構築。UoI-VARフレームワークのスケーラビリティと実用性を実証した。
- P_BおよびP_λ並列化戦略が、特にUoI-LASSOのモデル選択フェーズにおける通信ボトルneckの軽減に重要であることが同定された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。