dev.Log

CTC (Connectionist Temporal Classification) 본문

인공지능

CTC (Connectionist Temporal Classification)

초코푸딩 2024. 11. 18. 00:25

시퀀스 예측 문제에서 사용하는 알고리즘입니다. CTC는 입력 시퀀스와 출력 시퀀스의 길이가 다를 때도 학습이 가능하도록 만들어졌습니다.

CTC의 주요 목표는 정렬되지 않은 입력과 출력 간의 매핑을 자동으로 학습하는 것입니다. 예를 들어 음성 데이터에서 특정 문장을 인식하는 경우, 음성의 길이와 문장의 길이가 서로 다를 수 있는데, CTC는 이 두 시퀀스를 정렬 없이도 잘 예측할 수 있도록 해줍니다.

CTC의 작동 원리는 다음과 같습니다:

  1. 확률 분포 생성: 입력 시퀀스를 통해 각 시간 프레임마다 가능한 출력에 대한 확률 분포를 만듭니다.
  2. 블랭크 토큰 추가: CTC는 출력이 입력보다 짧아질 수 있으므로, '블랭크'라고 불리는 특수 토큰을 추가해 불필요한 시퀀스를 제거할 수 있도록 합니다.
  3. 경로 합산: 가능한 모든 정렬 경로를 고려하여 최종 확률을 계산합니다. 이를 통해 어떤 시퀀스 경로로도 같은 출력을 만들 수 있도록 해줍니다.

CTC는 RNN(Recurrent Neural Network)과 함께 사용될 때 매우 효과적입니다. RNN이 시간 종속적인 정보를 처리하고 CTC가 정렬 문제를 해결하면서 원하는 출력을 생성할 수 있도록 도와줍니다.

'인공지능' 카테고리의 다른 글

임베딩 생성과 모달 정렬의 차이 (RAG와 LLM-ASR 관점에서)  (0) 2025.07.14
모델 양자화(Quantization)란?  (0) 2025.04.22
프롬프팅 확장 테크닉  (2) 2024.12.14
프롬프팅테크닉  (1) 2024.11.19
Machine Learning  (1) 2024.11.02
Comments