일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백준
- 디자인패턴
- 인공지능 깃 버전관리
- 활성화 함수
- Dehaze
- 자바 영화 api
- pandas
- 코딩테스트
- 딥러닝 실험 깃 버전관리
- 디자인 패턴
- 통계학
- 의료 ai 대학원 월급
- 자바
- MLP
- 파이썬
- API
- 자바 프로젝트
- 정규화
- 대학원 급여
- 머신러닝
- python
- 영화 api
- 딥러닝
- C# 프로젝트
- 로스트아크
- 인공지능
- 경사하강법
- 파이썬 경사하강법
- 대학원 월급
- DCP
- Today
- Total
대학원 일기
[딥러닝과 신경망] 학습 알고리즘 본문
학습 알고리즘
학습은 모델이 주어진 데이터로부터 학습하고 지식을 습득하여 데이터의 패턴이나 구조를 인식하는 역할을 수행한다. 보통의 딥러닝에서 학습은 각각의 노드에 연결된 가중치를 최적의 값으로 셋팅(업데이트)한다.
학습 알고리즘의 유형은 크게 지도학습(supervised learning), 비지도 학습(unsupervised learning), 강화 학습(reinforcement learning) 등이 있다. 지도 학습에서는 입력 데이터와 해당하는 레이블이 제공되며, 모델은 이 정보를 기반으로 예측 및 분류를 수행한다. 비지도 학습에서는 레이블이 없는 데이터로부터 데이터의 구조와 패턴을 발견하려고 시도한다. 강화 학습에서는 에이전트가 환경과 상호 작용하며 보상을 최대화하는 정책을 학습하려고 시도한다.
지도 학습, 비지도 학습, 강화 학습에 대한 내용은 아래 포스팅에 작성해놓았니 아래 링크에서 공부하길 바란다.
https://kys0411.tistory.com/28
기계 학습(Machine Learning)
※본 포스팅에서는 기계학습을 이해하고, 종류에 대해 간략히 알아보는 것이므로 자세한 알고리즘에 대해서는 나오지 않습니다. 기계학습(Machine Learning)이란? 머신러닝이란 컴퓨터가 학습을 하
kys0411.tistory.com
일반적인 네트워크의 학습 과정은 다음과 같다.
- 각각의 노드에 임의에 가중치를 부여한다.
- 가중치를 이용하여 레이블(Y, 정답)과 예측값(Prediction, 출력값)의 오차(Error)를 계산한다.
- 오차(Error)를 각 가중치로 미분하여 기울기(Gradient)를 구한다.
- 기울기(Gradient)에 작은 상수를 곱하고 이 값을 기존 가중치에서 빼주어 가중치를 업데이트한다.
- [4] → [2]로 돌아가며 최적의 값을 얻을 때까지 반복(순회)한다.
아래는 각각의 학습 과정에 대해 자세히 설명한다.
1. 가중치(weight) 부여(초기화)
주어진 모델의 각 노드에 임의의 초기 가중치를 할당한다. 할당된 가중치는 임의의 값이기 때문에 정답과의 오차가 크다.
2. 오차(error) 계산
주어진 모델을 통해 계산된 예측값(출력값)과 레이블 간의 오차(손실)를 구한다. 손실 함수(loss function)는 모델의 성능을 측정하고 얼마나 잘 예측했는지를 나타낸다. 딥러닝 문제를 해결할 때, 어떠한 손실 함수를 적용하는지 중요하다. 학습 알고리즘은 반복 학습을 통해 오차(손실값)가 최소가 되도록 가중치를 변경하며 업데이트한다.
대표적으로, 분류 문제에서는 크로스 엔트로피(cross entropy)를 사용하고, 회귀 문제는 MSE(mean squared error), MAE(mean ansolute error)를 사용한다.
손실 함수는 다양하게 불려지는데 목점 함수(objective function), 에러 함수(error function) 등으로 모두 의미하는 바는 레이블(정답)과 예측값의 차이를 의미한다.
손실 함수에 대해서는 아래 포스팅에서 자세히 설명한다.
https://kys0411.tistory.com/166
[딥러닝 신경망] 손실 함수
지나가는 학부생 [딥러닝 신경망] 손실 함수 본문
kys0411.tistory.com
3. 기울기(gradient) 계산
기울기 계산에서 기울기는 가중치와 편향값에서의 손실 함수를 편미분한 기울기 또는 변화율을 나타낸다. 기울기는 손실 함수를 최소화하는 방향을 가리키며 모델 파라미터를 업데이트하는데 사용한다.
기울기 계산은 다음과 같은 단계로 이루어진다.
- 편미분 계산: 주어진 손실 함수를 모델의 모든 파리미터(가중치 및 편향값)에 대해 편미분한다. 편미분은 각 파라미터에 대한 손실 함수의 기울기(변화율)를 계산하는데 사용된다.
- 기울기 벡터 생성: 편미분을 통해 각 파라미터에 대한 기울기를 계산하고, 이러한 기울기 값을 모아 기울기 벡터를 생성한다. 이 기울기 벡터는 모델의 모든 파라미터에 대한 기울기 정보를 가진다.
- 기울기 계산 알고리즘: 일반적으로 기울기 계산 알고리즘으로 역전파(backpropagation) 알고리즘을 사용한다. 역전파는 연쇄 법칙(chain rule)을 기반으로 각 레이어에 대해 기울기를 계산한다. 역전파는 모델의 각 파라미터에 대한 기울기를 효율적으로 계산한다. 계산된 기울기는 손실함수를 최소화하기 위한 최적화 알고리즘(경사하강법)과 학습률(learning late)을 함께 사용하여 모델의 파라미터를 업데이트한다.
기울기 계산은 모델 학습의 핵심 부분이며, 모델의 수렴 속도와 성능에 영향을 미친다.
4. 가중치(weight) 업데이트
계산된 기울기를 사용하여 가중치를 업데이트한다. 일반적으로 기울기를 곱한 작은 상수(학습률, Learning Rate)를 빼주어 가중치를 조정한다. 학습률은 얼마나 크게 가중치를 업데이트할지를 조절하는 하이퍼파라미터로, 너무 작으면 학습이 느리게 진행되고, 너무 크면 발산할 수 있다.
'Computer vision > 딥러닝 공부' 카테고리의 다른 글
[딥러닝 신경망] 손실 함수(Loss function) (3) | 2023.10.17 |
---|---|
[딥러닝과 신경망] 최적화(옵티마이저) (0) | 2023.10.17 |
[딥러닝과 신경망] 활성화 함수(Activation function) (0) | 2023.10.17 |
[딥러닝 신경망] 퍼셉트론과 신경망 (1) | 2023.10.16 |