[딥러닝]End-to-End Deep Learning
카테고리: DeepLearning
1. End-to-End Deep Learning의 개념
End-to-end 라는 단어는 종종 deep learning 논문을 읽다 등장한다. “끝에서 끝으로”라는 의미이다.
그러면 End-to-end deep learnig은 무엇을 의미하는가?
End-to-end deep learning은 입력(input)에서 출력(output)까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리한다는 의미이다.
파이프라인 네트워크란 전체 네트워크를 이루는 부분적인 네트워크(sub-network)이다.
예를 들어, 기존의 음성 인식 시스템(speech recognition system)은 MFCC로 음성 파일의 특징을 추출했다.(MFCC는 음성의 스펙트럼을 이용하여 특징을 추출하는 방법이다.)
➜ Machine Learning 알고리즘으로 음소를 알아냄
➜ 음소들로 단어를 만듦
➜ words 출력 같은 복잡한 과정을 거치지만 end-to-end learning은 음성 파일에서 바로 출력을 구할 수 있다.
참고로 ML/DL 논문에서 end-to-end-trainable neural network이란 모델의 모든 매개변수가 하나의 손실함수에 대해 동시에 훈련되는 경로가 가능한 네트워크를 뜻한다. 즉, 신경망의 입력 및 출력을 직접 고려하여 네트워크 가중치를 최적화 할 수 있다.
2. Pros and Cons
1) Pros
- 충분히 Labeling 된 데이터가 있으면 신경망 모델로 해결할 수 있다.
- 직접 파이프라인을 설계할 필요가 줄어 든다.
- e.g) 사람이 feature 추출을 할 필요가 없다.
2) Cons
- 신경망에 너무 많은 hidden layer가 있어나, 너무 많은 노드가 존재하거나 메모리가 부족할 경우 end-to-end learning으로 학습할 수 없다.
- 문제가 복잡할 수록, 전체를 파이프라인 네트어크로 나눠서 해결하는 것이 더 효율적일 수 있다.
댓글 남기기