인공 신경망: 인간 두뇌의 모방
뉴런: 생물학적 신경망의 기본 단위
인간의 뇌는 약 1000억 개의 뉴런으로 이루어져 있다. 뉴런은 신호를 받아 처리하고 전달하는 역할을 한다. 뉴런은 여러 개의 입력 신호를 받아 가중치를 곱하여 합산한 후, 활성화 함수를 통해 출력 신호를 생성한다.
![]() |
neuron |
활성화 함수: 임계값을 넘어서는 신호만 전달
활성화 함수는 입력 신호의 합이 특정 임계값을 넘어서는 경우에만 출력 신호를 생성한다. 이는 뉴런이 중요한 신호만 전달하고 노이즈를 무시하도록 하는 역할을 한다.
활성화 함수에는 계단 함수, 시그모이드 함수 등이 있다. 계단 함수는 입력 값이 임계값을 넘으면 1, 그렇지 않으면 0을 출력한다. 시그모이드 함수는 입력 값을 0과 1 사이의 값으로 변환한다. 시그모이드 함수의 경우 미분했을 때 식이 간단하게 나오기 때문에 다음 시간에 알아볼 back-propagation에서 중요한 역할을 한다.
![]() |
step function |
![]() |
sigmoid function |
퍼셉트론: 인공 신경망의 기본 구성 요소
퍼셉트론은 인공 신경망의 기본 구성 요소로, 여러 개의 입력 신호를 받아 가중치를 곱하여 합산한 후, 활성화 함수를 통해 출력 신호를 생성한다. 퍼셉트론은 입력 신호를 두 개의 클래스로 분류하는 데 사용될 수 있다.
![]() |
perceptron |
퍼셉트론은 임계값을 조절하여 결정 경계를 변경할 수 있다. 결정 경계는 입력 공간을 두 개의 클래스로 나누는 경계선이다.
![]() |
decision boundary |
퍼셉트론의 학습: 오류 기반 학습
퍼셉트론은 오류 기반 학습을 통해 학습한다.(지난 시간 참조) 오류 기반 학습은 예측값과 실제값의 차이를 줄이도록 가중치를 업데이트하는 방식으로 이루어진다.
퍼셉트론의 가중치는 다음과 같이 업데이트된다.
w[i](p+1) = w[i](p) + α * x[i](p) * e(p)
여기서 w[i](p)
는 i번째 입력 신호에 대한 가중치, α
는 학습률, x[i](p)
는 i번째 입력 신호, e(p)
는 오류이다.
multivariable linear regression model과 마찬가지로, x[i](p) * e(p)는 오류 델타 함수이다. 즉, error가 양수라면 perceptron의 output을 증가시키는 방향으로, 음수라면 perceptron의 output을 감소시키는 방향으로 가중치를 업데이트한다.
퍼셉트론의 한계: XOR 문제
퍼셉트론은 AND, OR 연산을 학습할 수 있지만, XOR 연산은 학습할 수 없다. XOR 연산은 두 입력 값이 다를 때만 1을 출력하는 연산이다. 퍼셉트론은 선형 분류기이기 때문에 XOR 연산과 같이 비선형적인 문제를 해결할 수 없다.
perceptron |
마빈 민스키가 지적했던 XOR 문제로 인하여 인공지능의 겨울을 맞았으나, 이후 여러 직선을 그리는 다층 신경망이 등장하며 해결되었다. 다층 신경망은 입력층과 출력층 사이에 하나 이상의 은닉층을 가지는 신경망이다. 은닉층은 입력층과 출력층 사이에서 데이터를 처리하는 역할을 한다.
마치며
이번 포스팅에서는 인공 신경망의 기본 개념과 퍼셉트론에 대해 알아보았다. 퍼셉트론은 인공 신경망의 기본 구성 요소이지만, XOR 문제와 같이 비선형적인 문제를 해결할 수 없다는 한계가 있다. 다음 시간에는 이 문제를 해결하기 위해 고안된 다층 신경망과 역전파 알고리즘에 대해 더 깊이있게 알아보고자 한다.
추천글:
[인공지능개론] Error based learning - linear regression, error function, SSE, least squares optimization
(https://hyeondev.blogspot.com/2024/11/error-based-learning-linear-regression.html)
[선형대수학] 최소자승법(Linear square problem)
(https://hyeondev.blogspot.com/2024/05/linear-square-problem.html)