Skip to main content
QUICK REVIEW

[논문 리뷰] CTCModel: a Keras Model for Connectionist Temporal Classification

Yann Soullard, Cyprien Ruffino|arXiv (Cornell University)|2019. 01. 23.
Time Series Analysis and Forecasting참고 문헌 11인용 수 8
한 줄 요약

이 논문은 연결성 시간 분류(CTC)를 사용한 시퀀스 모델링 작업을 위한 엔드투엔드 훈련 및 추론을 가능하게 하는 Keras 호환 모델 확장인 CTCModel을 소개한다. 이는 텐서플로우의 CTC 구현을 세 가지 전용 Keras 모델(훈련, 예측, 평가용)을 통해 Keras에 통합함으로써, 언어 모델 없이도 RIMES 프랑스 수필 데이터셋에서 7.6%의 문자 오류율을 달성한다.

ABSTRACT

We report an extension of a Keras Model, called CTCModel, to perform the Connectionist Temporal Classification (CTC) in a transparent way. Combined with Recurrent Neural Networks, the Connectionist Temporal Classification is the reference method for dealing with unsegmented input sequences, i.e. with data that are a couple of observation and label sequences where each label is related to a subset of observation frames. CTCModel makes use of the CTC implementation in the Tensorflow backend for training and predicting sequences of labels using Keras. It consists of three branches made of Keras models: one for training, computing the CTC loss function; one for predicting, providing sequences of labels; and one for evaluating that returns standard metrics for analyzing sequences of predictions.

연구 동기 및 목표

  • 변동 길이 시퀀스 모델링을 위한 Keras 내부의 CTC 손실 지원 부족 문제를 해결하기 위해.
  • 음성 및 수필과 같은 분할되지 않은 순차 데이터에 대한 RNN의 원활한 훈련 및 추론을 가능하게 하기 위해.
  • 표준 메트릭스를 사용하는 CTC 훈련, 예측 및 평가를 위한 통합된 Keras 네이티브 인터페이스를 제공하기 위해.
  • CTC 손실 함수가 시퀀스 길이를 추가 매개변수로 요구하는 Keras의 제약을 극복하기 위해.
  • 기능적 Keras API 내에서 텐서플로우의 CTC 백엔드를 활용해 효율적인 훈련 및 디코딩을 지원하기 위해.

제안 방법

  • 훈련용 CTC 손실, 예측용 CTC 디코딩, 평가용 표준 메트릭스를 위한 세 개의 별도 Keras 모델을 봉인하는 CTCModel을 생성하기 위해 Keras Model 클래스를 확장한다.
  • 동적 프로그래밍을 통해 프론트-백워드 알고리즘을 활용하여, 효율적인 CTC 손실 및 디코딩 계산을 위해 텐서플로우의 내장 CTC 구현을 사용한다.
  • 관측 시퀀스, 레이블 시퀀스 및 각각의 길이를 추가 입력으로 요구함으로써 변동 길이 시퀀스를 처리한다.
  • 표준 RNN 아키텍처에 양방향 LSTM 레이어와 CTC 디코딩을 위한 추가 빈 레이블 유닛을 가진 소프트맥스 출력 레이어를 사용한다.
  • 입력 이미지를 슬라이딩 윈도우로 처리하여 고정 크기의 시퀀스 입력을 생성함으로써 순환 및 혼합 콘볼루션-순환 아키텍처를 모두 지원한다.
  • 입력 구조를 길이 및 드미 테이블 레이블을 포함하도록 조정함으로써, 표준 Keras 메서드(fit, evaluate, predict)를 사용한 훈련 및 평가를 가능하게 한다.

실험 결과

연구 질문

  • RQ1시퀀스 길이 매개변수를 요구하는 CTC 손실이 Keras 프레임워크에 효과적으로 통합될 수 있는가?
  • RQ2CTC 기반 시퀀스 모델링을 위한 훈련, 예측 및 평가를 지원하는 통합된 Keras 모델 인터페이스를 설계할 수 있는가?
  • RQ3언어 모델 없이도 CTCModel이 실제 수필 텍스트 인식 작업에서 어떤 성능 향상을 달성할 수 있는가?
  • RQ4CTCModel 아키텍처는 변동 길이 시퀀스 데이터에서 다양한 RNN 및 CNN-RNN 구성에 대해 어떻게 스케일링되는가?
  • RQ5원시 텐서플로우 CTC 구현에 비해 CTCModel은 엔드투엔드 시퀀스 모델링의 구현을 얼마나 단순화하는가?

주요 결과

  • 100유닛 양방향 RNN을 사용한 CTC 훈련으로 RIMES 테스트 세트에서 12.2%의 문자 오류율(CER)을 달성했다.
  • 200유닛 양방향 RNN 모델은 테스트 CER를 10.6%로 낮춰, 성능 향상을 위해 용량을 증가시킬 수 있음을 보여주었다.
  • 콘볼루션-RNN 아키텍처(conv8 RNN)는 7.6%의 최저 테스트 CER를 기록하여, 콘볼루션을 통한 특징 추출이 시퀀스 모델링에 기여함을 시사했다.
  • 첫 두 콘볼루션 레이어에 32개 필터를, 최종 레이어로 갈수록 256개로 증가시킨 모델은 RIMES 데이터셋에서 훈련 CER가 0.1%에 불과했다.
  • CTCModel 프레임워크는 표준 Keras 메서드를 사용한 엔드투엔드 훈련 및 추론을 성공적으로 구현하였으며, 레이블 오류율 및 시퀀스 오류율과 같은 평가 메트릭스도 지원했다.
  • 프레임워크는 순수 RNN 및 하이브리드 CNN-RNN 아키텍처를 모두 지원하여, 다양한 시퀀스 모델링 작업에 대한 유연성을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.