Артём Санакоев

Артём Санакоев

Неделя
May 18, 2020 → May 24, 2020
Темы
PhD
Академия
Computer Vision
Kaggle
Образование

Архив недели @artsiom_s

Понедельник


Привет! На этой неделе с вами Артём, еще известный как asanakoy в ODS или @artsiom_s. Я PhD-студент по Computer Vision в @UniHeidelberg( Германия) и Kaggle Competition Master (Top 50). О моей научной активности можно почитать здесь gdude.de.

1/ Я работаю в Computer Vision Lab hci.iwr.uni-heidelberg.de/compvis. Наша группа принадлежит одному из крупнейших иснститутов Германии по обработки изображений Heidelberg Collaboratory for Image Processing (HCI). HCI включает в себя 4 научные группы.

2/ Наша группа занимается CV без определенной привязки к области. - Image Analysis and Learning Lab hci.iwr.uni-heidelberg.de/ial занимаются CV для Life Sciences и плотно коллаборируют с биологами - Visual Learning Lab hci.iwr.uni-heidelberg.de/vislearn_d на пересечении классического ML и CV

3/ И Image & Pattern Analysis Lab hci.iwr.uni-heidelberg.de/ipa больше углублены в теорию и не очень любят нейронные сети

@dsunderhood @artsiom_s @UniHeidelberg Я буквально только что закрыла вкладку с соревнованием по выделению авто на фото
😀👍 Eсли нужно, то код нашего решения Carvana Image Masking Challenge есть на гитхабе github.com/asanakoy/kaggl… twitter.com/hollanderblute…

4/ Очень примерный план: Пн: Зачем делать PhD и как выжить если уже начал(а) Вт: Разница между академией и индустрией в ML Ср: Как читать статьи, быть в курсе всего и не поехать кукухой Чт: Основная работа и Kaggle - нужно ли? Пт: Стажировка в Facebook Ai Research CбВс: экспромт

Считаете ли вы, что для успешной работы в ML/Deep Learning желательно иметь релевантную степень PhD?

Сразу хочу извиниться за чрезмерное использование английских терминов в постах. На мой взгляд, некоторые вещи лучше доносят смысл если их не переводить🧐

1/ Так получилось, что я решил делать PhD по Компьютерному Зрению. И мой выбор пал на Германию. Разослал пачку резюме. Пришло с десяток ответов, из них примерно половина сделали офферы.

2/ В Германии нормальная прктика - вообще не отвечать на письма, если неудобное время или просто например сейчас нет свободных позиций. К этому привыкаешь. Хотя теперь, я уже и сам таким грешу. Влияние среды.

3/ В Хайдельберге я был и до того. Город очень живописный. Тут самый старый университет Германии (с 1386 г.) и он мне понравился. В довесок, тут живет очень много немецких мультимиллионеров. Например, я часто проходил около мини-замка Карла Бенца (это тот, что Мерседес).
notion image

4/ Я еще не знал тогда про Google Scholars (да, это правда), поэтому группу выбирал не по цитируемости, а по интересу к направлению группы и личному расположению к профессору.

@dsunderhood И как такой выбор
Нормально:). На самом деле известность твоего научрука очень влияет на то, как ведутся дела в группе. Молодые профессора больше времени проводят в лабе и более активно вовлечены во все проекты. А более опытные, с большим именем часто так заняты, что мало времени уделяют студентам twitter.com/tru_pablo/stat…

5/ Мотивация сделать PhD у меня была следующая. Я хотел заниматься чем-то более наукоемким, чем просто писать код на плюсах. Писать на плюсах хорошо - навык нетривиальный, но мне хотелось чего-то большего. Хотелось создавать что-то новое с нуля.

6/ Так же хотелось по максимуму погрузиться и углубиться в одну область, чтобы стать экспертом в ней. PhD такую возможность дает, в отличие от индустрии, где тебе нужно уметь все и сразу и проекты могут часто меняться.

Вторник


7/ Еще один аспект - это свобода выбора, чем заниматься, и изучать попутно новые вещи. Можно выбрать одно направление и бить его 5 лет, а можно каждый год-два немного отклоняться и пробовать новые вещи.

8/ Конечно, свобода она условная. Ведь есть профессор, которого периодически нужно убеждать в правильности тобой выбранного направления ресёрча. Но это тоже полезный навык.

Question from #ICLR2020 audience to LeCun and Bengio: "How do you stay up to date on current research?" Answers range from "I'm not, because there's just too much", "I can't follow everything" to "I've given up on it" - Focus and Social Networks, or AI to the rescue? https://t.co/24wH4gqDku
Как раз, то, о чем я тоже собираюсь с вами поговорить позже. Даже такие умы как ЛеКун и Бенжио не успевают следить за всеми новостями. twitter.com/ZetaVector/sta…

9/ Мне нравится как организована работа в научных лабах (во многих). У тебя в год несколько больших дедлайнов - это крупные конференции. NeurIPS, CVPR, ECCV, CVPR, ICLR. Обычно ты выбираешь какие-то две. То есть раз в полгода пытаешься что-то сваять и отослать на конференцию.

10/ Такой режим мне подходит. Но, конечно, большая часть работы делается за последние 2-3 недели до дедлайна.😄 Тут индустрия курит в сторонке. Мы с коллегами можем работать сменами по 20 часов с циклом в 30, вместо 24. А последние 2 дня вообще не спать.

11/ Понимаю. "Это не здорОво" - скажете вы. Но такова цена за то, если ты реально хочешь поставить точку в проекте. Ведь статья - это такое логическое завершение проекта, когда ты подбиваешь все результаты и делаешь логические выводы из работы.

12/ Без жесткого дедлайна написание статьи может растягиваться на долгие месяцы. Дедлайн - это волшебный пинок и катализатор. Кроме того, всегда есть какие-то новые интересные эксперименты, которые можно делать бесконечно. Нужно уметь остановиться!

13/ Отослать статью на конференцию после 30 часов работы, потом на утро не пойти домой, а пойти отмечать сабмит, и после всего этого залечь спать на сутки. Вот это кайф! Такое чувство удовлетворения!

14/ Это чувство можно слегка сравнить со сдачей сессии в университете. Только вот к экзаменам я редко готовился больше 3х дней. А статьи "пишу" по полгода минимум. Поэтому радости от такого на порядок больше.

А пока сделаю перерыв на дописывание очередной статейки. Скоро вернусь. Stay tuned!

Сегодня поговорим про разницу между DeepLearning в академии и индустрии. Скажу сразу, что опыт с ML в индустрии у меня был только в одной небольшой фирме в Минске до моего PhD и на стажировке в Facebook AI Research. Но мне есть, что сказать.

1/ Сначала пройдемся по плюсам академической работы. Как я уже говорил, в академии больше свободы. Ты можешь сам выбирать над чем работать.

2/ + Нет надоедливых дейли и прочих регулярных митингов. Если есть что сказать, договорился с профессором на нужное время и поговорил. Соответственно, не нужно бежать в офис на утренний митинг, да и вообще не нужно, если не хочешь. (привет #COVID19 )

3/ + Погружаешься в выбранную тобой отрасль и можешь стать мировым экспертом в ней. Практикуешься делать публичные выступления. Потому что постоянно можно выступать на семинарах, конференциях, ездить в другие научные институты с докладами.

4/ + При всем этом остаешься студентом (если ты делаешь PhD) и можешь участвовать во всех студенческих тусовках. Все совсем по-другому, когда ты уже не студент. Ведешь практические занятия у студентов. Прокачиваешься объяснять сложные вещи на пальцах. Расширяешь круг знакомств.

5/ + Катаешься по конференциям - это понятно. Там тоже тусовки, новые знакомства и немножко новых знаний. Учишься самоорганизовыватсья и быть своим собственным проджект-менеджером и тимлидом. Манажишь студентов магистров =опыт руководства. У меня до 5 человек за раз доходило

Среда


6/ Грубо говоря, всё, что ты делаешь - ты делаешь для себя и останется при тебе даже когда ты уйдешь из академии. В индустрии же все, что ты делаешь приналежит компании (кроме отдельных случаев, когда ты работаешь в ресерч отделе типа FAIR, DeepMind, OpenAI и публикуешь статьи).

7/ И никто не узнает где конкретно твой вклад в развитие отрасли, кроме твоих коллег. FAIR, DeepMind, OpenAI и другие R&D отделы крупных фирм в этом плане сильно приятнее. Там твои публикациии останутся под твоим именем, и ты получаешь заслуженную публичность.

8/ Может публичность и "фейм" не все нужен. Но мне например приятно, что моей работой могут пользоваться другие люди и строить свои вещи на основе моих разработок.

9/ Но один из самых больших минусов академической среды - это гонка за цитированиями и количество публикаций. Иногда количество берет верх над качетвом и люди клепают инкрементальные или вообще невоспроизводимые статьи.

10/ На arXiv заливаются сотни новых статей в день. Стоящих прочтения из них единицы. И потом китайцы, индусы, русские, американцы (нужное подчеркнуть) цитируют сами себя, чтоб набрать цитирований.

11/ Я в один из первых своих лет в аспирантуре подошел к рекрутеру из GoogleAI на конференции. И знаете что он мне сказал? "У нас планка в >= 300 цитирований для студентов из Европы и >=500 для Америки". У меня тут немного челюсть упала.

12/ Но благо, если ты знаешь людей, то вроде бы абсолютное число не так важно. Главное, чтобы у тебя не было совсем до безобразия мало цитирований, и чтобы ты сам(-а) по себе шарил(-а).

Ради интереса. Кто из читателей занимается наукой или опубликовал хотя бы одну научную статью по ML/CV/NLP/RL ?

13/ @sim0nsays Попросил рассказать разницу конкретно в DL между индустрией и академией. Тут наибольшая разница это в ресурсах. Если работаешь в крупной фирме, то у тебя наверное есть доступ к большому кластеру на несколько тысяч GPU. В универе у нас на всех порядка 100 GPU.

14/ Но опять же я немного biased здесь, потому что я не работал в компаниях среднего размера. В конторе в минске у нас была наверное 1 видеокарта, а в FAIR очень много (неприлично называть число даже). В стартапах обычно все более скудно.

15/ @sim0nsays Не знаю, что еще более конкретного кроме выше перечисленного. Думаю можно еще раз повториться про свободу выбора проекта и направления.

16/ Приведу еще такое сравнение. Когда ты делаешь PhD, то ты сам себе такой mini-CEO. Решаешь все вопросы и за все отвечаешь. Можешь привлечь кого-то в команду из других студентов, можешь обратиться за внешним советом к профессору. Можешь добыть доп. финансирование сам.

17/ В общем, PhD - это твой стартап. И ты его ведешь к IPO. Если выстрелит, то ты успешный 😎. Если нет, то останешься без степени.

По итогу голосования. Большинство считает, что PhD не нужно для работы в ML/DL. Оно, наверное, так и есть. Но если хочешь работать в ресерче. Тогда нужно. Для позиции Reasearch Scientist это вообще маст. Для Research Engineer это тоже часто нужно. У многих RE в фейсбуке есть PhD

Do grad students get paid a lot? No. But do we at least have solid job security? Also, no. But are we at least ensured a stress-free work environment with a healthy work-life balance? Still, also no.
Ну, вот вам ответ про оплату и условия труда PhD студента 😂 twitter.com/kareem_carr/st…

Четверг


@dsunderhood @artsiom_s @UniHeidelberg Реквест темы: как сейчас выглядит средний студент, которого берут на phd например в твою лабу? Какие у него академические и профф достижения обычно?
Тред с моими ответами twitter.com/hexfaker/statu…

18/ Так, ну продолжим про минусы PhD и академии. Наверное, основной минус - мало платят! Если бы платили по-божески, то я бы тут и остался. А так приходится в индустрию бежать.

19/ Второй минус связан с первым - не очень много вычислительных ресурсов. Научная лаба, это не Гугл и не Фейсбук по количеству ресурсов, к сожалению. У нас в группе около 100 GPU. А юзеров человек 30. Жить можно, но недолго.

Завтра расскажу, как я слежу за новостями. Какие статьи читаю, и как их фильтрую.

1/ Один из источников новых статей - это быть рецензентом (ревьюером) для конференций. Там много шлаковых статей, но бывают и очень интересные. Орги всегда стараются назначить тебе статьи в области твоей экспертизы, когда это получается, то я кайфую. Тогда это очень интересно.

2/ Тут еще круто, что ты можешь прочитать что-то потенциально новое раньше других, и можешь схлестнуться с авторами, если есть сомнения и вопросы. Это не твиттер, и авторам по-любому придется отвечать.

3/ Сейчас как раз мне упала ещё одна статья с ECCV20 для emergency review. Emergency review - это когда другие ревьюверы профакапили дедлайн и кому-то другому приходится в скором порядке ревьюить статью за них, чтобы не сорвать конференцию.

Пятница


@dsunderhood @hexfaker @artsiom_s @UniHeidelberg Сложно ли поступить на PhD после 30? Заметен ли эйджизм среди аспирантов и/или профессоров?
Я думаю, в Европе никакой дискриминации по возрасту не будет. Тут начинать PhD в 30 - нормально. Немцы, например, очень долго учатся в школе и универе. Так что твой успех в меньшей степени зависит от возраста. twitter.com/ivn_finaev/sta…

4/ Основной источник новостей и новых статей - это твиттер. Нужно подписаться на ведущих ученых в интересующей сфере и мониторить, что они пишут.

5/ Вот список из нескольких влиятельных людей из AI/ML/DL/CV/RL, на которых я подписан ilyasut riedelcastro _rockt kemelmi pabbeel lexfridman fhuszar seb_ruder gdb relja_work akanazawa AntoineBordes MattNiessner svlevine Michael_J_Black NataliaNeverova CSProfKGD hardmaru

5.1/ soumithchintala jcjohnss rsalakhu ylecun drfeifei hugo_larochelle goodfellow_ian Carsten_Rother natashajaques

6/ Также есть несколько каналов в телеге, за которыми я слежу. t.me/opendatascience t.me/loss_function_… t.me/compvis_tldr - мой канал, где я коротко пишу про смысл интересных мне статей

7/ В Инстаграме по Deep Learning ловить особенно нечего. Там только индусы рассказывают что такое backpropagation и как обучить линейный классификатор.

8/ Я решил создать страничку, где рассказываю про актуальный ресерч на уровне идеи (то есть не вдаваясь в технические детали). Можно в метро листать:) instagram.com/gradientdude/
notion image

9/ Еще из полезного - это сайт arxiv-sanity.com от @karpathy . Сайт парсит arxiv.org. Там можно найти похожие для конкретной статьи. А так же он обучает классификатор по сохраненным тобой статьям и потом может выдавать только те, что тебе интересны.

0/ Но статей так много! Как их все читать? Расскажу свой подход.

1/ Я обычно не читаю статьи полностью, если только она меня очень не заинтересует. Сначала читаю абстракт, потом смотрю на картинки и эксперименты, потом читаю заключение. Далее, если мне кажется, что есть что-то стоящее, то читаю более детально метод.

2/ Интро и релейтед ворк читаю , если тема новая и хочется понять, откуда ноги растут. Тогда еще нужно пооткрывать несколько статей из референсов, на кторые больше всего опираются авторы текущей статьи. Читать глубоко не обязательно - главное понять суть статей из референсов.

3/ Люблю когда, статья хорошо написана. Если язык плохой и куча опечаток - то это хорошее прокси, что статья не очень и писалась в попыхах. Может и эксперименты делались на скорую руку... Не хочется такого

10/ Еще есть подфорум на реддите про ML reddit.com/r/MachineLearn… Там нередко можно побеседовать и обсудить статью с авторами.

11/ Ну и конечно же Slack ods.ai. Канал #article_essence - неплохое место чтобы почитать короткий пересказ статей.

Если кто-то интересуется Deep Unsupervised Learning, то есть отличный онлайн-курс от UC Bekeley c видеолекциями sites.google.com/view/berkeley-… "This course will cover two areas of deep learning in which labeled data is not required: Deep Generative Models and Self-supervised Learning."

Суббота


Хорошо когда пишешь статью на конференцию. Есть дедлайн, и ты угробишься, но статью отправишь. То ли дело журналы. Работа, которую можно сделать за 2 недели, может растянуться на 3 месяца. Всё потому что дедлайна нет.

@dsunderhood А какие журналы например?
Сымые топовые журналы - это, конечно Nature и Science. Туда нужно либо что-то совсем прорывное, либо, что-то, что затрагивает очень ширукую публику. twitter.com/nordilion/stat…

Есть несколько топовых журналов по Computer Vision. Отсортированы по рейтингу: - TPAMI (IEEE Transactions on Pattern Analysis and Machine Intelligence) - PR (Elsevier Pattern Recognition) - IJCV (International Journal of Computer Vision)

Но в журналы не так часто посылают новую работу. Обычно это расширенная детальная отшлифованная версия того, что было опубликовано на конфе.

Ресурсы для изучения Reinforcement Learning во время карантина Richard Sutton's Book "Reinforcement Learning: An Introduction" incompleteideas.net/book/the-book.… Лекции David Silver (DeepMind) youtu.be/2pWv7GOvuf0 Лекции @svlevine (UC Berkeley) rail.eecs.berkeley.edu/deeprlcourse/ ...

@lexfridman's подкаст David Silver: AlphaGo, AlphaZero, and Deep RL youtu.be/uPUEq8d73JI David Silver's lecture on AlphaGo and AlphaStar youtu.be/x5Q79XCxMVc Weekly Zoom meetup "Intro to RL" with discussions by @MLT meetup.com/Machine-Learni… ...

@OpenAI Spinning Up in Deep RL Workshop (3hours) video youtu.be/fdY7dt3ijgY course material spinningup.openai.com 8.@ThomasSimonini Deep RL short course simoninithomas.github.io/Deep_reinforce… RL course from @DeepMind by Hado van Hasselt youtu.be/ISk80iLhdfU

Расскажу немного про @kaggle. И как я выбился в top 45 в глобальном компетишн рейтинге.

1/ в Апреле - мае 2017 мы с моим другом (по совместительству моим мастер-студентом) решили поучаствовать в реальном контесте на @kaggle . До этого я решал только несколько учебных в относительно расслабленном режиме. В то время на Каггле было не так много соревнований по зрению..

2/ Но как раз начиналось соревнование по подсчету морских львов на Алеутских островах по снимкам с дронов. И мы решили взяться за это. Все шло как по маслу. Благо опыта в Deep Learning в моей голове тогда уже накопилось немало.

3/ Довольно быстрыми рывками я оказался в Top2, а мой друг в Top3. А потом мы объединились в команду и назвали ее "DL Sucks". Решение у нас было довольно тривиальное. Просто делали многомерную регрессию по картинке. Но работало хорошо, и мы закрепились на 2 месте на паблике.

Воскресенье


4/ Шкура медведя уже была поделена. Но медведь убежал, и нас выкинуло на 4 место на private leaderboard после cистемного тестирования. Было неприятно, но что ж. Это все-таки был первый опыт в реальном соревновании. Я подробно описал наше решение на хабре habr.com/ru/company/ods…

Понедельник


Друзья, я не успел дорассказать вам мой путь каглера. И моя неделя подходит к концу. Потому жду вас у себя на странице @artsiom_s, где продолжу рассказ.

Сегодня поговорим про разницу между DeepLearning в академии и индустрии. Скажу сразу, что опыт с ML в индустрии у меня был только в одной небольшой фирме в Минске до моего PhD и на стажировке в Facebook AI Research. Но мне есть, что сказать.
1/ По традиции, метатред от @artsiom_s Обо мне и моей лабе twitter.com/dsunderhood/st… О PhD жизни twitter.com/dsunderhood/st… Как оно, делать Deep Learning в академии? В индустрии лучше? twitter.com/dsunderhood/st…

Расскажу немного про @kaggle. И как я выбился в top 45 в глобальном компетишн рейтинге.
2/ 4. Как следить за DL/ML новостями, полезные источники. twitter.com/dsunderhood/st… 5. Как я читаю статьи twitter.com/dsunderhood/st… 6. Ресурсы для изучения Deep Reinforcement Learning twitter.com/dsunderhood/st… 7. Про мое путешествие в top50 на Kaggle twitter.com/dsunderhood/st…

На этом моя неделя заканчивается. Всем спасибо, что читали! Но мы остаемся на связи, мой твиттер @artsiom_s. Ещё я веду канал в TG t.me/gradientdude c кратким обзором DL/AI статей и страницу в Instagram про DL/AI статьи в картинках instagram.com/gradientdude/ Подписывайтесь!

Ссылки