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

인공 신경망(ANN)의 장점과 단점 완벽 정리

인공 신경망(Artificial Neural Network)은 생체 신경망을 모방하여 만든 시스템으로, 생물학적 신경 시스템의 작동 원리를 컴퓨터로 시뮬레이션한 것입니다. 인공 신경망의 가장 큰 특징은 다양한 아키텍처가 존재한다는 점이며, 이로 인해 여러 알고리즘 기법이 요구됩니다. 하지만 복잡한 시스템처럼 보여도 그 개념 자체는 의외로 단순합니다.

인공 신경망은 신호 처리 분야에서 독보적인 위치를 차지하는 기술 중 하나입니다. 이 분야는 매우 학제간적인 성격을 띠지만, 본 글에서는 공학적 관점에서 살펴보겠습니다.

공학 분야에서 신경망은 패턴 분류기(pattern classifier)비선형 적응 필터(non-linear adaptive filter)라는 두 가지 핵심 역할을 수행합니다. 인공 신경망은 데이터로부터 함수(입력/출력 맵)를 학습하는 유연한, 대부분 비선형인 시스템입니다. 여기서 '적응적(adaptive)'이라 함은 시스템 파라미터가 운용 중에 변경된다는 의미이며, 이 과정을 일반적으로 훈련(training) 단계라고 부릅니다.

훈련 단계가 끝나면 인공 신경망의 파라미터는 고정되고, 시스템은 주어진 문제를 해결할 준비를 마치게 됩니다(테스트 단계). 인공 신경망은 성능을 향상시키거나 특정 내부 제약 조건을 충족시키기 위해 체계적이고 단계적으로 구축되는데, 이때 적용되는 규칙을 일반적으로 학습 규칙(learning rule)이라고 합니다.

입력/출력 훈련 데이터는 신경망 기술에서 매우 중요합니다. 최적의 동작 지점을 '발견'하는 데 필요한 핵심 정보를 전달하기 때문입니다. 또한 신경망 처리 요소(PE)의 비선형 특성 덕분에 시스템은 사실상 원하는 모든 입력/출력 맵을 구현할 수 있을 만큼 높은 적응성을 갖추게 됩니다.

신경망에 입력이 주어지면 출력에는 그에 해당하는 목표 반응(target response)이 설정됩니다(이러한 방식의 훈련을 지도 학습(supervised learning)이라고 합니다). 실제 반응과 시스템 출력 간의 차이로부터 오류(error)가 계산되며, 이 오류 정보는 다시 시스템으로 전달되어 파라미터를 체계적으로 조정합니다(학습 규칙). 이 과정은 성능이 충분히 좋아질 때까지 반복됩니다. 이 정의에서 알 수 있듯이 신경망의 성능은 데이터에 크게 좌우됩니다.

인공 신경망의 장점

  • 선형 프로그램으로는 수행할 수 없는 작업도 처리할 수 있습니다.

  • 일부 구성 요소에 장애가 발생해도 병렬 구조 덕분에 문제없이 계속 작동할 수 있습니다.

  • 스스로 학습하므로 재프로그래밍이 필요하지 않습니다.

  • 다양한 응용 분야에 폭넓게 적용할 수 있습니다.

인공 신경망의 단점

  • 정상적으로 작동하기 위해서는 사전 훈련(학습)이 반드시 필요합니다.

  • 마이크로프로세서와 구조가 서로 달라 에뮬레이션 과정이 요구됩니다.

  • 대규모 신경망의 경우 상당한 처리 시간이 소요됩니다.