논문 작성
먼저 읽을 장 23.6 결과 분석과 주장의 범위
논문은 실험 결과를 시간 순서로 적은 보고서가 아니다. 몇 개의 주장과, 독자가 그 주장을 스스로 검증할 수 있게 배치한 근거의 묶음이다. 실험을 모두 끝내고 나서 "이제 무엇을 쓸까"를 고민하면, 근거가 빠진 주장과 주장에 쓰이지 않는 실험이 함께 남는다. 이 장은 주장에서 출발해 논문의 뼈대를 세우고, 각 절이 그 뼈대에서 맡는 역할을 정하고, 결과를 과장 없이 보고하는 방법을 다룬다.
23.6장에서 만든 주장–근거 표가 이 장의 출발점이다. 그 표의 각 줄이 논문의 문장이 되고, 근거 열이 그림과 표가 된다. 그림과 표를 만드는 방법은 23.9장에서 다룬다.
학습 목표
- 주장–근거–실험이 연결된 논문을 쓴다
- 각 절의 역할을 이해한다
- LaTeX로 작성한다
논문의 뼈대
왜 필요한가. 독자(리뷰어 포함)가 논문에서 알고 싶은 것은 세 가지다. 무엇을 주장하는가, 그 주장을 무엇으로 확인할 수 있는가, 그 주장은 어디까지 성립하는가. 이 세 가지가 문장 단위로 연결되어 있지 않으면, 결과가 좋아도 독자는 무엇이 증명되었는지 알 수 없다.
정의. 논문의 뼈대(claim map)는 다음 세 층으로 이루어진다.
- 핵심 기여 한 문장: "우리는 X 문제에서 Y 방법이 Z 조건에서 W만큼 낫다는 것을 보인다." 이 문장을 쓸 수 없으면 아직 논문을 쓸 단계가 아니다.
- 주장 2–4개: 핵심 기여를 나눈 검증 가능한 문장. 각 주장은 데이터·조건·지표의 범위를 가진다(23.6장).
- 근거: 주장마다 그것을 보이는 그림·표·정리. 주장 하나에 근거가 최소 하나, 근거 하나는 주장 하나 이상에 쓰여야 한다.
직관. 뼈대를 표로 만들면 빈칸이 바로 보인다. 근거 열이 빈 주장은 실험이 필요하거나 지워야 하고, 어떤 주장에도 연결되지 않은 그림은 부록으로 가거나 빠진다.
| 주장 | 근거 | 위치 | 상태 |
|---|---|---|---|
| C1. 물리 손실을 넣은 B는 상온·고온에서 A보다 SOH 오차가 작다 | 온도별 MAE와 짝지은 구간 | 표 2, 그림 3 | 완료 |
| C2. 이득은 모델 크기만으로 설명되지 않는다 | 같은 파라미터 수의 A 확대와 비교, ablation | 표 3 | 완료 |
| C3. 물리 손실이 저온 성능 저하의 원인이 아니다 | 없음 | — | 실험 필요 또는 삭제 |
| (부록) 학습 곡선 | 그림 S1 | 부록 | 어떤 주장의 근거인지 확인 |
쓰는 순서. 실험이 끝나고 나서가 아니라 실험 중에 뼈대를 쓴다. 뼈대를 먼저 쓰면 어떤 실험이 빠졌는지가 일찍 보이기 때문이다. 원고는 대체로 다음 순서로 쓰는 것이 효율적이다.
- 핵심 기여 한 문장과 주장 목록
- 근거가 되는 그림과 표(캡션까지)
- 방법과 실험 절
- 서론과 관련 연구
- 결론과 초록. 초록은 나머지가 확정된 뒤에 마지막으로 쓴다
연구에서의 의미. 뼈대는 실험 계획(23.5장)과 같은 문서의 다른 면이다. 실험을 설계할 때 "이 실험이 어떤 주장의 근거가 되는가"를 물으면, 논문을 쓸 때 쓸모없는 실험이 줄고 꼭 필요한 실험이 빠지지 않는다.
각 절의 역할
왜 필요한가. 독자는 논문을 처음부터 끝까지 순서대로 읽지 않는다. 제목과 초록으로 읽을지 정하고, 그림과 결론을 훑고, 필요한 절만 찾아 읽는다(23.2장). 각 절이 정해진 역할을 지키면 독자가 원하는 정보를 원하는 위치에서 찾는다.
| 절 | 답하는 질문 | 흔한 실수 |
|---|---|---|
| 제목 | 무엇을 했는가(방법과 대상) | 결과의 범위보다 넓은 제목("배터리 수명 예측의 해결") |
| 초록 | 문제·방법·핵심 결과(숫자와 조건)·의미를 한 단락에 | 결과 숫자 없이 "우수한 성능을 보였다" |
| 서론 | 왜 중요한가, 무엇이 부족했는가, 우리는 무엇을 했는가, 기여 목록(절 번호와 함께) | 분야 전체의 역사로 시작해 기여가 2쪽 뒤에 나옴 |
| 관련 연구 | 이 연구가 기존 연구와 어떻게 다른가 | 논문 목록 나열. 차이를 말하지 않음 |
| 방법 | 독자가 다시 구현할 수 있을 만큼의 정의 | 핵심 설계 선택의 이유가 없음, 하이퍼파라미터가 부록에도 없음 |
| 실험 | 각 주장을 어떤 실험으로 검증했는가 | 실험 순서가 주장과 무관하게 진행 순서대로 나열됨 |
| 한계 | 주장이 어디서 멈추는가 | 생략하거나 "향후 연구"로 한 줄 |
| 결론 | 무엇을 보였고 무엇이 남았는가 | 초록 반복, 실험에 없는 새 주장 |
서론의 구조. 서론은 흔히 네 단락으로 짤 수 있다. ① 문제와 그 중요성, ② 기존 접근과 그 한계(구체적으로), ③ 이 연구의 접근과 핵심 아이디어, ④ 기여 목록. 기여 목록의 각 항목은 뼈대의 주장 하나에 대응하고, 그 근거가 있는 절을 가리킨다("C1: 4.2절, 표 2").
방법 절의 기준. 방법 절은 "같은 분야의 다른 연구자가 이 논문과 공개 코드만으로 결과를 재현할 수 있는가"를 기준으로 쓴다(23.3장). 본문에는 핵심 아이디어와 설계 선택의 이유를, 부록에는 모든 하이퍼파라미터·데이터 전처리·탐색 범위·계산 자원을 쓴다.
한계 절. 한계는 약점의 고백이 아니라 주장의 범위를 정확히 하는 절이다. 23.6장 주장–근거 표의 "주장하지 않음" 행과 "근거 약함" 판정이 그대로 한계 절의 재료다. 좋은 한계 서술은 구체적이다.
- 나쁜 예: "본 연구는 일부 한계가 있으며 향후 연구가 필요하다."
- 좋은 예: "B는 0 °C에서 A보다 MAE가 0.27 %p 컸다(표 2, 시험 셀 60개). 저온 학습 데이터가 적은 것이 원인일 수 있으나, 저온 데이터 2배 증량 실험에서는 판정할 수 있는 개선이 없었다(부록 C). 또한 모든 실험은 한 제조사의 NMC 셀에서 수행했으며, 다른 화학조성으로의 일반화는 검증하지 않았다."
리뷰어가 스스로 한계를 발견하면 논문 전체의 신뢰가 떨어진다. 저자가 먼저 쓰면 그 한계는 주장의 범위가 된다. 일부 학회는 한계 서술 여부를 투고 체크리스트로 묻는다(집필 시점 예시: NeurIPS의 논문 체크리스트). 해당 연도의 투고 안내에서 확인한다.
수식과 알고리즘
표기의 일관성. 같은 대상은 논문 전체에서 같은 기호로, 다른 대상은 다른 기호로 쓴다. 기호는 처음 나올 때 정의하고, 기호가 많으면 표기 표를 둔다. 흔한 문제는 다음과 같다.
- 같은 기호를 두 가지 뜻으로 쓴다(가 온도이기도 하고 시계열 길이이기도 하다).
- 벡터·행렬의 굵은 글씨를 절마다 다르게 쓴다.
- 본문의 기호와 그림·표·알고리즘 박스의 기호가 다르다.
- 단위를 빠뜨린다. 물리량에는 단위를 쓰고, 단위가 없는 양(정규화된 값)은 그렇다고 밝힌다.
LaTeX에서는 표기를 매크로로 한 번만 정의하면 일관성을 유지하기 쉽다. 표기를 바꿀 때 한 줄만 고치면 된다.
% preamble: 표기 매크로 (집필 시점 예시)
\usepackage{amsmath,amssymb}
\newcommand{\vx}{\mathbf{x}} % 입력 벡터
\newcommand{\vtheta}{\boldsymbol{\theta}} % 모델 파라미터
\newcommand{\loss}{\mathcal{L}}
\newcommand{\Tcell}{T_{\mathrm{cell}}} % 셀 온도 [K]; 시계열 길이 T와 구별
알고리즘 박스. 방법이 여러 단계의 절차라면 의사코드(pseudocode)로 정리한다. 수식만으로는 반복의 순서, 무엇을 갱신하고 무엇을 고정하는지가 드러나지 않는다. 알고리즘 박스의 기호는 본문 수식과 같아야 하고, 각 줄이 본문의 식 번호를 가리키면 좋다. 집필 시점 예시로 algorithm과 algpseudocode 패키지를 쓴 형식은 다음과 같다.
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{algorithm}[t]
\caption{물리 손실을 더한 학습}
\label{alg:physics-loss}
\begin{algorithmic}[1]
\Require 학습 데이터 $\mathcal{D}$, 가중치 $\lambda$, 학습률 $\eta$
\For{각 mini-batch $(\vx, y) \subset \mathcal{D}$}
\State $\loss \gets \loss_{\mathrm{data}}(\vx, y; \vtheta) + \lambda\,\loss_{\mathrm{phys}}(\vx; \vtheta)$ \Comment{식 (3)}
\State $\vtheta \gets \vtheta - \eta \nabla_{\vtheta} \loss$
\EndFor
\State \Return $\vtheta$
\end{algorithmic}
\end{algorithm}
패키지마다 명령 이름이 다르고(예: algorithmic과 algpseudocode), 학회 템플릿이 특정 패키지를 금지하거나 권장하기도 하므로 템플릿의 안내를 먼저 확인한다.
결과 보고
왜 필요한가. 결과 숫자 하나만으로 독자는 그것이 얼마나 믿을 만한지 판단할 수 없다. 숫자가 어떻게 만들어졌는지(몇 번, 무엇을 바꿔, 어떤 조건에서)가 함께 있어야 한다.
보고할 것. 결과 표나 그림 하나마다 독자가 다음 네 가지를 찾을 수 있어야 한다. 통계적 근거는 12.5장의 보고 방식을, 재현을 위한 환경 기록은 22.2장을 따른다.
- 중심값: 평균인지 중앙값인지.
- 변동성: 표준편차인지 표준오차인지 신뢰구간인지. "±"만 쓰면 독자는 알 수 없다.
- 표본 수와 독립 단위: seed 몇 개, 셀 몇 개, 분할 몇 번. 무엇을 반복해 변동을 쟀는가.
- 측정 조건: 데이터셋과 버전, 시험 조건, 지표의 정확한 정의. 속도·메모리라면 하드웨어와 batch 크기.
캡션. 표와 그림의 캡션은 본문을 읽지 않아도 숫자를 해석할 수 있게 쓴다.
표 2. 시험 온도별 SOH 예측 MAE (%p). 값은 seed 5개의 평균 ± 표준편차. 각 seed는 셀 단위 분할과 초기화를 함께 바꿨다. 마지막 열은 같은 seed끼리 짝지은 차이 B − A의 평균과 95% t 구간. 굵은 글씨는 짝지은 구간이 0을 포함하지 않는 경우만 표시했다.
본문의 문장. 숫자를 쓸 때는 조건과 불확실성을 함께 쓴다.
- 나쁜 예: "B는 A보다 크게 향상된 성능을 보였다."
- 좋은 예: "25 °C 시험 셀 300개에서 B의 MAE는 A보다 0.19 %p 낮았다(짝지은 부트스트랩 95% 구간 [0.13, 0.25])."
과장 없는 서술
왜 필요한가. 제목·초록·기여 목록은 가장 많이 읽히고 가장 많이 인용되는 부분이다. 여기서 주장이 근거보다 넓어지면, 실험 절이 정확해도 논문은 과장된 주장으로 기억된다. Lipton과 Steinhardt(2018)는 ML 논문에서 설명과 추측을 구별하지 않는 것, 기술 용어를 원래 뜻보다 넓게 쓰는 것을 흔한 문제로 꼽았다.
흔한 과장 표현. 다음 표현은 근거가 있을 때만 쓰고, 없으면 오른쪽처럼 고친다.
| 과장 표현 | 문제 | 근거에 맞춘 표현 |
|---|---|---|
| "X 문제를 해결한다" | 해결의 기준이 없다 | "X 벤치마크에서 오차를 a에서 b로 줄인다" |
| "일반화한다" | 시험한 데이터셋 하나 | "같은 분포의 새 셀에서 성능이 유지된다. 다른 화학조성은 시험하지 않았다" |
| "유의하게 향상" | 검정을 하지 않았다 | 검정·구간을 밝히거나 "향상"만 쓴다 |
| "최초로" | 문헌 조사의 범위가 불분명 | "우리가 아는 한" 같은 수식 대신, 비교한 선행 연구를 구체적으로 쓴다 |
| "물리적으로 일관된" | 시험 세트에서만 확인 | "시험 세트에서 에너지 보존 오차가 c 이하" |
| "모델이 ~를 이해한다" | 내부 메커니즘을 확인하지 않았다 | "모델의 예측이 ~와 상관된다" |
| "견고하다(robust)" | 어떤 교란에 대한 것인지 없다 | "입력 잡음 σ ≤ 0.05에서 정확도 저하가 1%p 이내" |
기여의 범위. 기여 목록의 각 항목은 뼈대의 주장 하나와 같은 범위를 가져야 한다. 실험이 "한 데이터셋, 세 조건"이면 기여도 그만큼이다. 범위를 좁게 쓴 주장은 약해 보이지만, 리뷰를 통과하고 재현되는 주장이다.
추측의 표시. 결과를 설명하는 메커니즘을 실험으로 확인하지 않았다면, 추측이라고 표시한다. "이는 B가 저온의 내부 저항 효과를 학습하지 못했기 때문이다"는 검증된 인과 설명으로 읽힌다. "가능한 설명은 … 이다. 이를 확인하려면 … 실험이 필요하다"는 정확하다.
도구
LaTeX. 대부분의 ML·물리·수학 학회와 저널은 LaTeX 템플릿을 제공한다. 수식, 상호 참조(\label·\ref), 참고문헌 관리를 자동으로 처리하는 것이 장점이다. 생명과학처럼 Word 템플릿을 주로 쓰는 분야도 있으므로 투고처의 안내를 따른다.
- 템플릿: 학회가 매년 배포하는 스타일 파일(
.sty·.cls)을 그대로 쓴다. 여백·글꼴 크기를 바꾸면 쪽수 제한 위반으로 심사 없이 반려될 수 있다. 투고 연도의 템플릿인지 확인한다. - 파일 구조: 절마다 파일을 나누고(
sections/method.tex) 본 파일에서\input한다. 그림은figures/에 두고, 그림을 만드는 스크립트의 출력 경로와 맞춘다(23.9장). - 버전 관리: 원고도 git으로 관리한다. 공동 저자와 동시에 편집한다면 Overleaf 같은 온라인 편집기를 쓰고, git 연동 기능이 있는지 확인한다(집필 시점 예시).
참고문헌 관리. 참고문헌은 BibTeX 또는 biblatex로 관리하고, 서지 정보는 출판사·DOI 기록에서 가져온다. Zotero 같은 참고문헌 관리자를 쓰면 .bib 파일을 자동으로 만들 수 있다(집필 시점 예시). 인용 키를 일관된 규칙으로 정하고(예: 저자연도첫단어), arXiv 판으로 인용한 논문이 학회·저널에 출판되었는지 투고 전에 확인한다.
표. 표는 세로선 없이 가로선 세 개(위·제목 아래·아래)로 만드는 booktabs 형식이 널리 쓰인다. 숫자 열은 소수점으로 정렬한다. 유효숫자와 강조 규칙은 23.9장에서 다룬다.
\usepackage{booktabs}
\begin{table}[t]
\centering
\caption{시험 온도별 MAE (\%p). 평균 $\pm$ 표준편차, seed 5개.}
\label{tab:per-temp}
\begin{tabular}{lccc}
\toprule
방법 & 0\,°C & 25\,°C & 45\,°C \\
\midrule
A & 1.31 $\pm$ 0.05 & 1.24 $\pm$ 0.02 & 1.22 $\pm$ 0.04 \\
B (제안) & 1.58 $\pm$ 0.06 & 1.05 $\pm$ 0.02 & 1.10 $\pm$ 0.04 \\
\bottomrule
\end{tabular}
\end{table}
이 표의 숫자는 형식을 보이기 위한 예다(평균은 23.6장의 시뮬레이션, 표준편차는 임의 값). 한글을 쓰려면 템플릿에 따라 kotex 같은 패키지와 XeLaTeX·LuaLaTeX 컴파일이 필요할 수 있다. 국제 학회 투고본은 영어로 쓰므로 보통 문제가 되지 않는다.
AI 도구와 글쓰기
활용 범위. 언어 모델 기반 도구는 문장 다듬기, 문법 교정, 번역, LaTeX 오류 해결, 그림 코드 작성에 도움이 된다. 반면 다음은 도구에 맡길 수 없다.
- 주장과 근거의 판단: 무엇을 주장할지, 근거가 충분한지는 저자의 책임이다.
- 인용: AI 도구는 존재하지 않는 논문이나 틀린 서지 정보를 그럴듯하게 만들어 낼 수 있다. 인용은 모두 원문을 직접 확인한다(23.1장).
- 결과 숫자와 실험 설명: 도구가 다듬은 문장이 숫자·조건·범위를 바꾸지 않았는지 확인한다. "MAE가 줄었다"가 "모든 지표에서 향상"으로 바뀌는 식의 확대가 흔하다.
- 기밀 원고와 데이터: 미발표 원고나 심사 중인 원고를 외부 서비스에 넣으면 기밀 유지 의무를 어길 수 있다. 소속 기관과 서비스의 데이터 정책을 확인한다.
기록. AI 도구를 어디에 어떻게 썼는지 연구 노트에 기록한다(23.7장). 투고처가 사용 사실의 공개를 요구하면 이 기록이 근거가 된다.
정책 확인. 집필 시점에 여러 출판사와 학회가 AI 도구 사용에 관한 정책을 두고 있다. 공통적으로 AI 도구는 저자가 될 수 없고, 사용 사실을 밝히도록 요구하는 경우가 많다. 다만 무엇을 밝혀야 하는지(문법 교정도 포함하는지), 그림 생성을 허용하는지, 심사자가 원고를 AI 도구에 넣을 수 있는지는 투고처마다 다르고 자주 바뀐다. 투고하는 해의 저자 안내와 심사 정책을 직접 읽는다.
실습
자신의 연구를 4쪽 워크숍 논문 형식으로 쓰고, 각 주장의 근거 위치를 표시한다.
- 핵심 기여 한 문장과 주장 2–4개를 쓴다. 23.6장의 주장–근거 표에서 시작한다.
- 주장마다 근거가 되는 그림·표를 정하고 캡션까지 쓴다. 근거가 없는 주장은 실험을 계획하거나 지운다.
- 학회 템플릿(투고하려는 곳, 없으면 아무 ML 학회의 최신 템플릿)으로 방법·실험·한계·서론·결론·초록 순서로 쓴다. 표기 매크로를 preamble에 정의한다.
- 원고의 각 주장 문장 옆에
% C1: 표 2같은 LaTeX 주석으로 근거 위치를 표시한다. 기여 목록의 각 항목이 근거 절을 가리키는지 확인한다. - 이 장의 과장 표현 표로 제목·초록·기여 목록을 점검한다. 바꾼 표현을 목록으로 남긴다.
- 동료에게 초안을 주고 "이 논문의 핵심 주장은 무엇이고, 어떤 결과로 확인할 수 있는가"를 한 단락으로 써 달라고 한다. 동료의 답이 뼈대의 주장 목록과 다르면 그 부분을 고친다.
실패 사례
- 실험을 모두 끝낸 뒤 논문 구조를 생각하는 것. 근거가 빠진 주장과 어떤 주장에도 쓰이지 않는 실험이 함께 남는다. 마감 직전에 빠진 실험을 발견하면 주장을 줄이는 수밖에 없다.
- 한계를 숨기는 것. 리뷰어가 발견한 한계는 저자가 쓴 한계보다 훨씬 크게 작용한다. 불리한 조건의 결과도 숫자와 함께 쓴다.
- "±"가 무엇인지 쓰지 않는 것. 표준편차와 표준오차는 배 다르다. 캡션에 쓰고 표본 수를 함께 쓴다.
- 제목·초록이 실험보다 넓은 주장을 하는 것. 한 데이터셋의 결과로 "일반화"를, 검정 없이 "유의한"을 쓴다.
- AI 도구가 제시한 인용을 확인하지 않고 쓰는 것. 존재하지 않는 논문을 인용하면 연구 부정으로 이어질 수 있다.
통과 기준
- 독자가 핵심 주장 각각을 어떤 그림·표로 검증할 수 있는지 명확한 초안을 완성한다. 기여 목록의 모든 항목이 근거 위치를 가리킨다.
- 초안은 학회 LaTeX 템플릿에서 정의되지 않은 참조(
??)나 인용 경고 없이 컴파일되고, 반복해 쓰는 기호는 preamble의 매크로로 정의되어 있다. - 초안의 모든 결과 숫자에 중심값·변동성의 종류·표본 수·측정 조건이 본문이나 캡션에 있다.
- 한계 절에 주장이 성립하지 않거나 검증하지 않은 조건을 숫자와 함께 두 가지 이상 쓴다.
참고 문헌
- Lipton, Steinhardt (2018). Troubling trends in machine learning scholarship. arXiv:1807.03341. — 설명과 추측의 혼동, 이득의 출처를 밝히지 않음, 용어 오용 등 ML 논문의 흔한 결함