1. 딥러닝 소개

딥러닝 소개

머신러닝/딥러닝

  • 머신러닝/딥러닝은 데이터 분석 및 인공지능 관련 기술을 획기적으로 발전시켰음.
  • 사회, 경제, 산업의 거의 모든 분야에서 머신러닝/딥러닝의 활용이 점차 강조되어 왔음.
  • 대형 언어 모델(LLM, Large language model)인 GPT(Generative pre-trained transformer)의 출현으로

    딥러닝에 대한 관심이 보다 깊어졌음.

  • 머신러닝/딥러닝 기술이 이미 많이 대중화되었음.

강의 주제

  • 딥러닝의 기본 개념과 함께 다양한 딥러닝 기법을 최대한 직관적으로 전달하는 일에 집중
  • 텐서플로우\(_{TensorFlow} 2\) 와 케라스\(_{Keras}\) 활용

주요 내용

  • 딥러닝 개념 소개
  • 딥러닝 활용
    • 컴퓨터비전: 이미지 분석 및 분할
    • 시계열 예측
    • 자연어 처리: 텍스트 분류
    • 생성 신경망 모델: 문장, 이미지 등등 생성

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

관계 1: 연구 분야 관점

그림 출처: 교보문구

인공지능이 머신러닝을 반드시 사용하는건 아니다.

머신러닝을깊게 파고들면 딥러닝이 있다.

데이터 과학은 지표를 비롯한 통계를 뜻한다.

인터넷이 발전함에 따라 데이터가 방대해져서 통계를 계산하기가 까다로워져서 머신러닝과 딥러닝을 사용해 통계를 계산한다.

관계 2: 역사

그림 출처: NVIDIA

인공지능

  • 인공지능: 인간의 지적 활동을 모방하여 컴퓨터로 자동화하려는 시도. 머신러닝과 딥러닝을 포괄함.
  • (1950년대) 컴퓨터가 생각할 수 있는가? 라는 질문에서 출발
  • (1980년대까지) 학습(러닝)이 아닌 모든 가능성을 논리적으로 전개하는 기법 활용
    • 서양장기(체스) 등에서 우수한 성능 발휘
    • 반면에 이미지 분류, 음석 인식, 자연어 번역 등 보다 복잡한 문제는 제대로 다루지 못함.
  • (1990 년대부터) 입력 데이터로부터 규칙을 스스로 찾아내도록 유도하는 머신러닝 기법이 유행하기 시작함.
    • 인공지능(AI) 분야의 주요 핵심 기법으로 자리잡음

전통적 프로그래밍 vs 머신러닝

그림 출처: MANNING

머신러닝 모델 학습의 필수 요소

  • 입력 데이터셋(훈련셋)
  • 타깃 데이터셋
  • 모델 평가지표

머신러닝 vs 딥러닝

  • 머신러닝은 사전에 정의된 특징을 기반으로 모델을 학습한다.
  • 딥러닝은 데이터로부터 표현을 스스로 학습하여 모델이 높은 수준의 추상적인 특징을 자동으로 추출하는 데 중점을 둔다.
  • 딥러닝의 표현법은 아래 잘 설명되어 있음

학습 규칙과 데이터 표현법

  • 데이터 표현법 학습: 주어진 과제 해결에 가장 적절한 데이터 표현법을 모델 학습을 통해 알아냄.
  • 예제: 좌표 변환

그림 출처: MANNING

  1. 입력된 데이터는 \((x_1, x_2)\)였으나 최종적인 3. 데이터 표현법에서는 \((y_1,y_2)\)로 표현이 변환된것을 확인할 수 있다.

데이터 변환 자동화

  • 반면에 MNIST 손글씨의 경우는 좋은 표현법을 수동으로 찾는 일은 거의 불가능

    그림 출처: 한빛출판네트워크

  • 머신러닝 모델은 아래에 언급된 변환 등을 조합하여 문제 해결에 보다 도움이 되는 표현 변환 알고리즘을 찾아내려 시도함.

    • 회전
    • 이동
    • 사영\(_{projection}\)
    • 잘라내기

가설 공간

  • 주어진 문제의 해결에 가장 적절한 변환 알고리즘을 머신러닝 모델 스스로 알아내기는 기본적으로 불가능
  • 대신에 데이터 표현법 변환 알고리즘을 어떻게 구현할 수 있는지 길안내 필요. 즉, 머신러닝 모델의 구성은 사람이 직접 지정
  • 그러면 가능한 모든 알고리즘의 공간 내에서 최적의 데이터 변환 알고리즘을 데이터 학습을 통해 알아냄.
  • 가설 공간: 머신러닝 모델이 변환 알고리즘 학습에 활용할 수 있는 알고리즘의 공간

딥러닝 모델

  • 딥러닝 모델은 세 개 이상의 층으로 구성된 심층 신경망으로 구현
  • ImageNet 분류 심층 신경망 모델 (2012년)

  • 층이 너무 많아도 과적합 문제가 발생할 수 있음
  • 어떤 문제를 주고 해당 문제의 답을 구하는 신경망을 컴퓨터가 직접 구하는건 불가능함 (튜링 정지 문제의 핵심)
  • 딥러닝을 통해 어떤 문제든 해결할 수 있는가?
    • 그런건 불가능
    • why? - 튜링의 정지 문제를 참고

그림 출처: NerulPS Proceddings

예제: 손글씨 숫자 인식

  • 네 개의 층 사용
  • 층마다 입력 데이터 변환
  • 최종적으로 (사람은 이해할 수 없지만) 모델은 어떻게든 적절한 예측값을 계산할 수 있는 표현법으로 데이터 변환
    • Layer 3을 보면 사람이 봤을때는 알 수 없으나 딥러닝은 이를 특징으로 인식하고 분류가 가능함

그림 출처: MANNING

머신러닝 역사

초창기 신경망

  • 신경망의 기본 아이디어: 1950년대부터
  • 최초의 성공적인 신경망 활용: 1989년 미국의 벨 연구소의 얀 르쿤\(_{Yann LeCun}\)이 LeNet 합성곱 신경망

그림 출처: https://yann.lecun.com/exdb/lenet/index.html

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

  • 2000년대: 결정트리$_{decision tree}$
  • 2010년: 랜덤 포레스트$_{random forest}$
  • 2014년: 그레이디언트 부스팅$_{gradient boosting}$ 기법
  • 현재까지도 딥러닝과 더불어 가장 많이 활용됨

딥러닝의 본격적 발전

  • 2011년: GPU를 활용한 딥러닝 모델 훈련이 시작
  • 2012년: 이미지 분류 경진대회인 이미지넷의 ILSVRC

    2012년 대회에서 소개된 합성곱 신경망(CNN) 모델의 성능 매우 뛰어남

    • NVIDIA에서 GPU를 개발하기 시작해서 획기적으로 발전함

그림 출처: bulentsiyah

최근 머신러닝 분야 동향

딥러닝 발전 동력

  • 하드웨어
    • 2011년도 - GPU 개발 시작
  • 데이터
    • 인터넷의 발달로 인한 데이터가 과거와 다르게 풍부해짐
  • 알고리즘
    • 신경망 구조의 발전

댓글남기기