[딥러닝]머신러닝과 딥러닝

권경민·2023년 7월 8일
1

딥러닝

목록 보기
1/8
post-custom-banner

1장 머신러닝과 딥러닝

1. 인공지능, 머신러닝과 딥러닝

인공지능이란?
인간의 지능을 모방하여 사람이 하는 일을 컴퓨터가 할 수 있도록 하는 기술

인공지능을 구현하는 방법

  • 머신러닝
    • 주어진 데이터를 인간이 먼저 처리(전처리)함.
    • if 이미지 데이터라면, 그것을 컴퓨터가 인식할 수 있도록 사람이 학습 데이터를 준비해야함.
    • 범용적 목적을 위해 제작됨.
    • 데이터의 특징을 스스로 추출 불가 ➡️ 인간이 처리해야함.
  • 딥러닝
    • 인간의 작업을 생략
    • 대량의 데이터를 신경망에 적용하면 컴퓨터가 스스로 분석 후 답을 찾음.

머신러닝과 딥러닝의 차이

동작원리

  • 머신러닝 : 입력 데이터에 알고리즘을 적용해 예측 수행
  • 딥러닝 : 정보를 전달하는 신경망을 사용해 데이터 특징 밀 관계 해석

재사용

  • 머신러닝 : 입력 데이터 분석을 위해 다양한 알고리즘 사용 / 동일 유형의 데이터 분석을 위한 재사용은 불가
  • 딥러닝 : 구현된 알고리즙은 동일 유형의 데이터 분석 재사용이 가능

데이터

  • 머신러닝 : 일반적으로 수천개 데이터 필요
  • 딥러닝 : 수백만개 이상의 데이터 필요

훈련 시간

  • 머신러닝 : 단시간
  • 딥러닝 : 장시간

결과

  • 머신러닝 : 점수 or 분류 등 숫자값
  • 딥러닝 : 점수/텍스트/소리 등 어떤 것이든 가능

2. 머신러닝이란?

인공지능의 한 분야로, 컴퓨터 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습 하고 예측을 수행하는 것
즉, 컴퓨터가 학습할 수 있게 하는 알고리즘고 기술을 개발하는 분야

2.1 머신러닝의 학습 과정

  • 머신러닝은 크게 학습단계예측단계로 구분
  • 학습단계 : 훈련 데이터를 머신러닝 알고리즘에 적용하여 학습 ➡️ 이 학습 결과로 모형이 생성됨.
  • 예측단계 : 학습단계에서 생성된 모형에 새로운 데이터를 적용해 결과 예측

💡 특성 추출이란?
컴퓨터가 입력받은 데이터를 분석하여 일정한 패턴이나 규칙을 찾아내려면,
사람이 인지하는 데이터 -> 컴퓨터가 인지할 수 있는 데이터로의 변환이 필요.

이 때, 데이터별 특징을 찾아내고, 이를 토대로 데이터를 벡터로 변환하는 작업을 말함.

머신러닝의 주요 구성요소

  • 데이터
    • 머신러닝이 학습모델 만들때 사용
    • 훈련데이터셋 - 테스트데이터셋으로 분리하여 사용
    • 훈련데이터셋훈련데이터셋검증데이터셋으로 또 분리하기도 함.
    • 보통 데이터의 80%는 훈련용, 20%는 테스트용으로 분리.
  • 모델
    • 머신러닝 학습단계에서 얻은 최종 결과물
    • 가설이라고도 함

모델의 학습 절차
1. 모델(or 가설) 선택
2. 모델 학습 및 평가
3. 평가를 바탕으로 모델 업데이트

💡 검증 데이터셋을 사용하는 이유
훈련 데이터셋으로 모델을 학습시킨 후 모델이 잘 예측하는지 그 성능을 평가하기 위해 사용

💡 모델 성능평가가 필요한 이유
1. 테스트 데이터셋에 대한 성능 가늠
2. 과적합 방지

2.2 머신러닝 학습 알고리즘

  • 지도학습 : 정답을 알려주고 학습
  • 비지도학습 : 정답을 알려주지 않고 특징이 비슷한 데이터를 클러스터링하여 예측하는 학습방법
  • 강화학습 : 자신의 행동에 대한 보상으로 학습

3. 딥러닝이란?

인간의 신경망 원리를 모방한 심층 신경망 이론을 기반으로 고안된 일종의 머신러닝 방법

딥러닝의 특징

  • 머신러닝과는 달리, 인간의 뇌를 기초로 설계함.
  • 인간의 뇌가 뉴런과 시냅스로 구성된 것에서 착안하여 컴퓨터에 뉴런과 시냅스 개념을 적용
  • 각각의 뉴런은 복잡히 연결된 수많은 뉴런을 병렬 연산하여 기존에 컴퓨터가 수행하지 못했던 음성/영상 인식 등의 처리 가능.


그림 설명
수상돌기 : 뉴런에서 자극을 받아들이고 이 자극을 전기적 신호 형태로 세포체와 축삭돌기에 보냄
시냅스 : 신경 세포들이 이루는 연결 부위, 한 뉴런의 축삭돌기와 다음 뉴런의 수상돌기가 만나는 부분
축삭돌기 : 다른 뉴런(수상돌기)에 신호를 전달하는 기능을 하는 뉴런의 한 부분.
축삭말단 : 전달된 전기 신호를 받아 신경 전달 물질을 시냅스 틈새로 방출

3.1 딥러닝 학습 과정

  • 데이터 준비
  • 모델(모형) 정의
    • 이 단계에서 신경망을 생성함.
    • 은닉층 개수가 많을수록 성능은 좋아지지만, 너무 많으면 과적합 발생 우려
    • 은닉층 개수에 따른 성능 ↔️ 과적합 (상충관계)
  • 모델(모형) 컴파일
    • 이 단계에서 활성화함수, 손실함수, 옵티마이저 선택
    • 데이터 형태에 따라 다양한 옵션 가능
    • if 훈련 데이터셋 형태 - {연속형 : MSE, 이진분류 : cross entropy}
  • 모델(모형) 훈련
    • 이 단계에서 한 번에 처리할 데이터양을 지정.
    • 배치사이즈 / 에포크 선택
    • 훈련과정에서 값의 변화를 확인하며 파라미터/하이퍼파라미터에 대한 최적값 찾아야 함.
  • 모델(모형) 예측
    • 생성한 모델에 검증데이터셋을 적용해 실제로 예측을 진행하는 단계

💡 Epoch란?
인공 신경망에서 전체 데이터에 대해서 순전파와 역전파가 끝난 상태
ex) 전체 데이터를 하나의 문제지에 비유한다면 문제지의 모든 문제를 끝까지 다 풀고, 정답지로 채점을 하여 문제지에 대한 공부를 한 번 끝낸 상태

💡 Batch_size란?
몇 개의 데이터 단위로 매개변수를 업데이트 하는지를 말함.

  • ex) 문제지에서 몇 개씩 문제를 풀고나서 정답지를 확인하느냐의 문제. 기계 입장에서는 실제값과 예측값으로부터 오차를 계산하고 옵티마이저가 매개변수를 업데이트함.
    여기서 중요한 포인트는 업데이트가 시작되는 시점 = 정답지/실제값을 확인하는 시점

딥러닝의 핵심 구성 요소

  • 신경망
    심층 신경망에는 데이터셋의 어떤 특성이 중요한지 스스로에게 가르치는 능력이 있음.

  • 역전파
    가중치 값을 업데이트 하는 역할
    역전파 계산 과정에서 사용되는 미분이 성능에 영향을 미치는 주요 요소임.
    • 오차를 각 가중치로 미분

3.2 딥러닝 학습 알고리즘

  • 지도학습

    • 이미지분류
      - 이미지 or 비디오상의 객체를 식별하는 컴퓨터 비전 기술
      - 목적에 따라 이미지분류/이미지인식/이미지분할로 나뉨
      ex) CNN : 합성곱 신경망

    • 시계열 데이터
      - RNN(순환신경망) : 시간에 따른 데이터에 사용, but 역전파 과정에서 기울기 소멸 문제 발생
      - LSTM : RNN의 문제점을 개선하고자 게이트 3개 추가. (망각게이트/입력게이트/출력게이트)

  • 비지도학습

    • 워드임베딩
      • 자연어를 벡터로 표현하여 컴퓨터가 이해할 수 있도록 변환
        ex) Word2Vec, GloVe
    • 군집
      • 아무 정보가 없는 상태에서 데이터를 분류하는 방법
      • 신경망에서 군집 알고리즘 사용
  • 전이학습
    사전학습모델을 이용하여 미세조정기법을 통해 학습시키는 방법

    • 사전학습모델 : 풀고자 하는 문제와 비슷하면서 많은 데이터로 이미 학습되어있는 모델
      ex) VGG, 인셉션, MobileNet
profile
지하실에 사람 있어요,,
post-custom-banner

0개의 댓글