연구의 선진화와 생산성 향상에
필요한 최적의 소프트웨어와 컨설팅을
공급하도록 노력하겠습니다.

신경망(Neural networks)은 과거 기록 데이터로부터 패턴들을 추출하기 위해 뇌의 학습 과정을 모방하는 인공지능의 한 형태입니다. NeuroSolutions 무료 평가 판을 다운 받아 귀하의 업무에 이 놀라운 기술을 어떻게 적용하는지 평가해 볼 수 있습니다.

신경망(Neural Network)이란?

신경망(Neural Network)은 복잡한 입력/출력 관계를 챕처하여 표현할 수 있는 강력한 데이터 모델링 도구입니다. 신경망 기술 개발의 동기는 사람의 뇌가 수행하는 것과 유사한 "지능형" 업무를 수행할 수 있는 인공 시스템을 개발하고자 하는 의도에서 비롯되었습니다. 신경망은 다음 두 가지 방식에서 닮았습니다:

  1. 신경망은 학습을 통해 지식을 획득한다.
  2. 신경망의 지식은 시냅스 가중치(synaptic weights)로 알려진 중간 뉴론(inter-neuron)의 연결 강도 내에 저장 된다.
신경망의 진정한 힘과 장점은 선형과 비선형 관계 모두를 표현하는 능력과 모델링 되는 데이터로부터 직접 이들 관계를 학습하는 능력에 달려 있습니다. 전형적인 선형 모델들은 비선형 특성들을 포함하는 데이터를 모델링 할 때는 부적합니다.

가장 일반적인 신경망 모델은 다층 퍼셉트론(MLP)입니다. 이러한 유형의 신경만은 감독 신경망(supervised network)으로 알려져 있는데, 학습하기 위해 요구되는 결과가 필요하기 때문입니다. 이러한 유형의 신경망의 목적은 과거 기록 데이터를 이용하여 입력을 출력에 정확하게 맵핑하는 모델을 생성함으로써 요구되는 결과가 알려진 경우 모델은 출력을 생성하는데 사용할 수 있습니다. MSP의 그래픽 표현은 다음 그림과 같습니다:
Block diagram of a two hidden layer multiplayer perceptron (MLP). The inputs are fed into the input layer and get multiplied by interconnection weights as they are passed from the input layer to the first hidden layer. Within the first hidden layer, they get summed then processed by a nonlinear function (usually the hyperbolic tangent). As the processed data leaves the first hidden layer, again it gets multiplied by interconnection weights, then summed and processed by the second hidden layer. Finally the data is multiplied by interconnection weights then processed one last time within the output layer to produce the neural network output.
The MLP and many other neural networks learn using an algorithm called backpropagation. With backpropagation, the input data is repeatedly presented to the neural network. With each presentation the output of the neural network is compared to the desired output and an error is computed. This error is then fed back (backpropagated) to the neural network and used to adjust the weights such that the error decreases with each iteration and the neural model gets closer and closer to producing the desired output. This process is known as "training".
Demonstration of a neural network learning to model the exclusive-or (Xor) data. The Xor data is repeatedly presented to the neural network. With each presentation, the error between the network output and the desired output is computed and fed back to the neural network. The neural network uses this error to adjust its weights such that the error will be decreased. This sequence of events is usually repeated until an acceptable error has been reached or until the network no longer appears to be learning.
A good way to introduce the topic is to take a look at a typical application of neural networks. Many of today's document scanners for the PC come with software that performs a task known as optical character recognition (OCR). OCR software allows you to scan in a printed document and then convert the scanned image into to an electronic text format such as a Word document, enabling you to manipulate the text. In order to perform this conversion the software must analyze each group of pixels (0's and 1's) that form a letter and produce a value that corresponds to that letter. Some of the OCR software on the market use a neural network as the classification engine.
Demonstration of a neural network used within an optical character recognition (OCR) application. The original document is scanned into the computer and saved as an image. The OCR software breaks the image into sub-images, each containing a single character. The sub-images are then translated from an image format into a binary format, where each 0 and 1 represents an individual pixel of the sub-image. The binary data is then fed into a neural network that has been trained to make the association between the character image data and a numeric value that corresponds to the character. The output from the neural network is then translated into ASCII text and saved as a file.
Of course character recognition is not the only problem that neural networks can solve. Neural networks have been successfully applied to broad spectrum of data-intensive applications, such as:

  • Process Modeling and Control - Creating a neural network model for a physical plant then using that model to determine the best control settings for the plant.
  • Machine Diagnostics - Detect when a machine has failed so that the system can automatically shut down the machine when this occurs.
  • Portfolio Management - Allocate the assets in a portfolio in a way that maximizes return and minimizes risk.
  • Target Recognition - Military application which uses video and/or infrared image data to determine if an enemy target is present.
  • Medical Diagnosis - Assisting doctors with their diagnosis by analyzing the reported symptoms and/or image data such as MRIs or X-rays.
  • Credit Rating - Automatically assigning a company's or individuals credit rating based on their financial condition.
  • Targeted Marketing - Finding the set of demographics which have the highest response rate for a particular marketing campaign.
  • Voice Recognition - Transcribing spoken words into ASCII text.
  • Financial Forecasting - Using the historical data of a security to predict the future movement of that security.
  • Quality Control - Attaching a camera or sensor to the end of a production process to automatically inspect for defects.
  • Intelligent Searching - An internet search engine that provides the most relevant content and banner ads based on the users' past behavior.
  • Fraud Detection - Detect fraudulent credit card transactions and automatically decline the charge.
NeuroSolutions is a leading edge neural network development software that combines a modular, icon-based network design interface with an implementation of advanced learning procedures, such as Levenberg-Marquardt and backpropagation through time. Some other notable features include C++ source code generation, customized components through DLLs, neuro-fuzzy architectures, and programmatic control from Visual Basic using OLE Automation. We recommend that you also download a free evaluation copy in order to gain a full understanding of the software. Once you've gone through the extensive set of live demos, you can try building and training a neural network with your own data.