투고와 동료 심사

먼저 읽을 장 23.8 논문 작성

논문을 다 쓴 뒤에도 연구는 끝나지 않는다. 투고한 논문은 몇 명의 심사자가 읽고, 그들의 판단과 저자의 응답을 거쳐 채택되거나 거절된다. 이 과정은 연구의 품질을 높이는 가장 중요한 외부 점검이지만, 처음 겪는 사람에게는 규칙이 불투명하고 결과가 자의적으로 보인다. 같은 논문이 한 학회에서는 높은 점수를, 다른 학회에서는 거절을 받는다. 심사자가 논문을 오해한 것 같은데 어떻게 답해야 할지 모른다. 심사 요청을 처음 받으면 무엇을 써야 할지도 모른다.

이 장은 심사를 받는 쪽과 하는 쪽을 함께 다룬다. 두 역할은 같은 기술의 양면이다. 좋은 리뷰를 써 본 사람은 자기 논문의 약점을 심사자보다 먼저 찾고, 좋은 rebuttal을 써 본 사람은 리뷰가 저자에게 어떻게 읽히는지 안다. AI for Science 논문은 ML 심사자와 과학 분야 심사자 양쪽에게 읽히므로, 두 공동체의 기준을 모두 의식해야 한다. 발표 경로의 종류와 동료 심사의 역할·한계는 1.6장에서 개관했다. 이 장은 그 실제를 다룬다. 학회·저널의 규정은 해마다 바뀌므로, 이 장의 구체적인 이름은 모두 집필 시점 예시이고, 규칙은 해당 학회·저널의 최신 규정을 확인한다는 절차로 쓴다.

학습 목표

  • 투고 과정과 심사 규칙(익명성·이해 상충·보충 자료)을 이해한다
  • 리뷰 점수와 심사자 간 불일치를 해석한다
  • 건설적인 리뷰를 쓰고 rebuttal에 대응한다

투고 과정

왜 알아야 하는가. 투고 규칙을 어기면 내용과 무관하게 논문이 심사 없이 거절(desk reject)될 수 있다. 쪽수 초과, 익명성 위반, 형식 위반, 이중 투고가 대표적이다. 규칙은 학회·저널마다, 같은 학회라도 해마다 다르다. 이 절은 공통 구조를 설명하고, 구체적인 규칙은 확인 절차로 남긴다.

학회와 저널의 차이. ML에서는 학회가, 많은 과학 분야에서는 저널이 주된 발표 경로다(1.6장). 심사의 흐름도 다르다.

학회 (ML 학회 기준) 저널
일정 정해진 마감일. 마감 → 심사 → 저자 응답 → 결정이 정해진 날짜에 진행 수시 투고. 편집자가 심사자를 찾는 대로 진행
심사 횟수 대개 한 번의 심사와 한 번의 응답 기회 여러 차례. 수정 요구(major/minor revision) → 수정본 → 재심사
결정권자 심사자 의견을 모은 area chair(AC)·program committee 담당 편집자(editor)
분량 엄격한 쪽수 제한, 나머지는 부록 저널마다 다르지만 대개 더 길다
저자 응답 짧은 rebuttal(글자 수·기간 제한) 지적마다 답하는 response letter와 수정본

학회 심사는 한 번의 기회에 가깝다. rebuttal 기간은 짧고, 그 안에 할 수 있는 추가 실험은 제한된다. 저널은 수정의 기회가 여러 번이지만 한 바퀴에 몇 달이 걸린다. 어느 쪽이든 투고 전에 확인할 것은 같다.

  1. 공식 페이지의 call for papers와 저자 지침. 주제 범위, 쪽수 제한(참고문헌·부록 포함 여부), 템플릿, 마감 시각과 시간대.
  2. 익명성 규칙. 심사 방식과, 프리프린트·코드 공개가 허용되는지.
  3. 보충 자료 규칙. 부록을 본문 PDF에 붙이는지 따로 내는지, 코드를 낼 수 있는지와 그 형식.
  4. 이중 투고·선행 발표 규칙. 같은 내용을 다른 곳에 동시에 낼 수 없다는 규칙은 거의 모든 학회·저널에 있다. 워크숍 발표나 프리프린트가 "선행 발표"로 간주되는지는 곳마다 다르다.
  5. AI 도구 사용 정책. 원고 작성에 생성형 AI를 쓴 경우의 공개 의무(23.12장), 심사에서의 사용 제한.

익명성 규칙. 심사 방식은 대략 세 가지다.

  • 단일 맹검(single-blind): 심사자는 저자를 알고, 저자는 심사자를 모른다. 많은 과학 저널의 전통적인 방식이다.
  • 이중 맹검(double-blind): 서로 모른다. 많은 ML 학회가 쓴다. 저자는 원고에서 신원이 드러나는 정보를 지워야 한다.
  • 공개 심사(open review): 리뷰와 토론을 공개하거나, 심사자 이름까지 공개한다. 집필 시점 예시로, ICLR은 OpenReview에서 리뷰와 저자–심사자 토론을 공개한다.

이중 맹검에서 흔한 실수는 자기 인용이다. "우리의 이전 연구 [12]에서 보였듯이"는 저자를 드러낸다. "Kim 외 [12]는 ...을 보였다"처럼 3인칭으로 인용한다. 자기 연구를 아예 인용하지 않으면 관련 연구가 빠진 논문이 되므로 그것도 답이 아니다. 실명 계정의 코드 저장소 링크, 감사의 글, 연구비 번호, 파일의 메타데이터(PDF 작성자 필드)도 신원을 드러낸다. 코드는 익명화한 사본을 학회가 허용하는 방식으로 낸다.

보충 자료. 본문에 들어가지 못한 증명, 추가 실험, 하이퍼파라미터 표, 데이터 문서, 코드를 보충 자료(supplementary material)로 낸다. 두 가지를 기억한다. 첫째, 심사자는 보충 자료를 읽을 의무가 없는 경우가 많다. 논문의 핵심 주장을 뒷받침하는 결과는 본문에 있어야 한다. 둘째, 보충 자료는 재현을 위한 것이다. 실행 명령, 환경, seed, 분할 정보가 있으면 심사자와 독자가 결과를 확인할 수 있다(22.2장).

이해 상충. 이해 상충(conflict of interest, COI)은 판단의 공정성이 의심받을 수 있는 관계다. 투고 시스템은 저자와 심사자 모두에게 이해 상충을 등록하게 한다. 흔한 범주는 다음과 같다.

  • 최근 몇 년 안의 공동 저자
  • 같은 기관(학과·연구소) 소속
  • 지도교수와 학생, 박사후 연구원과 지도자
  • 가족·개인적 관계, 금전적 이해관계(같은 회사, 자문, 연구비)

"최근"이 몇 년인지, 어느 범위까지 같은 기관으로 보는지는 학회·저널마다 다르니 해당 규정을 확인한다. 반대로 상대의 논문을 읽고 인용한 적이 있다, 같은 분야에서 일한다는 이해 상충이 아니다. 그런 사람이야말로 적합한 심사자다. 다만 직접 경쟁하는 같은 연구를 진행 중이라면 공정하게 판단하기 어려울 수 있으니, 심사를 맡기 전에 편집자나 AC에게 알린다.

심사의 기밀성. 심사 중인 원고는 공개되지 않은 연구다. 심사자는 원고를 다른 사람과 공유하지 않고, 심사가 끝날 때까지 원고의 아이디어를 자기 연구에 쓰지 않는다. 학생에게 심사를 대신 맡기거나 함께 하려면 편집자나 AC의 허락을 먼저 받는다. 원고를 외부 AI 서비스에 넣는 것은 원고를 제3자에게 보내는 것과 같다. 이를 금지하거나 제한하는 학회·저널이 있으니 규정을 확인하고, 규정이 없어도 기밀성 원칙을 기준으로 판단한다. 심사자 윤리의 일반 원칙은 출판 윤리 위원회(COPE)의 심사자 지침에 정리되어 있다.

리뷰 받기

리뷰의 구조. 리뷰는 대개 다음 부분으로 이루어진다. 양식은 학회·저널마다 다르다.

부분 내용 저자가 읽을 때
요약 심사자가 이해한 논문의 주장과 방법 의도와 다르면 논문 서술이 불분명하다는 신호
강점 심사자가 인정한 기여 rebuttal에서 지킬 것
약점 결론을 막는 문제 rebuttal의 중심
질문 확인하고 싶은 것 답하면 점수가 바뀔 수 있는 것
점수·확신도 종합 점수(예: 1–10)와 심사자의 확신도 AC가 의견을 모을 때 쓰는 값

요약부터 읽는다. 심사자의 요약이 저자의 의도와 다르면, 그 뒤의 약점 지적은 그 오해에서 나왔을 가능성이 크다. 오해의 원인은 대개 논문의 서술에 있다.

심사 점수는 잡음이 크다. 같은 논문을 다른 심사자가 읽으면 다른 점수가 나온다. 2014년 NeurIPS는 투고 논문의 10%를 두 개의 독립된 program committee가 따로 심사하게 한 실험을 했다. 이 실험을 다시 분석한 Cortes와 Lawrence는 심사자 점수 변동의 약 절반이 주관적인 요인에서 왔다고 추정했다(참고 문헌). 리뷰 결과를 해석할 때 이 잡음을 염두에 둔다. 거절이 곧 연구가 틀렸다는 뜻은 아니고, 채택이 곧 옳다는 뜻도 아니다.

심사자들이 서로 얼마나 일치하는지는 Cohen kappa로 잰다. 두 심사자가 같은 판정을 내린 비율(관측 일치율, pop_o)만 보면 오해하기 쉽다. 대부분의 논문이 거절되는 학회에서는 두 심사자가 모두 "거절"이라고 쓰는 일이 우연만으로도 잦기 때문이다. Cohen kappa는 우연히 일치할 비율 pep_e를 뺀다.

κ=po−pe1−pe,pe=∑kp1k p2k\kappa = \frac{p_o - p_e}{1 - p_e}, \qquad p_e = \sum_k p_{1k}\, p_{2k}

p1kp_{1k}, p2kp_{2k}는 심사자 1과 2가 범주 kk(채택·거절 등)를 고른 비율이다. 두 심사자가 서로 독립적으로, 각자의 비율대로 판정한다면 기대되는 일치율이 pep_e다. κ=1\kappa = 1이면 완전 일치, κ=0\kappa = 0이면 우연 수준의 일치다. 논문 20편에 대한 세 심사자의 권고로 계산해 본다.

import numpy as np

def cohen_kappa(a, b):
    """두 평가자의 범주 판정 a, b (N,)의 Cohen kappa."""
    a, b = np.asarray(a), np.asarray(b)
    p_o = np.mean(a == b)                                            # 관측 일치율
    p_e = sum(np.mean(a == c) * np.mean(b == c) for c in np.union1d(a, b))  # 우연 일치율
    return (p_o - p_e) / (1 - p_e)

# 논문 20편에 대한 권고 (1 = 채택, 0 = 거절)
r1 = np.array([1, 1, 1, 1] + [0] * 16)             # (20,)
r2 = np.array([1, 1, 0, 0, 1, 1] + [0] * 14)       # (20,)
r3 = np.zeros(20, dtype=int)                       # (20,) 무조건 거절하는 심사자
for name, other in [("r2", r2), ("r3", r3)]:
    print(f"r1 vs {name}: 일치율 {np.mean(r1 == other):.2f}, kappa {cohen_kappa(r1, other):.3f}")
r1 vs r2: 일치율 0.80, kappa 0.375
r1 vs r3: 일치율 0.80, kappa 0.000

r1과 r2는 20편 중 16편에서 같은 판정을 내렸다. 그러나 두 심사자 모두 20%만 채택을 권고하므로, 서로 무관하게 판정해도 pe=0.2×0.2+0.8×0.8=0.68p_e = 0.2 \times 0.2 + 0.8 \times 0.8 = 0.68만큼은 일치한다. 우연을 넘는 일치는 κ=0.375\kappa = 0.375다. 논문을 읽지도 않고 모두 거절하는 r3도 r1과의 일치율은 0.80으로 같지만, kappa는 정확히 0이다. 일치율 0.80이라는 숫자는 두 경우를 구별하지 못한다.

kappa 값에 "보통", "상당한" 같은 말을 붙이는 척도(Landis와 Koch의 구분이 널리 쓰인다)가 있지만 경계는 관례일 뿐이다. 값 자체와 함께 범주의 비율, 표본 수를 보고한다. 같은 계산은 심사 밖에서도 쓰인다. 두 전문가가 현미경 영상이나 의료 영상에 label을 붙일 때, label의 일치도는 모델이 도달할 수 있는 성능의 상한을 가늠하게 해 준다.

점수의 보정. 심사자마다 점수를 주는 습관이 다르다. 어떤 심사자는 대부분의 논문에 3–4점을 주고, 어떤 심사자는 7–8점을 준다. AC는 이 차이를 감안해 의견을 모은다. 가장 단순한 보정은 심사자마다 자기 점수의 평균과 표준편차로 표준화하는 것이다.

zrp=srp−sˉrσrz_{rp} = \frac{s_{rp} - \bar{s}_r}{\sigma_r}

srps_{rp}는 심사자 rr이 논문 pp에 준 점수, sˉr\bar{s}_r와 σr\sigma_r는 심사자 rr이 준 모든 점수의 평균과 표준편차다. 심사자 세 명이 논문 여섯 편을 두 명씩 심사한 예에서, 원점수 평균과 보정 점수 평균의 순위를 비교한다.

reviews = [("P1", "A", 4), ("P1", "C", 6), ("P2", "A", 3), ("P2", "B", 9),
           ("P3", "B", 8), ("P3", "C", 7), ("P4", "A", 5), ("P4", "C", 9),
           ("P5", "B", 7), ("P5", "C", 4), ("P6", "A", 2), ("P6", "B", 6)]
papers = sorted({p for p, _, _ in reviews})
by_rev = {r: np.array([s for _, rr, s in reviews if rr == r], float) for r in "ABC"}
for r, s in by_rev.items():
    print(f"심사자 {r}: 평균 {s.mean():.2f}, 표준편차 {s.std():.2f}")

def z(r, s):                                        # 심사자 r 안에서 표준화한 점수
    return (s - by_rev[r].mean()) / by_rev[r].std()

raw = {p: np.mean([s for pp, _, s in reviews if pp == p]) for p in papers}
cal = {p: np.mean([z(r, s) for pp, r, s in reviews if pp == p]) for p in papers}
print("원점수 순위:", sorted(papers, key=lambda p: -raw[p]))
print("보정 순위:  ", sorted(papers, key=lambda p: -cal[p]))
for p in papers:
    print(f"{p}: 원점수 평균 {raw[p]:.1f}, 보정 점수 {cal[p]:+.2f}")
심사자 A: 평균 3.50, 표준편차 1.12
심사자 B: 평균 7.50, 표준편차 1.12
심사자 C: 평균 6.50, 표준편차 1.80
원점수 순위: ['P3', 'P4', 'P2', 'P5', 'P1', 'P6']
보정 순위:   ['P4', 'P2', 'P3', 'P1', 'P5', 'P6']
P1: 원점수 평균 5.0, 보정 점수 +0.08
P2: 원점수 평균 6.0, 보정 점수 +0.45
P3: 원점수 평균 7.5, 보정 점수 +0.36
P4: 원점수 평균 7.0, 보정 점수 +1.36
P5: 원점수 평균 5.5, 보정 점수 -0.92
P6: 원점수 평균 4.0, 보정 점수 -1.34

심사자 A는 엄격하고(평균 3.5) B는 관대하다(평균 7.5). P1은 A에게 4점을 받았는데, A의 기준으로는 평균보다 높은 점수다. 그래서 원점수로는 다섯 번째지만 보정하면 P5를 앞선다. P5는 관대한 B에게서 7점을 받았지만 B의 기준으로는 평균 이하라 보정 후 아래로 내려간다. 이 보정은 심사자들이 받은 논문의 질이 평균적으로 비슷하다는 가정 위에 있다. 한 심사자에게 우연히 좋은 논문이 몰렸다면 그 심사자는 실제로는 공정한데 관대해 보인다. 심사자당 논문 수가 적으면 평균과 표준편차 자체가 불안정하다. 그래서 실제 AC는 숫자를 기계적으로 보정하기보다 리뷰의 내용과 확신도를 함께 읽는다.

저자에게 이 계산의 교훈은 두 가지다. 첫째, 점수 하나에 과하게 반응하지 않는다. 같은 5점도 누가 주었느냐에 따라 의미가 다르고, 저자는 그것을 알 수 없다. 둘째, 점수보다 리뷰의 내용이 중요하다. AC가 결정할 때 읽는 것도 내용이다.

리뷰를 분류한다. 리뷰를 받으면 하루쯤 두고 감정이 가라앉은 뒤, 모든 지적을 표로 옮겨 분류한다.

분류 예 대응
오해 이미 본문에 있는 실험을 요구함 위치를 알려 주고, 왜 놓쳤을지 생각해 서술을 고친다
타당한 약점, 지금 해결 가능 baseline 하나 누락, seed 수 부족 추가 실험을 하고 결과를 보고한다
타당한 약점, 지금 해결 불가 실험실 검증, 대규모 재학습 한계를 인정하고 주장의 범위를 줄인다
범위 밖 요청 다른 문제에 대한 실험 왜 범위 밖인지 정중히 설명한다
사소한 지적 오타, 표기, 그림 고쳤다고 짧게 답한다

Rebuttal 작성. Rebuttal(저자 응답)은 심사자와 AC에게 쓰는 글이다. 목표는 심사자를 이기는 것이 아니라 결정권자가 정확한 정보로 판단하게 하는 것이다.

  1. 가장 중요한 지적부터. 점수를 결정한 핵심 약점 두세 개에 분량의 대부분을 쓴다. 여러 심사자가 같은 점을 지적했다면 공통 응답으로 먼저 답한다.
  2. 지적을 인용하고 답한다. "R2-W1: 'baseline X와 비교하지 않았다'"처럼 어느 지적에 답하는지 밝힌다.
  3. 증거로 답한다. 추가 실험 결과, 본문의 위치(절·표·식 번호), 수정한 문장을 제시한다. "우리는 동의하지 않는다"만으로는 아무것도 바뀌지 않는다.
  4. 오해에는 책임을 나눈다. "심사자가 3.2절을 놓쳤다"가 아니라 "3.2절의 서술이 불분명했다. 수정본에서 ...로 고치겠다"라고 쓴다. 한 심사자가 오해했다면 다른 독자도 오해한다.
  5. 할 수 없는 것은 인정한다. 기간 안에 할 수 없는 실험은 그렇다고 쓰고, 대신 주장의 범위를 어떻게 줄일지 쓴다.
  6. 규칙을 지킨다. 글자 수, 새 결과 허용 여부, 외부 링크 허용 여부, 익명성 규칙은 rebuttal에도 적용된다.

저널의 response letter도 원칙은 같다. 지적마다 원문을 인용하고, 답과 함께 수정본에서 바뀐 위치(쪽·줄 번호)를 적는다.

추가 실험. rebuttal 기간의 추가 실험은 결론을 바꿀 수 있는 것부터 한다. 심사자가 "더 강한 baseline과 비교하면 개선이 사라질 것"이라고 의심한다면, 그 baseline 실험은 다른 모든 요청보다 중요하다. 추가 실험의 결과가 불리하게 나오면 그대로 보고한다. 유리한 결과만 골라 보고하는 것은 rebuttal에서도 선택 보고다(23.12장).

리뷰 쓰기

왜 리뷰를 잘 써야 하는가. 리뷰는 저자에게는 논문을 고칠 지도이고, AC나 편집자에게는 결정의 근거다. 모호한 리뷰는 둘 다에게 쓸모가 없다. 리뷰 경험은 자기 논문을 쓰는 능력으로 돌아온다. 학생이라면 지도교수의 허락과 학회 규정 안에서 공동 심사(sub-review)부터 시작하는 경우가 많다.

읽는 순서. 논문 읽기의 방법(23.2장)을 그대로 쓰되, 질문을 하나 더한다. 이 논문의 주장이 제시된 근거로 뒷받침되는가?

  1. 첫 읽기: 주장(기여 목록)을 자기 말로 한 문장씩 적는다.
  2. 둘째 읽기: 주장마다 근거(표·그림·정리)를 찾아 짝짓는다. 근거가 없는 주장, 근거보다 큰 주장을 표시한다.
  3. 셋째 읽기: 근거 자체를 검토한다. 분할이 일반화 대상에 맞는가(15.4장), baseline이 강한가, 차이가 seed 변동보다 큰가(12.5장), 보충 자료의 코드와 설정이 본문과 일치하는가.

리뷰의 구조. 요약 · 강점 · 약점 · 질문 · 사소한 지적 · 종합 의견의 순서로 쓴다.

  • 요약: 저자가 읽고 "맞다, 그게 우리 주장이다"라고 할 수 있게 쓴다. 요약을 쓸 수 없다면 논문이 불분명하거나 아직 이해하지 못한 것이다.
  • 강점: 구체적으로. "실험이 철저하다"보다 "세 개의 분할 규칙에서 모두 비교해 일반화 주장을 뒷받침한다".
  • 약점: 결론에 영향을 주는 순서대로. 각 약점은 무엇이 문제인지, 왜 결론에 영향을 주는지, 무엇을 하면 해소되는지를 담는다.
  • 질문: 답에 따라 평가가 바뀔 수 있는 것. 저자가 rebuttal에서 답할 수 있게 쓴다.
  • 종합 의견: 점수와 그 이유. 어떤 약점이 해소되면 점수를 올릴지 밝히면 rebuttal이 생산적이 된다.

건설적 비판. 같은 문제를 지적해도 쓰는 방식에 따라 쓸모가 달라진다.

피할 것 고쳐 쓴 것
실험이 부족하다. 표 2의 개선(0.3%p)은 seed 하나의 결과다. seed 5개 이상의 평균과 표준편차를 보고하면 개선이 변동보다 큰지 판단할 수 있다.
저자들은 이 분야를 잘 모르는 것 같다. 3절의 가정(시료 간 독립)은 같은 배치에서 나온 시료에는 성립하지 않을 수 있다. 배치 단위로 분할한 결과가 있다면 이 우려가 해소된다.
새로운 것이 없다. 제안한 손실은 [인용]의 손실과 가중치만 다른 것으로 보인다. 차이가 무엇이고, 그 차이가 성능에 기여한다는 ablation이 있는지 설명을 요청한다.
내 방법 X와 비교해야 한다. (자기 논문의 인용·비교를 요구하려면, 그것이 결론에 꼭 필요한지 먼저 묻는다. 필요하다면 다른 관련 연구와 같은 기준으로 근거를 들어 요청한다.)

피해야 할 것은 세 종류다. 모호한 비판은 저자가 무엇을 고쳐야 할지 모르게 한다. 인신공격(저자의 능력·배경·국적·영어 실력에 대한 평가)은 논문이 아니라 사람을 겨눈다. 영어 표현이 문제라면 "2절의 몇 문장이 의미가 불분명하다(예: ...)"처럼 구체적인 위치를 든다. 강요된 자기 인용은 심사자의 이해 상충을 리뷰에 끌어들인다.

확신도와 범위. 리뷰 양식의 확신도(confidence)는 정직하게 쓴다. 논문의 일부(예: 과학 분야의 실험 절차)를 평가할 전문성이 없다면 그렇다고 밝히고, 평가할 수 있는 부분에 집중한다. AI for Science 논문은 ML과 도메인 양쪽의 판단이 필요하므로, 자기 범위를 밝히는 것이 AC가 의견을 모으는 데 도움이 된다.

거절 이후

거절은 흔하다. 경쟁이 심한 학회의 채택률은 대개 낮고, 앞에서 본 것처럼 심사에는 잡음이 크다. 좋은 연구도 여러 번 거절된다. 거절 뒤에 할 일은 감정이 아니라 리뷰를 정보로 쓰는 것이다.

개선. 리뷰 받기 절의 분류표를 그대로 쓴다.

  • 오해는 서술을 고칠 곳이다. 다음 심사자도 같은 곳에서 오해한다.
  • 타당한 약점은 실험을 추가하거나 주장을 줄일 곳이다. rebuttal 기간에 하지 못한 실험을 이제 한다.
  • 여러 심사자의 공통 지적은 가장 먼저 고친다.
  • 거절된 이유가 투고처와의 맞지 않음("ML 기여가 작다", "과학적 검증이 부족하다")이라면, 논문을 고치기 전에 투고처를 다시 생각한다.

재투고. 다른 학회나 저널에 다시 낼 때 다음을 지킨다.

  • 고치지 않고 그대로 내지 않는다. 같은 분야의 심사자 집단은 크지 않아서, 같은 심사자를 다시 만날 수 있다. 이전 리뷰에서 지적한 문제가 그대로 있으면 심사자는 바로 알아본다.
  • 동시에 두 곳에 내지 않는다. 이중 투고는 일반적으로 금지된다. 앞의 투고가 철회되거나 결정이 난 뒤에 낸다.
  • 새 투고처의 규칙을 다시 확인한다. 쪽수·형식·익명성 규칙이 다르다. 이전 학회의 템플릿을 그대로 두면 desk reject 사유가 될 수 있다.
  • 이전 리뷰를 활용할 수 있는지 확인한다. 어떤 저널은 다른 곳의 리뷰와 응답을 함께 내는 경로를 두기도 한다. 해당 저널의 규정을 확인한다.

다른 경로. 모든 연구가 주요 학회 논문이 될 필요는 없다. 진행 중인 결과는 워크숍에, 방법보다 과학적 결과가 기여라면 분야 저널에, 재현 연구나 부정적 결과는 그것을 받는 저널이나 트랙에 낸다. 프리프린트로 공개해 시점을 기록하고 피드백을 받는 것도 방법이다(1.6장).

실습

공개 리뷰가 있는 논문에 대해 직접 리뷰를 쓰고 실제 리뷰와 비교한다. 이어서 자기 논문 초안에 같은 과정을 적용한다.

  1. 논문 고르기. 리뷰와 토론이 공개된 학회(집필 시점 예시: OpenReview에 공개된 ICLR 투고)에서 자기 분야와 가까운 논문 하나를 고른다. 리뷰를 먼저 보지 않는다.
  2. 리뷰 쓰기. 리뷰 쓰기 절의 구조(요약·강점·약점·질문·종합 의견)로 리뷰를 쓴다. 약점마다 "무엇이 문제인가 / 왜 결론에 영향을 주는가 / 무엇을 하면 해소되는가"를 채운다. 점수와 확신도를 정한다.
  3. 비교. 실제 리뷰를 읽고 표로 비교한다. 자신이 찾았지만 심사자가 놓친 것, 심사자가 찾았지만 자신이 놓친 것, 같은 문제를 다르게 평가한 것.
  4. 일치도. 실습을 여럿이 함께 한다면, 같은 논문 여러 편에 대해 각자 채택·거절 권고를 낸 뒤 둘씩 짝지어 Cohen kappa를 계산한다. 아래 연습문제의 함수를 쓴다. 일치율과 kappa가 얼마나 다른지 본다.
  5. rebuttal 분석. 공개된 저자 응답을 읽고, 리뷰 받기 절의 분류표로 저자가 각 지적을 어떻게 다루었는지 분류한다. 점수가 바뀐 지적과 바뀌지 않은 지적의 차이를 적는다.
  6. 자기 논문에 적용. 자신의 논문 초안(23.8장)에 대해 다른 사람의 눈으로 모의 리뷰를 쓰고(가능하면 동료와 서로 바꿔서), 그 리뷰에 대한 rebuttal을 쓴다.

실패 사례

  • 리뷰어의 오해를 탓하기만 하는 rebuttal. "심사자가 논문을 제대로 읽지 않았다"는 응답은 사실이라도 점수를 바꾸지 못한다. AC는 한 심사자가 오해한 곳을 다른 독자도 오해할 곳으로 읽는다. 오해가 생긴 서술을 인정하고, 근거의 위치를 보이고, 수정할 문장을 제시한다.
  • 모호하거나 공격적인 리뷰. "새로움이 없다", "저자들은 이 분야를 모른다"는 저자가 고칠 수 있는 것을 하나도 알려 주지 않는다. 약점마다 무엇이·왜·어떻게를 쓴다.
  • 일치율로 심사 일관성을 판단하는 것. 채택률이 낮으면 아무 판단 없이도 일치율이 높게 나온다. 우연 일치를 뺀 kappa로 본다.
  • 같은 원고를 고치지 않고 연달아 재투고하는 것. 같은 심사자를 다시 만나면 이전 지적이 그대로 남은 것이 바로 드러난다.
  • 익명성 규칙을 사소하게 여기는 것. 실명 저장소 링크, 1인칭 자기 인용, PDF 메타데이터로 신원이 드러나 심사 없이 거절된다.
  • 심사 중인 원고를 외부 도구나 다른 사람과 공유하는 것. 기밀성 위반이다. 규정을 확인하고, 공동 심사는 허락을 받는다.

통과 기준

  • 공개 리뷰가 있는 논문 하나에 대해 요약·강점·약점·질문·종합 의견을 갖춘 리뷰를 쓰고, 약점마다 문제·영향·해소 방법을 적는다. 실제 리뷰와 비교한 표(자신만 찾은 것·심사자만 찾은 것·평가가 다른 것)를 남긴다.
  • 자신의 논문 초안에 대한 모의 리뷰와 rebuttal을 쓴다. rebuttal은 핵심 약점부터 답하고, 지적마다 근거(실험·본문 위치·수정 문장)를 제시한다.
  • 투고하려는 학회·저널 하나의 공식 규정에서 쪽수·익명성·보충 자료·이중 투고·AI 도구 사용 규칙을 확인해 표로 정리한다.
  • 연습문제 cohen-kappa의 테스트를 통과한다.

참고 문헌

  • Cohen, J. (1960). A coefficient of agreement for nominal scales. Educational and Psychological Measurement, 20(1), 37–46. — Cohen kappa의 원 논문
  • Landis, J. R., & Koch, G. G. (1977). The measurement of observer agreement for categorical data. Biometrics, 33(1), 159–174. — 범주형 일치도 측정, kappa 값의 언어적 구분
  • Cortes, C., & Lawrence, N. D. (2021). Inconsistency in conference peer review: Revisiting the 2014 NeurIPS experiment. arXiv:2109.09774. — 같은 논문을 두 심사 위원회가 독립적으로 심사한 실험의 재분석
  • Committee on Publication Ethics (COPE). Ethical guidelines for peer reviewers. — 심사자의 기밀성·이해 상충·객관성 원칙. 최신판은 COPE 웹사이트에서 확인한다