Нейрокомпьютеры — фантастика или реальность?

Дата публикации: 17.10.2013 13:40
Источник: 3DNews
Теги: Обзоры | Технологии

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

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

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

Удобство и простота предложенной модели нейрона подвигла множество исследователей, стремившихся проникнуть в тайны человеческого мозга, продолжить работу над созданием нейронной сети и разработку алгоритмов ее обучения. Уже в конце 1950-х годов, американец Ф. Розенблатт предложил модель восприятия информации мозгом — персептрон. Эта модель была реализована в виде электронной машины «Марк-1» в 1960 году. «Марк-1» был первым в мире нейрокомпьютером. Несмотря на свою простоту, персептрон может обучаться и решать довольно сложные задачи.

Самый простой персептрон состоит из элементов 3-х видов: S-элементы, A-элементы и один R-элемент. S-элементы представляют собой слой сенсоров, или рецепторов. В практическом воплощении они, например, соответствуют светочувствительным клеткам сетчатки глаза или фоторезисторам матрицы камеры. Каждый рецептор находится в одном из двух состояний — покоя или возбуждения. В последнем случае он передает единичный сигнал в следующий слой, ассоциативным элементам.

A-элементы называются ассоциативными, потому что каждому такому элементу, как правило, соответствует целый набор (ассоциация) S-элементов. A-элемент активизируется, как только количество сигналов от S-элементов на его входе превысило некоторую величину θ. Сигналы от возбудившихся A-элементов, в свою очередь, передаются в сумматор R. Так же как и A-элементы, R-элемент подсчитывает сумму значений входных сигналов, помноженных на веса. R-элемент, а вместе с ним и элементарный персептрон, выдает «1», если линейная форма превышает порог θ, иначе на выходе будет «−1».

Обучение элементарного персептрона состоит в изменении весовых коэффициентов связей A—R. После обучения персептрон готов работать в режиме распознавания или обобщения. В этом режиме персептрону предъявляются ранее неизвестные ему объекты, и персептрон должен установить, к какому классу они принадлежат. Основная математическая задача, с которой справляется персептрон, — это линейное разделение любых нелинейных множеств, так называемое обеспечение линейной сепарабельности. Сам Розенблатт рассматривал персептрон в качестве следующего важного шага в сторону исследования и использования нейронных сетей, а не как оконченный вариант «машины, способной мыслить». В предисловии к своей книге он отмечал, что «программа по исследованию персептрона предназначена главным образом не изобретению искусственного интеллекта, а изучению физических структур и нейродинамических принципов». Для персептронов важны два варианта использования в практических задачах: классификация (объектов) и возможность аппроксимации (границ классов и функций). Персептрон довольно популярен — его используют для распознавания образов, прогнозирования погоды и т. д.

В начале 60-х математик Р. Блок сформулировал теорему распознавания, а радиоинженер Б. Уидроу разработал и воплотил в жизнь первую искусственную нейронную сеть, известную в литературе под названием «Адалин» (адаптивный сумматор, обучающийся по формуле Уидроу). Он же создал и алгоритм, обучающий ее распознавать образы. Сейчас Адалин является стандартным элементом многих систем обработки сигналов и связи. В ряду первых нейрокомпьютеров также находится программа «Кора», разработанная в СССР под руководством М. М. Бонгарда — выдающегося советского биофизика и кибернетика. Сначала он занимался моделированием физиологических процессов на компьютере, потом написал программу для М-2 — одного из первых ЭВМ в СССР.

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

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

Кроме того возможностями нейронных сетей и их промышленным применением заинтересовалась одна из гигантов компьютерной индустрии — компания Intel. Исследования по этой теме были начаты еще в 1988 году, а уже к следующему году был представлен первый рабочий образец аналогового нейропроцессора i80170NX. Годом позже Intel (совместно с фирмой Nestor и при финансовой поддержке Агентства передовых оборонных исследовательских проектов США) приступила к разработке цифрового нейрочипа Ni1000, который был анонсирован в 1993 году, под названием i80160NC.

Нейросетевой процессор i80170NX ETANN (Electrically Trainable Analog Neural Network) является уникальным в своем роде чипом, предназначенным для решения задач распознавания образов. Процессор эмулирует работу 64 биологических нейронов, при этом каждый нейрон процессора имеет 128 синапсов (входов). Каждый синапс связан с входом процессора с помощью устройства, которое позволяет задавать коэффициенты весов, характеризующее силу этой связи. Данные на входе и выходе процессора аналоговые, но управление, установка и чтение весовых коэффициентов — цифровые. Процессор i80160NC полностью цифровой.

Применение распараллеленной архитектуры позволило добиться производительности 2 миллиарда операций в секунду. Этот процессор успешно работает в различных системах, в которых необходимо решение неформализуемых задач. Восемь таких нейропроцессоров устанавливаются на плату-акселератор для компьютера, что позволило достигнуть практически феноменальной на то время производительности в 16 млрд. операций в секунду! Создание приложений для сопроцессора обеспечивается наличием мощных средств разработки. Для проектирования нейронных сетей были разработаны пакеты iNNTS (Intel Neural Network Training System) и EMB (ETANN Multi-Chip Board). Также в комплект поставки входит программа моделирования и изучения искусственных нейронных сетей: iBrainMaker от фирмы California Scientific Software или iDynaMind от фирмы NeuroDynamX. Обе программы имеют удобный и дружелюбный пользовательский интерфейс и могут использоваться для демонстрации свойств и возможностей нейронных сетей.

Начинает складываться рынок нейрокомпьютеров: вслед за Intel подтянулись и другие ведущие мировые производители вычислительной техники. Получили широкое распространение различные высокопараллельные нейро-ускорители (сопроцессоры) для различных задач. Универсальных нейрокомпьютеров на рынке практически нет, потому что большинство из них создаются под определенные задачи. Свои нейропроцессоры создали такие компании, как Motorola, Echelon, IBM, Siemens, Fujitsu и другие. В 1998 году на мировой рынок нейрочипов вышла и российская фирма НТЦ «Модуль», создавшая нейропроцессор NM6403. Хотя спроектировали его и российские инженеры, но производится нейрочип на мощностях компании Samsung.

Область применения NM6403 очень широкая: для обработки видеоданных, в радиолокационных системах и криптографии. Большой интерес представляет созданный на базе этого нейропроцессора аппаратно-программный комплекс «Трафик-Монитор». Этот комплекс измеряет в реальном масштабе времени характеристики транспортного потока для последующего принятия решения по организации и регулированию дорожного движения. Он измеряет не только общее количество прошедших транспортных средств, но и классифицирует их по типам.

Совсем недавно известная компания, производящая чипы для мобильных устройств, анонсировала разработку новых процессоров на основе нейронной архитектуры. Разработки Qualcomm будут использоваться не только в смартфонах или планшетах. Компания планирует широко использовать их в медицине, автомобилестроении и других отраслях. Новые чипы должны решать задачи, с которыми не способны справиться существующие процессоры. Например, установленные нейронные процессоры смогут распознавать голосовые команды владельцев смартфонов благодаря процессу самообучения на реальных примерах, а не только те, которые были запрограммированы изначально. Новые процессоры также смогут определять препятствия на дороге в системах автомобильных автопилотов и многое, многое другое. Одной из возможных глобальных веток использования подобных устройств является создание различных имплантов для мозга и систем искусственного зрения. Нейронные процессоры от Qualcomm должны выйти в свет уже в следующем году. Благодаря усилиям компании нейрокомпьютеры могут перестать быть уделом узких специалистов и занять свою нишу среди миллиардного числа пользователей мобильных устройств.

Большое внимание уделяется не только созданию нейропроцессоров, а также построению нейросетей на основе компьютеров. Так, в июне 2012 года исследователи из Google запустили нейросеть на кластере 1000 серверов (16 тыс. процессорных ядер; 1,7 млрд связей между нейронами). Эксперимент стал одним из самых масштабных, при этом система изначально имела практическую направленность. В целом, самообучаемая нейросеть — это универсальный инструмент, который можно использовать для различных массивов данных.

Google применила свою нейросеть для улучшения точности распознавания речи: благодаря ей удалось уменьшить количество ошибок при распознавании на 20-25%. Были оптимизированы алгоритмы только для английского языка, однако специалисты считают, что аналогичные улучшения могут быть созданы также и для других языков и диалектов. Еще нейросеть используется в проекте Google Street View для обработки небольших фрагментов фотографий, проверяя, является число на фрагменте номером дома или нет. На удивление с этой задачей нейросеть справляется гораздо лучше человека. На проекте Youtube после просмотра 10 миллионов случайных кадров в нейросети сформировались нейроны, селективно реагирующие на присутствие лиц на изображениях. Ученые считают, что нейросеть Google в процессе самообучения работала подобно нейронам в зрительной коре головного мозга млекопитающих, правда с учетом того, что нейросеть Google намного меньше по количеству узлов, чем сеть зрительной коры. В будущем нейросеть будет использована и в других продуктах Google, таких как поиск изображений, очки Google Glass и автомобили с беспилотным управлением.

После успеха компании Google нейронную сеть решила создать компания NVIDIA на основе собственных GPU совместно с командой ученых из Стэнфордского Университета. Крупнейшая в мире искусственная нейронная сеть предназначена для изучения процесса обучения человеческого мозга. Данная сеть получилась в 6,5 раз больше аналога, созданного командой Google, для ее создания были использованы 16 серверов на базе графических процессоров NVIDIA (11,2 млрд параметров).

Чем крупнее и мощнее нейронная сеть, тем более точно она справляется с поставленными задачами, например, с распознаванием объектов, что дает возможность компьютеру моделировать поведение, близкое к человеческому. Огромный интерес к нейронной сети от NVIDIA вызывает факт, что она создана с помощью уже доступного в продаже оборудования. Каждый из шестнадцати серверов компании состоит из двух четырехъядерных процессоров и четырех графических карт NVIDIA GeForce GTX 680. Для организации подключений с низкой задержкой между серверами используются коммутаторы FDR Inniband.

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

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

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

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

Новые приложения и игры для Android

Clean Road
Clean Road
Освобождайте машины из снежного и песочного плена, выводя их на чистую трассу
AMAZE!
AMAZE!
Закрасьте лабиринт одним цветом при помощи мячика
Google Files
Google Files
Утилита от Google для очистки памяти на вашем смартфоне
Зомби цунами
Зомби цунами
Устройте настоящий цунами из зомби, которое сметет все на своем пути
Merge Plane
Merge Plane
Экономический кликер на тему авиаперевозок
8 Ball Pool
8 Ball Pool
Красивый вариант онлайновой восьмерки в бильярде