티스토리 뷰

Study/AI

[MLY] end-to-end learning의 예

생각많은 소심남 2018. 10. 12. 09:15

 음성 인식 시스템을 만들길 원한다고 가정해보자. 그러면 아래와 같이 세가지 요소로 구성된 시스템을 만들 것이다:

각 요소들은 다음과 같이 동작한다:

 1. 특징 연산(Compute features)
  : MFCC(Mel-frequency cepstrum coefficients)와 같이 수동적으로 생성된 특징을 추출한다. 이를 통해 화자의 음정과 같이 상대적으로 연관성이 적은 특성들 배제하고 방언이나 사투리의 내용을 얻는데 주력한다.

 2. 음소 인식(Phonemene recognizer)
  : 몇몇 언어학자들은 "음소"라고 불리는 발음의 기본 요소들이 있다고 믿는다. 예를 들어 "keep"에서 처음 발음되는 "k"는 "cake"에서 "c"와 같은 음소를 가지고 있는 것이다. 지금 다루는 시스템은 음성 데이터 내에서 음소를 인식하는데 주력한다.

 3. 최종 인식(Final recognizer)
  : 인식된 음소들의 연속된 형태를 취해 하나의 문장으로 만들고 이를 출력으로 내보낸다.

이와 반대로 end-to-end 시스템에서는 입력으로 음성 데이터를 받아 바로 번역된 결과를 출력으로 내보낼 것이다:

 지금까지 우리는 머신러닝 상에서 완전히 선형적(linear)인 "파이프라인"에 대해서만 표현했었다. 이 말은 출력이 처음부터 끝까지 순차적(sequentially)으로 전달된다는 것이다. 사실 파이프라인은 조금 더 복잡해질 수 있다. 예를 들어, 아래의 그림은 자율 주행차의 간단한 구조이다.

 위의 구조도 세가지 요소로 구성되어 있다. 하나는 카메라 이미지를 활용해서 다른 차들은 탐지하는 것이고, 다른 하나는 보행자들을 탐지하는 것이다. 그리고 마지막 요소는 다른 차와 보행자들을 피할 수 있는 길을 찾는 것이다.

 파이프라인 상의 모든 요소들이 학습되어야 하는 것은 아니다. 예를 들어 "robot motion planning"의 분야는 최종적인 경로를 찾는데 다양한 알고리즘들이 존재한다. 이런 알고리즘들의 대부분은 학습과 연관되어 있지 않다.

 이와 대조적으로 end-to-end방식으로 접근해보면 입력으로 센서의 입력을 받을 것이고, 출력으로 회전 방향을 결정하게 될 것이다.

 end-to-end 학습이 많이 성공했다 하더라도, 이 방식이 항상 최고의 접근 방식은 아니다. 예를 들어 end-to-end방식의 음성 인식은 잘 동작한다. 하지만, 자율주행 분야에 있어 end-to-end 학습은 약간 회의적이다. 이유에 대해서는 뒤에서 설명하고자 한다.

< 해당 포스트는 Andrew Ng의 Machine Learning Yearning 중 chapter 48. More end-to-end learning examples를 번역한 내용입니다.>

댓글