☀️ [TIL]_22.05.16_월_머신러닝 기초 3일차

김태인·2022년 5월 17일
0

📗[TO LEARN]

  • 딥러닝

💡[배운것]

딥러닝이란

머신러닝의 한 분야
(인공지능 (머신러닝 (딥러닝) ) )

자연계에는 직선으로 설명할 수 없는 문제들이 많음
때문에 선형회귀 사이에 비선형의 무언가를 넣어 문제를 해결

층을 깊게(Deep) 쌓는다고 하여 딥러닝이라 부름

딥러닝의 역사

  • [Perceptron(퍼셉트론)]

OR 게이트 = 1이 하나라도 있으면 1, 둘다 0이면 0
AND 게이트 = 하나라도 0이면 0

논리게이트를 조합하면 생각하는 기계를 만들 수 있겠다 생각


그러나 퍼셉트론(Multilayer Perceptrons)을 가지고 XOR문제를 풀지 못함

XOR 게이트 = 두개가 같으면 0 , 다르면 1

MIT Minsky 교수님이 1969년 MLP를 써서 XOR를 푸는것은 당시 기술로는 불가능하다는 증명을 함

시간이 흐른 후 1974년에 발표된 Paul Werbos(폴) 박사의
Backpropagatin(역전파) 를 통해 머신러닝으로 XOR문제를 풀 수 있게 됨


딥러닝의 핵심

MLP(Multilayer Perceptrons)을 사용
Backpropagation 이 성능을 극한으로 끌어 올리며 학습을 시킨다


Deep Neural Networks (딥 뉴럴 네트워크)

Input layer(입력층) : 학습시키고 픈 x 값
Output layer (출력층) : 예측한 값, 즉 y
Hidden Layer (은닉층) : 입력층과 출력층을 제외한 중간층

  • 적당한 정확도의 딥러닝 모델 = Baseline model

베이스라인 모델을 가지고 모델의 너비와 깊이를 조절, 테스트를 할 수 있음

네트워크 너비를 늘리는 방법 = 은닉층의 개수는 그대로, 노드 개수를 늘림
네트워크 깊이를 늘리는 방법 = 은닉층의 개수를 늘림


딥러닝의 주요 개념

배치(Batch) = 데이터 셋을 작 단위로 쪼개는 단위
반복(iteration) = 그 과정을 반복하는것
에폭(epoch) = 반복 학습

ex) 1천만개 데이터셋 1천개 단위의 배치로 쪼갬, 1만개의 배치가 되고, 이 1만개의 배치를 100 에폭을 돈다고 가정하면
(1만 * 100 = 100만번의 이터레이션이 됨)


활성화 함수 (Activation function)

뇌의 뉴런이 다음 뉴런으로 전달할ㄷ 때 보내는 전기신호의 특성에서 영감을 받아 만들어짐

활성화 함수 종류
Sigmoid
Leaky ReLU
tanh
Maxout
ReLU
ELU

보편적으로 쓰이는 활성화 함수는 ReLU(렐루)


딥러닝에서는 Linear Regression 선형회귀 라는 말보다는 아래와 같은 말로 불린다
MLP 연결구조를 부르는 용어

  • Dense Layer
  • Fully Conneted Layer = KCL (전부다 연결 되어있다)

Overfitting, Underfitting (과적합, 과소적합)

딥러닝 모델을 설계/튜징하고 학습했을때
Traning loss는 낮아짐에도 불구하고 Validation loss가 높아지는 시점이 있음

풀어야하는 문제 난이도에 비해 모델의 복잡도(Complexity)가 클경우 과적합 현상 발생

반대로 문제의 난이도에 비해 모델 복잡도가 낮을 경우 생기는 문제를 과소적합이라고 함

따라서 적당한 복잡도를 가진 모델을 찾아 수십번의 튜닝과정을 거치고, 최적합(Best fit)모델을 찾아야할 것


딥러닝의 주요 스킬

  • Data augmentation (데이터 증강 기법)
    과적합 (Overfitting)을 해결할 수 있는 좋은 방법은 데이터의 개수를 늘리는 것
    데이터가 부족할 때 이미 있는 데이터를 사용하여 증강시키는 개념

  • Dropout (드랍아웃)
    각 노드들이 이어진 선을 빼서 없앰
    (사공이 많으면 배가 산으로 간다는 속담을 생각하면 좋음)

  • Ensemble (앙상블)
    여러개 딥러닝 모델을 각각 학습시켜 출력을 기반으로 하나의 결과물을 도출한다
    (컴퓨터 파워가 충분하면 시도하기 좋음)

  • Learning rate decay 기법
    Local minimum에 빠르게 도달 하고 싶을때 씀

profile
코딩이 취미가 되는 그날까지

0개의 댓글