Нейрокомпьютер — устройство переработки информации на основе принципов работы естественных нейронныхсистем[1]. Эти принципы были формализованы, что позволило говорить о теории искусственных нейронных сетей. Проблематика же нейрокомпьютеров заключается в построении реальных физических устройств, что позволит не просто моделировать искусственные нейронные сети на обычном компьютере, но так изменить принципы работы компьютера, что станет возможным говорить о том, что они работают в соответствии с теорией искусственных нейронных сетей.
Термины нейрокибернетика, нейроинформатика, нейрокомпьютеры вошли в научный обиход недавно — в середине 80-х годов XX века. Однако электронный и биологический мозг постоянно сравнивались на протяжении всей истории существования вычислительной техники. Знаменитая книга Н. Винера «Кибернетика» (1948)[2] имеет подзаголовок «Управление и связь в животном и машине».
Первыми нейрокомпьютерами были перцептроныРозенблатта: Марк-1 (1958) и Тобермори (1961—1967)[3], а также Адалин, разработанный Уидроу[англ.] и Хоффом (1960) на основе дельта-правила (формулы Уидроу)[4]. В настоящее время Адалин (адаптивный сумматор, обучающийся по формуле Уидроу) является стандартным элементом многих систем обработки сигналов и связи.[5] В этом же ряду первых нейрокомпьютеров находится программа «Кора», разработанная в 1961 году под руководством М. М. Бонгарда[6].
Большую роль в развитии нейрокомпьютинга сыграла монография Розенблатта (1958)[7].
Идея нейро-бионики (создания технических средств на нейро-принципах) стала интенсивно реализовываться в начале 1980-х гг. Импульсом было следующее противоречие: размеры элементарных деталей компьютеров сравнялись с размерами элементарных «преобразователей информации» в нервной системе, было достигнуто быстродействие отдельных электронных элементов в миллионы раз большее, чем у биологических систем, а эффективность решения задач, особенно связанных задач ориентировки и принятия решений в естественной среде, у живых систем пока недостижимо выше.
В отличие от цифровых систем, представляющих собой комбинации процессорных и запоминающих блоков, нейропроцессоры содержат память, распределённую в связях между очень простыми процессорами, которые часто могут быть описаны как формальные нейроны или блоки из однотипных формальных нейронов. Тем самым основная нагрузка на выполнение конкретных функций процессорами ложится на архитектуру системы, детали которой в свою очередь определяются межнейронными связями. Подход, основанный на представлении как памяти данных, так и алгоритмов системой связей (и их весами), называется коннекционизмом.
Нейросистемы устойчивы к помехам, которые могут накладываться на входные сигналы, а также к частичным разрушениям отдельных элементов нейронной сети.
Устойчивые и надёжные нейросистемы могут создаваться и из ненадёжных элементов, имеющих значительный разброс параметров.
Разработчики нейрокомпьютеров стремятся объединить устойчивость, быстродействие и параллелизм, присущие АВМ (аналоговые вычислительные машины), с универсальностью современных компьютеров.[8]
Проблема эффективного параллелизма
На роль центральной проблемы, решаемой всей нейроинформатикой и нейрокомпьютингом, А. Горбань[9] предложил проблему эффективного параллелизма. Давно известно, что производительность компьютера возрастает намного медленнее, чем число процессоров. М. Минский сформулировал гипотезу: производительность параллельной системы растёт (примерно) пропорционально логарифму числа процессоров — это намного медленнее, чем линейная функция (Гипотеза Минского).
Для преодоления этого ограничения применяется следующий подход: для различных классов задач строятся максимально параллельные алгоритмы решения, использующие какую-либо абстрактную архитектуру (парадигму) мелкозернистого параллелизма, а для конкретных параллельных компьютеров создаются средства реализации параллельных процессов заданной абстрактной архитектуры. В результате появляется эффективный аппарат производства параллельных программ.
Нейроинформатика поставляет универсальные мелкозернистые параллельные архитектуры для решения различных классов задач. Для конкретных задач строится абстрактная нейросетевая реализация алгоритма решения, которая затем реализуется на конкретных параллельных вычислительных устройствах. Таким образом нейросети позволяют эффективно использовать параллелизм.
Современные нейрокомпьютеры
Многолетние усилия многих исследовательских групп привели к тому, что к настоящему моменту накоплено большое число различных «правил обучения» и архитектур нейронных сетей, их аппаратных реализаций и приёмов использования нейронных сетей для решения прикладных задач.
Эти интеллектуальные изобретения[10] существуют в виде «зоопарка» нейронных сетей. Каждая сеть из зоопарка имеет свою архитектуру, правило обучения и решает конкретный набор задач. В последнее десятилетие прилагаются серьёзные усилия для стандартизации структурных элементов и превращений этого «зоопарка» в «технопарк»[11]: каждая нейронная сеть из зоопарка реализована на идеальном универсальном нейрокомпьютере, имеющем заданную структуру.
Основные правила выделения функциональных компонентов идеального нейрокомпьютера (по Миркесу):
Относительная функциональная обособленность: каждый компонент имеет чёткий набор функций. Его взаимодействие с другими компонентами может быть описано в виде небольшого числа запросов.
Возможность взаимозамены различных реализаций любого компонента без изменения других компонентов.
Постепенно складывается рынок нейрокомпьютеров. В настоящее время широко распространены различные высокопараллельные нейро-ускорители[12] (сопроцессоры) для различных задач. Моделей универсальных нейрокомпьютеров на рынке мало отчасти потому, что большинство из них реализованы для спецприменений. Примерами нейрокомпьютеров являются нейрокомпьютер Synapse (Siemens, Германия),[13] процессор NeuroMatrix[14]. Издаётся специализированный научно-технический журнал «Нейрокомпьютеры: разработка, применение»[15]. Проводятся ежегодные конференции по нейрокомпьютерам[16]. С технической точки зрения сегодняшние нейрокомпьютеры — это вычислительные системы с параллельными потоками одинаковых команд и множественным потоком данных (MSIMD-архитектура). Это одно из основных направлений развития вычислительных систем с массовым параллелизмом.
Искусственная нейронная сеть может передаваться от (нейро)компьютера к (нейро)компьютеру, так же как и компьютерная программа. Более того, на её основе могут быть созданы специализированные быстродействующие аналоговые устройства. Выделяются несколько уровней отчуждения нейронной сети от универсального (нейро)компьютера[17]: от сети, обучающейся на универсальном устройстве и использующей богатые возможности в манипулировании задачником, алгоритмами обучения и модификации архитектуры, до полного отчуждения без возможностей обучения и модификации (то есть только функционирование предварительно обученной сети).
Одним из способов подготовки нейронной сети для передачи является её вербализация: обученную нейронную сеть минимизируют с сохранением полезных навыков. Описание минимизированной сети компактнее и часто допускает понятную интерпретацию.
В нейрокомпьютинге постепенно созревает новое направление, основанное на соединении биологических нейронов с электронными элементами. По аналогии с Software (программное обеспечение) и Hardware (электронное аппаратное обеспечение), эти разработки получили наименование Wetware[англ.].
В настоящее время уже существует технология соединения биологических нейронов со сверхминиатюрными полевыми транзисторами с помощью нановолокон (Nanowire[англ.]).[18]
В разработках используется современная нанотехнология. В том числе, для создания соединений между нейронами и электронными устройствами используются углеродные нанотрубки.[19]
Распространено также и другое определение термина «Wetware» — человеческий компонент в системах «человек-компьютер».
Протезирование («умные протезы») и усиление естественных функций[37], в том числе — за счёт прямого подключения нервной системы человека к компьютерам (Нейро-компьютерный интерфейс).
Телекоммуникационное мошенничество, его обнаружение и предотвращение с помощью нейросетевых технологий — по мнению некоторых специалистов[41] являются одной из самых перспективных технологий в области защиты информации в телекоммуникационных сетях.
Аляутдинов М. А., Галушкин А. И., Казанцев П. А., Остапенко Г. П. Нейрокомпьютеры: от программной к аппаратной реализации. — М.: Горячая линия - Телеком, 2008. — 152 с. — ISBN 978-5-9912-0044-8.
Нейрокомпьютерная парадигма и общество. / Под ред. Ю. Ю. Петрунина. — М.: Издательство Московского университета, 2012. — 304 с. — ISBN 978-5-211-06375-4.
Комарцова Л. Г., Максимов А. В. Нейрокомпьютеры. — 2-е изд., переработанное и дополненное. — М.: МГТУ им. Н.Э. Баумана, 2004. — 400 с. — (Учебник для вузов). — 2000 экз. — ISBN 5-7038-2554-7.
↑Rosenblatt, F. The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. In, Psychological Review, Vol. 65, No. 6, pp. 386—408, November, 1958. Lancaster, PA and Washington, DC: American Psychological Association, 1958. Розенблатт Ф.Принципы нейродинамики. Перцептроны и теория механизмов мозгаАрхивная копия от 10 ноября 2007 на Wayback Machine — М.: Мир, 1965.
↑Micheli-Tzanakou, E., Uyeda, E., Ray, R., Sharma, A., Ramanujan, R., Dong, J., Comparison of Neural Network Algorithms for Face Recognition,
SIMULATION 65 (1995), 37-51
↑Россиев Д. А., Медицинская нейроинформатикаАрхивная копия от 19 августа 2017 на Wayback Machine, В кн.: Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998. — 296 с.
↑И. И. Баскин, В. А. Палюлин, Н. С. Зефиров. Применение искусственных нейронных сетей для прогнозирования свойств химических соединений // Нейрокомпьютеры: разработка, применение. - 2005. - № 1 - 2. - С. 98 - 101.
↑Dorrer M.G., Gorban A.N., Kopytov A.G., Zenkin V.I., Psychological Intuition of Neural Networks. Proceedings of the 1995 World Congress On Neural Networks, A Volume in the INNS Series of Texts, Monographs, and Proceedings, Vol. 1, 1995, 193—196.