Всем привет! Я Кунинд Саху, третий специалист BTech (будущий четвертый) отдела МЭМС. Я получаю двойное образование в области компьютерных наук и искусственного интеллекта в CMInDS, IIT Bombay. Вы часто видели, как я смотрю сериалы/фильмы ужасов и триллеров, а также играю в видеоигры. Этим летом я также работаю стажером-аналитиком в Центре передового опыта по кредитному мошенничеству и рискам в American Express!

Каким был ваш первый опыт/проект в области машинного обучения?

Это было во время моих летних каникул, после того как мой первый год внезапно закончился из-за COVID-19, когда я впервые погрузился в машинное обучение как область. Было много времени, чтобы убить, и так как был этот фурор об ИИ как области (что, естественно, меня очень заинтриговало). Это побудило меня пойти дальше и пройти знаменитый курс «Машинное обучение» на Coursera, предложенный Эндрю Нг. Мне очень понравилась структура курса, и я нашел эту область действительно очень интересной — это побудило меня принять решение о продолжении AI Minor и узнать больше об этой области в целом.

Ваш путь в этой области до сих пор!

Курс Эндрю Нг хорош для начала вашего пути в этой области, но, на мой взгляд, его недостаточно. Вам нужно знать больше. Таким образом, я прошел несколько курсов института и других онлайн-курсов, чтобы улучшить свои знания в области искусственного интеллекта и машинного обучения.

В институте я прошел курсы DS203 (3 сем), EE659 (3 сем), DS303 (4 сем) и CS747 (5 сем). К сожалению, я не смог пройти ни один курс в 6-м семестре из-за некоторых дополнительных основных лабораторных курсов, которые мне нужно было пройти (я пропустил их из-за COVID-19).

Я прошел несколько онлайн-курсов помимо Машинного обучения Эндрю Нг. Существует курс Глубокое обучение профессора Митеша Хапра и профессора Пратюша Кумара из IIT Madras (у них есть собственный стартап AI EdTech под названием One-Fourth Labs). Обучение» на Coursera. Я нашел этот курс действительно хорошим с точки зрения теории. Хотя практических заданий в этом курсе немного и они необязательны (что снижает мотивацию к их выполнению). Практика кодирования, конечно же, тоже необходима! Итак, вы можете пройти курс глубокого обучения Эндрю Нг на Coursera. Вы можете найти курс IIT Madras здесь. Содержание очень похоже на первую половину курса IITM NPTEL CS7015 (доступно на YouTube), так что, возможно, вы могли бы ознакомиться с ним.

Я также проходил летнюю исследовательскую стажировку в Делфтском техническом университете (лето после 4-го семестра) под руководством профессора Мигеля Бессы. Именно здесь я познакомился с областью графического машинного обучения. Я работал с ним над темой вычисления схожести графов (пытаясь предсказать разницу редактирования графа между двумя графами с помощью глубокого обучения). Я писал о своей стажировке для Insight Summerblog, вы можете найти больше об этом в этой ссылке

Я также был ассистентом преподавателя на курсах MA106: Linear Algebra для весны 2020–21 (мой 4-й сем) и DS303 для весны 2021–22 (мой 6-й сем). Они очень помогли мне сохранить свежесть концепций и пересмотреть все, что я узнал. Линейная алгебра особенно важна, если вы хотите понять математику, лежащую в основе алгоритмов машинного обучения (не говоря уже о том, что TAship — единственный путь в этом отношении — это был скорее полезный побочный продукт!).

Кроме того, в настоящее время я прохожу стажировку в American Express, где мой проект вращается вокруг неконтролируемого машинного обучения.

Как вы проводили лето, развивая свои навыки?

За исключением лета на первом курсе, летом я не тратил много времени на то, чтобы специально повысить свою квалификацию; это был скорее побочный продукт всех других вещей, которые я делал. Например, я познакомился с PyTorch Geometric и NetworkX во время стажировки в Делфтском техническом университете.

Летом после первого года обучения я выделял время на изучение Python и всех его библиотек, полезных для машинного обучения — numpy, pandas и matplotlib. Я был знаком с SQL по DS203, но не был в этом уверен, поэтому я также прошел этот онлайн-курс по SQL на Udacity незадолго до начала сезона стажировок.

Кроме того, я потратил некоторое время на изучение математики, лежащей в основе различных алгоритмов машинного обучения, преподаваемых в курсе DS303 (через различные онлайн-ресурсы, такие как CS229 Youtube, Ali Ghodsi и т. д.), что очень помогло мне во время стажировки. Меня спросили о математической теории повышения градиента в целом и некоторых деталях реализации XGBoost и LightGBM в моем интервью American Express! (так как я сделал проект и использовал XGBoost и LightGBM)

Я также занимался проектом WnCC SoC летом после 4-го семестра — он был о создании интеллектуального агента с обучением с подкреплением, чтобы заставить его играть в игру 2048. Это познакомило меня с областью обучения с подкреплением и побудило меня пройти курс CS747.

Есть ли какие-либо особые интересы в области машинного обучения (например, RL, графовые нейронные сети и т. д.) и как следовать этому пути?

Помимо общего интереса к машинному обучению, меня очень интересуют приложения Graph Machine Learning. Точно так же, как сверточные нейронные сети работают с изображениями, а рекуррентные нейронные сети работают с текстовыми данными и данными предложений, машинное обучение графов работает с графическими данными (такое умное 🙂).

Графовые нейронные сети (общее название многих различных алгоритмов) работают с графами (графы — это структуры данных, содержащие узлы и несколько ребер, соединяющих узлы) данные. Графы — это очень общие структуры, которые, совершенно очевидно, трудно хорошо моделировать. Графическое машинное обучение находит широкий спектр применений в компьютерном зрении, биоинформатике, химии, дизайне и разработке лекарств, поиске информации, комбинаторике, обнаружении мошенничества и аномалий и т. д. Эта область исследований начала набирать обороты и довольно быстро развивается. быстро за последние несколько лет. Вы можете узнать больше о машинном обучении на основе графов здесь и :

К сожалению, в институте есть только два профессора, проявляющие общий интерес к «графовому машинному обучению» — профессор Абир Де и профессор Сумен Чакрабарти (который, однако, больше интересуется приложениями баз данных графов, поиском графов и подобия). ). Профессор Абир Де предлагает курс по машинному обучению на основе графов под названием «CS768: обучение с помощью графов». Он посвящен классическим методам анализа графов и более позднему глубокому обучению на графах.

Помимо курса института, вы всегда можете попробовать пройти исследовательскую стажировку в этой области, особенно с помощью приложений. Сфера быстро развивается, и возможностей для этого предостаточно!

Вещи, которые, по вашему мнению, можно было сделать лучше/изучить во время вашего пребывания в институте!

Единственное «сожаление», которое у меня есть, — это то, что я не присоединился к технической команде, которая занимается машинным обучением. Технические команды — это замечательная возможность поработать на практике над формулировкой реальной проблемы, где вы действительно можете увидеть результаты своих развернутых решений.

Хотя у меня нет сильного чувства, что я упускаю эту возможность, тем не менее я чувствую, что мог бы попробовать.

Чем исследовательский проект машинного обучения отличается от стандартного проекта машинного обучения?

Я думаю, что основное и наиболее важное различие заключается в уровне сложности, на котором вы работаете, и в определении постановки задачи.

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

Стандартные проекты ML (говоря о стандартных курсовых проектах, которые у нас есть в IITB), хотя можно утверждать, что они похожи, я чувствую, что они разные, когда мы рассматриваем постановку задачи. Много раз в курсовых проектах нам просто нужно внедрить и настроить/модифицировать существующие решения в нашей области применения и продемонстрировать результаты этого. (Ни в коем случае не говорю, что исследовательские проекты не прикладные, вы всегда можете использовать свои исследования и применить их ко многим задачам!)

В заключение можно сказать, что исследовательские проекты в целом являются более сложными, не имеют фиксированной дорожной карты и более открыты.

Заключение (наконец-то xD!)

Машинное обучение — это действительно захватывающая область, в которой каждый день делается много достижений в различных подобластях. Мой учебный путь в этой области действительно обогащает. Оглядываясь назад, я ни о чем не жалею, что выбрал эту сферу. Я многому научился — применимо в самых разных дисциплинах и работал над интересными проектами на протяжении многих лет. Еще раз упомянув об этом, мне понравился универсальный аспект этой области — он дает вам навыки, применимые в самых разных отраслях и областях, поэтому он может в некоторой степени облегчить ваш переход в другие области, если вы когда-либо планируете переключение. На этом мой рассказ о моем путешествии в области машинного обучения завершается. Всего наилучшего вам, читатели, за то, что вы наметили свой собственный удивительный путь!

PS: Это был конец этого сверхдлинного описания. Если вы зашли так далеко, спасибо! Вот рекомендация песни ;)