딥러닝 비전


딥러닝 비전

규칙기반 방법론과 딥러닝 방법론

  • 규칙 기반은 사람이 영상을 보고 규칙을 도출하고 프로그래밍
  • 딥러닝은 데이터 기반 학습을 통해 문제 해결
    • 양질의 데이터 필요

기계학습 기초

기계학습

  • 함수를 모델이라 부름
  • 학습 : 수집한 데이터로 방정식을 풀어 함수를 알아내는 일
  • 학습된 모델로 특정 분사량에 따른 온도를 계산하는 일 -> 예측
  • 기계학습 모델을 수식으로 표현 \(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)\)
  • 퍼셉트론은 선형 분리기