Перейти к содержанию

Модуль 24. Как читать статью

Чему вы научитесь в этом модуле

  • Читать статью не сверху вниз, а в порядке, который быстрее приводит к сути.
  • Находить в работе главное заявленное число и задавать ему три вопроса из модуля 1.
  • Видеть, где прячется слабое место: в сравнении, зёрнах, интервалах, утечке теста.
  • Отличать сильную работу от слабой и отозванной по тому, чем подкреплена цифра.
  • Превращать чтение из веры на слово в проверку — тем же взглядом, что и весь курс.

Время: около недели. Пререквизиты: модуль 1, модуль 7 и модуль 20. Ноутбук: открыть в Colab · notebooks/24-how-to-read-a-paper.ipynb

Зачем нужен этот модуль

Ради этого модуля написаны предыдущие двадцать три. Область движется через статьи, и большинство заявленных в них улучшений не переживает честной проверки: растворяется при смене случайного зерна, получено сравнением настроенного метода с ненастроенной базой или держится на одном удачном прогоне. Человек, который читает статьи на веру, строит на шуме.

Чтение статьи — это не пересказ, а проверка утверждения. Ровно то, чем занимался модуль 1, только теперь утверждение — чужое и подано убедительно.

Порядок чтения

Статью не читают сверху вниз. Введение и обзор литературы написаны, чтобы убедить; таблицы и графики — чтобы показать. Сначала идут к тому, что можно проверить, и только потом — к тому, чем это объясняют.

аннотация · заявка 1 главная таблица 2 база · зёрна · интервал 3 метод 4 что заявлено насколько и на чём переживёт ли шум как это устроено читают от проверяемого (1–3) к объясняющему (4) — не сверху вниз

Аннотация даёт заявку. Главная таблица показывает, насколько именно и на каких данных. А третий шаг — самый важный: с чем сравнивают, сколько раз запускали, показан ли разброс. Если здесь пусто, дальше можно не читать: каким бы изящным ни был метод, прирост неотличим от шума.

Три вопроса к числу

Любое заявленное «+3.2%» — это не установленный факт, а утверждение, к которому необходимо задать три вопроса из модуля 1.

+3.2% с чем сравнили? сколько прогонов? каков разброс?

С чем сравнили — база честная или нарочно ослабленная (модуль 7)? Сколько прогонов — одно удачное зерно или пять (модуль 1)? Каков разброс — доверительные интервалы метода и базы расходятся или перекрываются? Именно здесь чаще всего прячется слабое место: не в самом методе, а в сравнении. Настроенный метод против ненастроенной базы даёт «прирост» из воздуха.

Три статьи

Одна и та же по форме заявка — «прирост над базой» — живёт совершенно по-разному в зависимости от того, чем она подкреплена. Разберём три работы: сильную, слабую и отозванную.

Нажмите «проверить статьи». У сильной работы под цифрой — честная база, пять зёрен, доверительный интервал, отложенный тест и открытый код: прирост переживает проверку. У слабой — только тест и код, ни базы, ни зёрен, ни интервала: +1.1% тонет в шуме. У отозванной под самой крупной цифрой +9.0% нет ничего. Обратите внимание: самый большой прирост оказался самым пустым — крупное число без доказательств подозрительнее скромного с ними.

Три вопроса к чужому числу — это модуль 1, повёрнутый наружу. Там вы задавали их своему результату: с чем сравнил, сколько раз запустил, каков разброс. Здесь те же три вопроса задают чужой статье — и слабое место каждый раз одно и то же, сравнение: настроенный метод против ненастроенной базы (модуль 7) даёт прирост из воздуха. Читать статью — значит не верить её числу, пока оно не ответит на те же вопросы, что вы задавали своему.

Практическая часть

Часть 1. Работа с ноутбуком

Откройте notebooks/24-how-to-read-a-paper.ipynb. Только numpy и matplotlib.

Что содержится внутри:

  1. Симуляция трёх работ с одинаковой заявкой «+3% над базой»: у одной честная база и пять зёрен, у другой — одно удачное зерно, у третьей результат подогнан выбором зерна. Показываем, что переживает смену зерна, а что рассыпается.
  2. Настроенный метод против ненастроенной базы: как «прирост» появляется из одного лишь неравного сравнения, без какого-либо нового метода.
  3. Отбор зерна (cherry-picking): почему из десяти прогонов всегда найдётся один красивый и почему pass@1 честнее «лучшего результата».

Часть 2. Собственная статья

Возьмите любую статью с заявленным улучшением — из тех, что читаете по работе или учёбе.

  1. Найдите главное число за минуту, не читая описание метода. Где оно расположено?
  2. С чем сравнивают? База настроена так же тщательно, как предлагаемый метод?
  3. Сколько прогонов, показан ли разброс? Пережил бы прирост смену случайного зерна?
  4. Есть ли раздел ограничений — и честный ли он, или написан для галочки?
  5. Открыт ли код? Что в статье не написано настолько подробно, чтобы результат можно было повторить?

Задание

  1. Реализуйте «честную» и «нечестную» заявку: в первой база настроена, прогонов пять, показан интервал; во второй — ненастроенная база и одно зерно. Постройте обе и покажите, какая переживает проверку.
  2. Смоделируйте отбор зерна: сделайте 10 прогонов шумного метода и покажите, что «лучший из 10» систематически завышает результат.
  3. Возьмите таблицу с перекрывающимися интервалами метода и базы и покажите, что заявленный разрыв неотличим от шума.
  4. Составьте собственный чек-лист чтения из пяти пунктов и прогоните по нему три реальные статьи. Какая из них проходит проверку?
  5. Найдите в реальной статье сравнение, которое нельзя назвать честным, и сформулируйте, что именно в нём неравно.

Проверка усвоения

  1. Почему статью не читают сверху вниз и с чего начинают?
  2. Какие три вопроса задают любому заявленному числу?
  3. Где чаще всего прячется слабое место — в самом методе или в сравнении?
  4. Почему крупный прирост без доказательств подозрительнее скромного с ними?
  5. Что такое отбор зерна и почему «лучший из N» завышает результат?
  6. С каким модулем рифмуется «честная база» и с каким — «прирост неотличим от шума»?
  7. Что делает статью воспроизводимой помимо открытого кода?

Что дальше

Вы умеете проверить одну статью. В модуле 25 — как устроена область, из которой эти статьи берутся: arXiv, конференции, рецензирование и бенчмарки, и почему лидерборд — плохой источник истины, которым тем не менее приходится пользоваться. А в модуле 26 чтение превращается в действие: воспроизведение статьи от заявки до работающего кода.

Статью читают не сверху вниз, а от проверяемого к объясняющему; любое заявленное число проверяют тремя вопросами — с чем сравнили, сколько прогонов, каков разброс; слабое место прячется в сравнении, а не в методе. Крупная цифра без доказательств подозрительнее скромной с ними.


Принцип

Убедительность статьи и её правота — разные вещи, поэтому доверять можно не тому, как заявлен результат, а тому, чем он подкреплён. Самый большой прирост, за которым ничего не стоит, — это не находка, а повод для проверки.