이미지에서 LaTeX으로
수식을 사진으로 찍으면 이 모델이 LaTeX 코드로 변환합니다. 이 글은 AI가 번역한 기사입니다. 오역이 있을 수 있으니 댓글로 자유롭게 알려 주세요.
Created on September 15|Last edited on September 15
Comment
근대 과학의 아버지 갈릴레이는 “자연의 책은 수학의 언어로 쓰여 있다”고 말했다. 그리고 현대에 이르면, 수학은 LaTeX의 언어로 쓰인다. 심리학부터 인공지능에 이르기까지 모든 학문 분야가 아름답고 완벽하게 서식화된 방정식을 통해 탁월한 아이디어를 전달하는 도구로 LaTeX을 사용한다. 안타깝게도 수식을 LaTeX 언어로 옮겨 적는 데에는 부가적인 작업이 필요하다. Im-2-LaTeX는 과학자들의 이러한 부담을 줄이는 것을 목표로 하는 프로젝트다.
문제 정의
과학자가 LaTeX 수식을 작성하는 데 드는 시간을 줄이기 위해, 우리는 수식 이미지를 사용자의 LaTeX 코드로 자동 변환하는 프로세스를 구축했다. 이 애플리케이션을 통해 사용자가 올바른 LaTeX를 학습하고 작성하는 데 시간을 쓰기보다 정말 중요한 일, 즉 자신의 연구에 집중할 수 있기를 바란다. 과학자는 논문이나 인터넷에 이미 존재하는 수식을 캡처해 즉시 해당 LaTeX 코드를 얻고, 자신의 목적에 맞게 수정할 수 있다. 딥러닝을 활용하여 이 작업에서 공개된 최고 성능을 능가하는 모델을 학습시키는 데 성공했다.
관련 연구
이 프로젝트는 다음의 하버드 논문을 크게 참고했다: 보는 대로 얻는다해당 논문에서 저자들은 확장 가능한 코어스 투 파인 주의 메커니즘에 기반한 신경망 인코더–디코더 모델을 사용해 이미지를 표현 마크업으로 변환한다. 우리의 작업은 하버드 연구 그룹의 성과에 크게 의존하고 있다. 모델 섹션에서 보게 되겠지만, 우리는 그들의 인코더–디코더 아키텍처를 기반으로 구축했다.
데이터셋
이 문제는 OpenAI의 연구 요청에서 영감을 받았다. 하버드 논문에서는 데이터셋을 공개했다: Im2LaTeX-100K - 이미지-투-LaTeX 시스템을 위한 사전 구축 데이터셋이 포함되어 있다. 약 100,000개의 LaTeX 수식과 렌더링된 이미지가 arXiv에서 수집되었으며, 학습, 검증, 테스트 세트로 분할되어 있다. 각 이미지는 고정 크기의 PNG이며, 수식은 검은색이고 나머지 영역은 투명하다. 모델 학습 전에 데이터를 대대적으로 전처리했다. 예를 들어, 하나의 수식을 여러 방식으로 표기할 수 있으므로 방정식 정규화를 수행했다.
데이터 예시:

모델 아키텍처
실험 과정에서 우리는 두 가지 모델을 테스트했다. 첫 번째는 단순한 CNN 인코더와 GRU 디코더에 Bahdanau 어텐션을 적용한 모델이었다. 이 모델은 TensorFlow 2.0용 이미지 캡셔닝 튜토리얼로 이미 구현되어 있어, 우리 데이터셋에 적용하기 비교적 수월했기 때문에 기준선으로 사용했다.
최종 모델 아키텍처는 Harvard 논문을 기반으로 했으며, 논문에 제시된 사양을 바탕으로 TensorFlow 2.0으로 구현했다. 모델은 세 가지 주요 구성 요소로 이루어져 있다:
- 합성곱 신경망(CNN) 인코더
- 양방향 LSTM 행 인코더
- Luong 스타일 어텐션을 사용하는 LSTM 디코더
완전 연결층 없이 합성곱 신경망을 설계하여 어떤 형태의 입력도 처리할 수 있도록 했다. 행 인코더의 목적은 각 행을 스캔하여 이미지 내 상대적 위치를 지역화하는 것이다. 마지막 구성 요소는 Luong 스타일 어텐션 메커니즘을 적용해 더 나은 학습을 위한 컨텍스트 벡터를 구성하도록 설계된 LSTM 디코더다.

학습
학습 과정에서 기준선 대비 성능을 높이기 위해 여러 핵심 요소를 실험했다. 최적화 알고리즘으로는 Stochastic Gradient Descent, Adam, RMSprop을 사용해 보았다. 가중치 초기화 기법으로는 Glorot Uniform과 He Normal을 시도했다. 또한 학습률과 배치 크기도 다양하게 조정하며 실험했다.
여러 차례 실험한 결과, 손실이 정체되는 구간에 따라 학습률을 조정하는 방식의 SGD 옵티마이저와 배치 크기 32, He Normal 초기화를 조합했을 때 가장 좋은 성능을 얻었다. 손실 곡선은 아래에서 확인할 수 있다.

위에서 보인 것처럼 기준선 모델, 최신 성능의 모델, 그리고 우리의 실험 모델 간 손실을 비교했다. 손실은 교차 엔트로피 손실 함수를 사용해 계산했으며, 최고 성능 모델의 학습 손실이 최신 성능 모델보다 낮았다.
또한 평가 지표로 Harvard 논문에서 사용한 퍼플렉서티 점수를 채택했다.

학습 및 검증 데이터셋의 퍼플렉서티 점수 역시 최신 성능의 모델보다 낮았다.
샘플 이미지
아래는 모델에 입력된 이미지와 그에 대한 렌더링된 출력 예측의 일부 예시다. 모든 이미지는 테스트 세트에서 가져왔으며, 이 세트는 모델 학습이나 하이퍼파라미터 튜닝에 전혀 사용되지 않은 데이터의 하위 집합이다.




[[TRANSLATION_FAILED]]
현재 과제와 향후 과제
최종 모델이 데이터셋에서는 높은 예측 성능을 달성했지만, 일반적인 방정식 스크린샷 이미지에 대해서는 여전히 예측 품질이 떨어진다. 이는 데이터셋의 사전 처리된 입력 이미지와 일반 사용자가 제공할 것으로 예상되는 이미지 사이에 상당한 분포 차이가 존재함을 의미한다(아래 그림 참고).

위 그림은 데이터셋에서 가져온 사전 처리된 이미지와 스크린샷 이미지 간 차이가 미치는 영향을 보여준다. (A)는 데이터셋 이미지에 대해 모델이 정확한 출력 예측을 제공함을 나타낸다. (B)는 스크린샷 이미지에 대해 모델이 부정확한 출력 예측을 제공함을 보여준다.
사용자가 유용한 소프트웨어 도구로 우리의 모델을 사용할 수 있도록 배포하려면, 먼저 이 분포 변화를 해결해야 한다. 초기 실험을 통해 이 변화의 주된 원인이 데이터셋에 적용된 경직된 전처리 파이프라인에 있을 가능성이 높다는 점을 확인했다. 전처리된 입력 이미지는 예상되는 사용자 입력을 정확히 반영하지 않는다. 현재 우리는 이 문제를 해결하기 위해 두 가지 주요 방법을 모색하고 있다:
- 무작위 이미지 증강을 포함한 유연한 전처리 파이프라인을 구축한다. 증강 기법은 스크린샷 이미지에서 흔히 나타나는 왜곡을 반영해야 한다.
- 하드코딩된 전처리를 대체하여 원본 이미지에서 전처리된 이미지로의 최적 매핑을 학습할 수 있는 추가 딥러닝 구성 요소를 도입한다. 더 어려울 수 있지만, 이는 범용 광학 문자 인식(OCR)을 향한 가장 유망한 접근이라고 본다.
결론
모델의 성능에 대해 고무되어 있으며, 앞으로도 지속적으로 개선해 나가길 기대한다. 우리는 Weights & Biases의 새로 출시된 하이퍼파라미터 튜닝 기능을 활용하고, 허용 가능한 입력의 경직성을 줄이기 위해 데이터셋을 조정할 계획이다.
멋진 딥러닝 애호가들과 함께 놀라운 프로젝트를 진행할 수 있도록 Applied Deep Learning 강좌를 마련해 준 Weights & Biases에 감사드립니다.
Add a comment