Интервью с Андреасом Рефсгаардом, стипендиатом ml5.js 2020

Стипендии от Processing Foundation 2020 спонсировали шесть проектов со всего мира, которые расширили p5.js и программное обеспечение Processing и взрастили их сообщества. В сотрудничестве с Программой интерактивных телекоммуникаций Нью-Йоркского университета мы также спонсировали четырех стипендиатов для работы над ml5.js. Из-за COVID-19 многим стипендиатам пришлось перенастроить свои проекты, и когорта этого года, как индивидуально, так и в целом, стремилась решить проблемы доступности и включения в свои проекты. В течение следующих двух месяцев мы будем публиковать наши ежегодные итоговые статьи о том, как проходили проекты стипендий, некоторые из которых были написаны стипендиатами своими словами, а некоторые в беседе с директором по защите интересов Джоанной Хедва. Вы можете прочитать о наших прошлых стипендиатах здесь.

Йоханна Хедва: Привет, Андреас! Расскажи мне о своем проекте стипендий ml5.js. Каковы были ваши намерения и цели и чего вы достигли?

Андреас Рефсгаард: Мой проект был посвящен созданию серии забавных примеров для ml5.js (которые вы можете проверить здесь), чтобы продемонстрировать, насколько классная библиотека! Я получил огромную пользу от существующих примеров, как художник и учитель, и для меня веб-сайт и текущие примеры были отличными учебными ресурсами; ясно, просто и лаконично.

Однако, судя по моему опыту преподавания, студентам иногда бывает трудно представить, что построить на основе очень простых примеров, и знать, куда добавить код, чтобы воплотить свои собственные идеи в жизнь. Поэтому я начал вносить небольшие изменения в существующие примеры для семинаров, которые я проводил. Это Сообщество является естественным продолжением этой работы. Во время моей стажировки я создал 26 примеров, которые показывают, как создавать простые игровые проекты с использованием основных моделей ml5.js.

JH: Вы работали над созданием двух вспомогательных примеров для каждой основной интерактивной техники в ml5.js, которые можно было бы использовать в качестве шаблонов. Вы привели простой пример и более сложный. Во-первых, можете ли вы объяснить разницу между ними?

AR: простые примеры основаны на существующих примерах путем добавления дополнительного кода, достаточного для того, чтобы сделать их более интересными или увлекательными. Цель состоит в том, чтобы стимулировать творческие идеи и показать учащимся, как создание чего-либо самим с помощью ml5.js может быть веселым, игривым занятием, не требующим большого количества сложного программирования.

Более сложные примеры идут на шаг глубже, часто за счет объединения нескольких функций в ml5.js или использования p5.js, чтобы сделать результаты моделей машинного обучения ml5 более интересными. По сравнению с простыми примерами, эти примеры, как правило, длиннее и сложнее и поэтому предназначены служить больше в качестве вдохновляющих примеров, чем в качестве учебных примеров для начинающих.

JH: Почему для ml5.js важно иметь и простой, и более сложный пример? Для кого предназначены эти примеры?

AR: примеры для всех! Я установил для себя правило: все примеры должны работать в редакторе p5.js, поэтому все они могут быть испытаны, просто нажав кнопку воспроизведения. Мы надеемся, что оба типа примеров продемонстрируют творческий потенциал использования ml5.js и привлекут еще больше людей к использованию библиотеки.

При этом я надеюсь, что эти примеры принесут понимание, вдохновение или радость разным людям на разных этапах изучения творческого кодирования, машинного обучения и ml5.js. Увидев, как с помощью всего нескольких строк кода перейти от простого примера к небольшой игровой демонстрации, мы надеемся, что новички смогут сделать то же самое и воплотить свои собственные идеи в жизнь. С другой стороны, более сложные примеры могут вдохновить людей, которые обладают немного большими знаниями и хотят увидеть, как ml5.js можно комбинировать с другими библиотеками и методами.

JH: С какой самой сложной проблемой вы столкнулись во время своего проекта и как вы ее преодолели?

AR: Меня очень поддержал мой наставник Инин Ши, который помог мне с исправлением ошибок и придумывал идеи для различных примеров. Иногда, когда я думал, что некоторые из моих примеров были либо слишком глупыми, либо недостаточно интересными, ее реакция и смех всякий раз, когда я показывал ее новые идеи, помогали мне мотивировать создавать и улучшать примеры.

JH: Что дальше? Будете ли вы продолжать свой проект и свое участие в ml5.js или в целом вносить свой вклад в открытый исходный код?

AR: у меня есть несколько более крупных художественных проектов на оставшуюся часть года, но я буду использовать примеры на нескольких предстоящих курсах по творческому машинному обучению и буду продолжать работать над улучшением примеры с течением времени. Я люблю ml5.js и надеюсь помочь проекту другим способом, и участие в этом Сообществе было для меня действительно приятным опытом. Для тех, кто интересуется Processing / p5js, вы также можете встретить меня на discourse.processing.org, где я часто задаю вопросы и отвечаю на них, или увидеть меня на Processing Community Day Copenhagen, который я помогал организовывать последние два года .