Научно-исследовательская работа (рекомендации)
Материал из MachineLearning.
|
Приведённые ниже рекомендации по ведению научно-исследовательской работы (НИР) адресованы студентам и могут быть полезны на всех этапах обучения, от выбора научного руководителя до подготовки выпускной квалификационной работы.
Отдельные рекомендации могут быть специфичны для области машинного обучения (например, баланс теории и практики, математики и эвристики), и на другие области должны переноститься с осторожностью.
Первые шаги
Работа с научным руководителем обычно начинается с решения несколько пробных задачек и/или чтения нескольких статей по теме будущей НИР, возможно, на английском языке. Затем вам будет дана основная задача, которая в перспективе должна перерасти в тему выпускной работы.
Получив очередное задание, не стесняйтесь обратиться за дополнительными разъяснениями. Гораздо хуже, если вы, закопавшись, надолго пропадёте, так ничего и не сделав.
Другая распространённая ошибка — откладывать научную работу на потом. Обычно руководитель рассчитывает, что ваша работа вольётся в общее исследование и ожидает определённых результатов к определённым срокам. Если вы справляетесь с первой задачкой быстро, то получаете усложнение, потом следующее, и к концу учёбы набегают ощутимые результаты. Если же студент вспоминает про НИР в конце семестра (года, последнего курса) и начинает решать поставленную изначально простую задачу, то и работа получается слишком простая и никому не нужная. Практически невозможно за пару недель сделать нечто стоящее. Неудивительно, если такая курсовая или выпускная работа будет оценена не выше тройки.
НИРом надо заниматься постоянно. Хорошие идеи появляются в результате многократных совместных обсуждений, причём не сразу. Необходимо время, чтобы разобраться в причинах неудач первых экспериментов, придумать лучший алгоритм, что-то понять и доказать о его свойствах. Поэтому хорошую курсовую работу объективно можно сделать только за пару семестров.
Ваш руководитель имеет право быть занятым, не находить времени прочитать присланный вами материал в течение целой недели (двух, трех,…), очередной раз переносить встречу еще на неделю позже, и оказывать прочие знаки невнимания. Это нормально. Израсходуйте образовавшееся время на то, чтобы самостоятельно понять, что делать дальше или заняться самообразованием. Никто не даст студенту тему, по которой в мире нет ни одной публикации. Не забывайте про поиск в Google, Google Scholar, Semantic Scholar, Academia.edu, arXiv, CiteSeer, Sci-Hub. Название теории, или алгоритма, или формулы, которые вы обсуждали с руководителем — это уже ключевые слова для поиска. Найдите сайты топовых научных конференций в вашей области и узнайте, какими проблемами сейчас занимается научное сообщество. Будьте готовы к тому, что даже поверхностное знакомство отнимет много времени, и многое будет не понятно. Но зато у вас появятся правильные вопросы. Откопайте самые последние работы по вашей теме — это лёгкий способ показать вашу заинтересованность и обратить на себя внимание научного руководителя.
Не бойтесь ошибаться. Вы учитесь сложному делу, поэтому никто Вас не осудит, если будет получаться не всё и не сразу. Помните, что научное сообщество ценит творчество, трудолюбие и тягу к знаниям. Оно в целом очень демократично и очень доброжелательно. Если ваш научный руководитель оказался не таким, смените его скорее. Психологический дискомфорт от общения для некоторых людей оказывается сильным демотиватором и тормозом в работе.
Резюмируем:
- Работайте постоянно.
- Руководитель не обязан направлять каждый ваш шаг.
- Инициатива не наказуема.
- Вы имеете право на ошибку.
Вторые шаги. Как не тупить
Короткий ответ такой: «не ленитесь думать и работать самостоятельно».
Длинный ответ. Научная проблема никогда не бывает до конца понятной. Научный руководитель может понимать чуть больше, чем вы. Однако он может не знать во всех деталях, как её решать. Вы ему именно для этого и нужны. Есть простой алгоритм, как не тупить и не топтаться на месте в условиях неопределённости задания.
- Составьте полный список вопросов, что вам не понятно, чтобы дойти до цели.
- Напишите три варианта ваших ответов на каждый вопрос. Обсудите их с научным руководителем. Разговор «какой из трёх вариантов лучше» всегда конструктивнее разговора «придумайте за меня сами, как всё это сделать».
- Выберите для каждого вопроса из трёх вариантов самый простой с точки зрения реализации.
- Выполните всё задание от начала до конца, чтобы заработало хоть что-то. Если это задача анализа данных, то надо обязательно дойти до оценивания качества решений. Обсудите первые результаты с руководителем.
- Постепенно, по одной, заменяйте заплатки на более разумные варианты и смотрите, что улучшается.
Это универсальная блок-схема для тех, кто любит полную ясность до начала работы, а иначе будет сомневаться до бесконечности (распечатать крупно и повесить на стенку). Возможно, вы не такой, и лично вам будет нужен другой алгоритм успеха. Универсальных рецептов для всех не существует.
Тема, задача, материал
Самое время уточнить терминологию. Что имеется в виду, когда говорится тема, задача, материал — это одно и то же или разные вещи?
Тема — это довольно широкое направление исследований. Предполагается, что по этой теме вы защитите выпускную работу. Постановки задач внутри темы могут слегка изменяться в процессе работы. Например, вы (или руководитель) можете осознать, что изначально сформулированные задачи слишком сложны или слишком просты, или успели потерять актуальность.
Задача — это нечто более конкретное. Задача имеет четкую постановку. У задачи есть ДНК — Дано, Найти и Критерии качества решения. В отличие от темы, у задачи может быть решение. Задача может быть простой или сложной. Никто не даст вам сразу очень сложную задачу. Предлагая простую задачу, руководитель обычно старается рассказать, какими могут быть следующие — чтобы было интересно и угадывалась перспектива. Если вам кажется, что у поставленной задачи нет ДНК (например, не понятны критерии), значит, руководитель хочет посмотреть, как вы сами уточните постановку, чтобы проверить вашу фантазию и самостоятельность. Хотите — думайте, хотите — ищите в Гугле.
Материал — что угодно в электронном виде: набросок доказательства теоремы, результаты экспериментов, графики, исходный код программы, черновик отчета, презентации или выпускной работы. За время обучения в университете студент обязан овладеть средствами автоматизации научной и офисной деятельности, научиться производить информацию в готовом к употреблению виде.
Не пустяк! К каждому графику должно прилагаться описание условий эксперимента и ваши интерпретации результата. Это необходимые меры гигиены при коммуникации исследователей по поводу экспериментов. Во-первых, адресат мог забыть, о каких графиках шла речь две недели назад, когда обсуждалось задание. Во-вторых, вы могли неверно понять задание, и тогда это хороший способ проверить текущее взаимопонимание. В-третьих, адресат может захотеть переслать ваши графики кому-то ещё, так не делать же ему за вас вашу работу!
Не пустяк! В периоды дедлайнов у преподавателя бывает открыто одновременно 20 файлов с одинаковым названием «homework2» или «MyCourse» или «diplom». Уважаемые студенты, для вас — пустяк, как назвать файл с курсовой или статьёй на конференцию. Но если всегда следовать одним и тем же правилам именования «кто когда зачем», вы сделаете коммуникацию удобнее. Например: zaitsev16hw2, volkov16course, belkin16bsc, medvedev16msc, kozlov16icml. Для краткости указываются две цифры года и назначение работы.
Рекламная вставка: Ресурс MachineLearning.ru предоставляет студентам и преподавателям уникальную возможность не только обмениваться материалами своего исследования, но и организовывать виртуальные семинары, вовлекая в работу более широкий круг коллег.
Изучение литературы
Любое исследование базируется на каких-то уже известных результатах, и вы обязаны не просто с ними ознакомиться, а внимательно их проработать, постаравшись понять в них всё.
Важное правило: как только вы прочитали статью, обязательно напишите по ней реферат. Сделайте это сразу, потом будет труднее всё вспомнить и систематизировать. Записанные рефераты позже послужат основой для обзорных параграфов отчёта, статьи, курсовой, диссертации. Очень обидно потратить потом кучу времени на то, чтобы вспомнить, в какой статье вы прочитали важный факт, на который теперь необходимо сослаться.
Хорошая практика — записывать рефераты статьей в этой Вики. Прежде, чем делать это в первый раз, посоветуйтесь с научным руководителем, насколько ваш реферат интересен и корректен, чтобы выкладывать его на всеобщее обозрение.
Реферат — это немного больше, чем просто аннотация, взятая из самой статьи. Аннотация всего лишь говорит, о чём статья, и называет главный результат. В реферате надо перечислить все основные идеи и результаты статьи. Это тренировка умения отличать важное от второстепенного. В реферате может присутствовать критический разбор статьи. Авторы, как правило, не акцентируют внимание на недостатках или ограничениях предлагаемых ими подходов, но при этом могут честно сообщать о них где-то в середине статьи. Могут существовать более поздние улучшающие результаты, о них важно упомянуть и дать ссылку — чтобы читатель случайно не подумал, что данная статья является «последним словом» в данной области науки. Если реферат пишется «для себя», то есть как часть будущей статьи или отчёта, то в нём обычно делается упор на те идеи и результаты, которые имеют прямое отношение к вашей работе; особенно, если некоторые из них вам удалось улучшить. Если реферат пишется «для сообщества» (например, для выкладывания в этой Вики), то он должен сообщать основные идеи без технических подробностей и быть полезен не только автору реферата, но и другим читателям.
Есть распространённая ошибка, которую делают не слишком старательные студенты. Прочитав одну статью, освоив один метод, они поддаются иллюзии, будто этим проблема исчерпана и ничего лучшего на эту тему в мире не придумано. Помните: научное сообщество настолько огромно, что даже в узко специальных областях написано больше, чем вы успеете за всю жизнь прочитать.
С другой стороны, не надо фанатизма — если вы прочтёте несколько сотен статей, которые есть по вашей теме, то, скорее всего, парализуете вашу фантазию. Вам начнёт казаться, что ничего нового тут изобрести невозможно. Слишком много знать — тоже вредно ;)
Наилучший результат достигается, когда периоды собственного творчества чередуются с периодами глубокого изучения темы.
См. также
Вычислительный эксперимент
В нашей науке почти каждое исследование содержит элементы как теории, так и эксперимента. Во многих задачах с эксперимента стоит начинать. Как говорил академик В. И. Арнольд, физика — экспериментальная естественная наука, часть естествознания; математика — это та часть физики, в которой эксперименты дёшевы.
Если вы не знаете, как доказать гипотезу, попробуйте сначала убедиться экспериментально, что она верна. Уверенность исследователя в справедливости результата придаёт силы при поиске теоретических обоснований. Подумайте над тем, какие промежуточные результаты, и в какой форме было бы интересно вывести на графиках. Глядя на них, часто удается заметить нечто такое, о чём раньше вы даже и не думали. Изобретайте различные способы визуализации одних и тех же данных, «покрутите» вашу задачу с разных сторон. Случается, что именно эти, казалось бы, бесполезные, упражнения, как раз и приводят к наиболее важным открытиям.
Любое исследование — это сравнение чего-то с чем-то.
Экспериментальный стенд. Напишите себе программу для сравнения разных моделей на общих данных с общими метриками качества. Она должна позволять быстро менять и добавлять модели, когда появляются новые идеи. Вам придётся многократно перезапускать всю пачку экспериментов после обнаружения и исправления ошибок. Сделайте так, чтобы вам это было удобно: сделайте автосохранение (логирование) условий и результатов каждого эксперимента. Распространённое заблуждение — решить в самом начале, что раз научник велел написать программу, значит это самоцель. Нет, это лишь инструмент для дальнейшей работы, для проверки и генерации гипотез, для приобретения собственного опыта. С него, со стенда, ваша научная работа только начинается.
Визуализация — это наше всё. Думать и визуализировать — два основных элемента культуры анализа данных. Стадия осмысления результатов — самое важное в любом эксперименте. Задавайте себе больше вопросов. Как проверить, где моя модель ошибается больше всего? Какая визуализация высветит самые вопиющие ошибки, которые надо исправлять прежде всего? Как проверить или увидеть, верны ли исходные гипотезы? Что произойдёт, если я поменяю этот или другой параметр? Чем объясняется это странное скопление точек на графике? Нет ли на графике аномалий, не имеющих очевидных объяснений? Все ли интересные частные случаи проверены? Как насчёт крайних случаев и «пограничных» ситуаций (там всегда скапливаются сюрпризы)?
Не останавливаться в своих фантазиях. Ещё одно типичное заблуждение — успокоиться, получив первые результаты («пожелание шефа выполнено — я молодец») и затем годами(!) смотреть на один и тот же (возможно, не очень удачный) график. В то же время, генерация ещё десятка экспериментов при радикально разных условиях способна дать богатую пищу для размышлений и с самого начала повернуть исследование в правильное русло.
См. также Категория:Вычислительный эксперимент.
Документирование
Почему-то мало кто любит сразу документировать свой код, записывать основные идеи прочитанных статей и оформлять свои результаты немедленно после их получения.
Есть три разумных довода в пользу того, чтобы делать это сразу.
- Во-первых, это несложная работа, которая легко получается, приносит удовлетворение и мотивирует двигаться дальше.
- Во-вторых, пока вы помните все детали, сумеете сделать это лучше. Записать рано или поздно придётся, но потом времени будет потрачено больше, и качество документа окажется ниже.
- Во-третьих, словесное формулирование приводит мысли в порядок и магическим образом повышает эффективность следующего этапа работы.
Итак, если вы прочитали хорошую статью, запишите основные идеи в виде реферата.
Рекламная вставка: лучший способ сделать это — создать страницу публикации на MachineLearning.Ru.
Если вы закончили эксперимент, запишите условия эксперимента и выводы к каждому графику.
Рекламная вставка: лучший способ сделать это — написать это на своей личной странице, или её подстранице, или на странице соответствующего виртуального семинара на MachineLearning.Ru.
Текущие отчёты
Хороший студент периодически (например, раз в две недели) отправляет научному руководителю краткий отчёт следующего содержания:
- что нового удалось узнать из литературы;
- что сделано за этот период;
- что из этого является результатом, о котором можно написать в тексте курсовой (статьи, диссертации);
- что не понятно, какие проблемы возникли;
- какие есть идеи их решения, включая возможность изменения постановки всей задачи или её частей;
- план работ на следующий период (например, две недели).
Эта работа прививает привычку структурировать своё мышление, а вечно занятому научному руководителю экономит время.
Даже если Ваш научный руководитель не просил присылать ему такие отчёты, всё равно присылайте! Зарекомендуете себя с самой лучшей стороны.
Семестровые отчёты
Каждый семестр ваша индивидуальная научная работа должна продвигаться еще немного вперед. Результат работы должен быть материален; это может быть программа, отчет, выполненные эксперименты. Просто прийти в конце семестра и изложить ваши новые идеи — не достаточно, даже если они кажутся вам гениальными.
Многие кафедры и преподаватели требуют от студентов отчета по НИР в конце каждого семестра, в письменной форме. Не следует относиться к этой деятельности как к пустой формальности. В идеальном случае — если вы не будете менять тему исследования — эти отчеты, обрастая подробностями, постепенно перерастут в выпускную работу. Отчет о научной работе (technical report) пишется в форме научной статьи. Требования к научному содержанию отчетов будут возрастать от семестра к семестру, а требования к форме — оставаться неизменными.
Есть ещё один веский довод в пользу серьёзного отношения к отчётам. В наше время обмен профессиональной информацией между людьми происходит преимущественно в электронном виде — отчеты, статьи, презентации, форумы. Всеми этими жанрами информационного обмена вам надо научиться владеть. Из них отчеты и статьи наиболее весомы и требуют от автора наибольшей точности изложения.
Ваш первый семестровый отчёт имеет право выглядеть скромно. Вполне достаточно, если он будет содержать только постановку задачи, рефераты прочитанных вами статей и/или результаты ваших первых экспериментов.
- Постановка задачи. Попробуйте сначала написать неформальным языком, как вы её поняли, почему она актуальна (то есть какую пользу и кому может принести её решение), какие в ней есть открытые проблемы. Очень важно научиться рассказывать о задаче. Возьмите за образец описания, которые вы прочитали в статьях или в Интернете. Затем сформулируйте задачу формально, введите необходимые обозначения.
- Рефераты. Если вы поработали с литературой, отчёт должен содержать рефераты (краткие пересказы) прочитанных вами статей. Рефераты должны подчёркивать связь этих статей с вашей задачей. Очень важно сделать вывод, мотивирующий вашу работу, например, если вы обнаружили, что все известные работы имеют общий недостаток, на устранение которого и будет направлено ваше исследование.
- Эксперименты. Если вы проделали один или несколько экспериментов, отчёт должен содержать описание условий и результатов каждого эксперимента. Условия должны быть описаны исчерпывающим образом, то есть так, чтобы ваш эксперимент мог быть воспроизведен другим исследователем. В то же время, программистские и прочие технические подробности описывать не надо. Результаты представляются в виде таблиц или графиков. На каждом графике должны быть подписаны оси и легенда (легенда не нужна, если на графике только одна кривая). Под графиком должно быть написано, при каких условиях эксперимента он получен. В основном тексте должны быть приведены интерпретации полученных результатов и выводы. Если сделать это неаккуратно, то в результатах вашего эксперимента не разберётся даже ваш руководитель, не говоря уже о посторонних.
Алгоритм НИР
Всё сказанное выше можно резюмировать в виде Алгоритма НИР. Он состоит в том, чтобы итеративно повторять определённые виды работ из следующего перечня:
- Читать современную научную литературу, в основном англоязычную.
- Упрощать: разбирать простые, частные, крайние и особые случаи, даже если они кажутся вырожденными.
- Модифицировать саму постановку задачи, накапливать опыт решения схожих задач.
- Обсуждать свои задачи с руководителем и коллегами, ходить на научные семинары и конференции.
- Теоретизировать, делать выкладки, разбирать доказательства (даже если работа экспериментальная, это полезно для понимания методов).
- Экспериментировать на своём экспериментальном стенде (даже если работа теоретическая, это полезно для обнаружения новых эффектов и гипотез).
- Писать больше текстов: это структурирует мышление, помогает не упускать важные мелочи, способствует коммуникации с коллегами.
Сокращённо — «ЧУМОТЭП».
Порядок этих работ не важен и выбирается по ситуации, но ни одна из них не должна систематически пропускаться — в этом суть алгоритма, и только в этом случае он гарантирует успешное продвижение.
Конференции
Планировать свое участие в конференциях надо сильно заранее, так как сроки подачи статей (тезисов) обычно заканчиваются за несколько месяцев до начала конференции. В каких конференциях могут участвовать студенты:
- Ежегодная научная конференция МФТИ (ноябрь, подача в сентябре).
- Ежегодная научная конференция студентов, аспирантов и молодых ученых «Ломоносов» (апрель, подача в феврале).
- Конференция ММРО (по нечётным годам в ноябре, подача в мае).
- Конференция ИОИ (по чётным годам в июне, подача в марте).
- Конференция РОАИ (по чётным годам в сентябре, подача в июле).
- Традиционная молодежная Школа «Управление, информация и оптимизация» ТМШ (ежегодно в июне).
- Конференция АИСТ (ежегодно в апреле)
- Другие российские и международные конференции.
Уважаемые коллеги! Пожалуйста, добавляйте в этот список известные вам научные конференции, в которых могут участвовать студенты и аспиранты. |
Перспективы
Определитесь как можно раньше со своей будущей профессией. Если вы собираетесь остаться в аспирантуре (не важно — совмещая это с работой в фирме или нет), то вам необходимо иметь публикации и участвовать в конференциях уже к моменту поступления в аспирантуру. Это дополнительная нагрузка по сравнению с рядовым написанием выпускной работы. Да и сама работа в таком случае должна иметь уровень заметно выше среднего.
В аспирантуру берут не всех, а только тех, кто ведет реальную научную работу, и чьи шансы написать диссертацию на кафедре оцениваются высоко. Эта оценка складывается из целого набора формальных и неформальных критериев. Учитывается многое: успеваемость в течение всего периода обучения, сложность решенных в выпускной работе задач, способность генерировать идеи, самостоятельно ставить теоретические и/или прикладные задачи и правильно их решать, умение работать с литературой, проводить численные эксперименты, готовить публикации и выступления. Любая кафедра заинтересована в том, чтобы аспиранты защищались в срок. Поэтому молодых людей с единственным мотивом избежать армии в аспирантуру берут неохотно.
Ссылки
- Учебная литература по анализу данных и машинному обучению (рекомендации).
- Написание отчётов и статей (рекомендации).
- Подготовка презентаций (рекомендации).
- Защита выпускной квалификационной работы (рекомендации).
- Правила создания статей о публикациях в MachineLearning.Ru
- Научные работы студентов — материалы кафедры вычислительной математики МФТИ.
- О студентах и аспирантах. Отношения — материал кафедры «Технологии программирования» Санкт-Петербургского государственного университета информационных технологий, механики и оптики.
- «Вы и Ваше иссследование» — речь Ричарда Хэмминга 7 марта 1986 в Bell Communications Research Colloquium Seminar о том, как стать результативным в своих научных исследованиях. Оригинал на английском языке.
- Студентам о научно-исследовательской работе.