"인공신경망"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(역사)
(작동원리)
31번째 줄: 31번째 줄:
 
*출력층(Output Layer) : 결과적으로 얻고자 하는 학습된 데이터가 담긴 뉴련층, 입력 값과 현재 시스템 상태에 기준하여 시스템 출력 값을 산출한다.
 
*출력층(Output Layer) : 결과적으로 얻고자 하는 학습된 데이터가 담긴 뉴련층, 입력 값과 현재 시스템 상태에 기준하여 시스템 출력 값을 산출한다.
  
위 뉴런들은 각각 많은 가중치와 바이어스 값의 조합을 가진다. 전파되는 과정에서 가중치와 바이어스 값을 조절하지만 단순히 데이터를 오른쪽으로만 전달하면 데이터 최적하가 잘 이루어지지 않는다. 따라서 결과값에서 오차가 발생하면 해당 오차만큼 다시 앞쪽으로 전파시키면서 가중치를 갱신하는 기술이 사용되는데 이를 [[역전파]](Backpropagation)라고 한다.
+
위 뉴런들은 각각 많은 가중치와 바이어스 값의 조합을 가진다. 전파되는 과정에서 가중치와 바이어스 값을 조절하지만 단순히 데이터를 오른쪽으로만 전달하면 데이터 최적하가 잘 이루어지지 않는다. 따라서 결과값에서 오차가 발생하면 해당 오차만큼 다시 앞쪽으로 전파시키면서 가중치를 갱신하는 기술이 사용되는데 이를 [[역전파]](Backpropagation)라고 한다. 또한 매우 많은 은닉층을 두어 단계적으로 학습시킬 수 있다. 은닉층이 심층적인 신경망을 [[심층신경망]]이라고 하며 그러한 배경에서 뉴런들을 학습시키는 것을 [[딥러닝]]이라고 한다.
 +
 
 
===역전파===
 
===역전파===
  

2019년 9월 19일 (목) 14:27 판

인공신경망(Artificial Neural Network)은 사람 또는 동물 두뇌의 신경망에 착안하여 구현된 컴퓨팅 시스템으로 인간의 신경을 흉내낸 머신러닝 기법이다.

개요

인공 신경망(ANN)은 인간의 뇌가 패턴을 인식하는 방식을 모사한 알고리즘으로 시각, 청각 입력 데이터를 퍼셉트론이나 분류, 군집을 이용하여 해석하는데, 이렇게 해석한 결과를 이용하면 이미지나 소리, 문자, 시계열 데이터등 에서 특정 패턴을 인식할 수 있다.[1] 인공신경망을 이용하면 각종 분류및 군집화가 가능하다. 분류나 군집화를 원하는 데이터 위에 여러가지 층을 얹어서 원하는 작업을 하게 된다. 긱 층은 라벨링이 되어 있지 않은 데이터를 비교하여 유사도를 구할 수 있고, 라벨링이 되어있는 데이터는 분류기를 학습하여 자동으로 데이터를 분류할 수 있게 한다. 즉, 인공 신경망으로 특징을 추출하고 추출한 특징을 다시 다른 기계학습 알고리즘의 입력으로 사용하여 분류또는 군집화를 할 수 있다.

예를 들면 인공 신경망이 사람들의 암 발병률을 예측하도록 학습할 수 있다. 암에 걸리거나 걸리지 않은 사람들이 각각 어떤 행동 패턴을 가지고 있는지, 어떤 기준으로 어떻게 분류하는지를 신경망이 학습할 수 있도록한다. 가지고 있는 데이터로 학습이 잘 되었다면 사람들의 행동 패턴을 이용해 암에 걸릴 확률을 예측할 수 있다.

역사

  • 1940년대
인간 기억에 대한 연구는 워렌 맥클록(Warren McCulloch)과 월터 피츠(Walter Pitts)가 뉴런이 작동하는 방법에 관해 논문을 작성하던 1943년에 큰 변화를 맞이한다. 맥클록은 철학과 의학분야에서 학위를 받고 신경정신과 교수였으며, 월터 피츠는 뇌신경 시스템에 관심이 많은 수학자였다. 이들은 전기스위치처럼 끄고 켤 수 있는 인공 신경을 그물망 형태로 연결하면 인공 신경이 사람의 뇌에서 동작하는 간단한 기능을 흉내 낼 수 있다는 것을 이론적으로 증명했다. 이것이 최초의 뉴런 인공신경망 모델이다. 당시 이 모델은 단순한 선형 모델이었기 때문에 한계가 있었지만 퍼셉트론(perceptron)등 이후의 인공신경망 연구로 이어진다. 1940년대 후반에 심리학자인 도널드 헤비안(Donald Hebb)은 신경가소성의 원리에 근거한 학습의 기본 가정인 헤비안 학습(Hebbian learning)을 만들었다. 헤비안 학습은 전형적인 자율학습으로 장기강화(long term potentiation)의 초기모델이 된다.
  • 1950년대
1954년 팔리(Farley)와 웨슬리 클라크(Wesley A. Clark)는 MIT에서 헤비안 네트워크를 모의 실험하기 위해 처음으로 계산학 모델을 사용하였다. 이 모델은 후에 계산기라고 불린다. 그 외에도 로체스터(Rochester), 홀랜드(Holland), 하빗(Habit), 두다(Duda)등이 다른 신경망 계산학 기계들을 만들었다. 뉴욕 코넬 항공 공학 연구소 컴퓨터 과학지인 프랭크 로젠블라트(Frank Rosenblatt)는 패턴인식을 위해 간단한 덧셈과 뺄셈이 가능한 이층구조의 학습 컴퓨터 망에 근거한 알고리즘인 퍼셉트론(Perceptron)을 만들었다.
  • 1960년대
마빈 민스키(Marvin Minsky)와 시모어 페퍼트(Seymour Papert)에 의해 기계학습 논문이 발표된 후 1969년에 신경망 연구는 침체되었다. 이들은 인공 신경망에서 두 가지 문제점을 찾아냈는데, 첫번째는 단층 신경망은 배타적 논리합 회로(exclusive-or circuit)를 처리하지 못한다는 것, 두번째는 거대한 신경망에 의해 처리되는 긴 시간을 컴퓨터가 효과적으로 처리할 만큼 정교하지 못한다는 것이다. 이 후 컴퓨터가 충분히 빨리지고, 배타적 논리합 문제를 효율적으로 처리하는 오차역전파법이 만들어지기 전까지 신경망 연구는 더디게 진행되었다.[2]
  • 1980년대
중반 병렬 분산 처리는 연결주의라는 이름으로 주목받았다. 데이비드 럼멜하트(David E. Rumelhart)와 제임스 맥클레랜드(James McClelland)가 쓴 교과서에는 연결주의를 이용해 신경 처리를 컴퓨터에서 모의 실험하기 위한 모든 것을 설명하고있다. 인공신경망이 얼마나 뇌의 기능을 반영하는지가 불분명하기때문에 뇌 신경 처리의 간단한 모델과 뇌 생물학적 구조간의 상관관계에 대해 논란이 되지만 인공지능에서 사용되는 신경망은 전통적으로 뇌 신경 처리의 간단한 모델로 간주된다.
  • 2000년대이후
2000년대 딥러닝 출현 이후 신경 집합의 새로운 관심은 다시 조명받게되었다. 생물물리학 모의실험이나 뇌신경학 컴퓨팅을 위한 계산학 디바이스들은 CMOS를 통해 만들어졌다. 최근엔 큰 범위의 기본 요소들의 분석과 합성을 위해 나노 디바이스등이 제작되고 있는데 이는 디지털 컴퓨팅을 뛰어넘는 신경 컴퓨팅의 새로운 시대를 도래할 것이다. 2009년부터 2012년동안 스위스 AI 연구실(IDSIA)에서 위르겐 슈밋흠바(Jürgen Schmidhuber)과 댄 크리슨(Dan Ciresan)등은 패턴 인식 경연에서 여러 번 우승하였다. 이들의 신경망은 처음으로 교통표지판 또는 MINIST 필기 인식 분야에서 인간과 비슷한, 또는 인간을 넘어서는 인공 패턴 인식이었다. 오늘날 신경망은 판독기, 일기 예보, 폭탄 탐지기 심지어 금융시장 예측까지도 이용되는 광학식 문자판독 기반 기술로 사용되고 있다.[3] 또한 2010년대에는 컴퓨터 하드웨어 및 학습 알고리즘의 발달로 수십 개의 은닉층(hidden layer)이 있는 심층신경망(DNN: Deep Neural Network)이 널리 사용되고 있다. 이미지 및 자연어 처리, 음성 인식 등의 분야에서 기존의 기계 학습 방법의 성능을 뛰어 넘는 결과를 보여주고 있다.

작동원리

인공신경망은 인간의 뉴런(Neuron)의 동작 원리에 기초해 인공적으로 구축한 신경망이다. 뉴런은 가지돌기로부터 신호를 받아들여 출삭돌기에서 축삭말단으로 전달한다. 이때 불필요한 정보일 경우 다음 뉴런으로 전달하지 않는데 이런 특성과 원리를 이용해 인공지능을 개발한 것이다.

인공 신경망은 입력층, 은닉층,출력층 세가지 층으로 구분된다. 모든 층들은 노드로 구성되어있다. 각 입력노드와 은닉노드들은 모두 가중치를 가지는 망으로 연결되어 있으며 은닉노드와 출력노드도 마찬가지로 연결된다.

  • 입력층(Input Layer) : 초기 데이터가 세팅되는 뉴런층, 시스템 외부로부터 입력자료를 받아들여 시스템으로 전송한다.
  • 은닉층(Hidden Layer) : 데이터가 드러나지 않고 가려져있는 뉴런층, 시스템 안쪽에 자리잡고 있으며 입력 값을 넘겨받아 처리한뒤 결과를 산출한다.
  • 출력층(Output Layer) : 결과적으로 얻고자 하는 학습된 데이터가 담긴 뉴련층, 입력 값과 현재 시스템 상태에 기준하여 시스템 출력 값을 산출한다.

위 뉴런들은 각각 많은 가중치와 바이어스 값의 조합을 가진다. 전파되는 과정에서 가중치와 바이어스 값을 조절하지만 단순히 데이터를 오른쪽으로만 전달하면 데이터 최적하가 잘 이루어지지 않는다. 따라서 결과값에서 오차가 발생하면 해당 오차만큼 다시 앞쪽으로 전파시키면서 가중치를 갱신하는 기술이 사용되는데 이를 역전파(Backpropagation)라고 한다. 또한 매우 많은 은닉층을 두어 단계적으로 학습시킬 수 있다. 은닉층이 심층적인 신경망을 심층신경망이라고 하며 그러한 배경에서 뉴런들을 학습시키는 것을 딥러닝이라고 한다.

역전파

종류

퍼셉트론

각주

  1. Chris Nicholson,〈인공 신경망 및 심층 신경망 소개〉, 《A.I.Wiki》
  2. 인공신경망〉, 《위키백과》
  3. 잭 챌리너, 인공신경망〉, 《죽기 전에 꼭 알아야 할 세상을 바꾼 발명품 1001》,2010-01-20