Человек, впервые продемонстрировавший силу нейронных сетей, представляет капсульные сети.
Если у вас новый телефон, скорее всего, у вас есть нейронная сеть в кармане или сумочке. Вот такими вездесущими стали нейронные сети. У них есть кеш, и производители хвастаются, что используют их во всем: от распознавания голоса до умных термостатов и беспилотных автомобилей. Поиск «нейронной сети» в Google дает почти 35 миллионов результатов. Но «традиционные» нейронные сети, возможно, уже уходят, благодаря Джеффу Хинтону из самой Google. Он представил нечто еще более передовое: «капсульные» нейронные сети.
Вдохновением для традиционных нейронных сетей, как следует из их названия, являются нейроны в нашем мозгу и то, как эти крошечные тела, как предполагается, объединяют понимание посредством сложных взаимосвязей между многими, многими отдельными нейронами, каждый из которых который обрабатывает часть общей головоломки.
Нейронные сети правильнее называть «искусственными нейронными сетями» или «ИНС для выстрела». (Здесь мы будем называть их просто «нейронными сетями» или «сетями».) Нейронная сеть - это классификатор, который может сортировать объект в правильную категорию на основе входных данных.
Основой нейронной сети являются ее искусственные нейроны, или «AN», каждый из которых присваивает значение полученной информации в соответствии с определенным правилом. Группы AN организованы в слои, которые вместе приходят к какому-то прогнозу, который затем передается на следующий уровень и так далее, пока не будет достигнуто понимание. В сверточных нейронных сетях информация перемещается вверх и вниз по уровням, постоянно изменяя правила AN для исправления ошибок и получения наиболее точных результатов.
Нейронные сети предшествовали нашим современным компьютерам, и первым примером был алгоритм Perceptron, разработанный Фрэнком Розенблаттом из Корнелла в 1957 году. Однако для того, чтобы воспользоваться их потенциалом, требуются современные вычислительные мощности, поэтому для развития нейронных сетей было сделано немногое, пока в 2012 году профессор Университета Торонто Джефф Хинтон не продемонстрировал, насколько хорошо они могут распознавать изображения. (Google и Apple теперь используют нейронные сети в своих фотоплатформах, а Google недавно сообщил, что их платформа состоит из 30 слоев.) Нейронные сети являются важнейшим компонентом в разработке искусственного интеллекта (ИИ).
Одним из привлекательных аспектов нейронных сетей является то, что программистам не нужно указывать им, как выполнять свою работу. Вместо этого нейросети предоставляется огромная база данных образцов - изображений, голосов и т. д., которая затем сама выясняет, как идентифицировать то, что ей было дано. Нейронной сети требуется некоторое время и множество образцов, чтобы установить идентичность похожих предметов, представленных в разных условиях: например, в разных положениях. Как пишет Том Симонит в WIRED:
Чтобы научить компьютер распознавать кошку с разных ракурсов, например, могут потребоваться тысячи фотографий с разных ракурсов. Человеческим детям не нужна такая подробная и обширная подготовка, чтобы научиться узнавать домашнего питомца.
Это проблема: их потребность в таком большом количестве образцов ограничивала полезность нейронных сетей вещами, для которых существуют огромные наборы данных. Чтобы ИИ можно было использовать с более ограниченными наборами данных - например, для анализа медицинских изображений - он должен быть умнее с меньшим количеством входных данных. Хинтон недавно сказал WIRED: «Я думаю, что то, как мы делаем компьютерное зрение, просто неправильно. В настоящее время это работает лучше, чем что-либо другое, но это не значит, что это правильно».
Хинтон обдумывал потенциальное решение с конца 90-х: капсулы, и только что опубликовал две статьи - на arXiv и OpenReview - с подробным описанием функциональной «капсульной сети», потому что, как он говорит, «Мы Наконец-то мы нашли то, что хорошо работает».
Джефф Хинтон (УНИВЕРСИТЕТ ТОРОНТО)
В капсульной сети Хинтона слои состоят не из отдельных AN, а скорее из небольших групп AN, расположенных в функциональных модулях или «капсулах». Каждая капсула запрограммирована на обнаружение определенного атрибута классифицируемого объекта, что позволяет обойти потребность в массивных наборах входных данных. Это делает капсульные сети отходом от традиционного подхода нейронных сетей «пусть сами учатся».
Уровню назначается задача проверки наличия некоторой характеристики, и когда достаточное количество капсул согласуется со значением своих входных данных, уровень передает свое предсказание следующему слою.
Пока что капсульные сети оказались такими же искусными, как и традиционные нейронные сети, в понимании почерка и вдвое снизили количество ошибок при идентификации игрушечных машинок и грузовиков. Впечатляет, но это только начало. Нынешняя имплантация капсульных сетей, по словам Хинтона, происходит медленнее, чем в конечном итоге. У него есть идеи по их ускорению, и когда он это сделает, капсулы Хинтона вполне могут вызвать значительный скачок в развитии нейронных сетей и искусственного интеллекта.