신경망 연구가 암흑기를 맞이한 이유로 사고 범위 문제를 해결하는 컴퓨팅 연산 성능의 한계를 맞았습니다. 1990년대에는 컴퓨팅 연산 성능도 더욱 향상되었습니다. 사실 컴퓨팅 연산 성능이 향상된 이유는 신경망 연구 때문이 아닙니다. 1990년대 후반 고속 인터넷망 보급과 함께 대용량 이미지나 동영상 등이 만들어지기 시작했고, 이를 처리하거나 분석할 필요성이 생겼기 때문입니다.

 

색상 수에 따른 데이터 크기 비율

 

이미지는 색상 수에 따라 처리해야 할 데이터양이 늘어나게 됩니다. 그리고 이미지와 음성으로 구성하는 동영상은 다양한 데이터들을 한꺼번에 처리합니다.

그런데 대용량 이미지나 음성 데이터 분석은 컴퓨터 한 대의 컴퓨팅 연산 성능으로 처리하기가 어렵습니다. 그 결과 하드웨어와 소프트웨어 모두를 고려하는 데이터 분산 처리 기술을 주목하기 시작합니다.

GPU

 

하드웨어의 관점에서는 OpenMP나 그래픽 카드의 GPU를 이용하는 GPGPU(General-Purpose computing on Graphics Processing Units) 관련 기술인 CUDA (Compute Unified Device Architecture)이 나오면서 주목을 받기 시작했습니다. 이를 이용하면 개인도 슈퍼컴퓨터와 비슷한 멀티 코어 컴퓨팅 또는 이기종 컴퓨팅 환경을 구축할 수 있게 되었습니다.

CUDA 실행 플로우

소프트웨어 관점에서는 명령 실행 분산 처리를 관리하는 구조가 발전했습니다. 즉, 미리 설정한 컴퓨터 자원을 사용하고, 네트워크로 작업을 관리하며, 자유자재로 자원을 늘리거나 줄일 수 있습니다. 대표적인 예로는 구글 파일 시스템에서 촉발된 맵리듀스(MapReduce) 아키텍처와 야후가 중심이 되어 개발한 하둡(Hadoop) 등이 있습니다.

MapReduce

 

오토인 코더(Autoencoder)

 

무어의 법칙에 따른 하드웨어 성능 향상과 분산 처리 기술이 결합하면서 2000년대 중반부터 다시 신경망 연구가 활발해졌습니다. 2006년 오토인 코더(Autoencoder)의 등장과 함께 딥러닝의 시대로 연결됩니다. 최신 딥러닝 연구에서 주목하는 것은 심층 신경망(Deep Neural Network)입니다. 심층 신경망은 딥러닝을 할 수 있을 정도의 깊은 계층으로 구성된 신경망을 말하며 보통 계층이 5개 이상이면 심층 신경망이라고 부릅니다. 2000년대 이전에는 컴퓨터 연산 성능의 한계로 심층 신경망 구성 자체가 어려웠지만 2010년 이후에는 계층이 100개 이상인 신경망을 구축할 수 있게 되었습니다.

+ Recent posts