Про статьи в ML

Меня регулярно спрашивают про то “какие книжки почитать по ML”, “что я читаю” и “как выбрать полезные статьи”. В целом, я пару раз касался этой темы, но везде не цельно/не структурированно.
Попробую разобрать в этом посту что почему и зачем читал/читаю.

Первое что нужно понять – бесполезно читать статьи просто чтобы читать их. Любая книга/статья – должна помогать решать какую-то проблему. Чем ближе она к тем вопросам которые у вас есть – тем лучше вы будете понимать что происходит, тем больше будет пользы.

Забавное следствие – я не смогу рассказать о том, какие курсы помогают разобраться в ComputerVision. Сверточные сетки появились уже после того как я занялся ComputerVision. Так что учился я на выходящих статьях и исходниках. А курсы выходили уже потом.

Что же помогает получать информацию, и о чем я буду говорить?

  • Статьи. Как я читаю, что и где выбираю.
  • Конференции
  • Блоги/каналы/сообщества

Статьи

Сейчас статей в ML и CV сильно больше чем можно прочитать. А про их качество ходят легенды. Не зря же появился даже https://www.paperswithoutcode.com/
Я уверен, что читать все подряд – бесполезно. Как результат – нужно использовать фильтры. В моем представлении фильтры могут быть:

  • Ключевые слова/топики
  • Хорошие подборки
  • Хорошие площадки

Ключевые слова

Поговорим о ключевых словах. Чтобы они работали – нужно иметь поток статей из которого выбирать. Где взять такой поток? Мне комфортнее пользоваться таким сообществом – https://vk.com/deeplearning
Конечно, там статьи с небольшим запозданием. Но все самое интересное – появляется.
Когда-то пробовал использовать https://www.reddit.com/r/MachineLearning/ и прочие подреддиты. Но что-то не зашло. Унылый интерфейс + много шума.
Знаю, что есть много групп в телеге. Но на них не подписан.
Из тех что подписан, есть: https://t.me/computer_science_and_programming – там мало шума, только самые ключевые статьи последних недель. Если нет сил читать тот же deeplearning – скорее всего всё ключевое просмотрю тут.
https://t.me/ai_newz – упоротый канал, где автор несет полно чуши (видел множество фактических ошибок). При этом неплохая подборка новостей и статей, часть из которых я не видел в других источниках.
Так какие ключевые слова? Обычно это должны быть те тематики которыми я занимался в последнее время. Это, конечно, известные группы/институты/авторы. Например читаю про роботов, про OCR, про распознавание скелетов и действий.

Подборки

Ок, подборки. Где их доставать? В блогах интересных авторов. Иногда в каналах (упомянутых выше). Иногда в группах и сообществах. Для меня в первую очередь интересны подборки крупных конференций. CVPR, NIPS, SIGGRAPH, и.т.д. Но бывают неплохие подборки “по темам”. Я сам такое периодически пишу ( StyleGAN, Transformers) . И часто если наталкиваюсь на такую подборку пограничной мне теме – стараюсь изучить.

Площадки

Хорошие площадки – это площадки с порогом на вход. Где кто угодно не сможет опубликовать статью. Из известных русскоязычных – Хабр. Частично medium, частично towards data science.

Ах да. Давайте прервемся и поговорим про такой вопрос. А вообще благодатно ли читать статьи не оформленные в качестве научной работы? Или статьи где есть только выжимка работы?
Мне кажется что да. Если автор не очередной журналист, а человек из области – то такая статья может быть лучше оригинальной работы на arxiv, так как в ней может содержаться та боль или страдание которое претерпел человек который попробовал все запустить.

Конференции

Погнали дальше. Конференции. Я погранично отношусь к конференциям. Чувствую боль тех кто их ненавидит и понимаю людей которые их любят. Чем мне не нравятся конференции:

  • Если конференция научная – то же самое можно прочитать в статье сильно быстрее
  • Нужно куда-то ехать, тратить время/деньги, договариваться с компанией если она финансирует
  • Зачастую 80% докладов – шлак. Их даже не хочется слушать

В чем их плюс:

  • Нетворкинг. Часть наших заказов – это контакты с конференций. Мне это дико сложно, но да, конференции оптимальное место если вы ищите работу/сотрудников/подрядчиков/заказчиков
  • Если уже знаком со статьей, но есть вопросы – можно попробовать их позадавать авторам.
  • Если это техническая конференция – то можно найти примеры того как люди работают с похожими задачами. Такой фидбек всегда сложно собирать, а тут автора можно даже расспросить. Например: как работать с каким-нибудь фреймворком. Какие железки имеют какие особенности. И.т.д.

Так что я не рассматриваю конференции как стабильный источник информации. Но время от времени почему бы и нет.

Блоги/каналы/сообщества

Блоги/каналы/сообщества. Часть блогов и каналов я уже упомянул выше. Тут я добавлю, разбив их на несколько групп:

Персональные блоги/каналы. Я читаю:

  • https://t.me/snakers4 – канал Александра, на котором есть много интересного про PyTorch, про железки и про жизнь стартапа
  • https://t.me/partially_unsupervised – прикольные наблюдения про ML. Периодически Арсений пишет классные статьи на Хабре с математикой. Есть неплохие подборки
  • https://t.me/roma_toloka – недавно натолкнулся на интересный канал, где Рома рассказывает про то как использовать Толоку для разных задач
  • Плюс подписан на 5-10 публичных датасатанистов/директоров в фейсбуках и.т.д., с которыми знаком. Тут публиковать смысла нет – там достаточно редкий контент, совмещенный с личным.

Для меня смысл таких каналов – смотреть как организованы команды в разных фирмах/стартапах. Как внедряются новинки, какие сложности.

Сообщества, думаю, очевидные. Это ODS и уже упомянутый reddit. Я не активен ни там ни там. Но иногда открываю и гуглю какую-нибудь интересную информацию/дискуссию.