실전 머신러닝 적용 3주차

kinghong97·2022년 1월 10일
0

딥러닝

머신러닝의 한 분야

multilayer perceptrons MLP

여러 층
인풋 히든 아웃풋

보편적으로 히든 레이어를 늘렸다가 줄이는 방식

활성화 함수는 보편적으로 히든 레이어 바로 뒤에 넣는다

backpropagation

에러가 나면 뒤에가서 다시 고친다

우리가 만든 적당한 연산량과 정확도를 가진 딥러닝 모델을 베이스라인이라고 한다

노드의 개수를 늘리는게 네트워크의 너비를 늘린다고 한다

레이어의 개수를 늘리는게 네트워크의 깊이를 늘린다고 한다

딥러닝의 주요 개념

batch

많은 데이터셋을 작은 단위로 쪼개서 학습을 시키는데 쪼개는 단위를 배치라고 한다

iteration

천만개를 만배치씩 쪼개어 천번하는데 반복하는 과정을 이터레이션이라고 한다

epoch

천번 이터레이션을 100번 반복한다고 하면 100에폭을 반복한다고 한다

활성화 함수 activation

0은 활성화가 안된거고 정수는 활성호가 된거고

대부분 비선형의 활성화 함수

활성화 시킬지 안시킬지 정한다

렐루가 간단해서 잘쓴다 relu

이미처리는 tanh를 쓴다 하이퍼볼릭탄젠트

과적합과 과소적합 overfitting underfitting

오버피팅

딥러닝 모델을 설계 튜닝하고 학습시키다 보면 가끔씩 training loss는 점점 낮아지는데

validation loss가 높아지는 시점

딥러닝의 주요 스킬

data augmentation 데이터 증강기법

과적합을 해결할 가장 좋은 방법은 데이터의 개수를 늘리는 방법

데이터를 늘리기 위해 데이터 증강을 사용

특히 이미지 처리 딥러닝에서 많이 사용

데이터를 복사 변형시켜서 데이터를 늘림

딥러닝이 일반화를 더 시킨다

오버 피팅을 피할 가장 좋은 방법

dropout

가장 간단한 방법

각 노드에서 이어진 선을 빼서 없앤다

랜덤한 노드를 빼버린다

적당한 노드를 빼버러서 성능을 높힌다

앙상블 ensemble

컴퓨터 파워만 충분하다면 가장 시도해보기 쉬운 방법

랜덤 포레스트와 비슷하다

각각의 출력을 모아 마지막으로 판단해서 최종 아웃풋을 낸다

learning rate decay (learning rate schedules)

local minimum에 빠르게 도달하고 싶을 때 사용

러닝레이트를 처음엔 크게했다가 점점 작게하는 러닝레이트 디케이

오버슈팅을 막는 가장 좋은 방법

0개의 댓글