Deep Learning/개념

1. 딥러닝 Overview

박째롱 2024. 9. 4. 00:27

[Introduction]                                                                                                                                                                         

 

딥러닝이란?

 - Deep Nueral Networks(DNN)을 학습시켜 문제를 해결 하는 것

 - 인공신경망(Artificial Neural Networks)의 적통을 이어받음

    * Neuron들로 구성된 신경망을 학습하여 문제를 해결하도록 동작하는 함수

 - 기존 신경망 대비 더 깊은 구조를 갖는 것이 특징

 

왜 딥러닝인가?

 - 비선형 함수로 기존 머신러닝 대비 패턴 인식 능력이 월등함

 - 이미지, 텍스트, 음성 등 분야에서 비약적 성능 개선

    * 기존의 머신러닝과 달리 hand-crafted feature가 필요 없고, 단순히 raw값을 넣는 것 만으로 자동으로 특징 학습

 

패러다임의 변화

 - 과거의 패러다임: Hand-crafed feature 추출해 머신러닝 모델에 넣고 학습, 여러 단계의 sub-module로 이루어짐

 - 새로운 패러다임: Raw 값을 신경망에 넣으면 자동으로 특징(feature) 학습 - 성능 압도적

                             하나의 task에 대해 하나의 신경망 모델이 존재하는 end-to-end 방식

                             딥러닝은 블랙박스다! 단점이자 장점(hand craft 시 가정이 틀릴 수 있음)

 

활용사례

 - 음성인식, 기계번역, 자율주행, 객체인식, 사진합성, 데이터분석 등

 

[좋은 인공지능이란?]                                                                                                                                                                 

 

인공지능 모델이란?

 - x가 주어졌을때 y를 반환하는 함수 y=f(x)

 - 파라미터: f가 동작하는 방식을 결정

 - 학습: x로부터 y로 가는 관계를 배우는 것, x와 y를 통해 적절한 파라미터를 찾는 것

 - 모델: 상황에 따라 알고리즘 자체를 이르거나 파라미터를 말함

 

좋은 인공지능 모델이란?

 - 일반화를 잘 하는 모델

 - 보지 못한(unseen) 데이터에 대해서도 좋은 예측(prediction)을 하는 모델

 

기존 머신러닝의 한계?

 - 선형 또는 낮은 차원의 데이터를 다루기 위해 설계됨

 - 커널 등을 사용해 비선형 데이터를 다룰 수 있지만 한계가 있음

 

[용어 설명]                                                                                                                                                                                

 

딥러닝의 목표

 - 주어진 데이터에 대해 결과를 내는 가상의 함수를 모사하는 함수를 만드는 것

 

인공지능 프로젝트의 단계

  : 문제 정의 - 데이터 수집 - 전처리 및 분석 - 알고리즘 적용 - 평가 - 배포

 

① 문제 정의

 - 풀고자 하는 문제를 단계별로 나누고 simplify

 - 신경망이라는 함수에 넣기 위해 x와 결과값 y가 정의되어야 함

 

② 데이터 수집

 - 문제 정의에 따라 정해진 x와 y

 - 풀고자 하는 문제의 영역에 따라 수집 방법이 다름

 - 필요에 따라 레이블링 작업을 수행 (자동적으로 주어질 수 있으나, 대부분 레이블링 필요   /   eg.감성분석)

 

③ 데이터 전처리 및 분석

 - 수집된 데이터를 신경망에 넣어주기 위한 형태로 가공

 - 이 과정에서 탐험적 분석(EDA)이 필요함 / 영상이나 자연어의 경우 생략되기도 함

 - 영상처리(CV)의 경우 데이터 증강이 수행됨

 

④ 알고리즘 적용

 - 데이터에 대해 가설을 세우고 해당 가설을 위한 알고리즘(모델) 적용

 

⑤ 평가

 - 문제 정의에 따른 공정하고 올바른 평가 방법의 필요

 - 테스트셋 구성은 실제 데이터와 가장 가깝게 구성되어야 함

 - 정량적 평가와 정성적 평가

                                                                                      

⑥ 배포

 - 학습과 평가가 완료된 모델 weights 파일을 배포함

 - RESTful API 등을 통해 wrapping 후 배포

 - 데이터 분포의 변화에 따른 모델 업데이트 및 유지/보수 필요