[딥러닝]End-to-End Deep Learning

Date:     Updated:

카테고리:

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)이다.

1

예를 들어, 기존의 음성 인식 시스템(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으로 학습할 수 없다.
  • 문제가 복잡할 수록, 전체를 파이프라인 네트어크로 나눠서 해결하는 것이 더 효율적일 수 있다.

Reference

jeewoo1025.log 블로그

DeepLearning 카테고리 내 다른 글 보러가기

댓글 남기기