ksundev 님의 블로그

[NN]뉴럴 네트워크 핵심 개념🔥 본문

[AI] 인공지능/2. NN (뉴럴네트워크) 🔥

[NN]뉴럴 네트워크 핵심 개념🔥

ksundev 2025. 7. 10. 17:47

배경

AI가 등장하게 된 것은 사람의 뉴런에서 영감을 받았다. 뉴런은 역치(임계점) 이상의 자극이 들어오지 않으면 신호를 전달하지 않고, 역치 이상의 자극이 들어오면 신호를 전달한다. (쉬운 예시로 잘 때 큰 소리가 아니면 깨지 않는 것을 생각해보자)

수많은 뉴런들이 이러한 방식으로 디지털(0과 1) 정보를 전달하고 이것이 우리가 생각을 할 수 있게 한다.

1. 중요한 자극만 전달?

우리가 어떤 판단을 내릴 때 그것에 중요한 영향을 주는 요소가 있고 아닌 것들이 있다. 그 과정에서 각 요소마다 가중치(W1, W2, …)가 부여되는데 이 가중치의 계수를 결정하는 것이 딥러닝의 학습이라고 보면 된다. (물론 조금 이따 다룰 편향 bias도 있다.)

2. 활성화 함수란?

실제 우리 뇌에서도 그러하듯, 각 뉴런(노드)들이 다음 단계로 넘어가기 전 이것을 전달할지 말지 결정하는 순간들이 있다. 실제 뇌에서는 전달하거나 안하거나 둘 중 하나지만 딥러닝에서는 보통 비선형 함수의 결과값을 전달한다. 예를들어 시그모이드라는 활성화 함수를 거쳐서 0~1 사이의 값으로 전달한다.

그리고 최종적으로 답을 도출하기 위해서도 활성화 함수를 사용하는데, 이 경우 목적에 따라 어떤 함수를 쓸지가 결정된다. 예를들어 이진 분류의 경우에는 시그모이드, 다중 분류에서는 소프트맥스, 회귀 문제에서는 선형 함수(또는 활성화 함수 없음) 등이 있다.

여기서 핵심은 중간층(은닉층)에서는 활성화함수로 비선형 함수를 써야하는데, 그 이유는 다음 단계에서 알아보자.

3. 비선형 함수의 중요성과 역전파

우리의 목표는 실제 값과 우리의 모델 예측값의 차이인 오차를 최소화하는 것이다. 그렇게 하기 위해선 오차를 함수로 나타낸 오차함수(비용함수)의 값이 최소화되어야 하는데, 이 과정에서 미분이 쓰인다.

(고등학교 수학에서 함수의 최솟값을 구할 때 도함수가 0이 되는 지점을 찾은 것을 떠올려보자.)

비선형 함수가 필요한 두 가지 이유:

1) 복잡한 문제 해결을 위해 만약 선형 함수만 사용하면 아무리 깊은 네트워크라도 결국 하나의 선형 함수가 되어버린다. 이는 XOR 문제처럼 직선으로 분리할 수 없는 복잡한 패턴을 학습할 수 없다는 뜻이다.

오늘 예시로 다룰 Moon Data(초승달 2개)도 선형만 모델만으로는 오류가 꽤 생긴다

2) 경사하강법을 위해 오차함수를 최소화하기 위해 경사하강법을 사용하는데, 이때 그래디언트(다차원에서의 기울기)를 계산하기 위해 미분이 필요하다. 활성화 함수가 미분 가능해야 역전파 알고리즘을 통해 각 가중치를 적절히 업데이트할 수 있다.

딥러닝은 비선형!

→ 딥러닝은 깊은 층과 여러 노드들을 기반으로 한 비선형 모델이다. 쉽게 얘기해서 되게 복잡한 함수도 그릴 수 있어서 어려운 문제도 풀 수 있다!

4. 경사하강법의 핵심 원리

경사하강법은 오차함수의 최솟값을 찾는 방법이다. 현재 위치에서 가장 가파르게 감소하는 방향(그래디언트의 반대 방향)으로 조금씩 이동하면서 최솟값에 도달한다.

이때 학습률이라는 하이퍼파라미터로 얼마나 큰 보폭으로 이동할지를 결정하는데, 너무 크면 최솟값을 지나쳐 버리고, 너무 작으면 학습이 너무 느려진다.

 

Local Minimum?

보통 우리가 풀어야 하는 오차함수는 매우 복잡한 형태의 함수로 생각하면 되는데, 학습률이 너무 작은 경우
Local Minimum에 빠질 위험이 있다. 그래서 작지도 크지도 않은 적절한 학습률이 중요하다. (하지만 미리 알기는 무척 힘들다)

 

5. 정리

결국 딥러닝의 핵심은 실수를 통해 배우는 것이다. 예측이 틀렸을 때 발생하는 오차를 바탕으로, 그 오차를 줄이는 방향으로 가중치들을 조정해나가는 과정이 바로 학습이다. 이 모든 과정에서 비선형 활성화 함수와 미분 가능성이 핵심 역할을 한다.