Scaling up ridge regression for brain encoding in a massive individual fMRI dataset

要約

神経画像データによる脳エンコーディングは、映画のフレームなどの複雑な刺激の特徴から人間の脳の活動を直接予測することを目的とした確立された分析です。
通常、これらの特徴は人工ニューラル ネットワークからの潜在空間表現であり、刺激は画像、音声、またはテキスト入力です。
リッジ回帰は、サンプル外汎化パフォーマンスが優れているため、脳エンコーディングの一般的な予測モデルです。
ただし、脳活動の時空間サンプルが多数含まれる大規模な深層機能磁気共鳴画像法 (fMRI) データセットを扱う場合、リッジ回帰モデルのトレーニングには非常に時間がかかる可能性があります。
この論文では、現在利用可能な最大のディープ fMRI リソースの 1 つである CNeuroMod Friends データセットでのリッジ回帰による脳エンコーディングのトレーニング時間を短縮するためのさまざまな並列化手法を評価します。
マルチスレッドの場合、インテル マス カーネル ライブラリ (MKL) のパフォーマンスが OpenBLAS ライブラリよりも大幅に優れており、単一マシン上で 32 スレッドを使用すると 1.9 倍高速であることが結果からわかります。
次に、scikit-learn (MultiOutput) ですぐに利用できるリッジ回帰の Dask マルチ CPU 実装を評価し、時間計算量分析を動機とした Dask 並列化の新しい「バッチ」バージョンを提案しました。
私たちの理論的分析によれば、MultiOutput の並列化は非実用的であることがわかりました。つまり、単一マシン上のマルチスレッドよりも遅いということです。
対照的に、Batch-MultiOutput 回帰は、計算ノードとスレッド全体で適切に拡張され、シングルスレッドの scikit-learn 実行と比較して、8 つの計算ノードと 32 のスレッドで最大 33 倍の高速化を実現しました。
したがって、Dask を使用したバッチ並列化は、scikit-learn と大規模な fMRI データセットを使用する高性能コンピューティング システム上でリッジ回帰を使用した脳エンコードのスケーラブルなアプローチとして浮上します。

要約(オリジナル)

Brain encoding with neuroimaging data is an established analysis aimed at predicting human brain activity directly from complex stimuli features such as movie frames. Typically, these features are the latent space representation from an artificial neural network, and the stimuli are image, audio, or text inputs. Ridge regression is a popular prediction model for brain encoding due to its good out-of-sample generalization performance. However, training a ridge regression model can be highly time-consuming when dealing with large-scale deep functional magnetic resonance imaging (fMRI) datasets that include many space-time samples of brain activity. This paper evaluates different parallelization techniques to reduce the training time of brain encoding with ridge regression on the CNeuroMod Friends dataset, one of the largest deep fMRI resource currently available. With multi-threading, our results show that the Intel Math Kernel Library (MKL) significantly outperforms the OpenBLAS library, being 1.9 times faster using 32 threads on a single machine. We then evaluated the Dask multi-CPU implementation of ridge regression readily available in scikit-learn (MultiOutput), and we proposed a new ‘batch’ version of Dask parallelization, motivated by a time complexity analysis. In line with our theoretical analysis, MultiOutput parallelization was found to be impractical, i.e., slower than multi-threading on a single machine. In contrast, the Batch-MultiOutput regression scaled well across compute nodes and threads, providing speed-ups of up to 33 times with 8 compute nodes and 32 threads compared to a single-threaded scikit-learn execution. Batch parallelization using Dask thus emerges as a scalable approach for brain encoding with ridge regression on high-performance computing systems using scikit-learn and large fMRI datasets.

arxiv情報

著者 Sana Ahmadi,Pierre Bellec,Tristan Glatard
発行日 2024-03-28 13:52:12+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, q-bio.NC, q-bio.QM パーマリンク