Deep Learning - #3 딥러닝 개념 정리

임다이·2024년 1월 5일

Deep Learning

목록 보기
4/11

  • 딥러닝이란?
    인간의 뉴런, 신경망을 모방하여 데이터를 학습 및 예측하는 기술

  • 퍼셉트론(perceptron)
    딥러닝을 구성하는 가장 작은 단위
    (퍼센트론 = 선형모델 + 활성화함수(activation)

  • 딥러닝 모델 설계
  1. 신경망 구조 설계
    1) 뼈대 생성
    2) 입력층 → 입력하고자하는 데이터에 따라 변경
    3) 중간층(은닉층)
    4) 출력층 → 출력하고자하는 데이터에 따라 변경

  2. 신경망 학습방법 및 평가방법 설계

  3. 모델 학습

  4. 모델 평가


[활성화함수 → 중간층, 출력층 활용도가 다름!]

  • 중간층 - 활성화 / 비활성화(역치)

    • 초기 - StepFunction(계단함수) → sigmoid 변경
      왜?
      최적화 알고리즘(optimizer)을 진행하는 과정에서 경사하강법을 적용하기 위함(미분을 하기 위해서는 기울기가 필요)

  • 출력층 - 출력하고자하는 데이터의 형태를 지정

    • 회귀 - linear(항등함수, y = x) 선형 모델이 예측한 값을 그대로 출력
      default값으로 따로 작성해 줄 필요는 없음

    • 이진분류 - sigmoid, 선형 모델이 예측한 연속형 값을 0~1사이의 확률값으로 변경

    • 다중분류 - softmax, 클래스의 개수만큼의 값을 총합이 1인 확률값으로 변경


[출력데이터의 따른 units의 개수]

  • 회귀 - units = 1개

  • 이진분류 - units = 1개(1개의 확률값 / 인지아닌지)

  • 다중분류 - units = 클래스의 개수(클래스 개수만큼의 확률값을 출력)


[학습방법 및 평가방법 설정 / compile]

  • loss(오차함수, 비용함수)

    • 회귀 - mean_squared_error

    • 이진분류 - binary_crossentropy

    • 다중분류 - sparse_categorical_crossentropy

  • metrics(평가지표)

    • 회귀 - mse(평균제곱오차)
    • 분류 - accuracy(정확도)

  • 활성화함수(중간층, 출력층 활용도가 다름!)

    • 중간층 활성화함수 역할 - 역치(활성화/비활성화)
      • stepfunction → sigmoid → Relu(오차역전파 진행시 기울기 소실 문제 발생)
    • 출력층 활성화 함수 역할 - 출력 받고싶은 데이터 형태 지정(units, activation)
      • 회귀 : units = 1, activation = ‘linear’
      • 이진분류 : units = 1, activation = ‘sigmoid’
      • 다중분류 : units = 클래스의 개수, activation = ‘softmax’
  • 학습 방법 및 평가 방법 설정

    • 회귀 : loss = ‘mean_squared_error, metrics = ‘mse’
    • 이진분류 : loss = ‘binary_crossentropy’, metrics = ‘accuracy’
    • 다중분류 : loss = ‘categorical_crossentropy’, metrics = ‘accuracy’ *정답 데이터의 형태와 출력층에서의 데이터의 형태를 맞춰줘야함!
      1. 정답 데이터를 원핫인코딩(to_categorical)

      2. keras에서 제공해주는 알아서 변경 후 비교 해주는 방법

        -loss = ‘sparse_categorical_crossentropy’


profile
노는게 제일 좋아~!

0개의 댓글