Deep Learning with Python - Ch.01

케라스 창시자에게 배우는 딥러닝을 실습하면서 정리한 포스트입니다. 코드 예제와 코드 설명은 역자 깃허브에서 받아볼 수 있습니다. 출판물이고 개인적으로만 참고하기 위한 요약노트이다 보니 설명이 불친절한 점은 양해 바랍니다. 보다 자세한 내용을 원하시는 분은 위 링크의 책을 참고하시기 바랍니다.


1장 딥러닝이란 무엇인가?

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

인공지능

  • 보통의 사람이 수행하는 지능적인 작업을 자동화하기 위한 연구 활동
  • 인공지능 ⊃ 머신러닝 ⊃ 딥러닝
  • 심볼릭 AI : “명시적인 규칙을 충분히 많이 만들어 지식을 다루면 인간 수준의 인공지능을 만들 수 있다” ☞ 하지만 명확한 규칙을 찾는게 쉽지 않음

머신러닝

  • 전통적 프로그래밍 : 규칙, 데이터를 넣어서 해답을 찾는다
  • 머신러닝 : 데이터, 해답을 넣어서 규칙을 찾는다

데이터에서 표현을 학습하기

  • 머신 러닝과 딥러닝의 핵심 문제는 의미 있는 데이터로의 변환
  • 입력 데이터를 기반으로 기대 출력에 가깝게 만드는 유용한 표현을 학습하는 것

딥러닝에서 ‘딥’이란?

  • 딥러닝은 머신러닝의 특정한 한 분야로 연속된 층에서 점진적으로 의미 있는 표현을 배우는 데 강점이 있음
  • ‘딥’이란 연속된 층으로 표현을 학습한다는 개념을 나타냄
  • 딥러닝에선 기본 층을 겹겹이 쌓아 올려 구성한 신경망이라는 모델을 사용

그림 3개로 딥러닝의 작동 원리 이해하기

  • 신경망은 가중치를 파라미터로 가진다
  • 손실 함수가 신경망의 출력 품질을 측정한다
  • 손실 점수를 피드백 신호로 사용하여 가중치를 조정한다

지금까지 딥러닝 성과

  • 이미지 분류, 음성, 필기 인식 등
  • 여전히 할 수 있는 일을 알아가는 중. 형식 추론과 같은 다양한 문제에 적용하기 시작

단기간의 과대 선전을 믿지 말자

  • 딥러닝이 할 수 있는 것과 할 수 없는 것에 대해 명확히 이해하자

AI에 대한 전망

  • 단기 기대는 비현실적일수도 있지만 장기 전망은 매우 밝다

딥러닝 이전: 머신 러닝의 간략한 역사

확률적 모델링

  • 통계학 이론을 데이터 분석에 응용한 것
  • 나이브 베이즈 알고리즘 : 입력 데이터의 특성이 모두 독립적이라 가정하고 베이즈 정리를 적용하는 머신 러닝 분류 알고리즘
  • 로지스틱 회귀 : 현대 머신 러닝의 “hello world”

초창기 신경망

  • 경사 하강법 최적화를 사용해 연쇄적으로 변수가 연결된 연산을 훈련하는 방법
  • 최초의 성공적인 신경망 애플리케이션은 합성곱 신경망과 역전파를 연결해 손글씨 숫자 이미지를 분류하는 문제에 적용됨

커널 방법

  • 분류 알고리즘의 한 종류로 SVM(서포트 벡터 머신)이 가장 유명
  • SVM은 2개의 다른 범주에 속한 데이터 그룹 사이에 결정 경계(decision boundary)를 찾는다
  • decision boundary를 찾는 두 단계 과정
    • decision boundary가 하나의 초평면(hyperplane)으로 표현될 수 있는 새로운 고차원 표현으로 데이터를 매핑
    • 초평면과 각 클래스의 가장 가까운 데이터 포인트 사이의 거리가 최대가 되는 최선의 결정 경계(하나의 분할 초평면)를 찾는다 == 마진 최대화 단계

결정트리, 랜덤 포레스트, 그래디언트 부스팅

  • 결정트리 : 플로차트 같은 구조를 가지며 입력 데이터 포인트를 분류하거나 주어진 입력에 대해 출력 값을 예측
  • 랜덤 포레스트 : 서로 다른 결정 트리를 많이 만들고 그 출력을 앙상블하는 방법을 사용
  • 그래디언트 부스팅 : 이전 모델에서 놓친 데이터 포인트를 보완하는 새로운 모델을 반복적으로 훈련해 모델을 향상시킴

다시 신경망으로

  • 2011년 IDSIA의 댄 크리슨이 심층 신경망으로 이미지 분류 대회에서 우승했는데 이것이 현대적 딥러닝의 첫 번째 성공
  • 2012년부터 심층 합성곱이 모든 컴퓨터 비전 작업의 주력 알고리즘이 됨

딥러닝의 특징

  • 딥러닝의 변환 능력은 모델이 모든 표현 층을 순차적이 아니라 동시에 공동으로 학습하게 만든다
  • 딥러닝이 데이터로부터 학습하는 방법의 특징
    • 층을 거치면서 점진적으로 더 복잡한 표현이 만들어진다
    • 이런 점진적인 중간 표현이 공동으로 학습된다

머신러닝의 최근 동향

  • 캐글의 머신 러닝 경연을 살펴보면 동향을 알 수 있다
  • 2016 2017년 캐글 주류는 그래디언트 부스팅 머신(구조적인 데이터의 경우)과 딥러닝(이미지 분류 등 지각에 관한 문제)

왜 딥러닝일까? 왜 지금?

  • 컴퓨터 비전 딥러닝 핵심 아이디어인 합성곱 신경망과 역전파는 1989년에, 시계열을 위한 딥러닝 기본인 LSTM(Long Short-Term Memory) 알고리즘은 1997년에 개발됐는데 2012년 이후에 딥러닝이 부상한 배경에는 다음 세 가지가 있다
    • 하드웨어
    • 데이터셋과 벤치마크
    • 알고리즘 향상

새로운 투자의 바람

  • 딥러닝은 테크 공룡들의 핵심 상품 전략

딥러닝의 대중화

  • 초창기에는 C++과 CUDA 전문가가 되어야 했지만 요즘에는 기본 파이썬 스크립트 기술만 있으면 딥러닝 연구에 충분(씨아노와 텐서플로 덕분)

지속될까?

  • 20년 뒤에는 신경망을 쓰지 않을지도 모르지만 딥러닝과 그 핵심개념에서 파생된 무엇인가를 사용할 것
  • 단순함, 확장성, 다용도와 재사용성
© 2019 THE DATASCIENTIST All Rights Reserved.
Theme by hiero