WRITING · 2026-11-02

순차 학습이 성능을 떨어뜨린 이유 — catastrophic forgetting 실험기

단어 단위 → 문맥 단위로 차례로 학습하면 더 좋아질 줄 알았는데, BERTScore가 0.47에서 0.32로 떨어졌다. FLAN-T5 LoRA 학습 전략 비교.

NLPFLAN-T5LoRA실험 설계

포스코 청년 AI·BigData 아카데미에서 콩글리시를 자연스러운 원어민 표현으로 바꿔 주는 시스템을 팀으로 만들었습니다. 예를 들어 "I'm very exciting to meet you" 같은 문장을 "I'm really excited to meet you"처럼 고쳐 주는 것이 목표였습니다. 문법 교정기는 문법은 맞지만 어색한 표현을 잘 잡지 못해서, 생성 모델로 접근했습니다.

저는 교정 데이터 구축과 모델 실험을 맡았습니다. 이 글은 그중 학습 전략을 비교하다 겪은 일입니다.

데이터를 두 종류로 만들었다

교정 데이터를 두 단위로 구축했습니다.

모델은 FLAN-T5에 LoRA를 붙여 파인튜닝했습니다. 전체 가중치 대신 작은 어댑터만 학습해 제한된 GPU에서도 여러 번 실험할 수 있었습니다.

가설: 쉬운 것부터 차례로 배우면 더 잘할 것이다

사람이 단어를 먼저 익히고 문장을 배우듯, 단어 단위로 먼저 학습하고 이어서 문맥 단위로 학습하면 더 좋을 거라고 생각했습니다. 그래서 세 가지 전략을 같은 조건에서 비교했습니다.

전략 방법
A. 단어 → 문맥 순차 단어 데이터로 학습한 모델을 이어서 문맥 데이터로 학습
B. 문맥 → 단어 순차 순서를 반대로
C. 통합 학습 두 데이터를 섞어 한 번에 학습

평가는 BERTScore F1로 했습니다. 교정 결과는 정답이 하나가 아니라서, 단어가 정확히 일치하는지보다 의미가 얼마나 가까운지를 보는 지표가 적합하다고 판단했습니다.

결과: 순차 학습에서 앞 단계 성능이 무너졌다

순차 학습에서 이상한 현상이 보였습니다. 앞 단계 학습으로 얻은 성능이, 다음 단계를 학습하고 나니 BERTScore F1 0.47에서 0.32로 떨어진 것입니다.

두 번째 데이터를 배우면서 먼저 배운 것을 잊어버린 셈입니다. 신경망이 새 작업에 맞춰 가중치를 갱신하면서 이전 작업에 필요한 정보를 덮어쓰는 현상으로, catastrophic forgetting이라고 부릅니다. 개념으로만 알던 현상을 직접 실험 결과로 확인한 셈입니다.

순서를 바꾼 경우까지 포함해 순차 학습 결과는 0.32~0.47에 머물렀습니다. 순서를 잘 고르는 문제가 아니라, "나눠서 차례로 학습한다"는 방식 자체를 다시 봐야 했습니다.

통합 학습으로 전환

두 데이터를 섞어 한 번에 학습한 C에서 검증 BERTScore F1이 약 0.74가 나왔습니다. 순차 학습(0.32~0.47)보다 확실히 높았습니다.

여기에 팀에서 만든 RAG를 결합했습니다. 다국어 문장 임베딩과 FAISS로 입력과 비슷한 교정 예문 5개를 찾아 모델 입력에 함께 넣어, 모델이 비슷한 사례를 참고해 교정하도록 했습니다. 프로젝트는 아카데미에서 장려상을 받았습니다.

배운 것

POSPEAK(KILL KONG) — 콩글리시 → 원어민 표현 교정 AI (FLAN-T5·Qwen + RAG)이 글에서 다룬 코드는 저장소에서 볼 수 있습니다.
GitHub 저장소 →포트폴리오로
다른 글겹쳐 있는 두 신호를 위상으로 가르기 — 파수 상관 필터링 석사 연구 정리중력과 자력 데이터를 같은 주파수 성분끼리 비교해, 함께 움직이는 성분과 반대로 움직이는 성분을 나눴다. 임계값을 감으로 정하지 않으려고 한 일들.점수를 지키면서 올리기 — VQA 챌린지에서 앙상블 후보를 고른 기준정확도가 조금 올라도 원래 맞히던 문제를 많이 틀리면 불안정한 개선이다. fixes와 breaks로 순기여를 따져 0.94608에서 시작한 점수를 쌓아 올린 과정.LLM이 붙인 [근거 N]을 코드로 다시 검사하기 — 국보 RAG 가이드의 인용 설계근거를 인용하라고 프롬프트에 써도 LLM은 없는 번호를 붙입니다. 근거 번호를 검색 단계에서 고정하고, 답변의 인용을 코드로 파싱해 없는 번호는 지우고 실제로 인용한 근거만 보여 주는 구조를 만든 기록.YAML 파일 하나로 포트폴리오·이력서·비공개 페이지까지 — 이 사이트를 만든 방식내용은 한 곳에만 쓰고, 웹 페이지·PDF 이력서·노션 문서는 빌드로 만든다. 공개하면 안 되는 내용은 저장소에 평문으로 남기지 않는다.데이터를 해석하기 전에 그 데이터가 만들어진 역사를 본다 — 학부 제1저자 논문 회고해외 대규모 CO2 저장소 8곳을 판구조 형성사와 탄성파 영상으로 비교했다. 처리 결과를 '그럴듯한지' 판단하는 기준을 어디서 가져올 것인가에 대한 이야기.길찾기에서 의사결정으로 — 배틀싸피 자동 플레이 봇을 세 번 고친 기록목표까지 가는 BFS 한 줄짜리 봇이, 사거리·장애물·탄약·보급·암호 해독까지 판단하는 봇이 되기까지. 매 턴 다시 계획하는 구조로 바꾼 이유.산불 4건으로 시공간 딥러닝 학습하기데이터가 35개 시점뿐일 때 어떻게 학습시켰고, 다시 보니 무엇이 부족했는지. U-LSTM 산불 확산 예측 모델 회고.LLM 응답을 믿지 않는 파이프라인 설계LLM에는 판단만 맡기고, 결과는 코드로 검증한다. 댓글 분석 파이프라인과 AI 도서 추천을 만들며 정한 네 가지 원칙.