인공신경망이란? 시그모이드·ReLU·Softmax·가중치 계산·경사하강법 쉽게 이해하기
1장 인공신경망이란 무엇인가#
인공신경망 Artificial Neural Network은 여러 개의 노드가 연결된 구조를 이용해 데이터의 패턴을 학습하는 모델입니다.
사람의 뇌에 있는 신경세포가 서로 연결되어 신호를 전달하는 모습에서 아이디어를 얻었기 때문에 신경망 Neural Network이라는 이름을 사용합니다.
기본적인 구조는 다음과 같습니다.
입력층 Input Layer
↓
은닉층 Hidden Layer
↓
출력층 Output Layer
입력층에서는 데이터를 받아들이고, 은닉층에서는 여러 계산과 변환을 수행하며, 출력층에서는 최종 결과를 만들어냅니다.
2장 신경망을 가장 쉽게 이해하면#
예를 들어 어떤 사람이 대출을 갚을지 예측한다고 하겠습니다.
입력값으로:
- 나이
- 소득
- 부채
- 신용점수
등을 사용할 수 있습니다.
신경망은 이 입력값들을 여러 노드에서 조합하고 변환하면서 최종적으로:
상환할 확률
을 계산할 수 있습니다.
즉 신경망은 여러 입력값을 연결하고 가중치를 조정하면서 복잡한 패턴을 학습하는 모델이라고 이해하면 됩니다.
3장 입력층·은닉층·출력층#
입력층 Input Layer#
분석에 사용할 원래 데이터가 들어오는 부분입니다.
예:
- 나이
- 소득
- 구매횟수
은닉층 Hidden Layer
입력값을 조합하고 변환하면서 패턴을 학습하는 부분입니다.
출력층 Output Layer#
최종 예측 결과를 제공합니다.
예:
- 구매 O/X
- 정상/이상
- 고양이/개/새
입니다.
4장 신경망에서 가중치 Weight란 무엇인가#
신경망에서는 한 노드에서 다음 노드로 값이 전달될 때 가중치 Weight가 곱해집니다.
가중치는 각 입력이 결과에 어느 정도 영향을 미치는지를 나타내는 값으로 이해할 수 있습니다.
예를 들어:
소득 → 가중치 0.7
나이 → 가중치 0.2
처럼 각 연결에 서로 다른 가중치가 적용될 수 있습니다.
신경망 학습의 핵심은 이런 가중치를 계속 조정하면서 예측오차를 줄이는 것입니다.
5장 활성화함수 Activation Function란 무엇인가#
신경망의 노드는 입력값에 가중치를 곱하고 합산한 뒤 활성화함수를 적용합니다.
활성화함수는 입력된 값을 특정 형태로 변환해 다음 층으로 전달합니다.
제공된 ADsP 학습자료에서는 특히 다음 세 가지를 중요하게 다룹니다.
- Sigmoid
- ReLU
- Softmax
시험에서는 각각 어떤 상황에서 사용하는지를 구분해야 합니다.
6장 활성화함수 3가지 한눈에 보기#
| 함수 | 특징 | 주요 용도 |
|---|---|---|
| Sigmoid | 출력을 0~1로 변환 | 이진 분류 |
| ReLU | 음수는 0, 양수는 그대로 | 은닉층 |
| Softmax | 여러 클래스의 확률 제공 | 다범주 분류 |
가장 쉽게 기억하면:
Sigmoid = 둘 중 하나
Softmax = 여러 개 중 하나
ReLU = 은닉층
입니다.
7장 시그모이드 Sigmoid 함수란 무엇인가#
시그모이드 함수는 어떤 실수값이 입력되어도 출력을 0과 1 사이로 변환합니다.
제공된 학습자료에서는 출력 범위를 다음과 같이 정리합니다.
0 < y < 1
즉 결과를 확률처럼 해석하기 좋습니다.
그래서 시그모이드는 이진 분류와 연결됩니다.
8장 시그모이드가 이진 분류에 적합한 이유#
이진 분류에서는 결과가 두 종류입니다.
예:
- 구매 / 미구매
- 합격 / 불합격
- 정상 / 이상
- 0 / 1
시그모이드가 다음과 같은 결과를 만들었다고 하겠습니다.
0.87
이를:
클래스 1일 확률이 높다.
라고 해석할 수 있습니다.
반대로:
0.12
라면 클래스 0 쪽으로 분류할 가능성이 높다고 볼 수 있습니다.
핵심#
Sigmoid = 0~1 확률 = 이진 분류
입니다.
9장 시그모이드 출력 범위 시험 함정#
다음 문장은 틀립니다.
시그모이드 함수는 출력을 -1과 1 사이로 변환한다.
제공된 학습자료에서는:
0과 1 사이
라고 정리합니다.
따라서 시험에서는:
Sigmoid → 0 < y < 1
을 기억합니다.
10장 Softmax란 무엇인가#
Softmax는 여러 개의 클래스 가운데 어느 클래스에 속할 가능성이 높은지를 확률 형태로 표현하는 함수입니다.
시그모이드가 두 범주를 구분하는 데 주로 사용된다면 Softmax는 다범주 분류 Multi-class Classification에서 사용합니다.
예를 들어 사진을 다음 세 가지로 분류한다고 하겠습니다.
- 고양이
- 개
- 새
Softmax 출력이:
고양이 → 0.70
개 → 0.20
새 → 0.10
처럼 나올 수 있습니다.
11장 Softmax의 확률은 어떻게 해석할까#
Softmax 출력은 각 클래스에 대한 확률 형태로 해석할 수 있습니다.
앞의 사례에서:
고양이 0.70
개 0.20
새 0.10
이라면 가장 높은 값을 가진 고양이로 최종 분류할 수 있습니다.
즉 Softmax는:
여러 후보 가운데 어느 클래스일 가능성이 가장 높은가?
를 판단하는 데 사용됩니다.
핵심#
Softmax = 다범주 확률
입니다.
12장 Sigmoid와 Softmax 차이#
시험에서 매우 중요한 비교입니다.
Sigmoid#
→ 이진 분류
→ 0~1 출력
Softmax#
→ 다범주 분류
→ 여러 클래스 확률
따라서:
2개 → Sigmoid
여러 개 → Softmax
라고 기억하면 쉽습니다.
13장 Sigmoid 대표 함정#
다음 문장을 주의합니다.
Sigmoid 함수는 다범주 분류에서 주로 사용한다.
틀립니다.
제공된 학습자료에서는:
Sigmoid = 이진 분류
Softmax = 다범주 분류
로 구분합니다.
14장 ReLU란 무엇인가#
ReLU는 Rectified Linear Unit입니다.
제공된 학습자료에서는 매우 간단하게 다음처럼 설명합니다.
- 입력이 음수이면 0
- 입력이 양수이면 그대로 출력
즉:
음수 → 0
양수 → 원래 값
입니다.
ReLU는 신경망의 은닉층 Hidden Layer에서 많이 사용됩니다.
15장 ReLU를 숫자로 이해하면#
입력이:
-3
이라면:
출력 → 0
입력이:
5
라면:
출력 → 5
입니다.
즉 음수 영역은 잘라내고 양수 영역은 그대로 전달합니다.
핵심#
ReLU = 음수 0 / 양수 그대로
입니다.
16장 ReLU는 어디에 사용하는가#
제공된 학습자료에서는 ReLU의 대표적인 용도를:
은닉층
으로 제시합니다.
따라서 시험에서 활성화함수와 용도를 연결하면:
Sigmoid → 이진 분류
Softmax → 다범주 분류
ReLU → 은닉층
입니다.
17장 활성화함수 시험 직전 비교#
| 함수 | 출력 특징 | 시험 핵심 |
|---|---|---|
| Sigmoid | 0~1 | 이진 분류 |
| Softmax | 다범주 확률 | 다범주 분류 |
| ReLU | 음수 0, 양수 그대로 | 은닉층 |
한 줄로:
시그모이드는 둘, 소프트맥스는 여러 개, 렐루는 안쪽
이라고 기억할 수 있습니다.
18장 완전연결 Fully Connected 신경망이란 무엇인가#
완전연결 신경망에서는 한 층의 각 노드가 다음 층의 모든 노드와 연결됩니다.
예를 들어 입력층에 3개의 노드가 있고 은닉층에 4개의 노드가 있다면:
입력 노드 각각이 은닉층의 4개 노드 모두와 연결됩니다.
따라서 연결 개수는:
3 × 4 = 12
개입니다.
이 연결마다 하나의 가중치가 존재합니다.
19장 가중치 수 계산의 핵심 공식#
제공된 학습자료에서는 완전연결 신경망의 가중치 수를 다음과 같이 계산합니다.
인접한 두 층의 노드 수를 곱한 값의 합
입니다.
예를 들어:
입력층 20
↓
은닉층 50
↓
출력층 3
이라면 각 구간의 연결 수를 따로 계산합니다.
20장 입력층에서 은닉층까지 가중치 수#
입력층:
20개 노드
은닉층:
50개 노드
모든 입력 노드가 모든 은닉노드와 연결되므로:
20 × 50 = 1000
개의 가중치가 필요합니다.
21장 은닉층에서 출력층까지 가중치 수#
은닉층:
50개
출력층:
3개
따라서:
50 × 3 = 150
개의 가중치가 필요합니다.
22장 전체 가중치 수 계산#
두 구간을 더합니다.
입력 → 은닉:
1000
은닉 → 출력:
150
따라서 전체 가중치 수는:
1000 + 150 = 1150
입니다.
핵심#
20 → 50 → 3
이라면:
20×50 + 50×3 = 1150
입니다.
23장 가중치 계산을 일반화하면#
층이 다음처럼 있다고 하겠습니다.
A개
↓
B개
↓
C개
그러면 연결 가중치는:
A×B + B×C
입니다.
층이 하나 더 있으면:
A
↓
B
↓
C
↓
D
일 때:
A×B + B×C + C×D
처럼 계산합니다.
즉 서로 인접한 층끼리 곱하고 모두 더하면 됩니다.
24장 가중치 계산에서 자주 하는 실수#
다음처럼 계산하면 안 됩니다.
20 × 50 × 3
전체 층의 노드 수를 모두 곱하는 것이 아닙니다.
정확한 방식은:
20×50 + 50×3
입니다.
왜냐하면 가중치는 서로 연결된 인접한 두 층 사이에 존재하기 때문입니다.
25장 신경망은 어떻게 학습하는가#
신경망을 처음 만들면 가중치가 최적 상태가 아닙니다.
따라서 예측 결과와 실제 정답 사이에 오차가 발생합니다.
학습에서는 이 오차를 나타내는 손실함수 Loss Function를 줄이는 방향으로 가중치를 수정합니다.
이때 대표적으로 사용하는 방법이 경사하강법 Gradient Descent입니다.
26장 경사하강법 Gradient Descent란 무엇인가#
제공된 학습자료에서는 경사하강법을 다음과 같이 정의합니다.
손실함수를 최소화하기 위해 기울기의 반대 방향으로 파라미터를 업데이트하는 방법
입니다.
쉽게 말하면:
오차가 가장 빠르게 줄어드는 방향을 찾아 조금씩 이동한다.
라고 이해할 수 있습니다.
27장 경사하강법을 산 내려가기 비유로 이해하기#
어두운 산 위에 서 있다고 생각해봅시다.
목표는 가장 낮은 계곡으로 내려가는 것입니다.
주변 지형의 기울기를 확인하고 가장 내려가는 방향으로 조금 이동합니다.
다시 기울기를 확인하고 내려갑니다.
이 과정을 반복하면 낮은 지점으로 이동할 수 있습니다.
신경망에서는:
산의 높이
→ 손실 Loss
현재 위치
→ 현재 파라미터
내려가는 과정
→ 파라미터 업데이트
라고 생각할 수 있습니다.
28장 왜 기울기의 반대 방향으로 이동하는가#
기울기 Gradient는 값이 증가하는 방향을 알려줍니다.
하지만 우리의 목표는 손실함수를 증가시키는 것이 아니라 감소시키는 것입니다.
그래서 기울기가 가리키는 방향과 반대로 이동합니다.
핵심#
Gradient 방향 → 증가
Gradient 반대 방향 → 감소
따라서 경사하강법에서는 기울기의 반대 방향으로 파라미터를 수정합니다.
29장 학습률 Learning Rate란 무엇인가#
경사하강법에서는 한 번에 얼마나 크게 이동할지 결정해야 합니다.
이 이동 크기를 결정하는 값이 학습률 Learning Rate입니다.
쉽게 말하면:
한 번 업데이트할 때 얼마만큼 움직일 것인가?
를 결정하는 값입니다.
30장 학습률이 너무 크면 어떻게 되는가#
제공된 학습자료에서는:
학습률이 너무 크면 발산
한다고 설명합니다.
목표 지점으로 조금씩 접근해야 하는데 한 번에 너무 크게 움직이면 최솟값을 지나쳐 반대편으로 넘어갈 수 있습니다.
이를 반복하면 목표에 수렴하지 못하고 오히려 점점 멀어질 수 있습니다.
핵심#
Learning Rate 너무 큼 → 발산 위험
입니다.
31장 학습률을 계곡 비유로 이해하기#
계곡 아래로 내려가야 한다고 생각해봅시다.
적당한 보폭#
조금씩 아래로 내려갑니다.
지나치게 큰 보폭#
계곡의 반대편으로 뛰어넘습니다.
다음에는 다시 반대편으로 뛰어넘습니다.
계속 오가면서 최저점에 도달하지 못할 수 있습니다.
이것이 학습률이 지나치게 큰 경우를 이해하는 쉬운 방법입니다.
32장 신경망 학습의 전체 흐름#
신경망 학습을 단순화하면 다음과 같습니다.
입력 데이터
↓
가중치 적용
↓
활성화함수
↓
예측값
↓
실제값과 비교
↓
손실 계산
↓
경사하강법으로 가중치 수정
↓
반복
입니다.
이 과정을 반복하면서 예측오차를 줄여갑니다.
33장 활성화함수와 학습은 서로 다른 역할을 한다#
시험에서 개념을 섞지 않는 것이 중요합니다.
활성화함수#
노드의 출력을 변환합니다.
예:
- Sigmoid
- ReLU
- Softmax
경사하강법#
가중치를 어떻게 수정할지 결정하는 최적화 방법입니다.
즉:
활성화함수 = 출력 변환
경사하강법 = 학습 방향
입니다.
34장 이진 분류 신경망 사례#
고객 이탈 여부를 예측한다고 하겠습니다.
입력값:
- 최근 접속일
- 이용횟수
- 결제금액
출력:
이탈 0/1
이진 분류이므로 제공된 학습자료 기준으로 출력층에서 Sigmoid를 사용할 수 있습니다.
결과:
0.91
이라면 이탈 가능성이 높은 쪽으로 해석할 수 있습니다.
35장 다범주 분류 신경망 사례#
손글씨 숫자를 분류한다고 하겠습니다.
출력 범주는:
0
1
2
...
9
까지 총 10개입니다.
이처럼 여러 클래스 가운데 하나를 선택하는 문제는 다범주 분류입니다.
제공된 학습자료 기준으로 이런 경우 Softmax와 연결합니다.
36장 은닉층에서는 어떤 함수를 사용할까#
제공된 학습자료에서는 ReLU를 은닉층과 연결합니다.
따라서 기본적인 시험 문제에서는:
입력층
↓
은닉층 → ReLU
↓
이진 출력층 → Sigmoid
또는
다범주 출력층 → Softmax
처럼 연결해서 이해할 수 있습니다.
37장 ADsP 시험에서 자주 헷갈리는 함정#
함정 1. Sigmoid는 다범주 분류에 주로 사용한다#
틀립니다.
제공된 학습자료에서는 이진 분류와 연결합니다.
함정 2. Softmax는 이진 분류에만 사용한다#
틀립니다.
다범주 분류와 연결합니다.
함정 3. ReLU는 음수를 그대로 출력한다#
틀립니다.
음수는 0으로 만듭니다.
함정 4. ReLU는 양수도 모두 1로 변환한다#
틀립니다.
양수는 그대로 출력합니다.
함정 5. Sigmoid 출력 범위는 -1에서 +1이다#
틀립니다.
0과 1 사이입니다.
함정 6. 20→50→3 구조의 가중치 수는 20×50×3이다#
틀립니다.
인접한 층끼리 계산하여 더합니다.
20×50 + 50×3 = 1150
입니다.
함정 7. 경사하강법은 손실함수를 최대화한다#
틀립니다.
최소화합니다.
함정 8. 경사하강법은 기울기 방향으로 이동한다#
제공된 학습자료 기준으로 틀립니다.
손실을 줄이기 위해 기울기의 반대 방향으로 이동합니다.
함정 9. 학습률은 클수록 항상 좋다#
틀립니다.
지나치게 크면 발산할 수 있습니다.
38장 활성화함수 시험 직전 암기#
Sigmoid#
→ 0~1
→ 이진 분류
Softmax#
→ 여러 클래스 확률
→ 다범주 분류
ReLU#
→ 음수 0
→ 양수 그대로
→ 은닉층
암기:
시그모이드 둘
소프트맥스 여러 개
렐루 은닉층
입니다.
39장 가중치 수 시험 직전 암기#
완전연결 신경망에서는:
인접 층 노드 수 곱하기
↓
모든 구간 더하기
입니다.
예:
20 → 50 → 3
20×50 + 50×3
= 1000 + 150
= 1150
입니다.
한 줄로:
옆 층끼리 곱해서 모두 더한다
고 기억하면 됩니다.
40장 경사하강법 시험 직전 암기#
Gradient Descent
→ 손실함수 최소화
→ 기울기 반대 방향
→ 파라미터 업데이트
Learning Rate#
→ 한 번에 이동할 크기
→ 너무 크면 발산
한 줄로:
경사는 반대로 내려가고, 보폭이 너무 크면 튕겨나간다
입니다.
41장 인공신경망 핵심 비교표#
| 개념 | 핵심 |
|---|---|
| Input Layer | 입력 데이터 |
| Hidden Layer | 패턴 학습 |
| Output Layer | 최종 예측 |
| Weight | 연결의 영향력 |
| Sigmoid | 0~1, 이진 분류 |
| ReLU | 음수 0, 양수 그대로, 은닉층 |
| Softmax | 다범주 확률 |
| Fully Connected | 인접 층의 모든 노드 연결 |
| Gradient Descent | 손실 최소화 |
| Learning Rate | 파라미터 이동 크기 |
인공신경망 FAQ#
인공신경망이란 무엇인가#
여러 층의 노드와 가중치를 이용해 데이터의 패턴을 학습하는 모델입니다.
신경망의 기본 층은 무엇인가#
입력층, 은닉층, 출력층입니다.
가중치란 무엇인가#
노드 사이 연결에서 입력값이 다음 노드에 미치는 영향의 크기를 나타내는 값입니다.
Sigmoid 함수의 출력 범위는 무엇인가#
0과 1 사이입니다.
Sigmoid는 어떤 문제에 사용하는가#
제공된 학습자료에서는 이진 분류와 연결합니다.
Softmax는 어떤 문제에 사용하는가#
다범주 분류와 연결합니다.
ReLU는 어떻게 동작하는가#
음수 입력은 0으로 만들고 양수 입력은 그대로 출력합니다.
ReLU는 어디에서 주로 사용하는가#
제공된 학습자료에서는 은닉층과 연결합니다.
완전연결 신경망의 가중치 수는 어떻게 계산하는가#
인접한 두 층의 노드 수를 곱한 뒤 각 구간의 값을 모두 더합니다.
20→50→3 구조의 가중치 수는 얼마인가#
20×50 + 50×3 = 1150입니다.
경사하강법이란 무엇인가#
손실함수를 최소화하기 위해 기울기의 반대 방향으로 파라미터를 수정하는 방법입니다.
학습률이란 무엇인가#
한 번의 파라미터 업데이트에서 얼마나 크게 이동할지를 결정하는 값입니다.
학습률이 너무 크면 어떻게 되는가#
제공된 학습자료에서는 발산할 수 있다고 설명합니다.
자기 점검#
다음 질문에 바로 답할 수 있는지 확인해봅니다.
- 신경망의 입력층·은닉층·출력층을 구분할 수 있는가?
- 가중치가 무엇을 의미하는지 설명할 수 있는가?
- Sigmoid의 출력 범위를 알고 있는가?
- Sigmoid와 이진 분류를 연결할 수 있는가?
- Softmax와 다범주 분류를 연결할 수 있는가?
- ReLU에서 음수가 어떻게 처리되는지 알고 있는가?
- ReLU에서 양수가 어떻게 처리되는지 알고 있는가?
- ReLU가 은닉층과 연결된다는 것을 기억하고 있는가?
- 완전연결 신경망의 가중치 수 계산법을 설명할 수 있는가?
- 20→50→3 구조에서 1150을 계산할 수 있는가?
- 경사하강법의 목적을 알고 있는가?
- 기울기의 반대 방향으로 이동한다는 것을 알고 있는가?
- 학습률의 의미를 설명할 수 있는가?
- 학습률이 너무 크면 발산할 수 있다는 것을 알고 있는가?
이 글을 마치며#
인공신경망에서 가장 먼저 구분해야 하는 것은 활성화함수의 역할입니다.
제공된 학습자료 기준으로:
Sigmoid
→ 출력을 0~1 사이로 변환
→ 이진 분류
Softmax
→ 여러 클래스에 대한 확률 제공
→ 다범주 분류
ReLU
→ 음수는 0
→ 양수는 그대로
→ 은닉층
으로 기억합니다.
완전연결 신경망의 가중치 수는:
인접한 층의 노드 수를 곱하고 모두 더해서 계산
합니다.
따라서:
20 → 50 → 3
구조에서는:
20×50 + 50×3 = 1150
입니다.
신경망 학습에서는 손실을 줄이기 위해 경사하강법을 사용할 수 있습니다.
핵심은:
손실함수를 최소화하기 위해 기울기의 반대 방향으로 이동
한다는 것입니다.
그리고 이동 크기를 결정하는 학습률 Learning Rate가 지나치게 크면 발산할 수 있습니다.
시험 직전에는 다음 네 줄로 압축해서 기억하면 됩니다.
Sigmoid = 0~1 = 이진 분류
Softmax = 다범주 분류 / ReLU = 은닉층
가중치 수 = 인접 층끼리 곱해서 더하기
Gradient Descent = 기울기 반대로 이동 / 학습률 너무 크면 발산