たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

逐次計算 (sequential) と並列計算 (parallel)

f:id:tarepan5884:20190719225441p:plain
並列計算

f:id:tarepan5884:20190719225446p:plain
逐次計算

ニューラルネットワーク

CNNは同一層内では独立した計算をおこない、前の層の結果に基づいて次層の計算をおこなう.
層方向に逐次計算なので、最低計算ステップ数は層数に等しい.
とてもつよい 並列計算機、例えば理想的なGPUがあれば、CNNの1層における演算は1stepで実行される。

RNNは1ステップの計算結果を次の計算の入力とする(t=Tの隠れ層・出力をt=T+1の計算に使う)
系列方向に逐次計算なので、最低計算ステップ数は系列長に等しい
どんなにっょぃGPUを用意しても、5秒の24kHz音声(生波形)にRNNをかけたら最低12万ステップの計算をおこなう必要がある。
秒間2.4万ステップ (24kHz) といわれるとビビるが、CPUの動作周波数は5GHzとかである。
1ステップ1/24 msec ~ 40 usecで処理すればリアルタイム