Нейронная сеть узнает, что такое лицо


Вероятно, это прорыв в области искусственного интеллекта, на который мы оглянемся и скажем: «Вот где он действительно взлетел». Большая нейронная сеть наконец-то сделала что-то похожее на то, что делает человеческий мозг. После того, как ему показали множество фотографий, извлеченных из YouTube, он научился распознавать лица, не говоря уже о том, что такое лицо.

Конечно, учитывая, что исходный материал взят с YouTube, он также изучил концепцию «кошачьей морды» – и это забавный ракурс, о котором говорят большинство других новостных репортажей. Тем не менее, серьезный аспект этого исследования должен вызвать у вас дрожь по спине, поэтому не слишком отвлекайтесь, смеясь над видеороликами о кошках.
Работа была проделана исследователями из Стэнфорда и Google, Куок В. Ле, Марк’Аурелио Ранзато, Раджат Монга, Матье Девин, Кай Чен, Грег С. Коррадо, Джефф Дин и Эндрю Й. Нг, и основана на Прорывные идеи о том, как должны быть структурированы нейронные сети, были изобретены Джеффри Хинтоном и другими в 2006 году, но с тех пор были тщательно проработаны.
Идея действительно не имеет единого названия, но обычно ее называют «глубокое обучение» или глубокие нейронные сети, DNN. Грубо говоря, это соответствует обучению каждого слоя нейронной сети по очереди. В результате образуется стек детекторов признаков, которые образуют иерархию функций от простых вещей, таких как края и капли, до более крупных объектов, таких как лица.

Один слой сети (в одном измерении). Вся сеть использовала три повтора этого базового блока.

Эта новость могла быть озаглавлена «Нейронная сеть учится распознавать лица», но это могло быть неправильно истолковано как означающее контролируемое обучение. В большинстве случаев нейронная сеть обучается, показывая ей помеченные примеры того, что она должна изучать, и постепенно она настраивается, чтобы давать результаты, которые желает учитель.
В данном случае этого не происходит.
Нейронная сеть просто показывает изображения – некоторые с лицами, некоторые без. Затем нейронная сеть находит инварианты, то есть вещи, которые делают подмножества изображений одинаковыми. Таким образом, в конечном итоге он узнает, что такое лицо, а не узнает, что такое лицо.
Важное слово в последнем предложении – «в конце концов». Это медленный бизнес, и до этого эксперимента были обучены только небольшие сети, просматривающие небольшие изображения. Им удается изучать только мелкие особенности – края, капли и т. Д. Большой вопрос заключался в том, это просто проблема метода или мы работаем со слишком маленькой сетью?
В искусстве искусственного интеллекта идея о том, что поведение больших сетей может значительно отличаться от поведения малых сетей, долгое время была частью мифологии. Если бы мы только могли втиснуть в коробку достаточно искусственных нейронов, они бы самоорганизовались, даже если мы не понимаем, как это сделать.
В этом случае кажется, что какая-то мифология более или менее верна. Рассматриваемая нейронная сеть имеет 1 миллиард соединений и была обучена с использованием изображений размером 200×200 – 10 миллионов из них. Это начинает двигаться в направлении сложности биологических систем – даже если предстоит еще долгий путь. Для обучения моделированию потребовалось 1000 компьютеров с 16 000 ядер.
После обучения было обнаружено, что лучший нейрон в сети достиг 87% точности в обнаружении лиц – событие, хотя в обучение не входило понятие «лицо». Распознавание также было нечувствительным к вращению, масштабированию и вращению вне плоскости. Это означает, что детекторы признаков действительно привязаны к инвариантам изображения.

Изображения, для которых нейрон детектора лица дал наибольший выход.

Синтетическое изображение, созданное для максимального стимулирования «нейрона лица». Это наилучшее представление объекта, идентифицированного сетью.

После обнаружения нейрона распознавания лиц исследователи отправились на поиски других нейронов, которые узнали другие концепции. Учитывая, что кадры видео YouTube содержат много человеческих фигур и кошек, они затем показали обученные сетевые изображения человеческого тела и кошачьих морд. И снова сеть научилась обнаруживать оба типа изображений. Были нейроны, которые распознавали человеческие фигуры с точностью 77% и кошачьи лица с точностью до 75%.

Синтетические изображения, максимально стимулирующие нейрон «кошачьей морды» и «нейрон человеческого тела». Если вы покоситесь на них, ваши собственные нейроны кошки и тела сработают, и вы действительно увидите нечеткие изображения.
Если вы замечаете сходство в том, как нейронная сеть имела нейроны, распознающие концепции высокого уровня, с тем, как должен работать мозг, то, возможно, именно здесь в историю входит волнение. Похоже, что это сетевая архитектура, обладающая некоторыми свойствами биологических аналогов.
В заключение в статье:
В этой работе мы моделировали нейроны высокого уровня, специфичные для классов, с использованием немаркированных данных. Мы достигли этого, объединив идеи из недавно разработанных алгоритмов для определения инвариантности немаркированных данных. Наша реализация масштабируется до кластера с тысячами машин, что позволяет моделировать параллелизм и асинхронную SGD.
Наша работа показывает, что можно обучить нейроны избирательности к высокоуровневым концепциям, используя полностью необъявленные данные. В наших экспериментах мы получили нейроны, которые функционируют как детекторы лиц, человеческих тел и кошачьих морд, путем обучения на случайных кадрах видео на YouTube. Эти нейроны естественным образом улавливают сложные различия, такие как инвариантность вне плоскости и масштабная инвариантность.

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

Как было сказано в начале, это значительное достижение, которое приближает машинное обучение к его потенциалу, поэтому важно не ограничиваться видеороликами о кошках и понимать это как важный вклад в ИИ.
Google, похоже, серьезно настроен продвигать нейронные сети в практических целях. Процитирую недавний блог Google, написанный Эндрю Нг:
Мы активно работаем над масштабированием наших систем для обучения даже более крупных моделей. Чтобы дать вам представление о том, что мы подразумеваем под «большим» – пока нет общепринятого способа сравнения искусственных нейронных сетей с биологическим мозгом, в качестве очень грубого сравнения мозг взрослого человека имеет около 100 триллионов соединений. Так что нам еще есть куда расти.
И речь идет не только об изображениях – мы активно работаем с другими группами в Google над применением этого подхода искусственной нейронной сети к другим областям, таким как распознавание речи и моделирование естественного языка. Когда-нибудь это может сделать инструменты, которые вы используете каждый день, работать лучше, быстрее и умнее.


Добавить комментарий