딥러닝 비전
규칙기반 방법론과 딥러닝 방법론
- 규칙 기반은 사람이 영상을 보고 규칙을 도출하고 프로그래밍
- 딥러닝은 데이터 기반 학습을 통해 문제 해결
기계학습 기초
기계학습
- 함수를 모델이라 부름
- 학습 : 수집한 데이터로 방정식을 풀어 함수를 알아내는 일
- 학습된 모델로 특정 분사량에 따른 온도를 계산하는 일 -> 예측
- 기계학습 모델을 수식으로 표현
\(y = f(x)\)
기계학습의 네 단계
- 데이터 수집
- 모델의 입력은 특징 벡터, 출력은 참값(또는 레이블)
\(특징벡터 : X = (x_1, x_2,..., x_d)\)
\(데이터셋 : D = {(x^1, y^1), (x^2, y^2), ..., (x^n, y^n)}\)
- 회귀와 분류 문제
- 회귀는 레이블이 연속 값
- 분류는 레이블이 이산 값
- 검출 분할 추적 등의 다양한 문제
- 데이터 수집은 많은 비용 소요 -> 공개데이터
- 모델 선택
- 학습
- 훈련 집합에 있는 샘플을 최소 오류로 맞히는 최적의 가중치 값을 알아내는 작업
- 단순한 경우 방정식을 풀어 해결하는 분석적 방법 사용
- 기계학습은 오류를 조금씩 줄이는 과정을 반복하는 수치적 방법 사용
- 모델이 범하는 오류를 측정하는 손실 함수 필요
- 평균제곱오차(MSE)는 널리 쓰이는 손실함수
- 참값과 오차와의 차이를 제곱해서 평균
\(J(W) = \frac{1}{n} \sum_{i = 1, n}(f(x^1)-y^1)^2\)
- 손실함수가 최소가 되는 점을 알아내는 최적화 알고리즘을 옵티마이저라 부름
- 예측
- 학습을 마친 모델에 새로운 특징 벡터를 입력하고 출력을 구하는 과정
- 예측을 통해 모델의 성능을 측정
- 일반화 능력 중요
- 훈련 집합과 테스트 집합으로 나누고 테스트 집합으로 성능 측정
- 또는 성능에 대한 신뢰를 높이려고 k-fold cross validation 사용
딥러닝 SW
기계학습 라이브러리
- sklearn은 딥러닝 이전의 고전적 기계학습 모델 지원
- 텐서플로, 파이토치는 딥러닝 지원
인공신경망
인공신경망 정리
- 사람 뇌와 컴퓨터
- 사람 뇌는 $10^{11}$개 가량의 뉴런, 뉴런마다1000개 가량 연결 -> 고도의 병렬 처리기
- 폰 노이만 컴퓨터는 아주 빠른 순차 명령어 처리기
- 퍼셉트론
- 원시적인 모델
- 딥러닝 이론의 토대, 핵심 부품
- 구조와 연산
\(o = r(s) = r(\sum_{i = 0, d}u_ix_i)\)
\(r(s) = +1, s > 0 ; r(s) = -1, s < 0\)
- 퍼셉트론은 이진 분류기
- 퍼셉트론은 특징 공간을 두 부분 공간으로 나누는 이진 분류기
- 바이어스의 역할
- 바이어스가 없으면 결정 직선이 항상 원점을 지남 -> 제대로 분류 못함
- 행렬 표기
- 샘플 하나 처리하는 상황
- x는 바이어스를 추가한 (d+1)차원 벡터
\(o = \tau(ux^T)\)
- 훈련 집합 전체를 한꺼번에 처리하는 상황
\(O = \tau(uX^T)\)
- 퍼셉트론은 선형 분리기
April 16, 2024