새소식

Study/Today_I_Learned

[딥러닝] 핵심개념 (1)

  • -
728x90

22.06.23~24 이틀간 진행된 딥러닝 핵심 개념 수업 내용정리 part 1 입니다.  

1.  ML (machine learning) vs DL (deep learning)

아래 그림의 파란 음영으로 표시된 부분과 같이, 머신러닝과 딥러닝의 차이는 feature engineering (feature selection, feature extraction 등의 작업)을 누가 하느냐에 따라 결정됩니다.

출처: t.ly/IiFb

전통적인 머신러닝 : 사람이 직접 데이터에서 중요한 점을 찾아 feature로 정해줌
딥러닝 : 신경망 내부에서 자체적으로 데이터의 중요한 feature를 찾거나 구성함 (새 컬럼 생성, 이미지/텍스트의 특징 발견 등)
 - 장점: 사람에 의한 선입견 혹은 주관적 의견을 배제할 수 있고, 사람이 발견하지 못한 중요한 점을 찾을 수도 있다. 
 - 단점: 많은 수의 분류된 데이터가 필요하다 - '많다'라는 기준이 모호할 뿐더러, label된 데이터가 있어야 모델이 학습할 수 있다. 

하지만 데이터를 깨끗하게 만들어주기 위한 데이터 전처리, 범주형 column의 encoding, standardization 등의 작업은 딥러닝에서도 동일하게 필요한 프로세스입니다. 

딥러닝의 구성요소와 활용

출처:http://dlwiki.finfra.com/algorithm:dnn

딥러닝에서 깊이(depth)란 위 그림에서 보이는 layer, 층의 개수 (그림에서는 3개)를 말하고
넓이(width)란 한개의 레이어에 들어있는 퍼셉트론 (동그라미 하나)의 개수, 그림에서는 9개로 확인할 수 있습니다. 

딥러닝이란 hidden layer가 2개 이상인 인공신경망을 이야기하지만,
현업에서는 이런 인공신경망을 하나하나 바닥부터 쌓아올리는 것이 아니라 
전이 학습 (transfer learning)을 통해 이미 라이브러리 안에 구축 및 학습이 완료된 모델을 가져와서 활용한다고 하는데요.
이미 존재하는 신경망에서 1) 모델의 구조, 2) 모델이 결정한 파라미터의 집합, 2)optimizer 등을 가져와 사용하게 되므로 
내가 사용할 데이터의 종류, 도메인 등이 가장 유사한 모델을 선택하는 것이 중요합니다. 

기존 모델과 내가 사용할 데이터의 성격이 너무 다르다면 fine tuning을 통해 파라미터의 일부를 수정하여 활용할 수도 있습니다

그렇다면 연구가 중단되었던 딥러닝은 왜 다시 주목받았을까? 

  • 학습 가능한 데이터의 증가 
    데이터가 모자란 경우, 인공신경망이 학습을 완료하기 전에 데이터가 고갈 혹은 적은 데이터로 인해 모델이 오버피팅될 위험이 생깁니다. 하지만 시간이 지나고 활용 가능한 데이터가 전산으로 축적되면서 이런 문제점은 해결될 수 있을 것입니다. 
  • 컴퓨터 기술의 발전
    GPU를 사용해 동시 작업이 가능해지면서 연산 속도가 훨씬 빨라졌습니다 ! 
    딥러닝은 간단한 행렬의 무수한 연산이기 때문에, CPU를 사용한 연산보다 간단한 연산을 동시에 처리할 수 있는 GPU가 속도 측면에서 더 유리합니다. 
    (차이를 비교적 쉽게 이해할 수 있는 영상)

 

2. 퍼셉트론perceptron과 활성화 함수activation function

출처: t.ly/aDiS

퍼셉트론은 뉴런을 본따 만든 알고리즘 하나의 단위입니다. 
이 그림을 따온 이유는 output을 만드는 연산이 2개임을 잘 보여주고 있기 때문입니다. 
한 개의 퍼셉트론에서는 다음과 같이 2단계를 거쳐 최종 출력값을 얻게 됩니다. 

1) 입력받은 x, y, z 를 가중치와 곱해 모두 더해주고 (=선형결합하여)
2) 1)에서 얻은 1개의 scalar value에 활성화 함수activation function를 적용, 최종 출력값 계산

이때 x, y, z에 곱해준 가중치들은 신경망이 결정하는 parameter입니다. 
반면 activation function은 어떤 종류의 함수를 사용할지 결정해주어야하는 hyper-parameter로, 함수 종류가 다양합니다. 

활성화 함수의 종류

  • 시그모이드 함수

    $ \frac{1}{1+ e^{-z}} $ 

    0부터 1사이에서 로지스틱 함수처럼 완만하게 움직이는 함수
    계단 함수의 미분불가능함을 극복했다는 장점이 있지만
    이 함수의 도함수 최댓값이 0.25인 탓에 기울기 소실이 일어난다는 단점이 있다. 
  • Hyperbolic tangent

    $ \frac{e^{z} - e^{-z}}{e^{z}+ e^{-z}} $

  • ReLU - Rectified Linear Unit

출처: t.ly/53mA

장점 (출처: t.ly/SCp-)
 1. 구현이 쉽다 

max(0,z)


 2. tanh 함수 및 시그모이드 함수와는 달리, 0을 결괏값으로 가질 수 있다 (Representational sparsity)
 3. (부분적으로) 선형성을 띤다
 4. 도함수가 상수항으로 표현되기 때문에 다중 퍼셉트론에서 backpropagation을 통한 학습이 쉽다


강사님의 강의 속도가 빠르기도 하고 내용이 워낙 많다보니 녹화본을 다시 들으면서 정리중인데 
기초부터 잘 짚고 넘어가지 않으면 나중에 대혼란이 일어날 것 같은 내용입니다 :) ! 

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.