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