안녕하세요. 논문 작성기로는 작년 CVPR 준비 이후로 두번째로 작성하네요. 다른 부분으로는 거의 두번째…? CVPR 준비했던 논문을 TMM에 다시 제출하느라 추가 실험을 조금 했으니 2.5회차라고 하면 좋을 것 같긴 하네요.
사실 제가 맡고있는 비디오 검색 과제에서 성과용 논문이 필요해서 다른 실험을 계속 하고 있던 중이었습니다. 그래서 시간상의 문제로 AAAI 2023에 논문 작성을 할 생각이 없었는데, 조원 연구원님이 좋은 연구 주제를 찾아서 실험만 빠르게 같이해서 논문 내보자고 권유해주셔서 같이 참여하게 되었습니다. (제가 쓸 논문도 잘 됬으면 좋겠고… 이번에 쓴 논문도 붙으면 참 좋겠네요.)
지난번 논문 작업과 이번 작업에서의 가장 큰 차이는 그래도 지식의 총량이 지난번 보다 늘었다는 점입니다. 이전 논문 작업에서는 사실 따라가는데 조금 벅찬 느낌이었는데 그래도 이번 논문 작업에서 다룬 방법론들은 논문을 읽어봤거나 코드를 돌려본 방법론들이라 이런 부분들은 수월했던 부분이었습니다. 다만 짧은 시간 안에 진행해야 했어서 실수하면 안되는 부분들이 있었는데, 실수하지 않는 부분이나 시간 관리가 조금 어려웠던 것 같습니다.
일단 저는 이번 논문에서 TCA에서 사용중인 MoCo라는 학습 방법론을 우리 모델에 적용해보는 역할과 타 방법론들에서 적용할 수 있는 부분들에 대한 실험을 맡았습니다. MoCo는 TCA에서도 사용하고 있어서 contribution은 없더라도, 모델의 학습 안정성과 최대 성능을 조금 더 올릴 수 있을 것이라고 판단해서 적용해보려고 한 방법론입니다. 다만, 시간을 들여서 최적 세팅을 찾아서 저희 모델에 적용해보니 그렇게 큰 성능 향상이 발생하지 않아 결국 빠지게 되었습니다. 투자한 시간이 있어서 빠진게 조금 아쉽긴 한데, 이 실험을 하면서 모델에서 학습이 왜 안되는지 디버깅 하는 방법을 조원 연구원님에게 배울 수 있어서 새로 작성중인 논문에서도 도움이 되는 중이라 그런 부분까지 고려하면 다행인 것 같습니다.
다음으로는 다른 방법론들을 분석해서 해당 방법론들에서 사용하는 feature들을 분석해서 우리 방법론에서 사용할 수 있게 코드를 짜는 일도 했는데요. 이게 여러 종류의 feature를 뽑아서, 학습에 사용할 augmentation까지 적용해서 뽑는 일이라 14시간~20시간 정도 걸리는 일이라 한번 실수하면 좀 문제가 생기는 부분이었습니다. 그래서 농담삼아 이거 다시 뽑는 일 있으면 안된다고 농담도 하고… 결과물을 확인해봤는데… 여기서 제가 실수를 해서 일부를 다시 뽑아야 하는 일이 생겼습니다. 아쉬웠던 점은 실수를 발견한 후에 디버깅 할 수 있는 방법을 임근택 연구원이 알려줬는데, 분명 실수하지 않을 수 있었는데… 제가 처음 디버깅 할때는 왜 그런 방법을 생각하지 못했는지 많이 아쉬웠습니다. 그래도 조원 연구원님과 임근택 연구원님이 실험 순서를 잘 조절해줘서 다행히 잘 마무리 한 것 같네요.
마지막으로는 우리 방법론과 다른 방법론들의 비교 실험입니다. 다른 방법론들에 작년 CVPR을 준비하면서 밤새서 라벨링 했던 FIVR+A-5K를 이용하여 Oracle 성능을 측정하는 것이나 저희 방법론과 비교될 수 있을 만한 방법론들이 실제로 어떻게 attention을 수행하는지를 수치적으로 확인하는 실험도 수행했습니다. Oracle 성능 측정 자체는 사실 어려움이 없었는데 attention을 사용하는 방법론과의 비교가 조금 아쉬웠습니다. 이 부분이 저희 모델 실험이 완료된 이후에 진행되어서 살짝 아쉬웠던 부분인데요. 이 attention weight를 시각화한 결과를 일주일만 일찍 봤어도 모델을 조금 더 잘 학습시킬 수 있었을 것 같다는 생각이 들어서 좀 아쉽다는 생각이 들었습니다. 그래도 지금도 학습 자체는 잘 된 것 같아서 참 다행입니다.
여기까지 이번 논문 작업에서 제가 한 일과 아쉬웠던 점을 정리해보았습니다. 이번 논문에서 알아낸 내용을 바탕으로 다음 논문도 작성할 것 같은데, 다음 논문에서는… 꼭 오랜 시간이 걸리는 코드에서는 디버깅을 어떻게 할 방법이 있는지 고민을 해서 실수 없이 1인분 할 수 있도록 해보겠습니다. 감사합니다.