독서(Reading)/인공지능을 위한 수학
인공지능을 위한 수학 - 7. 이미지 처리
Chann._.y
2025. 6. 22. 22:04
728x90
7-1 딥러닝으로 손글씨 인식하기
- DNN (Deep Neural Network): 여러 개의 은닉층을 가진 신경망으로, 복잡한 패턴을 인식하거나 예측하는 데 사용된다.
- 신경망 (Neural Network): 인간 뇌의 뉴런 구조에서 영감을 받은 알고리즘 구조로, 데이터를 입력받아 가공하고 출력한다.
- ILSVRC (ImageNet Large Scale Visual Recognition Challenge): 이미지 인식 성능을 겨루는 대회로, 딥러닝 기술이 급속도로 발전하는 계기가 되었다.
- SVM (Support Vector Machine): 데이터를 분류하는 데 사용하는 머신러닝 기법으로, 딥러닝 이전에 많이 쓰였다.
7-2 데이터 세트 'MNIST'
- 정규화 과정: 입력값의 범위를 0~1로 조정해 학습을 빠르고 안정적으로 만든다.
- 정답 레이블 (Label): 입력 데이터에 대한 정답, 예를 들어 손글씨 숫자 ‘3’이면 정답 레이블은 ‘3’이다.
- 지도 학습 (Supervised Learning): 입력과 정답이 함께 제공되어 학습하는 방식.
- 비지도 학습 (Unsupervised Learning): 정답 없이 입력 데이터만으로 패턴을 찾는 학습 방식.
- 강화학습 (Reinforcement Learning): 보상을 기반으로 의사결정을 학습하는 방식.
7-3 신경망이란? - 기초
- 신경망: 노드와 연결로 구성되어 정보를 전달하고 변형하여 출력하는 구조.
- 심층 신경망 (DNN): 은닉층이 여러 개인 신경망.
- 노드 (Node) 또는 뉴런 (Neuron): 입력을 받아 계산 후 출력하는 기본 단위.
- 입력층: 데이터를 받아들이는 층.
- 은닉층: 입력층과 출력층 사이에서 계산을 수행하는 층.
- 출력층: 최종 결과를 출력하는 층.
- 발화: 뉴런이 특정 조건을 만족하여 출력을 내보내는 현상.
- 가중치: 입력에 곱해지는 값으로, 신경망 학습을 통해 조정된다.
- 바이어스: 출력값을 조정하는 추가 항.
7-4 신경망이란? - 심화
- 활성화 함수 (Activation Function): 노드의 출력 여부를 결정하는 함수.
- 시그모이드 함수: \( \frac{1}{1 + e^{-x}} \) 형태로, 출력값을 0~1 사이로 만든다.
- 로지스틱 회귀: 이진 분류 문제에서 자주 사용되는 기법으로 시그모이드 함수 기반.
- ReLU 함수: 입력이 0보다 작으면 0, 크면 그대로 출력하는 함수. 학습 효율이 높아 DNN에 자주 쓰인다.
- 비선형 함수: 직선이 아닌 형태의 함수로, 신경망이 복잡한 패턴을 학습할 수 있게 해준다.
7-5 심층 신경망이란?
기존 머신러닝의 한계
- 기울기 소실: 역전파 과정에서 값이 점점 작아져 학습이 제대로 되지 않는 현상.
- 데이터양 부족: 충분한 데이터를 확보하지 못하면 학습이 부정확해진다.
- 낮은 컴퓨터 성능: 연산량이 많은 DNN을 처리하기 어려웠다.
문제 해결 방법
- 드롭아웃 (Dropout): 일부 노드를 임시로 제거해 과적합을 방지.
- ReLU 함수: 기울기 소실 문제를 줄이고 빠르게 학습할 수 있도록 도와준다.
7-6 순전파
- 순전파 (Forward Propagation): 입력부터 출력까지 데이터를 전달하며 계산하는 과정.
- Softmax 함수: 여러 클래스 중 하나를 선택하는 문제에서 확률처럼 출력값을 조정하는 함수.
- 입력값, 출력값, 가중치, 바이어스 표기법: 보통 \( x, y, w, b \) 등으로 표기.
- 활성화 함수 표기법: 보통 \( a \) 또는 \( f(x) \)로 나타낸다.
7-7 손실 함수
- 손실 함수: 예측 결과와 실제 정답의 차이를 계산해 학습에 활용.
- 평균제곱오차 (MSE): \( \frac{1}{n} \sum (y - \hat{y})^2 \)
- One-hot: 정답을 0과 1로만 표현하는 방식, 예: [0, 0, 1, 0].
- 교차 엔트로피 (Cross Entropy): 분류 문제에서 자주 쓰이는 손실 함수로, 확률 분포의 차이를 계산.
7-8 경사하강법 사용하기
- 경사하강법 (Gradient Descent): 손실을 줄이기 위해 기울기를 따라 가중치를 조정하는 방식.
- 근사공식: 기울기를 계산해 최적값을 향해 나아감.
- 학습률 (Learning Rate): 한 번에 얼마나 이동할지를 결정하는 값.
- 다변수 함수 (Multivariate Function): 여러 변수에 따라 결과가 달라지는 함수.
- 갱신식: \( w = w - \eta \nabla L \), 학습률 \( \eta \)만큼 손실의 기울기를 빼는 방식.
- 확률적 경사하강법 (SGD): 전체 데이터가 아닌 일부로 계산해 빠르게 학습.
- 배치 사이즈: 한 번에 학습에 사용하는 데이터 수.
- 에포크 (Epoch): 전체 데이터를 한 번 모두 학습한 횟수.
7-9 오차역전파법 사용하기
- 오차역전파법 (Backpropagation): 출력값의 오차를 계산해 가중치를 수정하는 방법.
- 평균제곱오차와 표준 시그모이드 함수는 역전파 계산에서 자주 사용된다.
7-10 완성된 모델 평가하기
- 홀드아웃 (Holdout) 교차 검증법: 데이터를 학습용과 테스트용으로 나누어 성능을 평가하는 방식.
- 정규화: 데이터의 분포를 일정하게 만들어 모델 학습을 도와줌.
- 드롭아웃 (Dropout): 과적합을 방지하기 위한 기술로, 테스트 시에는 모든 노드를 사용.
728x90