본문 바로가기

Study/딥러닝 텐서플로 교과서 - 길벗

[Book]1. 머신러닝과 딥러닝

개요

책을 보고 공부한 내용을 정리합니다.


딥러닝 텐서플로 교과서

  • 저자 서지영님 
  • 길벗 출판사

코드 출처

https://github.com/gilbutITbook/080263

 

GitHub - gilbutITbook/080263

Contribute to gilbutITbook/080263 development by creating an account on GitHub.

github.com


[Book]1. 머신러닝과 딥러닝

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

더보기

인공지능 > 머신러닝 > 딥러닝


머신러닝

  • 주어진 데이터를 인간이 먼저 처리(전처리)
  • 이미지 데이터라면 사람이 학습 데이터를 컴퓨터가 인식하게 준비해야 함
  • 범용적인 목적을 위해 제작된 것으로 데이터의 특징을 스스로 추출하지 못함

딥러닝

  • 머신러닝에서 인간이 하던 작업을 생략
  • 대량의 데이터를 신경망에 적용하면 컴퓨터가 스스로 분석한 후 답을 찾음
머신러닝 : 입력 -> 특성 추출(인간) -> 분류(컴퓨터) -> 출력
딥러닝   :  입력 -> 특성 추출 + 분류(컴퓨터) -> 출력

1.2 머신러닝이란

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

1.2.1 머신 러닝 학습 과정

  • 학습 단계와 예측 단계로 구분
  • 학습 : 학습 데이터를 대상으로 머신 러닝 알고리즘을 적용하여 학습하고 결과로 모형 생성
  • 예측 : 학습에서 생성된 모형에 새로운 데이터를 적용하여 결과 예측

1.2.2 머신 러닝 학습 과정

머신 러닝 학습 알고리즘 종류 : 1. 지도 학습, 2. 비지도 학습 3. 강화 학습

지도 학습
  • 학습(train) 데이터와 정답(Label) 알려주고 학습
비지도 학습
  • 정답을 알려주지 않고 특징이 비슷한 데이터를 클러스터링(범주화)하여 예측
강화 학습
  • 자신의 행동에 대한 보상을 받으며 학습 진행
  • 보상이 커지는 행동은 자주, 줄어드는 행동은 덜 하면서 학습

1.3 딥러닝이란

  • 인간의 뇌를 기초로 설계
  • 병렬 연산을 통해 기존에 컴퓨터가 수행하지 못했던 음성, 영상 등의 처리

1.3.1 딥러닝 학습 과정

  1. 데이터 준비 : 텐서 플로우, 케라스, 캐글 같은 곳에서 구할 수 있음
  2. 모델 정의 : 신경망 생성, 은닉층 개수가 많을수록 성능 좋지만 과적합 발생 확률 사승
  3. 모델 컴파일(옵티마이저, 손실 함수 등 선택) : 활성화 함수, 손실 함수, 옵티마이저 선택
  4. 모델 훈련 : 한 번에 처리할 데이터양 지정, 데이터 양 많으면 학습 속도 느려지고 메모리 부족 문제 야기
  5. 모델 평가
배치 사이즈
  • 훈련 데이터셋 1000개에 대한 배치 크기가 20이라면, 샘플 단위 20개마다 모델 가중치 한 번씩 업데이트
  • 즉 총 50번(1000/20)의 가중치가 업데이트되고 에포크가 10이고 배치가 20이면 가중치가 총 500번
epochs = 10
batch_size = 20

batch_size

1.3.2 딥러닝 학습 알고리즘

지도 학습, 비지도 학습, 전이 학습으로 분류

지도 학습
  • CNN(합성곱 신경망) : 이미지 or 비디오 객체 식별
  • RNN(순환 신경망) : 시계열 데이터 분류, 역전파 과정에서 기울기 소멸 문제가 발생하는 단점
  •  LSTM : RNN 단점 개선하고자 망각, 입력, 출력 게이트를 추가
비지도 학습
  • 워드 임베딩 : 단어를 벡터로 표현
  • 군집 :  아무런 정보가 없는 상태에서 데이터를 분류하는 것
전이 학습
  • 사전에 학습이 완료된 모델을 가지고 우리가 원하는 학습에 미세 조정 기법을 이용하여 학습시키는 방법
  • VGG, Inception, MobileNet 같은 사전 학습 모델 사용