How Reading Papers Helps You Be a More Effective Data Scientist
Юджин Ян рассказывает, как чтение научных статей делает дата-сайентиста эффективнее. Он приводит пример коллеги, которая, прочитав о подходе LinkedIn (kNN + SVM для очистки меток), помогла команде довести точность классификатора продуктов до 95%. Автор объясняет, что статьи расширяют кругозор, помогают быть в курсе развития области (например, прорывов в NLP) и экономят время за счёт переиспользования чужих находок. Он рекомендует выбирать статьи по интересу, практической пользе или рекомендациям, и описывает свой метод чтения в три прохода: беглый обзор, выделение и заметки, синтез общих концепций. В конце даны ресурсы: Papers with Code, applied-ml, ml-surveys, Google Scholar Alerts и 42 Papers.
How Reading Papers Helps You Be a More Effective Data Scientist
Как чтение научных статей помогает стать более эффективным дата-сайентистом
“Instead of manually checking our data, why not try what LinkedIn did? It helped them achieve 95% precision and 80% recall.”
«Вместо того чтобы вручную проверять наши данные, почему бы не попробовать то, что сделали в LinkedIn? Это помогло им достичь 95% precision и 80% recall».
My teammate then shared how LinkedIn used k-nearest neighbours to identify inconsistent labels (in job titles). Then, LinkedIn trained a support vector machine (SVM) on the consistent labels; the SVM was then used to update the inconsistent labels. This helped them achieve 95% precision on their job title classifier.
Затем коллега рассказала, как LinkedIn использовал метод k-ближайших соседей для выявления несогласованных меток (в названиях должностей). Далее LinkedIn обучил SVM (метод опорных векторов) на согласованных метках, после чего SVM использовалась для обновления несогласованных меток. Это помогло им добиться 95% precision у классификатора названий должностей.
This suggestion was the most useful in our discussion. Following up on it led to our product classifier’s eventual accuracy of 95%. How was she able to contribute that critical insight, I asked. “Oh, I just read papers every now and then”, she replied. To be specific, she tries to read 1 - 2 papers weekly, usually around topics that the team was working on.
Это предложение оказалось самым полезным в нашем обсуждении. Следование ему привело к тому, что итоговая точность нашего классификатора продуктов составила 95%. Как ей удалось внести этот критически важный инсайт, спросил я. «Да я просто время от времени читаю статьи», — ответила она. Если конкретнее, она старается читать 1–2 статьи в неделю, обычно по темам, над которыми работает команда.
By reading papers, we were able to learn what others (e.g., LinkedIn) have found to work (and not work). We can then adapt their approach and not have to reinvent the rocket. This helps us deliver a working solution with lesser time and effort.
Читая статьи, мы узнаём, что у других (например, у LinkedIn) сработало (и что не сработало). Затем мы можем адаптировать их подход и не изобретать ракету заново. Это помогает нам выкатить работающее решение с меньшими затратами времени и сил.
If I have seen further than others, it is by standing upon the shoulders of giants. – Isaac Newton
Если я и видел дальше других, то потому, что стоял на плечах гигантов. — Исаак Ньютон
Reading papers also widens our perspective. Though we may work in narrow slices of data science, developments in tangential research are often helpful. For example, the idea of word embeddings and graphs have been useful in recommender systems. Similarly, ideas from computer vision—such as transfer learning and data augmentation—have been helpful for natural language processing (NLP).
Чтение статей также расширяет наш кругозор. Хотя мы можем работать в узких срезах data science, разработки в смежных областях исследований часто оказываются полезными. Например, идея word embeddings и графов пригодилась в рекомендательных системах. Аналогично, идеи из компьютерного зрения — такие как transfer learning и data augmentation — оказались полезны для обработки естественного языка (NLP).
Reading papers also keeps us up to date. The field of NLP has made large advances in the past decade. Nonetheless, by reading the most crucial 10 or so papers, we can quickly get up to speed. By being up-to-date, we become more effective at work, thus requiring less time and effort. We then have more time to read and learn, leading to a virtuous cycle.
Чтение статей также помогает оставаться в курсе. Область NLP сильно продвинулась за последнее десятилетие. Тем не менее, прочитав десяток наиболее значимых работ, можно быстро войти в курс дела. Будучи в курсе, мы становимся эффективнее в работе, тратя меньше времени и сил. Это высвобождает больше времени на чтение и обучение, запуская добродетельный цикл.
How to choose what papers to read?
Как выбирать, какие статьи читать?
If we’re starting on this habit, we can just read whatever interests us—most papers will have something to teach us. Reading about topics we’re interested in also make it easier to build the habit.
Если мы только формируем эту привычку, можно просто читать всё, что нам интересно — почти каждая статья чему-то нас научит. Чтение на интересные темы также облегчает выработку привычки.
We could also select papers based on practicality. For example, we might need to quickly understand a domain for a project. Before starting on a project, I almost always set aside time for a literature review. Spending a couple of days diving into papers can save weeks, if not months, of dead-ends and unnecessarily reinventing the wheel.
Можно также выбирать статьи исходя из практичности. Например, нам может понадобиться быстро разобраться в предметной области для проекта. Перед началом проекта я почти всегда выделяю время на обзор литературы. Пара дней погружения в статьи может сэкономить недели, если не месяцы, тупиковых попыток и ненужного изобретения колеса.
Recommendations are also a handy way to identify useful papers to read. One hack is to follow people we admire on social media, or subscribe to curated newsletters—I’ve found these sources to have a high information-to-noise ratio.
Рекомендации — ещё один удобный способ находить полезные статьи. Один из приёмов — подписываться на людей, которыми мы восхищаемся, в соцсетях или на тематические рассылки: я нахожу, что у таких источников высокое соотношение сигнал/шум.
What papers do I read? Out of practicality, I mostly read papers related to work. This allows me to immediately apply what I’ve read and thus reinforce my learning. Outside of work, I have an interest in sequences and tend to read about NLP and reinforcement learning. I’m especially fond of papers that share what worked and what didn’t, such as through ablation studies. This includes the papers on Word2vec, BERT, and T5.
Какие статьи читаю я? Из практических соображений я в основном читаю работы, связанные с моей работой. Это позволяет мне сразу применять прочитанное и тем самым закреплять знания. Помимо работы, мне интересны последовательности, и я обычно читаю про NLP и reinforcement learning. Особенно люблю статьи, в которых рассказывают, что сработало, а что нет — например, через ablation-исследования. К ним относятся работы о Word2vec, BERT и T5.
How to read papers?
Как читать статьи?
A google search for “how to read papers” returns innumerable useful results. But if you find it overwhelming, here’s a couple that I found helpful:
Поиск в Google по «how to read papers» выдаёт бесчисленное количество полезных результатов. Но если вам кажется это перегруженным, вот пара материалов, которые я нашёл полезными:
Классический метод трёх проходов (и его трёхминутная видеоверсия) OMSCS 6460 How To Read An Academic Paper: советы от любимого профессора Интервью с учёными, в которых они делятся своим подходом Подход для инженерно-исследовательских статей Утешение, что мы не единственные, кому это даётся тяжело
My method is similar to the three-pass approach. In the example below, I’ll share how I read several recsys papers to learn about the metrics of novelty, diversity, serendipity. etc.
Мой метод похож на подход с тремя проходами. В примере ниже я расскажу, как читал несколько статей по recsys, чтобы разобраться в метриках новизны, разнообразия, serendipity и т. п.
In the first pass, I scan the abstract to understand if the paper has what I need. If it does, I skim through the headings to identify the problem statement, methods, and results. In this example, I’m specifically looking for formula on how to calculate the various metrics. I give all papers on my list a first pass (and resist starting on a second pass until I’ve completed the list). In this example, about half of the papers made it to the second pass.
На первом проходе я просматриваю аннотацию, чтобы понять, есть ли в статье то, что мне нужно. Если есть, я пробегаюсь по заголовкам, чтобы выделить постановку задачи, методы и результаты. В этом примере я конкретно искал формулы расчёта различных метрик. Все статьи из списка я прогоняю через первый проход (и не приступаю ко второму, пока не закончу список). В этом примере примерно половина статей прошла во второй проход.
After the first pass, 30+ papers were reduced to 14—that’s good effort saved.
После первого прохода 30+ статей сократились до 14 — изрядная экономия усилий.
In the second pass, I go over each paper again and highlight the relevant sections. This helps me quickly spot important portions when I refer to the paper later. Then, I take notes for each paper. In this example, the notes were mostly around metrics (i.e., methods, formula). If it was a literature review for an application (e.g., recsys, product classification, fraud detection), the notes would focus on the methods, system design, and results.
На втором проходе я ещё раз прохожусь по каждой статье и выделяю релевантные разделы. Это помогает быстро находить важные фрагменты, когда я обращаюсь к статье позже. Затем я делаю заметки по каждой работе. В этом примере заметки касались в основном метрик (методы, формулы). Если бы это был обзор литературы для прикладной задачи (например, recsys, классификация продуктов, выявление мошенничества), заметки сосредотачивались бы на методах, дизайне системы и результатах.
Sample notes from three papers; notes specific to metrics boxed in red.
Пример заметок из трёх статей; заметки, относящиеся к метрикам, обведены красным.
For most papers, the second pass suffices. I’ve captured the key information and can refer to it in future if needed. Nonetheless, I sometimes do a third pass if I’m reading papers as part of a literature review, or if I want to cement my knowledge.
Для большинства статей достаточно второго прохода. Я уже извлёк ключевую информацию и могу обратиться к ней в будущем, если понадобится. Тем не менее иногда я делаю и третий проход — если читаю статьи в рамках обзора литературы или хочу закрепить знания.
Reading furnishes the mind only with materials of knowledge; it is thinking that makes what we read ours. – John Locke
Чтение лишь поставляет уму материал для знаний; именно мышление делает прочитанное нашим. — Джон Локк
In the third pass, I synthesize the common concepts across papers into their own notes. Various papers have their own methods to measure novelty, diversity, serendipity, etc. I consolidate them into a single note and compare their pros and cons. While doing this, I often find gaps in my notes and knowledge and have to revisit the original paper.
На третьем проходе я синтезирую общие концепции из разных статей в отдельные заметки. У разных работ свои методы измерения новизны, разнообразия, serendipity и т. д. Я свожу их в единую заметку и сравниваю плюсы и минусы. В процессе я часто нахожу пробелы в своих заметках и знаниях и вынужден возвращаться к исходной статье.
Sample notes on the serendipity and unexpectedness metric.
Пример заметок по метрикам serendipity и unexpectedness.
Lastly, if I think it’ll be useful for others, I write about what I’ve learnt and publish it online. Relative to starting from scratch, having my notes as a reference makes writing much easier. This has led to pieces such as:
Наконец, если я считаю, что это будет полезно другим, я пишу о том, что узнал, и публикую онлайн. По сравнению с написанием с нуля, наличие моих заметок как опорного материала сильно упрощает работу. Так появились такие материалы, как:
Beating the Baseline Recommender with Graph & NLP in Pytorch Serendipity: Accuracy's Unpopular Best Friend in Recommenders NLP for Supervised Learning - A Brief Survey
Try it for yourself
Попробуйте сами
Before jumping deep into your next project, spend a day or two scanning through a couple of relevant papers. I’m confident it’ll save you time and effort in the medium to long term. Not sure where to start? Here are some useful resources to start with:
Прежде чем нырять в следующий проект, потратьте день-два на просмотр нескольких релевантных статей. Уверен, в среднесрочной и долгосрочной перспективе это сэкономит вам время и силы. Не знаете, с чего начать? Вот несколько полезных ресурсов:
applied-ml: Papers on how organizations built and deployed ML systemsml-surveys: Survey papers summarising recent ML advancementsPapers with Code: ML-исследования с кодом для их реализации applied-ml: статьи о том, как организации создавали и развёртывали ML-системы ml-surveys: обзорные статьи, обобщающие недавние достижения в ML Google Scholar Alerts: уведомления о новых публикациях по вашему запросу 42 Papers: трендовые статьи в AI и Computer Science
Why read papers? Because it:
• Widens our perspective
• Keeps us up to date
• Helps us deliver with less time & effort
Here, I'll share some ways to pick papers, how-to resources, and my approach (with screenshots).https://t.co/7hGjxpkUvZ
Зачем читать статьи? Потому что это: • Расширяет наш кругозор• Помогает оставаться в курсе• Помогает выкатывать с меньшими затратами времени и сил Здесь я поделюсь способами выбирать статьи, ресурсами с инструкциями и своим подходом (со скриншотами).https://t.co/7hGjxpkUvZ— Eugene Yan (@eugeneyan) 2 сентября 2020
Thanks to Yang Xinyi for reading drafts of this.
Спасибо Yang Xinyi за вычитку черновиков.
If you found this useful, please cite this write-up as:
Если этот материал оказался вам полезным, пожалуйста, ссылайтесь на него так:
Yan, Ziyou. (Aug 2020). How Reading Papers Helps You Be a More Effective Data Scientist. eugeneyan.com. https://eugeneyan.com/writing/why-read-papers/.
Yan, Ziyou. (Aug 2020). How Reading Papers Helps You Be a More Effective Data Scientist. eugeneyan.com. https://eugeneyan.com/writing/why-read-papers/.
or
или
@article{yan2020read,
title = {How Reading Papers Helps You Be a More Effective Data Scientist},
author = {Yan, Ziyou},
journal = {eugeneyan.com},
year = {2020},
month = {Aug},
url = {https://eugeneyan.com/writing/why-read-papers/}
}
@article{yan2020read, title = {How Reading Papers Helps You Be a More Effective Data Scientist}, author = {Yan, Ziyou}, journal = {eugeneyan.com}, year = {2020}, month = {Aug}, url = {https://eugeneyan.com/writing/why-read-papers/} }
Join 11,800+ readers getting updates on machine learning, RecSys, LLMs, and engineering.
К 11 800+ читателей, получающих обновления о machine learning, RecSys, LLM и инженерии.