본문 바로가기
딥러닝

4. How Deep learning work

by 볼록티 2020. 3. 28.
728x90
반응형

 

머신러닝과 딥러닝 접근 방법 사이의 가장 큰 차이는 바로 데이터로부터 representation에 대한 학습을 하느냐 이다. 딥러닝은 이 representation을 스스로 학습한다.

 

머신러닝과 같은 경우 3가지 준비물이 필요한데, 입력값, 결과값, 성능지표 이다. 머신러닝의 중심 문제는 어떻게 데이터를 의미있게 변형하냐이며 이는 곧 날 것(raw)입력 데이터에 대해 유용한 representation을 만들어 낼 것이냐로 해석된다.

 

데이터를 표현하는 방식이 곧 representation 이라고 할 수 있다. 데이터를 어떻게 representaion하느냐에 따라서 task level이 차이가 나게 되고 이는 곧 성능에 중요한 요소로써 작용하게 된다.

 

 

label을 가진 두 변수를 그래프위에 뿌렸을 때 위의 문제는 분류문제로 이 둘을 나누는 문제라고 볼 수 있다. 아래의 그림을 보면서 representation 을 이해해 보자.

 

 

좌표를 돌려서 눈으로만 봐도 구분이 되고 규칙을 찾을 만큼 분류문제를 쉽게 만들어 버렸다. 이렇게 좌표를 돌리는 것과 같은 학습(learning representation)은 연속적인 layer를 거치면서 학습하게 된다. 딥러닝의 deep의 의미는 representation의 연속적인 layer의 아이디어로 볼 수 있다.

 

 

 

왼쪽 그림처럼 raw signal(잘안보이지만 숫자 4임.)을 주게 되면 연속된 여러 레이어를 거치면서 들어온 raw signal을 처리를 하게 된다. 최종적으로  입력된 영상에 쓰여진 숫자가 0~9사이에 어떤숫자인지를 출력하게 된다.

$y = f(x;w)$ $y$출력을 위해서 모델 $f$에서 입력 $x$를 받아 $w$가중치를 통한 계산을 거치는 것이다. 오른쪽 그림은 어떻게 representation을 학습하냐에 대한 그림인데, 레이어를 거치면서 입력받은 데이터에 대한 함축방법을 계속 학습해 나가는 것이다.

 

 

이 레이어가 하는 역할이 뭐냐? 위의 그림을 보면 X를 받으면 레이어에서 해당 가중치를 토대로 계산을 하게 되고, 이를 거쳐 Y를 출력하게 되는데, 이 우리의 목표는 파라미터인 가중치를 좋은 가중치를 찾는 것이다.

 

예측치 Y를 얻었는데, 여기서 실제 Y와의 비교를 통해서 현재 상태의 모델이 얼마나 잘하고 있는지를 측정할 수 있다. 이를 측정하는 함수가 loss function 이라고 하며, 이 함수를 통해 최소화를 시켜야 성능을 올릴 수 있는 것이다. 

$ Loss(Y', Y) $ 로 나타냄. <= 최소화 시켜줘야하는 ovjectice function(목적함수) 이 된다.

 

 

 

 

모델의 prediction 을 수정하면서 loss score를 줄여야하는데 이를 위해 weight를 수정한다 계속해서. 아무렇게나 바꾸는게 아니라 Optimizer를 활용하는데 대부분의 모델들이 Backpropagation 알고리즘을 사용하고 있다.

 

 

 

 

Loss를 줄여나가는 과정을 보여주는 그래프이다. Epoch는 얼마나 weight를 조정하였는가 횟수를 나타내고, Y축이 바로 objective function의 값이 된다.

 

 

 

 

정리를 해보면,

 

우선 네트워크에는 구조가 있어야한다. 레이어와 노드 어떻게 연결할건지를 산정을 해주어야한다. weight의 초깃값은 랜덤으로 지정한다. 그래서 초기에는 엉뚱한 방향으로 예측을하게 된다. 그리고 loss score를 줄이는 방향으로 weight를 조정하게 된다. weight가 최소가 되면 학습을 종료하고 최종적인 뉴럴네트워크 모델을 얻게 되는 것이다.

 

 

Image classification, speech recognition, handwriting transcription, machine translation, text-tospeech conversion, autonomous driveing 기타등등 에서 활약을 하고 있다.

 

 

 

 

 

 

 

 

 

 

 

sangheumHwang. deep learning. [Graduate Class at Seoultech]

728x90
반응형

'딥러닝' 카테고리의 다른 글

binary classification_multi perceptron  (0) 2020.06.20
MNIST 데이터를 활용한 딥러닝 기초  (2) 2020.05.16
3. Generalization  (0) 2020.03.28
2. Machine learning  (0) 2020.03.28
1. Introduction to Deep Learning  (0) 2020.03.28

댓글