인공 신경망의 기본개념과 인공 신경망 모델 종류 10가지

 인공 신경망의 기본 개념은 인간의 뇌의 작동 원리를 모방하겠다는 아주 창의적이면서도 심플한 아이디어이다.

그런데 막상 인간의 뇌는 어떻게 작동하는 걸까?

 

# 뉴런(Neuron) : 신경세포

뉴런은 전기적 신호와 화확적 신호를 전달하는 기능을 가지며 서로 연결되어 네트워크를 형성한다.

 

전기적 신호는 뭐야?

 : 뉴런 내부의 양극성(전기적 차이)이 일정수준 일정 수준이상으로 증가하면 액체로 이루어진 시냅스(뉴런과 뉴런을 연결하는 구조물) 부위에서 전기적인 신호가 발생하게 된다.

 

 

화학적 신호? 

 : 뉴런간에 신경전달물질을 통해 신호를 전달하는 방법으로 화학적인 신호는 전기적인 시호보다 전달속도는 느리다.

하지만 시냅스간의 거리가 멀거나 연결이 약한 경우에도 신호 전달이 가능하다는 장점을 가지고 있다.

 

 

 인공신경망은 이러한 여러개의 뉴런이라는 단위를 그대로 차용하며 각 뉴런은 다른 뉴런으로부터 입력을 받아 

일정한 계산을 수행하고, 계산 결과를 출력한다.

 

이를 통해서 입출력 데이터의 특징을 추출하고, 이를 기반으로 출력데이터를 생성한다.

 

 그래서 인공 신경망은 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)로 구성되는데

그 이유는 입력 데이터(학습 데이터)와 출력 데이터(예측값 or 분류값) 사이의 복잡한  관계를 학습하기에

적절한 구조이기 때문이다.

 

1. 입력층 (input layer) 

 입력층은 입력 데이터(학습 데이터)를 받아들인다.

이 데이터들은 학습 과정에서 가중치와 연산을 거쳐 은닉층으로 전달된다.

 

2. 은닉층 (hidden layer)

 은닉층은 입력 데이터를 처리하는 역할을 한다.

입력층에서 받은 데이터를 다양한 방식으로 처리하여 출력층으로 전달한다.

 은닉층의 주된 목적은 입력 데이터와 출력 데이터 사이의 복잡한 관계를 효과적으로 학습하기 위해서이다.

 

3. 출력층

 분류, 회귀 등의 문제에 대한 예측값, 분류값 등을 제공하는 층이다.

 

이렇게 인공 신경망은 입력 데이터와 그에 해당하는 출력 데이터를 통해서

가중치(weight)와 편향(bias)를 조정하는 과정을 거친다.

 

이를 통해 인공 신경망은 입력 데이터와 출력 데이터 사이의 관계를 학습하고 학습된 결과를 바탕으로 새로운 입력 데이터를 처리한다.

 

# 인공신경망 모델의 종류 10가지

1. 다층 퍼셉트론(MLP : Multi-Layer Perceptron) : 입력층 + 여러개의 은닉층 + 출력층으로 구성된 가장 기본적인 인공 신경망을 말한다.

 

2. 합성곱 신경망(CNN : Convolutional Neural Network) : 이미지와 같은 공간 정보를 가진 입력 데이터를 처리하는데 특화된 신경망 모델이다. 합성곱 연산과 풀링 연산을 이용하여 입력 데이터를 처리한다.

 

3. 순환 신경망(RNN : Recurrent Neural network) : 시퀀스 데이터(시계열, 문자열)를 처리하는데 특화된 신경망 모델로서 이전 시점의 출력값을 다음 시점의 입력값으로 사용하여 순환적인 구조를 형성하는 모델이다.

 

4. 장단기 메모리(LSTM : Long Short-Term Memory) : RNN의 문제점인 기울기 소실(Vanishing Gradient) 문제를 해결하기 위해서 제안된 모델로서 메모리 셀과 게이트 등의 구조를 이용해 긴 시퀀스 데이터를 처리할 수 있다.

 

5. 자기주도학습 오토인코더(AutoEncoder) : 입력 데이터를 압축하는 인코더와 압축된 데이터를 복원하는 디커더로 구성된 모델로 데이터의 차원 축소나 잡음 제거 등의 용도로 사용된다.

 

6. 생성적 적대 신경망(GAN : Generative Adversarial Netwrok) : 생성 모델로 두개의 신경망(생성자와 판별자)를 경쟁시키면서 진자와 유사한 가짜 데이터를 생성하는 모델이다. 주로 이미지 생성 분야에서 사용된다.

 

7. 변환 네트워크(Transformers) : 자연어 처리분야에서 강력한 성능을 발휘하는 모델로서, 인코더와 디코더로 구성되며 

 Attention) 메커니즘을 이용하여 입력과 출력 시퀀스를 처리하는 모델이다.

 

8. 강화학습 신경망(Reinforcement Learning Neural Network) : 에이전트가 환경과 상호작용하면서 보상을 최대화 하기 위해 학습하는 모델이다. 주로 게임 등의 분야에서 사용된다.

 

9. 시계열 예측 신경망( Time Series Prediction Neural Netwrok) : 시계열 데이터(주가, 기온)를  예측하는데 사용되는 모델로 주로 LSTM 등의 순환 신경망 모델이 사용된다. FaceBook에서 개발한 ProPhet이라는 모델은 ARIMA 등의 전통적인 시계열 예측 방법과 달리 추가적인 정보와 효과적인 모델링 기법을 이용하여 시계열 데이터의 특성을 적극 활용한다.

 

10. 그래프 신경망(Graph Neural Network) : 그래프 데이터(소셜 네트워크, 분자 구조)를 처리하는데 특화된 모델이다.

노드와 엣지의 구조를 이용하여 입력 데이터를 처리한다.