(7-5) 딥러닝 기초

Yongjoo Lee·2021년 1월 25일
0
post-thumbnail
post-custom-banner

심층학습 기초

  • 심층학습(deep learning)
    • 다층 퍼셉트론에 은닉층을 여러 개 추가하면 깊은 신경망이 됨
    • 심층학습은 깊은 신경망의 학습
    • 심층학습은 새로운 응용을 창출하고 인공지능 제품의 성능을 획기적으로 향상

👉 현대 기계학습을 주도

심층학습의 등장

  • 배경
    • 1980년대에 이미 깊은 신경망 아이디어가 등장
      • 하지만 실현이 불가능했음 (당시에는 깊은 신경망 학습 불가)
        • 경사 소멸 문제, 작은 훈련집합, 과다한 연산으로 인한 시간 소요 (낮은 컴퓨터 성능)
    • 지속적인 연구 (성능에 영향을 주는 요소)
      • 학습률
      • 최적 탐색 방법
      • 은닉 노드 수
      • 데이터 전처리
      • 활성함수
      • 규제 기법

📌 경사 소멸 문제(gradient vanishing problem)

역전파 과정에서 활성함수에 따라 미분에 의해 gradient 값이 소멸되는 문제

👉 활성함수로 로지스틱 시그모이드나 하이퍼볼릭 탄젠트 함수를 사용할 경우 문제 발생 가능!

성공 배경

  • 혁신적 알고리즘 등장
    • 합성곱 신경망(Convolutional Neural Networks, CNN) 구조
      • 부분 연결과 가중치 공유를 통해 효율적인 신경망 학습 구조 제공
    • ReLU 활성함수
      • 경사 소멸 문제 해결
    • 다양한 규제 기법
      • 과잉 적합 방지
    • 층별 예비학습(pretraining) 기법
  • 값싼 GPGPU 등장
    • *GPGPU(General-Purpose computing on Graphics Processing Units, GPU 상의 범용 계산)
  • 학습 데이터 양과 질의 향상

표현 학습의 부각

  • 기계학습의 새로운 전환

    • 과거 기계학습 - 전통적인 다층 퍼셉트론

      • 사람이 수작업으로 특징을 선택하거나 추출하여 신경망에 입력
    • 현대 기계학습 - 심층학습

      • 특징 벡터를 신경망에 입력 (종단간 학습)

        👉 학습에 의해 자동적으로 데이터로부터 특징 추출 → 표현학습(representation learning)

  • 깊은 신경망의 표현학습 (또는 특징학습 (feature learning)

    • 낮은 단계의 은닉층 : 선이나 모서리와 같은 간단한 (저급) 특징 추출
    • 높은 단계의 은닉층 : 추상적인 형태의 복잡한 (고급) 특징 추출

👉 표현 학습이 강력해짐에 따라 기존 응용에서 획기적인 성능 향상

깊은 다층 퍼셉트론 (깊은 신경망)

구조와 동작

  • 깊은 다층 퍼셉트론(DMLP 혹은 deep MLP) 구조

    • 입력 (d+1d+1차원의 특징벡터)과 출력 (cc개 분류)
    • L1L-1개의 은닉층 (입력층은 0번째 은닉층, 출력층은 LL번째 은닉층으로 간주)
      • ll번째 은닉층의 노드 수를 nln_l로 표기
  • DMLP의 가중치 행렬

    • l1l-1번째 층과 ll번째 층을 연결하는 가중치는 총 (nl1+1)nl(n_{l-1}+1)n_l
  • DMLP의 동작

    • o=f(x)=fL(f2(f1(x))),L4\bold{o=f(x)=f_L(\cdots f_2(f_1(x)))}, L\ge 4
    • 전방 계산에서는 행렬곱 후 비선형 함수 통과

학습

DMLP 학습은 기존 MLP 학습과 유사

(DMLP는 경사도 계산과 가중치 갱신을 더 많은 층에 걸쳐 수행)

  • DMLP를 위한 미니 배치 스토캐스틱 경사 하강법

    1. 훈련집합에서 샘플을 무작위로 뽑아 미니배치 생성
    2. 전방 계산
    3. 오류역전파 수행
      1. 그래디언트 계산
      2. 가중치 갱신
    4. epoch 만큼 반복
  • 주요 알고리즘의 개선

    • 알고리즘: 퍼셉트론 → 다층 퍼셉트론 → 깊은 다층 퍼셉트론
    • 활성함수: 계단함수 → 시그모이드 함수 → ReLU와 변형들
    • 목적함수: 평균제곱오차 → 평균제곱오차 → 교차엔트로피 또는 로그우도(출력값이 확률 형태)

심층학습이 강력한 이유

  • 종단간(end-to-end) 최적화된 학습 가능
    • 사람의 개입 없이 자동적으로 학습을 통해 특징 추출 (사람의 직관에 따르면 성능 한계)
  • 깊이(depth)의 중요성
    • 은닉층의 개수가 늘어남에 따라 표현력이 증가
  • 계층적 특징
    • 얕은 신경망은 하나 또는 두 개의 은닉층이 여러 형태의 특징을 모두 담당
    • 깊은 신경망에서는 층의 역할이 잘 구분됨
profile
하나씩 정리하는 개발공부로그입니다.
post-custom-banner

0개의 댓글