Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

신경망(Neural Network)이란 무엇일까? 개념부터 작동 원리까지

신경망이란 무엇인가?

신경망(Neural Network)은 인간의 뇌가 작동하는 방식을 모방한 과정을 통해 데이터 집합 속의 근본적인 관계를 인식하려는 일련의 알고리즘입니다. 이 방식에서 신경망은 유기적이거나 인공적인 뉴런(신경세포)들로 이루어진 시스템으로 정의됩니다.

신경망은 인지 시스템의 학습 과정과 뇌의 신경학적 기능을 본떠 만든 분석 기법으로, 기존 정보를 바탕으로 소위 '학습'이라 불리는 과정을 거친 후, 다른 관측값들을 통해 새로운 관측값(특정 변수에 대한 값)을 예측할 수 있습니다. 신경망은 데이터 마이닝(Data Mining) 기법 중 하나에 속합니다.

신경망 구축의 첫 단계: 네트워크 설계

첫 번째 단계는 특정 네트워크 구조(아키텍처)를 설계하는 것입니다. 이 구조는 각각 일정 수의 '뉴런'을 포함하는 정해진 수의 '계층(layer)'으로 구성됩니다. 네트워크의 크기와 구조는 연구 대상 현상의 성격(예: 형식적 복잡도)과 일치해야 합니다. 그러나 초기 단계에서는 해당 현상이 충분히 알려져 있지 않기 때문에 이 작업은 결코 쉽지 않으며, 여러 차례의 '시행착오'를 거치는 경우가 많습니다.

두 번째 단계: 학습(Training)

새롭게 구성된 네트워크는 이후 '학습' 과정을 거치게 됩니다. 이 단계에서 뉴런들은 입력값(변수)들에 반복적인 프로세스를 적용하여 네트워크의 가중치(weight)를 조정함으로써, 학습 대상이 되는 샘플 데이터를 최적으로 예측합니다(전통적인 용어로 표현하면 데이터에 대한 '적합(fit)'을 찾는 과정이라 할 수 있습니다). 기존 데이터셋으로부터의 학습 단계가 완료되면 네트워크는 사용 준비를 마치며, 이후 새로운 예측을 생성하는 데 활용될 수 있습니다.

신경망의 두 가지 핵심 요소

지난 몇 년간 신경망에 대한 관심이 폭발적으로 증가했으며, 현재는 금융, 의료, 공학, 지질학, 물리학 등 매우 다양한 문제 영역에서 성공적으로 활용되고 있습니다. 신경망의 핵심 요소는 다음 두 가지입니다.

1. 강력한 모델링 능력(Power)

신경망은 매우 정교한 모델링 기법으로, 극도로 복잡한 함수도 모델링할 수 있습니다. 특히 신경망은 비선형(nonlinear)이라는 점이 큰 강점입니다. 오랫동안 선형 모델링은 최적화 전략이 잘 확립되어 있었기 때문에 대부분의 모델링 분야에서 일반적으로 사용되어 왔지만, 실제 세계의 많은 문제는 본질적으로 비선형적입니다. 신경망은 이러한 복잡한 비선형 관계를 효과적으로 포착할 수 있습니다.

2. 사용 편의성(Ease of Use)

신경망은 예시 데이터를 통해 학습합니다. 사용자는 대표성 있는 데이터를 수집한 뒤 학습 알고리즘을 실행하여 데이터의 구조를 자동으로 학습시키면 됩니다.

물론 사용자에게도 데이터를 선택하고 준비하는 방법, 적절한 신경망 구조를 고르는 방법, 결과를 해석하고 활용하는 방법에 대한 어느 정도의 경험적 지식(휴리스틱)이 필요합니다. 그럼에도 불구하고 신경망을 성공적으로 활용하기 위해 요구되는 사용자 지식의 수준은, 예컨대 보다 전통적인 비선형 통계 기법을 사용할 때 필요한 수준보다 훨씬 낮다는 것이 큰 장점입니다.