본문 바로가기
AI/DL

[딥러닝 파이토치 교과서] 1장

by boolynn 2025. 9. 9.

1.1 인공지능, 머신 러닝과 딥러닝

  • 머신러닝과 딥러닝의 관계

  • 머신 러닝 vs 딥러닝
    • 머신 러닝: 주어진 데이터를 인간이 전처리 함(데이터의 특징을 스스로 추출하지 못 함)
    • 딥러닝: 인간이 하던 작업을 생략해 컴퓨터가 스스로 분석 후 답을 찾음머신 러닝 vs 딥러닝

 

1.2 머신 러닝이란

  • 정의: 인공지능의 한 분야, 컴퓨터 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습하고 예측 수행

1.2.1 머신 러닝 학습 과정

  • 학습 단계 / 예측 단계
    • 학습 단계: 훈련 데이터를 머신 러닝 알고리즘에 적용, 학습시켜 모형 생성
    • 예측 단계: 학습 단계에서 생성된 모형에 새로운 데이터를 적용하여 결과 예측
  • 주요 구성 요소
    • 데이터
      • 학습 모델을 만드는 데 사용
      • 실제 데이터의 특징이 잘 반영되고 편향되지 않은 훈련 데이터를 확보하는 것이 중요
      • 데이터 수집 이후 훈련/테스트 데이터셋으로 분리해 사용(보통 8:2 비율)
    • 모델(가설): 머신 러닝의 학습 단계에서 얻은 최종 결과물
      • 아래와 같은 학습 절차를 반복하며 주어진 문제를 가장 잘 풀 수 있는 모델을 찾음

 

1.2.2 머신 러닝 학습 알고리즘

  • 지도 / 비지도 / 강화 학습
    • 지도 학습: 정답이 무엇인지 컴퓨터에 알려 주고 학습 시킴
    • 비지도 학습: 정답을 알려주지 않고 비슷한 데이터를 범주화(클러스터링)하여 예측
    • 강화 학습: 게임을 하듯 보상이 커지는 행동은 자주, 줄어드는 행동은 덜 하도록 하여 학습 진행

 

1.3 딥러닝이란

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

1.3.1 딥러닝 학습 과정

 

  • 데이터 준비: 파이토치나 케라스에서 제공되는 데이터셋 사용, 캐글 등 공개된 데이터 사용
  • 모델(모형) 정의: 신경망 생성, 은닉층 개수에 따른 성능과 과적합은 상충 관계에 있어 제대로된 신경망 생성이 중요
  • 모델(모형) 컴파일: 활성화 함수, 손실 함수, 옵티마이저 선택
  • 모델(모형) 훈련: 한 번에 처리할 데이터양 지정(배치와 에포크 선택)
  • 모델(모형) 예측: 검증 데이터셋을 생성한 모델(모형)에 적용하여 실제 예측 진행

 

 

  • 신경망과 역전파: 심층 신경망을 사용해 머신 러닝과 달리 데이터셋의 어떤 특성들이 중요한지 스스로에게 가르침
    • 신경망: 심층 신경망을 사용해 머신 러닝과 달리 데이터셋의 어떤 특성들이 중요한지 스스로에게 가르침
    • 역전파: 가중치 값을 업데이트
     

신경망
역전파

*파이토치와 같은 프레임 워크를 이용하면 역전파 알고리즘을 자동으로 처리해주기 때문에 딥러닝 알고리즘 구현이 간단해짐

 

 

1.3.2 딥러닝 학습 알고리즘

  • 지도 학습
    • 합성곱 신경망(CNN) - 컴퓨터 비전에서 주로 사용
      • 이미지 분류 - 데이터를 유사한 것끼리 분류할 때 사용
      • 이미지 인식 - 사진을 분석해 사물의 종류 인식
      • 이미지 분할 - 사물이나 배경 등 객체 간 영역을 픽셀 단위로 구분
    • 순환 신경망(RNN) - 시계열 데이터 분류 시 사용
      • 단점: 역전파 과정에서 기울기 소멸 문제 발생
    • LSTM
      • 순환 신경망의 문제점을 개선하고자 게이트 3개 추가
      • 망각 게이트, 입력 게이트, 출력 게이트를 도입해 기울기 소멸 문제 해결
  • 비지도 학습
    • 워크 임베딩
      • 자연어를 컴퓨터가 이해하고 처리할 수 있도록 벡터로 변환
      • 단어의 의미를 벡터화하는 워드투벡터와 글로브를 가장 많이 사용
      • 자연어 처리 분야의 일종
    • 군집
      • 아무런 정보가 없는 상태에서 데이터를 분류
      • 한 클러스터 안의 데이터는 비슷하게, 다른 클러스터의 데이터와 구분되게 나눔
      • 머신 러닝 군집과 다르지 않음, 함께 사용하면 좋음
    • 전이 학습
      • 사전에 학습이 완료된 모델을 원하는 학습에 맞춰 미세 조정
      • 학습이 완료된 모델, 완료된 모델을 활용하는 접근 방법 필요
    • 사전 학습 모델
      • 풀고자 하는 문제와 비슷하면서 많은 데이터로 이미 학습이 되어 있는 모델
      • 오랜 시간과 연산량 필요
      • VGG, 인셉션, MobileNet과 같은 사전 학습 모델을 사용해 효율적인 학습 진행 가능

 

  • 정리