본문 바로가기
Machine learning/Neural Network

신경망(Neural Network)

by ciwhiz 2012. 5. 30.

신경망은 생명체의 신경조직에서 착안하여 모델화한 정보처리 시스템으로서 단순한 소자들의 병렬, 분산 연결구조를 가지고 있으며, 외부로부터 받아들이는 입력에 대하여 동적반응을 일으킴으로써 필요한 출력을 생성시킨다. 즉 생명체의 특수한 정보처리 기능을 부분적이나마 모방하고자 하는 의도에서 신경망이 개발되었다....

definition   term    history    model    site    lab   book   demo   paper

사람이 너무 쉽게하는 일을 컴퓨터가 못하는 것이 너무 많다. 예를들면 글씨를 읽는다거나, 사람을 알아본다거나, 남의 이야기를 듣는 일 같은 것이다. 그 원인은  현 컴퓨터의 원리에 있다. 즉 Von Neuman 식의 순차 (sequential) 연산에 국한됨으로써 오는 기능상의 한계 때문에 그것을 구현하기가 쉽지 않다. 어느날 돌연히 천재가 나타나서 기발한 방법을 생각해 낼지도 모르나 마냥 그것을 기다리고 있을 수는 없다. 확실한 것은 이 세상에 그러한 일을 너무나도 쉽게 해결하는 기계가 있다는 것이다. 즉 우리의 두뇌가 그것이다. 두뇌가 어떻게 그러한 일을 수행하고 더욱 지적인 일들을 하는 가를 알아보고 그것을 모방하는 것이야 말로 제일 확실한 것이다....... (방승양 1992)

그러나 신경망의 개발이 인공두뇌를 만드는 것을 의미하지는 않는다. 두뇌 (Brain) 의 구조와 작용원리에 대해서는 아직도 알려지지 않은 부분이 많다. 신경망은 아직은 지능 (Intelligence) 을 구현하기에는 초보단계에 불과하다고 보아야 한다. 이런 의미에서 신경망이라고 하기보다는 병렬분산처리 (Parallel Distributed Processing) 시스템 이나 신경형 (neuromorphic) 시스템이라고 부르는 것이 타당할지도 모른다. 신경망, 신경회로망, Neurocomputing, 연결주의 (Connectionism) Model, Parallel Distributed Processing Model, Adaptive System, Self-organizing System 등이 Artificial Neural Network 의 다른 이름이다.

신경망의 보편적으로 인정되는 정의는 없지만 대부분의 사람은 신경망을 " 여러개의 간단한 처리장치들을 연결한 것 (a network of many simple processors ("units"))" 이라 하며 각각은 소량의 local memory를 가지고 있다. 각각의 unit은 다양한 방법으로 encode 된 수치 데이타 (기호 (symbolic) 데이타 반대되는 개념) 를 전달하는 통신 채널 ("connections") 으로 연결되어있다. 각각의 unit은 자신의 local data 와 connection 을 통해 받은 입력에 대해서만 작동한다. 그러한 작동 (local operation) 에 대한 제약은 training 을 통해서 흔히 완화된다. ..... 현재 많은 신경망의 종류가 있으며 아무도 얼마나 많은지를 정확히 모른다. 왜냐하면 적어도 기존의 것과 다른 새로운 것들이 매주 만들어지고 있기 때문이다. 이들을 구분하는 주된 카테고리는 supervised 와 unsupervised learning 이다...... (Warren S. Sarle)

신경망 기술은 생산공정 제어에서 개인용모 식별에 이르기까지 응용분야가 광범위한데 특히 최근 고도화되고 있는 인터넷을 포함한 정보통신 네트워크 분야에 대한 여러 가지 응용기술이 개발되고 있다....... 정보통신 네트워크가 날로 복잡해짐에 따라 규칙을 기반으로 한 관리는 점차 효율성이 떨어지고 있다. 더구나 세계 모든 지역이 연결됨에 따라 정보통신 네트워크는 급증하는 전자상거래 관련 데이터를 처리할 수 있는 새로운 기술을 필요로 하고 있다. 현재 전자상거래를 지원하는 데이터웨어하우스에 있는 대량의 데이터를 분석하는 데 신경망 기술을 사용하고 있다..........신경망은 또한 언어인식, 신용평가, 생체측정, 염색체 연구 등 여러 분야에 응용되고 있다. 이처럼 신경망 기술은 주로 대량의 데이터나 데이터 내의 복잡한 관계를 이해하는 데 사용된다. 뿐만 아니라 신경망 기술은 유전자 알고리듬 및 퍼지논리와 함께 광범위한 소프트웨어 응용분야에서도 많이 이용되고 있다....... (신경망 응용 : 전자신문 2001 년)

인간의 뇌는 약 100 billion (천억, 1011 ) 개의 신경세포 (Neuron) 을 가지고 있다. 각 뉴런은 다른 뉴런과 평균적으로 약 천개의 시냅스 (Synapse, connection) 을 가지므로 인간은 약 100 trillion 개의 connection (100조, 1014) 을 가지고 있으며 , 또 각 connection 은 동시에 계산이 가능하며 (massive parallel processing, 인간 사고능력의 핵심) 초당 200 계산이 가능하다 (이것은 느린편이다). 따라서 인간은 초당 20 million billion (2경, 2 * 1016) 개의 계산을 수행할 수 있다. ..... 개인용 컴퓨터가 사람의 뇌의 속도를 따라잡는 것은 언제쯤일까? 그 대답은 우리가 만들 컴퓨터의 형태에 따라서 달라진다. 가장 그럴듯한 것은 대규모 병렬 처리를 하는 신경망 컴퓨터다. .....1997 년에 얼마간의 병렬 처리를 하는 2,000 달러짜리 신경 컴퓨터 칩은 초당 약 2 billion (20억) 개의 계산을 할 수 있었다. ..... 컴퓨터 (neural net emulation) 의 계산능력 (computational power) 은 1 년마다 두 배로 늘어난다. 그러므로 2020 년까지 23 번에 걸쳐 배가되어 (223 배), 초당 20 million billion 정도의 계산 (neural connection calculations) 속도를 내게 될 것이며, 그것은 인간의 뇌와 동등한 것이다 ..... (Raymond Kurzweil, "The Age of Spiritual Machines", 1999) .....

인간은 1012 개의 neuron 과 1015 개의 synapse 를 가지고 있다. .... (Robert J. Schalkoff, biological neuron)

인간의 뇌는 1초에 1,000 번 작동할 수 있는 약 1,000 억 개의 뉴런으로 구성되어 있는 병렬 기계이다. 인간 뇌의 바깥층을 구성하는 회백질 ('사고' 뉴런들) 인 여섯 층의 피질에는 약 300 억 개의 뉴런이 놓여 있다. 나머지 700 억 개는 백질 ('연결' 뉴런) 을 이룬다. 이런 대규모의 병렬 배치는 패턴인식 (Pattern Recognition) 하는 데는 뛰어나지만, 탐색 (Search) 같은 순차적 계산은 힘이 부친다. ...... (Matthew Ginsberg 1998)