ML/[강의] 딥러닝 CNN

딥러닝 기반 이해 - 딥러닝 개요와 경사 하강법

spring_sunshine 2022. 9. 27. 15:59

머신러닝

지능화된 서비스 구현의 필요, 종잡을 수 없는 패턴에 따른 앱 구현의 어려움, 기존 컴퓨터 과학의 패러다임 변화의 요구 등

  • 입력 데이터가 어졌을 때 답을 유추할 수 있는 최적의 함수를 찾는 것
  • 애플리케이션을 수정하지 않고도 데이터를 기반으로 패턴을 학습하고 결과를 추론하는 알고리즘 기법
  • 서로 다른 유형의 머신러닝 기법은 최적의 함수를 찾는 기법이 서로 다름.
  • 예측 오류를 최소화하기 위한 다양한 수학적 기법을 적용해 데이터 내의 패턴을 스스로 인지하고 신뢰도 있는 예측 결과를 도출해냄.

딥러닝

AI > ML > DL 

  • 심층신경망 기법을 통해 최적의 함수를 구하는 모델을 만듦
  • 인간 뇌의 학습과 기억의 메커니즘을 모방, 연결을 통한 학습의 강화
  • 입력 데이터가 주어졌을 때 답을 유추할 수 있는 최적의 함수를 찾는 것 (=머신러닝)
  • 학습을 통해 최적의 가중치 W값을 찾아냄 (딥러닝이 학습하는 것은 바로 가중치  W값

장점

  • 매우 유연하고 확장성 있는 모델 구성
    • CNN Feature Extractor, RNN, GAN, 강화 학습
    • 과거에는 최적화하기 어려운 문제들을 딥러닝 기반으로 모델링 수행
  • 다양한 영역에서 확장되어 활용
    • 영상, 음성, 자연어 뿐 아니라 다양한 영역의 최적화 문제의 해결책 제시

단점

  • 매우 많은 컴퓨팅 연산 필요
  • 지나치게 고차원의 최적화 필요 (정형 데이터에서 큰 성능 향상이 어려움 - 오버피팅의 문제)

퍼셉트론

  • 가장 단순한 형태의 신경망
  • Hidden Layer 없이 Single Layer로 구성됨
  • 입력 피처들, 가중치, Activation, 출력값으로 구성
  • Sigmoid 함수를 사용해서 구현 
  • 값과 실제값의 차이가 최소가 되는 weight를 찾는 과정이 퍼셉트론이 학습하는 과정
  • 퍼센트론이 학습하는 것은 최적의 W 벡터[W0, W1, W2, ..Wn]의 값을 찾는 것
  • 예측값과 실제값의 차이를 줄이는 방향성으로 W를 계속 변경하는 것 (경사하강법)

선형회귀는 activation 필요없음

 

회귀 

  • 회귀는 여러개의 독립변수와 한개의 종속변수 간의 상관관계를 모델링하는 기법
  • Y = W1X1 + W2X2 + ... + WnXn
  • Y는 종속변수(아파트 가격), X는 독립변수(방 개수/ 아파트 크기/ 주변 학군..), W는 회귀 계수(독립변수 값에 영향)
  • 회귀 예측의 핵심은 주어진 피처와 결정값 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것 
  • 단순선형 회귀독립변수를 하나로 설정하여 '주택 가격을 주택 크기에 대한 선형 관계'로 나타낼 수 있다.
  • RSS 기반의 회귀 오류 측정은 오류값의 제곱을 구해서 더하는 방식이다.
  • RSS는 회귀식의 독립변수 X, 종속변수 Y가 중심변수가 아니라 W변수(회귀계수)가 중심변수이다. 
  • RSS를 학습 데이터의 건수로 나눠서 MSE(Mean Squared Error)로 표현할 수 있다. 
  • MSE비용(cost)이며, W변수로 구성되는 MSE를 비용함수라고 한다.
  • 회귀 알고리즘은 데이터를 계속 학습하면서 비용함수가 반환하는 오류값을 계속해서 감소시키고, 최종적으로 더 감소하지 않는 최소 오류값을 구하는 것이다. (비용함수=손실함수)

최적의 회귀 모델을 만든다는 것은 바로 전체 데이터의 오류값 합이 최소가 되는 모델을 만든다는 뜻이다. 

+ 오류값 합이 최소가 될 수 있는 최적의 회귀계수를 찾는다는 의미기도 하다.


경사하강법 (Gradient Descent)

정상에서 낮은 위치로 계속 이동하면 마침내 가장 낮은 지상으로 도착할 수 있다. (등산에 비유)

  • '점진적으로 반복적인 계산'을 통해 W 파라미터 값을 업데이트 하면서 오류값이 최소가 되는 W 파라미터를 구하는 방식이다.
  • 많은 W 파라미터가 있는 경우에 경사하강법은 보다 간단하고 직관적인 비용함수 최소화 솔루션을 제공한다. 
  • 경사하강법은 반복적으로 비용함수의 반환값, 즉 예측값과 실제값의 차이가 작아지는 방향성을 가지고 W 파라미터를 지속해서 보정해나간다.
  • 핵심은 '어떻게 하면 오류가 작아지는 방향으로 W값을 보정할 수 있을까?' 이다. → 미분을 통해 비용함수의 최소값 찾기