`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Нейронные сети: технология начинает медленный переход в фазу зрелости

+66
голосов

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

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

Исследования в области нейронных сетей, формы искусственного интеллекта (AI, ИИ), начались еще в 40-х годах прошлого века, и к концу 1980-х эта тематика стала чрезвычайно популярной. В 1990-х ученые переключились на смежные задачи ИИ, машинного обучения и экспертных систем, поскольку стали очевидными возможности внедрения технологий на их основе в ближайшем будущем. Тем не менее, область нейронных сетей не осталась без внимания, были созданы мощные обучающие модели, которые можно было использовать в задачах распознавания шаблонов. К началу 2000-х появились искусственные системы, которые позволяли достаточно точно моделировать естественные нейронные сети. И хотя до сих пор не известно, как в точности работает человеческий мозг, многие последние научные открытия в области когнитивистики были сделаны именно благодаря моделям нейронных сетей, построенным специалистами в области компьютерных наук. В последние годы процессоры, наконец, достигли такой плотности, которая нужна для работы больших кластеров узлов даже в одном чипе, а это значит (принимая во внимание закон Мура), что новые искусственные модели смогут с еще большей точностью симулировать работу мозга.

Самое простое определение (искусственной) нейронной сети (ANN) дал в 1989 г. изобретатель первых нейронных компьютеров Роберт Хехт-Нельсен (Robert Hecht-Nielsen): «ANN – это компьютерная система, сформированная из многих простых, тесно связанных вычислительных элементов, которые обрабатывают данные динамически в ответ на внешние входящие потоки». Нейронные сети моделирую работу коры головного мозга млекопитающих, но в уменьшенном масштабе.

Нейронные сети технология начинает медленный переход в фазу зрелости

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

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

Нейронные сети технология начинает медленный переход в фазу зрелости

Самое интересное, конечно, происходит внутри скрытых слоев ANN. Здесь, в зависимости от особенностей входящих данных с использованием так называемых обучающих правил происходит модификация связей. Каждый скрытый слой имеет сигмоидальную функцию активации (это возрастающая всюду дифференцируемая S-образная нелинейная функция с насыщением), которая позволяет усиливать слабые сигналы и не перенасыщать связи под воздействием сильных сигналов. В результате система достигает стабильного состояния. Когда нейронная сеть натренирована до достаточного уровня на некоторой обучающей выборке, ее можно использовать в качестве аналитического инструмента для обработки других наборов данных. Главное – не перетренировать сеть, поскольку в этом случае она сможет адекватно оценивать только один тип ввода (что очень напоминает заучивание).

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

Нейронные сети технология начинает медленный переход в фазу зрелости

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

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

Нейронные сети отлично подходят для различных задач аппроксимации, могут использоваться для моделей систем с высокой устойчивостью к ошибкам, выявления ассоциативных и скрытых связей, работы с большими объемами данных, пр. Медленно, но уверенно они проникают в промышленные решения. Google использует различные алгоритмы нейронных сетей для повышения качества распознавания речи в Google Voice (это ПО для мобильных устройств преобразует голосовой ввод в текстовый, позволяет надиктовывать сообщения, делать голосовые поисковые запросы и отдавать команды устройства, причем даже в шумной среде, где обычное ПО для распознавания речи работает неустойчиво). Алгоритмы нейронных сетей использует и Microsoft: для раскопки данных и в SQL Server Analysis Services, для решения задач классификации и регрессионного анализа.

Нейронные сети уже показали свою эффективность при анализе больших объемов данных. В 2009 г. алгоритм с использованием технологий ANN получил Netflix Grand Prize (в то время Netflix проводила конкурс на лучший метод рекомендовать к просмотру фильмы на основе имеющегося набора рейтингов выставленных пользователями (около 100 млн записей), впоследствии он был реализован в сервисе Netflix.

Экспотенциальный рост объемов уже в ближайшие десять лет сделает достаточно острой проблему загрузки информации в компьютерные системы. Для ее разрешения потребуются совершенно новые архитектуры систем ввода-вывода, для построения которых могут быть использованы нейронные сети. ANN могут оказаться эффективными и для усовершенствования систем безопасности, в частности решения задач обнаружения вторжений. Сейчас для выявления подобной активности используют сигнатурный метод (библиотеку шаблонов необходимо постоянно обновлять), либо ищут аномалии работы приложений, что достаточно сложно в высоконагруженных системах. Нейронные сети смогут объединить оба подхода и повысить эффективность поведенческого анализа.

С помощью технологий нейронных сетей можно усовершенствовать и работу процессоров. Проблемой использования нейронных сетей на аппаратном уровне серьезно занимаются в компании Micron, которая недавно выпустила прототип модуля DDR памяти со встроенным процессором Automata. Массив модулей Automata можно использовать для наблюдения за потоком входящих данных с целью выявления аномалий, временных флуктуаций, либо поиска нужных шаблонов. Модули Automata работают параллельно, при этом каждый из них может рассматриваться как узел сети, а вместе они представляют собой кластер для выполнения вычислений по типу нейронных сетей. Для программирования Automata компания Micron разработала специальный компилятор, в котором использованы как расширения обычного языка, так и язык собственной разработки Automata Network Markup Language (ANML).

Активно работает в этой сфере и IBM, в рамках проекта SyNAPSE (Systems of Neuromorphic Adaptive Plastic Scalable Electronics) спонсируемого DARPA. Первый значимый результат был получен в 2011 г., когда IBM представила прототип чипа с 256 цифровыми нейронами работающими на скорости 10 МГц, способный решать задачи идентификации шаблона и навигации. В одном ядре чипа сосредоточено 262144 программируемых синапсов, в другом – 65536 обучающихся синапсов, связи между ядрами ослабляются или усиливаются в зависимости от количества переданных сигналов. В 2014 г. ученые планируют представить новый чип, с большим числом узлов и синапсов.

В 2013 г. IBM представила новую модель программирования для некоторых когнитивных процессоров, основанную на повторном использовании совместимых блоков, корелетов (corelet). Каждый корелет является небольшой нейронной сетью, но каким образом данные обрабатываются внутри него извне отследить невозможно. Алгоритмы и приложения создаются путем построения из таких блоков некоторой иерархии. На ранних этапах тестирования IBM удалось научить прототип чипа играть в примитивную компьютерную игру Pong, распознавать цифры, перемещать робота в простой среде.

Еще один интересный проект – чип Qualcomm Zeroth, предназначенный для мобильных устройств, который на основании анализа человеческого поведения может предсказывать намерения пользователя и помочь ему в работе. Qualcomm уже демонстрировала навигационные возможности Zeroth, и сейчас работает над тем, чтобы расширить его функции на область исследования данных.

В отличие от Micron, IBM и Qualcomm, использующих цифровые нейроны, ученые университете Гейдельберга (Германия) в рамках проекта Human Brain Project (спонсируется Европейским Союзом) построили нейроморфную систему, построенную на аналоговых схемах. Как подчеркивают ученые, аналоговые ядра лучше эмулируют работу мозга. Сейчас тестовая нейронная сеть насчитывает 200 тыс узлов и 50 млн синапсов, а в ближайшие пару лет ученые намерены нарастить мощности до 4 млн аналоговых нейронов.

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

Сомнительно, что когда-нибудь нейроморфные чипы полностью заменят стандартные процессоры, но они безусловно смогут разгрузить вычислительные мощности, взяв на себя часть задач, с которыми справляются лучше (вместо сбора данных сенсоров для централизованной обработки, порой разумнее перенести обработку в сеть сенсоров). Нейронные сети – не замена традиционных вычислений, это дополнительная парадигма, которая, несомненно, подтолкнет дальнейшее развитие автоматизации.

+66
голосов

Напечатать Отправить другу

Читайте также

давно пора, а то за последнее время ничего принципиально нового не сотворено.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT