Since the Boltzmann Machine requires huge amount of computational resources when the network size is large or applied to real applications, it has been a main obstacle which prevents it to be used widely. To overcome this obstacle, an efficient method of Boltzmann Machine computations onto a distributed memory multiprocessor, which exploits the synchronous spatial parallelism, is presented. In this method, the neurons in the Boltzmann Machine are partitioned into P disjoint sets, and each set is mapped on a processor of a P processor system. A parallel convergence and learning algorithms of Boltzmann Machine, necessary communication pattern among the processors, and their time complexities when neurons are partitioned and mapped onto a distributed memory multiprocessor are investigated. A theoretical P processor speed up of the parallelizing scheme over a single processor is analyzed and an experimental speed up is also presented to demonstrate the usefulness of our parallel implementation. It can help to determine the cost effective number of processors to parallelize the Boltzmann Machine computations. It can be used as a basis in determining the most cost effective or optimal number of processors with respect to the communication capabilities and interconnection topologies of given distributed memory multiprocessor.
인공 신경망의 싸이즈가 큰 경우나 실제 응용에서 볼쯔만 머쉰은 아주 큰 계산 자원을 요구하게 된다. 이는 볼쯔만 머쉰을 광범위하게 사용하는 것을 막는 주 장애 요소가 되었다. 이러한 난제를 극복하게 위하여 본 논문에서는 분산 기억장치 다중 처리기 상에서 볼쯔만 머쉰 계산의 Synchronous spatial parallelism 의 효율적인 방안을 제시하였다. 이 방안은 볼쯔만 머쉰의 뉴런을 p 개의 서로 다른 집합으로 나누고, 각 뉴런 집합을 p 개의 처리기를 가진 시스템에 사상시킨다. 분산 기억장치 다중처리기 상으로 나누어진 볼쯔만 머쉰 뉴런의 병렬 수렴 및 병렬 학습 알고리즘, 처리기 간의 필요한 통신 패턴, 시간 복잡성등 을 조사하였다. p 개의 처리기를 가지는 시스템의 속도 증가를 1 개의 처리기 속도와 비교하여 해석하였으며 우리의 병렬 구현이 옳음을 보이기 위하여 구현의 실험 속도 증가를 보였다. 이 결과는 볼쯔만 머쉰 계산을 병렬화 할때 주어진 분산 기억장치 다중처리기의 통신 능력, 인터컨넥션 토폴로지, 효율적인 처리기 숫자를 결정하는데 도움이 될것이다.