
ML/DL에서
end-to-end learning이란 단어를 종종 발견하게 된다. end-to-end는 '끝에서 끝을 잇는'이라는 의미인데 그러면 end-to-end learning이란 무엇을 의미하는가?
end-to-end learning은 입력에서 출력까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리한다는 의미이다. 파이프라인 네트워크란 전체 네트워크를 이루는 부분적인 네트워크이다.

예를 들어, 기존의 Speech recognition system은 MFCC로 음성 파일의 특징 추출 → ML 알고리즘으로 음소를 알아냄 → 음소들로 단어를 만듦 → words 출력 같은 복잡한 과정을 거치지만 end-to-end learning은 음성 파일에서 바로 출력을 구할 수 있다.
참고로 ML/DL 논문에서 end-to-end trainable neural network이란 모델의 모든 매개변수가 하나의 손실함수에 대해 동시에 훈련되는 경로가 가능한 네트워크를 뜻한다. 즉, 신경망의 입력 및 출력을 직접 고려하여 네트워크 가중치를 최적화 될 수 있다.
👍🏻 장점
- 충분할 라벨링된 데이터가 있으면 신경망 모델로 해결할 수 있다
- 직접 파이프라인을 설계할 필요가 줄어 든다. e.g.) 사람이 feature 추출 X
👎🏻 단점
- 신경망에 너무 많은 계층의 노드가 있거나 메모리가 부족할 경우 경우 end-to-end learning으로 학습할 수 없다.
- 문제가 복잡할 수록, 전체를 파이프라인 네트워크로 나눠서 해결하는 것이 더 효율적일 수 있다.
도움 많이 됐어요 감사합니다!