인공신경망이란?
갓 태어난 아이는 사물을 잘 구분하지 못한다. 인생을 살아가면서 다양한 것들을 보고 배우게 되며, 개념이 생기게 되고 무의식적인 학습을 통해 사물을 구분하고 분류하게 되는 것이다. 이는 뇌의 뉴런을 통한 학습 체계 덕분에 가능한 것이다. 그렇다면, 뇌의 뉴런을 그대로 모방한 알고리즘을 만든다면, 사람의 학습 체계를 컴퓨터에도 적용할 수 있지 않을까?
인공신경망(Artificial Neural Network, ANN)은 뇌의 구조와 기능에서 영감을 받아 만들어진 머신러닝 모델이다. 이 모델은 인간의 신경 세포인 뉴런을 모방하여 만들어졌으며, 여러 계층으로 이루어진 네트워크 구조를 가지고 있다. 각 계층에는 뉴런들이 존재하며, 이들은 서로 연결되어 정보를 주고받는다.
뉴런을 인공적으로 표현해보자면 위 사진과 같이 나타난다. 입력층(수상돌기)에서 받은 데이터(전기신호)를 노드(세포체)로 보내고, 역치(threshold value) 이상의 자극이 들어오면 출력층(축삭돌기)을 통해 값이 출력된다.
퍼셉트론의 개념
퍼셉트론은 인공신경망의 기본 구성 요소 중 하나로, 단일 뉴런의 동작을 나타내는 간단한 모델이다. 퍼셉트론은 입력값과 가중치를 곱하여 활성화 함수를 거쳐 출력값을 생성한다. 이러한 간단한 구조를 통해 퍼셉트론은 분류 및 회귀 작업을 수행할 수 있다.
위 사진과 같이 입력이 두 개인 퍼셉트론의 연산은 아래와 같다.
$$ y=h(x_1 w_1 + x_2 w_2) $$
여기서 $h(x)$는 활성화 함수(Activation function)이다. 활성화 함수는 가중치가 곱해진 신호의 총합이 임계치를 넘는지를 판단하게 된다. 임계치를 넘으면 1, 그보다 작으면 0을 나타내게 된다. 활성화 함수에 관한 자세한 내용은 다음 챕터에서 다룰 것이다.
그렇다면 입력값이 n개인 퍼셉트론은 어떻게 표현할까?
$$ y=h(\sum\limits_{i=1}^{n} x_i w_i) $$
위 수식과 같이 나타낼 수 있다. 각각의 입력값에 가중치를 곱한 후 모두 더해 활성화 함수로 넘겨주게 된다.
단일 퍼셉트론의 한계
단층 퍼셉트론은 AND와 OR과 같은 선형 문제에 대해서는 해결할 수 있지만, XOR과 같은 비선형 문제에 대해서는 해결이 어렵다.
위 문제를 해결하기 위해 나타난 것이 바로 다층 퍼셉트론이다.
다층 퍼셉트론(Multi-layer Perceptron, MLP)
다층 퍼셉트론은 입력층과 출력층 사이에 은닉층(Hidden layer)을 여러개 쌓은 구조를 띄고 있다. 은닉층이 두 개 이상이면 심층신경망(Depp Neural Network)로 분류하고, 이를 이용한 학습 방법이 바로 딥러닝이다. 신경망의 깊이가 깊어질수록 모델의 성능은 좋아지며, 그만큼 연산 속도가 오래 걸린다.
References
https://yngie-c.github.io/deep%20learning/2020/02/25/neural_net/
https://compmath.korea.ac.kr/deeplearning/Perceptron.html
'AI > Machine Learning' 카테고리의 다른 글
ML: 최적화(Optimization)와 경사하강법 (Gradient Descent) (0) | 2024.01.18 |
---|---|
ML: 손실함수(Loss Function) (0) | 2024.01.16 |
ML: 활성화 함수 (Activation Function) (0) | 2024.01.16 |
ML: 머신러닝이란? (0) | 2024.01.16 |