카테고리 없음

인공신경망(Artificial Neural Network, ANN)의 개념, 종류

인공돌이 2020. 7. 15. 16:25

인공신경망(Artificial Neural Network, ANN)의 개념, 종류

정보기술(IT)에서 인공신경망(ANN)은 인간의 뇌에서 뉴런이 작동하는 방식을 본떠 만든 하드웨어 및 소프트웨어의 시스템이다. 간단히 신경망이라고도 불리는 ANN은 인공지능, 즉 AI의 산하에 있는 다양한 딥러닝 기술이다. 이러한 기술의 상업적 응용은 일반적으로 복잡한 신호 처리나 패턴 인식 문제를 해결하는 데 초점을 맞춘다. 2000년 이후 주요 상업적 응용 사례로는 수표 처리를 위한 필기 인식, 음성에서 문자로의 변환, 석유 탐사 데이터 분석, 날씨 예측 및 안면 인식 등이 있다. ANN은 대개 병렬로 작동하고 계층으로 배열되는 다수의 프로세서를 포함한다. 첫 번째 계층은 가공되지 않은 입력 정보를 수신하는데, 이는 인간의 시각 처리에서 시신경의 역할과 유사하다. 각각의 연속적인 계층은 그것의 앞에 있는 계층으로부터 출력을 수신하는데, 이 역시 시신경으로부터 멀리 떨어진 뉴런들이 자신과 가까운 뉴런으로부터 신호를 받는 방식과 같은 방법이다. 마지막 계층은 시스템의 출력을 생성한다. 각 처리 노드는 자신이 본 것과 원래 프로그래밍 되어있거나 스스로 개발한 어떤 규칙들을 포함하는 그 자체의 작은 지식 영역을 가지고 있다. 계층은 상호연결성이 높으며, 즉 계층 n의 각 노드는 입력을 받는 n-1 계층과 출력을 전달하는 계층 n+1의 많은 노드에 연결될 것이다. 출력 계층에는 하나 또는 여러 개의 노드가 있을 수 있으며, 출력 계층이 생성하는 답을 읽을 수 있다. 인공신경망은 적응력이 뛰어나다는 특징이 있는데, 이는 그들이 초기 훈련에서 배우고 그 이후의 작동은 세계에 대한 더 많은 정보를 제공하면서 스스로를 변화시킨다는 것을 의미한다. 가장 기본적인 학습 모델은 입력 스트림에 가중치를 매기는 것에 중점을 두고 있으며, 이것은 각 노드가 각 이전 노드의 입력 데이터의 중요성을 어떻게 가중시키는지이다. 정답을 얻는 데 기여하는 입력값의 가중치는 더 높다. 일반적으로 ANN은 초기에 많은 양의 데이터를 교육받거나 공급받는다. 훈련은 입력을 제공하고 출력이 무엇이어야 하는지를 네트워크에 알려주는 것으로 구성된다. 예를 들어, 배우들의 얼굴을 식별하는 네트워크를 구축하기 위해, 초기 훈련은 배우, 일반인, 동물 얼굴 등을 포함한 일련의 사진일 수 있다. 각 입력에는 배우 이름, "배우 아님" 또는 "인간 아님" 정보와 같은 일치하는 식별 정보가 수반된다. 답을 제공함으로써 모델은 자신의 일을 더 잘 하는 방법을 배우기 위해 내부 가중치를 조정할 수 있다. 예를 들어 A, B, C 노드가 X 노드에게 현재 입력 이미지는 정우성의 사진이라고 말하지만 D 노드는 이병헌이라고 말했는데, 훈련 프로그램에서 그 이미지가 정우성인 것을 확인하면 X는 D의 입력에 할당하는 무게를 줄이고 A, B, C 노드에 주는 무게를 늘릴 것이다. 규칙을 정의하고 결정을 내릴 때, 즉 이전 계층의 입력에 기초하여 다음 계층으로 보낼 항목에 대한 각 노드의 결정에서 신경 네트워크는 몇 가지 원칙을 사용한다. 여기에는 그라디언트 감소, 퍼지 논리, 유전 알고리즘 및 베이지안 방법이 포함된다. 그들에게 모델링되는 공간의 객체 관계에 대한 몇 가지 기본 규칙이 주어질 수 있다. 예를 들어, 안면인식 시스템은 "눈썹이 눈 위에 있다" 또는 "코밑에 콧수염이 있다"라는 지시를 받을 수 있다. 미리 로드하는 규칙은 훈련을 더 빠르게 하고 모델을 더 빨리 강하게 만들 수 있다. 그러나 그것은 또한 문제 공간의 성격에 대한 가정에도 내장되어 있는데, 이것은 관련이 없고 도움이 되지 않거나 부정확하고 역효과적인 것으로 판명될 수 있으며, 만약 있다면 어떤 규칙이 매우 중요한지에 대한 결정을 내릴 수 있다. 또한 알고리즘을 훈련할 때 사람들이 하는 가정은 신경망이 문화적 편견을 증폭시키는 원인이 된다. 편향된 데이터 세트는 데이터에서 패턴을 인식해 스스로 답을 찾는 훈련 시스템에서 지속적인 난제다. 알고리즘을 제공하는 데이터가 중립적이지 않고 데이터가 거의 없는 경우 기계는 편향을 전파한다. 신경망은 입력과 출력 사이에 얼마나 많은 층을 가지고 있는지, 또는 모델의 이른바 숨겨진 층을 가지고 있는지 등 그 깊이의 관점에서 설명되기도 한다. 신경망이라는 용어가 딥러닝과 거의 동의어로 쓰이는 이유다. 또한 모델이 가지고 있는 숨겨진 노드 수 또는 각 노드가 가지고 있는 입력 및 출력 수 단위로 설명할 수 있다. 고전적인 신경망 설계상의 변화는 계층간 정보의 다양한 전방 및 후방 전파를 가능하게 한다. 인공 신경망에는 피드-포워드 신경망, 재귀 신경망, 콘볼루션 신경망, 디콘볼루션 신경망, 모듈 신경망 등의 종류가 있다. 피드-포워드 신경망은 신경망의 가장 단순한 변형 중 하나이다. 그들은 정보가 출력 노드에 도달할 때까지 다양한 입력 노드를 통해 한 방향으로 정보를 전달한다. 네트워크는 노드 계층이 숨겨져 있을 수도 있고 그렇지 않을 수도 있으며, 이들의 기능을 더 해석 가능하게 한다. 그것은 많은 양의 노이즈를 처리할 준비가 되어 있다. 이 타입의 ANN 연산 모델은 안면 인식과 컴퓨터 시각과 같은 기술에 사용된다. 재귀 신경망(RNN)은 더 복잡하다. 그들은 처리 노드의 출력을 저장하고 그 결과를 다시 모델에 공급한다. 모형이 층의 결과를 예측하는 법을 배우는 방법이라고 한다. RNN 모델의 각 노드는 연산 및 구현을 계속하면서 메모리 셀 역할을 한다. 이 신경망은 피드포워드 네트워크와 동일한 전방 전파로 시작하지만, 이후 이를 재사용하기 위해 처리된 모든 정보를 기억하기 위해 계속된다. 네트워크의 예측이 정확하지 않으면 시스템이 자체 학습하여 백프로포즈 중에 올바른 예측을 위해 계속 작업한다. 이러한 유형의 ANN은 텍스트 대 음성 변환에 자주 사용된다. 콘볼루션 신경 네트워크(CNN)는 오늘날 사용되는 가장 인기 있는 모델 중 하나이다. 이 신경망 계산 모델은 다층계 수용체의 변형을 사용하며, 완전히 연결되거나 풀링될 수 있는 하나 이상의 경련 층을 포함한다. 이러한 경련 레이어는 궁극적으로 직사각형으로 쪼개져 비선형 처리를 위해 전송되는 이미지의 영역을 기록하는 피쳐 맵을 만든다. CNN 모델은 특히 이미지 인식 분야에서 인기가 있다. CNN은 얼굴 인식, 텍스트 디지털화, 자연 언어 처리 등 AI의 가장 진보된 어플리케이션에 많이 사용되어 왔다. 다른 용도로는 파라프레이즈 검출, 신호 처리, 이미지 분류 등이 있다. 디콘볼루션 신경망은 역전된 CNN 모델 과정을 활용한다. 그들은 원래 CNN 시스템의 임무에 중요하지 않다고 여겨졌던 잃어버린 특징이나 신호를 찾는 것을 목표로 한다. 이 네트워크 모델은 영상 합성 및 분석에 사용될 수 있다. 모듈형 신경망에는 여러 신경망이 각각 따로 작용하고 있다. 네트워크는 계산 과정 중에 서로 의사소통하거나 활동을 방해하지 않는다. 따라서 복잡하거나 큰 계산 프로세스를 보다 효율적으로 수행할 수 있다.