일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- til
- 백준
- 개발자 취업
- leetcode
- 활성화 함수
- 딥러닝
- 코딩테스트 준비
- softeer
- 혁펜하임
- 해시
- 큐
- BFS
- 코딩테스트준비
- 99클럽
- 기능개발
- dfs
- 99항해
- Python
- 파이썬
- 백준 2309
- 개발자취업
- 항해99
- 스택
- boj 2309
- 알고리즘
- BOJ
- python 2309
- easy 딥러닝
- 구현
- 프로그래머스
- Today
- Total
동까의 코딩
Easy! 딥러닝 chapter 2-1 본문
인공 신경망 및 경사 하강법의 이해
인공 신경망(Artificial Neural Network, ANN)은 인간 뇌의 신경망 구조에서 영감을 받아 만들어진 모델로, 수많은 인공 뉴런(노드)이 엣지(연결선)를 통해 서로 연결되어 정보를 처리합니다. 이 글에서는 인공 신경망의 기본 구조와 작동 원리, 그리고 최적화를 위한 경사 하강법에 대해 설명합니다.
1. 인공 신경망의 기본 구성
인공 뉴런 (Artificial Neuron)
노드(Node):
인공 뉴런은 원(circle)으로 표현되며, 각 노드는 입력 신호를 받아 처리합니다.엣지(Edge):
노드들을 연결하는 선(line)으로, 신경망 내에서 신호가 전달되는 경로를 나타냅니다.
인공 뉴런의 작동 과정
입력 수신:
여러 입력 노드로부터 신호(자극)를 받습니다.가중합 계산:
각 입력에 대해 웨이트(Weight)를 곱하고, 이를 모두 더해 가중합을 구합니다.- 웨이트(Weight): 각 입력의 중요도를 결정하는 파라미터입니다.
바이어스(Bias) 추가:
계산된 가중합에 바이어스를 더하여, 뉴런이 너무 민감하게 반응하지 않도록 조절합니다.활성화 함수(Activation Function) 적용:
최종 합산값을 활성화 함수에 통과시켜, 다음 층으로 전달할 출력값을 결정합니다.- 활성화 함수: 입력 신호를 처리하여 출력값을 결정하는 함수로, 대표적으로 sigmoid, ReLU, tanh 등이 있습니다.
2. 인공 신경망의 구조
인공 신경망은 여러 층으로 구성되며, 대표적으로 다층 퍼셉트론(Multi-Layer Perceptron, MLP) 형태를 취합니다.
입력 레이어(Input Layer):
외부 데이터를 입력받는 층.은닉 레이어(Hidden Layer):
입력 데이터를 처리하여 특징을 추출하는 중간 단계. 은닉 레이어가 많을수록 신경망은 "깊어집니다."출력 레이어(Output Layer):
최종 결과를 출력하는 층.
Fully-Connected (FC) 레이어:
각 레이어의 모든 노드가 다음 레이어의 모든 노드와 연결되어 있는 형태를 의미합니다. MLP는 하나 이상의 은닉 레이어를 가지며, 일반적으로 모든 레이어가 FC 구조로 이루어집니다.
3. 학습 및 최적화
인공 신경망의 목표는 입력 데이터와 원하는 출력 사이의 관계를 학습하여 최적의 함수를 찾는 것입니다. 이 과정에서 손실 함수(Loss Function)와 경사 하강법(Gradient Descent)이 핵심적인 역할을 합니다.
선형 회귀와 손실 함수
선형 회귀(Linear Regression):
입력과 출력 간의 선형 관계를 모델링하는 기법으로, 머신러닝의 기본이 되는 방법입니다.손실 함수(Loss Function):
모델의 예측값과 실제 값 사이의 차이를 수치화하여, 파라미터의 성능을 평가하는 함수입니다.- 손실 값이 작을수록 모델의 성능이 좋음을 의미합니다.
경사 하강법 (Gradient Descent)
경사 하강법은 손실 함수를 최소화하기 위해 파라미터를 업데이트하는 최적화 알고리즘입니다.
파라미터 초기화:
가중치와 바이어스와 같은 파라미터를 임의의 값으로 설정합니다.그래디언트 계산:
현재 파라미터에서 손실 함수의 기울기(gradient)를 계산합니다.- 그래디언트(Gradient):
함수 값이 가장 빠르게 증가하는 방향을 나타내며, 이를 반대 방향으로 이동함으로써 최소값을 찾아갑니다.
- 그래디언트(Gradient):
파라미터 업데이트:
그래디언트의 반대 방향으로 파라미터를 조정합니다.- 학습률(Learning Rate):
업데이트할 때 이동하는 보폭을 결정하는 하이퍼파라미터입니다.- 값이 너무 작으면 학습 속도가 느리고, 너무 크면 최소점을 지나쳐 발산할 위험이 있습니다.
- 일반적으로 0.1, 0.01, 0.001 등의 값이 사용됩니다.
- 학습률(Learning Rate):
반복:
새로운 파라미터에서 2~3 단계를 반복하며, 손실 함수의 값이 충분히 낮아지거나 더 이상 변화가 없을 때까지 학습합니다.
경사 하강법의 한계
속도:
파라미터 업데이트마다 계산이 필요하여, 특히 파라미터의 수가 많거나 값이 클 경우 학습 속도가 느려질 수 있습니다.로컬 최소점(Local Minimum):
전체 최적점이 아닌 국소 최적점에 머무를 가능성이 있습니다.
4. 결론
인공 신경망은 인간 뇌의 신경망 구조를 모방하여 여러 인공 뉴런이 연결된 형태로 정보를 처리합니다.
각 뉴런은 입력 신호에 웨이트와 바이어스를 적용한 후 활성화 함수를 거쳐 다음 층으로 전달되며, 이 과정을 통해 복잡한 함수를 근사합니다.
모델 학습 시 손실 함수를 최소화하기 위해 경사 하강법을 사용하며, 학습률 조절과 같은 최적화 기법들이 모델의 성능에 큰 영향을 미칩니다.
이와 같은 기본 개념들을 이해하는 것은 딥러닝 모델 개발 및 최적화에 있어 매우 중요합니다.
'ML, DL' 카테고리의 다른 글
Easy! 딥러닝 chapter 3 (0) | 2024.12.27 |
---|---|
Easy! 딥러닝 chapter 2-2 (0) | 2024.12.26 |
Easy! 딥러닝 chapter 1 (1) | 2024.12.11 |