Решение задачи классификации – это одно из важнейших направлений использования искусственных нейронных сетей.
Например, чтобы по запросу «котики» известные поисковые сайты выдали вам миллионы изображений именно усатых-полосатых, поисковый алгоритм должен сначала сам для себя «понять», какие признаки в изображении определяют наличие на нём именно кота, а затем с помощью этой инструкции проверить миллиарды фотографий и отобрать для вас именно котов.
Чтобы нейронная сеть научилась отделять котов от китов, её сначала нужно этому обучить: предоставить ей, к примеру, несколько десятков, а лучше сотен тысяч или больше фотографий с уже готовыми подписями «котик» и «не котик». Обучившись, нейронная сеть уже сама сможет без подсказки отличать фотографии с котами от всех остальных. Конечно, нельзя гарантировать на сто процентов, что за нужную фотографию машина не примет что-то другое, и, наоборот, пропустит желанного нами котика на другой, но, будем честными, мы и сами не всегда можем точно и сразу сказать, что изображено на фотографии. Также нужно понимать, что под термином «нейросеть» скрывается большой набор разных методов, поэтому для простоты мы будем говорить лишь об общих принципах работы с информацией.
Придумать подобных классификационных задач можно очень много, однако далеко не всегда удаётся научить нейросеть давать правильное решение или же результат может оказаться немного не тем, который ожидалось получить. Например, исследователи из университета Йювяскюля попытались научить нейросеть определять музыкальное направление по танцу, который исполняет человек. Для этого они попросили станцевать под музыку 73 добровольцев, среди которых были как люди, получившие когда-либо музыкальное образование, так и просто «любители». Каждому из участников эксперимента давали в случайном порядке прослушать 16 коротких отрывков песен, относящихся к 8 музыкальным жанрам, и просили двигаться под музыку так, как им хочется. Движения участников записывались с помощью технологии захвата движения (motion capture), которую используют при создании компьютерных эффектов в кино и анимации. Вся эта информация потом обрабатывалась нейросетевыми алгоритмами с целью научить машину, скажем, отличать по движениям танец под джазовую музыку от танца под хип-хоп или под композицию в жанре метал.
К некоторому удивлению исследователей, их нейросеть очень посредственно смогла определить музыкальный жанр по движениям танца. Однако алгоритм в некоторой мере компенсировал этот недостаток тем, что весьма неплохо справился с угадыванием конкретного исполнителя танца, независимо от того, под какую музыку танцевал человек. Получается, что индивидуальные особенности движения человека (отметим, что в данном эксперименте анализировалось движение в общей сложности 21 фиксированной точки на человеке) с точки зрения нейросети оказались более характерными, чем набор движений разных людей, танцующих под одну и ту же музыку. Иными словами, отличить условного Ивана Ивановича, танцующего хип-хоп, от Марии Ивановны, танцующей под музыку регги, нейросети оказалось проще, чем понять, под какую музыку танцуют в отдельности те же Иван Иванович или Мария Ивановна.
При кажущейся некоторой абсурдности цели этого эксперимента, он представляет собой хорошую иллюстрацию того, как методы машинного обучения могут давать неожиданный альтернативный взгляд на привычные для нас явления. Нейросети и мы «видим» мир по-разному, и вполне возможно, что некоторые из будущих открытий в науке будут сделаны именно благодаря «нечеловеческой» нейросетевой логике.
Результаты исследования опубликованы в Journal of New Music Research.
Автор: Максим Абаев