Показалось, что в предыдущем посте я недостаточно раскрыл тему того, что вообще делает из человека хорошего рисёрчера.
На эту тему написано множество книг (и ещё больше телегам-постов), но, надеюсь, моя точка зрения кому-то приглянется. Нижеприведённые качества обычно вырабатываются у людей за Ph.D., но, как мне кажется, их можно осознанно тренировать.Как? Записывайтесь на мои курсы осознанности.
Во-первых, (этот пойнт был и в предыдущем посте, но кто ж меня читает) у всех отличных исследователей, кого я знаю, есть неутолимая тяга разбираться в предмете. Где в модели не текут градиенты? Откуда берутся артефакты на картинках? На каких примерах происходят ошибки? Сходится ли модель на игрушечных данных? Последний вопрос – мой любимый; хочется уделить ему особое внимание. Дело в том, что в машинном обучении чаще всего вот эти вот все "настоящие данные" с "ground truth"ом – это всё дикий шумный лес, за которым порой бывает сложно разглядеть, куда, собственно, надо улучшать метод.🤔
Приведу пример из одной из моих статей. Писал я её в ковидном заточении⛓ , когда я увидел на архиве статью под названием "Mincut pooling in Graph Neural Networks" (почему-то после публикации моей статьи её переименовали в куда более модное "Spectral Clustering with Graph Neural Networks for Graph Pooling" 🤔 ). Я начал играться с их лоссом, но на некоторых графах он у меня не сходился. Для дебага я написал простенький генератор синтетических данных – две гауссианы и k-NN граф на их основе – такой должен хорошо кластеризоваться. Потыкав с генератором, я заметил, что на нецентрированных данных MinCut лосс из статьи не работает. После этого достаточно было разделить лосс на две компоненты и посмотреть, как они оптимизируются в процессе обучения, чтобы понять, что в их статье (шок) никакой кластеризации графа не происходит – происходит только ортогонализация фичей вершин. Это позволило мне понять, куда копать, и написать неплохую статью, которую после трёх лет страданий всё же опубликовали в JMLR. Эти эксперименты, конечно, в финальную версию статьи не прошли.
Во-вторых, это умение отделять зёрна от плевел (pop quiz: кто помнит, кто такие плевелы?) в чужих статьях. Такое вот умение читать между строк и сквозь них🤔 – вот это утвеждение сделано потому что авторам нужно было что-то сказать или они и правда проверили все остальные альтернативы? Правда ли в этом месте нужен вот этот компонент или его ввернули ради красивой теоремы в аппендиксе? Звучит довольно очевидно, но слишком часто мне приходится разубеждать инженеров, которые вычитывают в литературе какую-нибудь неподтверждённую дрянь и кидаются её реализовывать.
Перефразируя Камю, рисёрчера делает рисёрчером в большей степени то, о чём он умалчивает, нежели то, что он пишет в статьях. Вместе с подписчиками надеемся на то, что меня отпустит с пацанскими цитатами. 🐺
На эту тему написано множество книг (и ещё больше телегам-постов), но, надеюсь, моя точка зрения кому-то приглянется. Нижеприведённые качества обычно вырабатываются у людей за Ph.D., но, как мне кажется, их можно осознанно тренировать.
Во-первых, (этот пойнт был и в предыдущем посте, но кто ж меня читает) у всех отличных исследователей, кого я знаю, есть неутолимая тяга разбираться в предмете. Где в модели не текут градиенты? Откуда берутся артефакты на картинках? На каких примерах происходят ошибки? Сходится ли модель на игрушечных данных? Последний вопрос – мой любимый; хочется уделить ему особое внимание. Дело в том, что в машинном обучении чаще всего вот эти вот все "настоящие данные" с "ground truth"ом – это всё дикий шумный лес, за которым порой бывает сложно разглядеть, куда, собственно, надо улучшать метод.
Приведу пример из одной из моих статей. Писал я её в ковидном заточении
Во-вторых, это умение отделять зёрна от плевел (pop quiz: кто помнит, кто такие плевелы?) в чужих статьях. Такое вот умение читать между строк и сквозь них
Перефразируя Камю, рисёрчера делает рисёрчером в большей степени то, о чём он умалчивает, нежели то, что он пишет в статьях. Вместе с подписчиками надеемся на то, что меня отпустит с пацанскими цитатами. 🐺