Коннекционистское расширение минимальной модели вычислений: часть 2

УДК 004.27; 519.7

DOI: 10.17726^ШТ2016.12.2.4

Коннекционистское расширение минимальной модели вычислений: часть 2*

Матюшкин Игорь Валерьевич,

ведущий научный сотрудник, Институт проблем проектирования в микроэлектронике РАН, Москва, Зеленоград, Россия

imatyushkin@ippm.ru

Аннотация. Рассмотрена специфика пяти основных коннек-ционистских систем. Предложена коннекционистская модель вычислений, развертывающая минимальную модель, введенную авторами в первой части. Она является синтезом моделей нейронной сети, клеточного автомата и распределенной системы, опираясь на работы Розенблюта, Розенблатта и Руммельхарта соответственно. В рамках модели предложена двустадийная (инспирация/экспирация) концепция функционирования коннекционистских вычислительных систем. Модель одинаково пригодна для дискретных и непрерывных во времени систем, но ближе к последним с точки зрения формализации. Акцентировано внимание на аспектах де-централизованности, ненаправленности, активности и селективности вычислимости. Предлагается понятие активного слоя, что следует из разделения состояния элемента на две компоненты: условно - «данные» и «флаг активности» / «выбора». Процессы, происходящие в активном слое, во многом определяют весь вычислительный процесс.

Ключевые слова: модель вычислений, вычислимость, параллельные вычисления, клеточные автоматы, нейронные сети, коннекционизм.

* Данная работа осуществлена в рамках Программы фундаментальных научных исследований Президиума РАН, НИР «Исследование перспективных моделей вычислений и реализующих их архитектур высокопроизводительных информационно-вычислительных комплексов нового поколения».

Connectionist extension of irreducible computation model: part 2

Matyushkin Igor V.,

leading scientific employee, Institute of Design Problems in Microelectronics RAS, Moscow, Zelenograd, Russia

imatyushkin@ippm.ru

Abstract: The specificity of five main connectionist systems is considered. Connectionist model of computation deploys minimal (irreducible) model introduced by the author in the first part. It is a synthesis of neural network models, cellular automata and distributed system, based on the works of Rosenbluth, Rosenblatt and Rummelhart respectively. As part of the proposed model two-stage (inspiration / expiration) concept of connectionist computing systems operation is introduced. The model is equally suitable for discrete and continuous time but closer to the latter in terms of formalization. The attention is focused on the aspects of decentralization, non-directionality, activity and selectivity (in elements) of computability. We propose the concept of active layer, which follows from the separation of unit state into two components: conditionally - "data" and "action flag" / "choice". Occurring in the active layer processes determine largely the entire computing process.

Keywords: model of computation, computability, parallel computing, cellular automata, neural networks, connectionism.

Введение

В первой части [1] мы предложили понятие «минимальная модель вычислений» (ММВ), в которой не делается никаких предположений о природе вычислителя. Оригинальная структура ММВ давалась средствами теории множеств как набор из 10 сущностей:

где: X - данные (включая и запись алгоритма), У - результат (точнее, множество результатов), - физическое (в отличие от Х и У) состояние вычислителя, Ж - множество внешних сигналов, Z -множество затрат, gI 0 - бинарное отношение, связывающее данные/результаты и физическое состояние вычислителя, к - функция

останова вычислителя, a - функция глобального перехода, b - бинарная функция затрат, зависящая от прошлого и будущего состояния вычислителя. Форма (1) представляется непригодной для практического использования. Например, мы не пытаемся специфицировать сигналы/кодировку как аналоговые или дискретные (и тем более, битовые).

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

1. Коннекционистские системы.

Основные принципы коннекционизма и модели PDP (parallel distributed processing) были сформулированы [2] Д. Е. Румельхар-том и др. в 1986:

P1. Набор процессорных элементов (units) P2. Состояние активации P3. Выходная функция для каждого элемента P4. Шаблон связности между элементами, включающий веса и локализацию связей (де факто это нагруженный граф) P5. Правило распространения активностей по сети P6. Правило активации, порождающее из совокупности «входов» и состояния элемента новый уровень активации элемента

P7. Правило обучения, т.е. возможность изменения шаблона связности под действием опыта.

P8. Окружение, в котором должен работать вычислитель. Первоначально среди нейрофизиологов предпочтительной считалась концепция последовательной обработки данных, в ходе которой активизируются следующие друг за другом узлы в цепи связей в сети. Позднее более привлекательной альтернативой стала параллельная обработка, где предположительно происходит активизация двух или более независимых цепей. Стремясь обобщить PDP, Бештел и Абрахамсен в 1991 г. предложили 4 принципа коннекционизма [3]; три из них совпадают с P1+P4, P2 и P7, а четвертый требует дать семантическую интерпретацию сети (например, данные или результаты могут храниться в одном элементе или же быть распределенными между элементами). Под понятием «вес» можно понимать любое предикативное свойство связи (например, двунаправленность).

Кратко охарактеризуем эти пять базовых имплементаций.

Нейронные сети. Классическим и определением NN может служить определение Ф. Розенблатта [4], отражающее общее понимание авторов 60-х гг. и использованное нами далее:

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

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

Определение 3: Производящей функцией сигнала является любая функция, которая определяет закон изменения амплитуды сигнала, производимого генератором сигнала...

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

Определение 5: Передающая сеть представляет собой систему соединенных в сеть генераторов сигнала».

Возьмем более современное определение [5], где вводится различие выходных (активационных) и входных (синаптических) связей: «Нейронная сеть - это направленный граф, состоящий из узлов, соединенных синаптическими и активационными связями, который характеризуется следующими четырьмя свойствами.

1. Каждый нейрон представляется множеством линейных си-наптических связей, внешним порогом и, возможно, нелинейной связью активации. Порог, представляемый входной синаптической связью, считается равным +1.

2. Синаптические связи нейрона используются для взвешивания соответствующих входных сигналов.

3. Взвешенная сумма входных сигналов определяет индуцированное локальное поле каждого конкретного нейрона.

4. Активационные связи модифицируют индуцированное локальное поле нейрона, создавая выходной сигнал».

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

Клеточные автоматы. Создателями концепции считаются Конрад Цузе (1969) и Джон фон Нейман (1952). Начало исследований датируется 40-ми годами XX века и инспирировано ранними работами по нейронным сетям [6]. Доказывая идею возможности существования самовоспроизводящегося автомата, Нейман столкнулся с рядом технических проблем, обусловленных инженерной сложностью такой системы. Станислав Улам [7] предложил абстрагироваться до математической модели и использовать метод, схожий с методом объяснения роста кристаллов. С этой целью пришлось объединить вычислительное устройство и данные, результатом этого стал первый клеточный автомат (СА). В это же десятилетие основоположники кибернетики Норберт Винер и Артуро Розен-блют публикуют работу, где рассматривается распространение нервного импульса вместе с изложением нового математического аппарата - клеточных автоматов [8]. В модели использовались три состояния нервных клеток (возбужденное - или активное, рефрактерное - или расслабленное, и покоя). Рефрактерное состояние -состояние, в котором клетка не может быть возбуждена и передавать возбуждающие импульсы. Их модель базирует на следующих правилах:

• В качестве среды используется прямоугольное поле из клеток. Процесс начинается с произвольным количеством возбужденных клеток.

• Возбуждению подлежит только невозбужденная клетка.

• Через время Й возбужденные клетки переходят в состояние рефрактерности.

• Через время t2 рефрактерные клетки переходят в состояние покоя.

В 1970 г. Джоном Конуэем изобретен знаменитый клеточный автомат «Игра жизнь», который, как выяснилось позже, обладает

Тьюринг-полнотой и способен выполнять логические операции, Рис. 1.

Рис. 1. Разнообразие глайдеров в клеточном автомате на гексагональной решетке с тремя состояниями ("0 " - черный, "1" -зеленый, "2" - красный) для некоторых правил. В большинстве случаев направление движение глайдера задается его «головой», отмеченной одной или двумя красными точками. Желтыми стрелками показано направление движения [9].

За формальное определение классического СА примем взятое из теории однородных структур [10-12]. Пусть S - конечное множество (например, алфавит), I/1 — бесконечная d-мерная целочисленная решетка. (Глобальной) конфигурацией СА назовем отображение решетки на множество состояний c:"Ld —> S и введем множество всех конфигураций = Sz . Шаблон окрестности представляется

кортежем d-мерных векторов N = (x1,x2,...,xn^,xi ,i = 1,п. Локальной функцией перехода (ЛФП, local rule) называется f : Sn ^ S. За один ход симуляции происходит изменение конфигурации

x + x1,...,x + xn)), и такое изменение порождает глобальную функцию перехода (global transition function) e = G(c), G : C ^ C. Таким образом, классический СА определяется

тройкой^, N,/), не считая ёили решетки Т?. При допущении асин-хронности СА необходимо доопределить порядок исполнения ЛФП, т.е. режим СА-симуляции, и тогда имеем четверку Если

допустить неклассическое задание топологии, например, гиперболическое пространство [13, 14], то целесообразно вывести аналог решетки X ~ (точнее, множество узлов) в отдельное определение и заменить шаблон окрестности на функцию именования.

CA чрезвычайно хороши для симуляции физико-химических процессов самоорганизации, причем в этих задачах невозможно отследить направление информационных потоков. Они эффективны при решении сложных задач распознавания, шифрования и сжатия графических изображений, используются в архитектуре для 3D-морфинге. Однако в решении простых традиционных алгоритмических задач (например, нахождение обратной матрицы), как ни странно, накоплено недостаточно опыта и нет общих процедур, хотя, как показывает практика, очень важно выделять в состоянии ячейки автомата флаг (компоненту) активации. Если этот флаг ненулевой, такие ячейки выполняют роль активных преобразователей типа «головок» в многоленточной машине Тьюринга.

Клеточные нейронные сети. Нейронные сети и клеточные автоматы являются более традиционными экспликациями коннек-ционизма. С точки зрения массивности параллелизма полносвязная NN, где каждый элемент связан с каждым, и одномерный CA с радиусом r=Vi (т.н. one-way CA) представляют собой крайние точки шкалы. Биологический нейрон, например, имеет от сотни до тысячи связей. Однако модель нейрона более проста, чем модель ячейки CA, поскольку нейрон не обладает состоянием/памятью, а только служит обработчиком сигналов. Третье отличие, если, оговоримся, брать только классические определения, состоит в гомогенности связей CA и, следовательно, изотропности направлений. В важном классе тоталистичных CA все веса обычно полагаются равными, и только сумма подлежит дальнейшему анализу в функции перехода. И последнее отличие, опять же для классического задания, состоит в том, что обычно NN имеют внешние входы/выходы, а CA обычно рассматривается замкнутой системой с неизменными границами. Несмотря на указанные отличия, обе модели чрезвычайно близки и породили гибрид в виде CNN (клеточная нелинейная сеть).

Первая буква N трактуется иногда как non-linear, отражая близость к нелинейной динамике [15], итерированным отображениям (например, на комплексной плоскости) и фракталам. Действительно, если формулу перехода усовершенствовать, введя параметрами смежные итерации (для простоты пространство одномерное), то получится фактически формула CA с непрерывным множеством состояний (что в пределе легко дает p.d.e - уравнение в частных производных):

fl = Aí->(A ...

<t+\) = /

У n-> 00 J

Интересно, что словом «итерон» (iteron) польский ученый П. Сивак [16] обозначал периодические «когерентные» фигуры, движущиеся в поле автомата. Если далее уравнение специфицировать, полагая „

Г V ^ / \ Í 0,»<К

\(=од,-1 ) и <л)>*¿

то получаем из (1) формулу нейрона с нелинейной функцией и порогом активации К. Еще дальше теория CNN в формулу вводит внешние сигналы для каждого элемента.

Один из основателей [17] этой теории (Леон Чуа, 1988) «по совместительству» является изобретателем мемристора (как пропущенного элемента электрической цепи) и нелинейного элемента с отрицательным сопротивлением (вместе с описанием цепи Чуа, рис. 2, поведенчески сходной с системой аттрактора Лоренца).

Рис. 2. Электрическая схема ячейки CNN [17].

Математическая модель Чуа-Янга, являясь частным случаем CNN, имеет следующий вид:

dxy

dt

= —хн + У Т*у

у / 1 mns \ i+m,j+n / / j mn i+m,j+n

Математическая модель CNN описывается следующим образом (4):

L{Dt)xik{t)= X Tif(xi+mJ+n) + T^nxi+mJ+n+ X T»nui+mJ+n +1

\n prJmpr

jrABC _

где x.(t) - параметр состояния, L(Dt) - рациональная функция j d

оператора D =—, f- функция нелинейного выхода, u.(t) - вход-dt v ные параметры-управления, I - параметры смещения, r - радиус

окрестности.

Для некоторых CNN доказано, что если входы сети неизменны, то происходит конвергенция состояний процессорных элементов, и это состояние можно рассматривать результатом некоторого вычисления (заданного по (3) или (4)). Это предопределило первые приложения CNN-процессоров для обработки изображений и распознавания образов. Дальнейшее развитие CNN привело к работам по клеточно-волновому компьютингу (и соответствующим архитектурам) [18-20].

Вычислительные кластеры и грид. Согласно данным с портала Wikipedia.org появление концепции GRID датируется 90-ми годами 20-го века. Причинами появления концепции считаются высокая стоимость создания, эксплуатации и обслуживания специализированных суперкомпьютеров. Изначально, концепция предусматривала использование незадействованных вычислительных мощностей на компьютерах добровольцев (Volunteer computing), примерами являются проекты GIMPS (http://www.mersenne.org) и BOINC (https://boinc.berkeley.edu). На текущий момент развития, помимо неоплачиваемого предоставления вычислительных мощностей, на рынке услуг можно встретить услуги по аренде вычислительных мощностей (проект CLOUD).

На настоящий момент есть расхождение в определениях GRID. Так, «Грид-компьютинг - это скоординированное разделение ресурсов и решение задач в динамически меняющихся виртуальных организациях со многими участниками» [21]. Программное обеспечение GRID образует из иерархической сети компьютеров одну виртуальную распределенную многопроцессорную вычислительную систему. Первое преимущество концепции - это возможность объединения разных вычислительных элементов, поскольку объединение выполняется программными средствами с применением стандартных протоколов обмена данными, GRID может использовать вычислители разной мощности в решении одной вычислительной задачи. Вторым немаловажным преимуществом технологии является возможность объединения суперкомпьютеров в один, что позволяет не только повысить их мощность, но и оптимизировать использование вычислительных систем объединенных в GRID.

Отметим еще одно потенциальное направление в коннекцио-низме. С развитием и распространением беспроводных технологий стало возможным построение беспроводных (cellular networks) вычислительных сетей. Отличительной особенностью от классической GRID является отсутствие строго заданных связей на нижних уровнях иерархии сети. В соответствии с иерархией уровней сети по стандарту организации Cisco, иерархия сети включает три уровня: базовый (образует ядро сети), уровень распространения (промежуточный между уровнем доступа и ядром сети) и уровень доступа. В простейшем варианте при построении Cellular Networks, базовый уровень, уровень распространения и до оборудования уровня доступа имеют строго заданные иерархические связи. Связи между конечными вычислителями и уровнем доступа не имеют строго заданной структуры. Покрытие беспроводной сетью доступа территории (зоны) обеспечивается взаимным наложением сигналов от беспроводных точек доступа к сети. Каждая точка доступа представляет из себя ячейку (соту) с ограниченным радиусом действия. Близлежащее расположение точек обеспечивает пересечение их радиусов покрытия. В случае с GSM базовыми станциями вокруг каждой точки располагается 6 станций. Пересечения их зон покрытия обеспечивают шестиугольные ячейки. При использовании технологии GSM физическая среда передачи трафика сети может видоизмениться, в связи с использованием беспроводных каналов от оборудования уровня доступа до обо-

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

2. Коннекционистская модель

Классическая теория вычислимости отталкивалась от представления о примитивных функциях, которые обязан уметь исполнять универсальный вычислитель, т.е. проводила функциональную декомпозицию. Последняя зафиксирована в определении рекурсивной функции. МВ для коннекционизма, по-видимому, должна проводить по меньшей мере структурную декомпозицию (что не исключает и функциональную). Многоленточные машины Тьюринга и более «игровые» объекты (тьюрмиты, муравьи Лэнг-тона), хотя весьма условно могут рассматриваться моделями вычислительного параллелизма, и хотя отчасти эту декомпозицию производят, но все-таки далеки от коннекционизма. С другой стороны, например, для муравьев Лэнгтона существует эквивалентный клеточный автомат.

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

Тем не менее сделаем попытку хотя бы в общим чертах формализовать коннекционистскую МВ. Важно отметить, основываясь на опыте создания клеточно-автоматных алгоритмов, что аспект активации элементов (P5) является крайне существенным для всех имплементаций коннекционизма: в нейросети он вводится напрямую, в GRID - очевидно, нам требуется знать, «включен» удаленный ресурс или нет, в клеточных автоматах - это требование проявляется постепенно. В этом, хотя бы и техническом, смысле прослеживается наследование с классическими теориями алгоритмов: в теории Маркова специальные символы «ползают» по слову,

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

Другим аспектом коннекционистских вычислений выступает принципиальная ненаправленность информационного потока. Это свойство проявляется не всегда, поскольку в простых случаях мы все-таки можем проследить за пространственной и временной последовательностью переходов, поскольку сами и создаем алгоритм по привычным лекалам. В обычных интегральных схемах [22] выделяют пути прохождения сигнала, исчисляют задержки на них и т.д., а порядку аргументов в логической функции соответствует порядок соединений физических элементов (вентилей, триггеров, мультиплексоров и пр.). Мы должны быть готовы к отсутствию такого порядка и соответствия в коннекционистских устройствах. В качестве примера можно указать сходимость CA с непрерывными значениями к решению, например, уравнения Пуассона.

Итак, рассмотрим спецификацию 10 сущностей (1) минимальной МВ для коннекционизма:

1. Состояние P Структура вычислителя выражается, следуя (Р4, Р8), графом (Е,С), где E - конечное непустое упорядоченное множество процессорных элементов (Р1), а С - множество связей (connections), формализуемых подмножеством упорядоченных пар и функцией id : E ^ C, причем g E,ej g Е^ Ф {et,ej},i ^ j - две однонаправленных дуги (связи, где сигнал течет из i-го элемента в у-й). Допустимы комбинации типа id(e1,e2) = 0, id(0,е2) = сх, id(ei,0) = с2, денотатом которых является отсутствие связи, входная связь, выходная связь. Соответственно С может быть задано матрицей смежности Cid. Введем семейство множеств SE = {SEl,SE2,...,SEa),a = \É\, причем

нет обязательности условия конечности каждого из этих множеств и stateE : E — SE. Иными словами, каждый элемент et принимает состояние из индивидуального множества SE. Если оно достигается фактически, в момент времени t, то будем писать set. Связи также могут обладать индивидуальными свойствами; в NN вес связи корректнее полагать свойством самой связи, а не свойством элемента, инцидентного ей. Свойством связи является также задержка. Аналогичным образом, упорядочивая ребра индексом в, введем SC = (sCl,SC2,...,SCfi),fi = \С\ < а2 и:

stateC: С —> SC, Усе Dom

Т.е. у «входов» и «выходов» нет статических свойств (pr - знак проекции). Однако в (5) множество SC определяет только статические свойства, а не динамические свойства сигналов (waveforms), циркулирующих в сети, а также поступающие на вход и выход (см. P8). Например, частота электрического сигнала или способ модуляции информации в электромагнитной волне. Поэтому введем и потенциально возможные характеристик сигнала: SW = (SWl,SW2,...,SWr),y = \C\<a2+2a и stateW: C — SW . Таким образом, потенциальное состояние вычислителя S представляется тремя сущностями, отвечающими элементам, связям и сигналам, (SE,SC,SW) без учета базовой диады (Е,С). Более точно:

S =

2. Результат Y и функция gQ : B(S) —> Y. Без ограничения общности мы можем предполагать, что для некоторых элементов их состояние будет использоваться в качестве действительного «выхода» (yield, а не output). Это может быть всего один элемент, как в простейшем случае перцептрона, или фиктивный элемент, представляющий текстовый файл, куда сбрасываются агрегированные динамические показатели CA-симуляции для решения, например, уравнения математической физики (в этом случае у этого элемента нет ни одной выходящей связи и выполнена полнота связности по входящим связям, а состояние имеет большую мощность). Каждое из множеств семейства SE может быть многокомпонентным, а из этих компонентов нас может интересовать лишь один или два. Целесообразно сразу, следуя P2 и P5, выделить компоненту данных SD и компоненту активности SA и вве-

сти V/ е {1,..., от} = £!£). х 5Ц., причем компонента активности по крайней мере булево множество (в общем случае она играет роль селектора примерно также, как поступающая в микропроцессор инструкция определяет выполняемую им операцию). Функция gO является по природе интерпретирующей, поэтому мы не сможем ничего сказать ни о ней самой, ни о множестве У. В простейшем случае знак булеана можно убрать, если речь идет о физическом состоянии вычислителя в момент останова. Также вряд ли нас будет интересовать состояние связей. Поэтому результатом будет считать область определения g За основу можно положить спецификацию подмножества, возможно, собственного из Е, причем критерий спецификации может быть как контекстно-независимым (например, для СА можно рассмотреть все ячейки, лежащие на одной из границ поля), так и контекстно-зависимым (например, все ячейки, имеющие соседа с тем же состоянием). В простейшем случае эта спецификация унарное отношение или индикатор: ЕусЕ,у1еЫ:Е^>{0,1}. В более сложном, где Р - (а+1)-местный предикат:

Я7={ееУ:Р

Соответственно:

Оот

3. Данные Х и функция g¡ : В (5) ^ X. Вопрос, где располагаются данные для коннекционистского устройства, нетривиален. Первым побуждением будет ассоциировать начальное состояние 5 с данными, а локальные правила, которым подчиняется элемент, заданные для всех элементов - с записью алгоритма. До определенный степени это верно, однако, термин «алгоритм» применять, по-видимому, некорректно. Записанное в компоненте активности 5А будет столь же сильно влиять на ход вычислений, сколь и содержание локальной функции перехода. Например, можно так специфицировать начальные значения 5А, что вычисление будет невыполнимо, прежде всего в отношении правильности результата. Семантика булеана и интерпретирующий характер g¡ : В (5) ^ X аналогично тому, что утверждалось для g Начальное состояние устройства должно позволять однозначным образом восстанавливать начальные данные X. Чтобы вычислительный процесс был

фиксирован «входом» (вынося за скобки потенциальную случайность в определении локальных правил), не остается другого выхода, как полагать:

Вот{ё1) = 8Еах8С1>х81¥г, 8Еа =8Е, х...хЖ,,..

Мы ограничились случаем, когда внешние сигналы постоянны во времени.

4. Проблема останова (Щ h). Очевидно, что вычислитель является динамической системой, а значит нужно определиться, функционирует ли она в непрерывном или дискретном времени. Хотя многие коннекционистские имплементации подразумевают дискретность времени (число шагов, итераций), тем не менее достаточно и непрерывных вариантов, особенно для аналоговых вычислений. Кроме того, останов означает также вмешательство исполнительных механизмов вычислителя, которые по определению остаются вне рамок МВ. Основная сложность останова в том, что он требует информации по глобальной конфигурации распределенного вычислителя, а правила, например, СА и NN обычно локальны. По-видимому, приемлемым решением будет введение фиктивного элемента (назовем его halt-элемент), связанного со всеми другими (или даже одним!) элементами и/или внешними входами-выходами, состояние которого булевое. Эти связи не должны искажать состояния элементов и отражают процесс измерения; если система квантово-механическая, то это условие, по-видимому, нарушается. Пока мы симулируем работу коннекци-онистских систем на обычных ЭВМ или кластерах, это проблема не выглядит острой. В любом случае рационально исполнять подфункцию останова во время основных вычислений, а хранить результат в halt-ячейке. Конечно, проблему останова мы здесь ставим не так, как обычно в теории вычислимости (ср.: задача определения сходимости алгоритм для конкретных данных, не решая задачу), а более технически. В общем виде состояние halt-ячейки - это

е{0,1}, teT, где т - задержки, хотя возможны упрощения или, наоборот, конкретизации.

5. Проблемы синхронизации. Здесь же нам удобно ввести, как неявно присутствующий 11-й компонент МВ, континуальное односвязное множество моментов времени Т с!+. В алгоритмике можно абстрагироваться от длительности исполнения и перерыва между шагами вычислительного процесса. В коннекционизме, как и в параллельных вычислениях, важно сочетание и путей реали-

зации асинхронных и синхронных процессов. Можно предположить, что либо существует единый синхронизирующий сигнал, либо в каждом элементе есть «часы», от которых, вообще говоря, зависит срабатывание локальных правил перехода. Некоторые биологические нейроны обладают способность накапливать входящий сигнал, т.е. если х - вход нейрона,у - его выход, а К, т - порог и задержка то ЛФП приобретает более сложную интегро-диф-ференциальную форму, например (10):

г I л

y(t) = fa(x(t)-K) ^ y(t) = fa \x(t)dt-K

\t~T

Несомненно, существуют задержки в обработке (в самом элементе) и передаче (в канале связи) сигнала. Отчасти с этим связана интерпретация СА фон Нейманом как синхронной сети процессоров, работающая в дискретном времени (кванта т). Временное ограничение может быть неявным - например, для GRID удаленный компьютер «из соображений оптимизации» траффика принудительно отключается, если его объем за минувшие сутки превысил фиксированное число гигабайт. С формально-математической точки зрения дилемма такова: 1) допустить в ЛФП аргумент системного времени t; 2) ввести в множество состояний SE. компоненту t . часов и функцию(и) синхронизации sine : Ex T^T. Второй путь более естественен, если нам нужно «заложить мины», т.е. какие-то элементы будут «включаться» в фиксированные моменты своего локального времени независимо от своих входов. Компонента активности SA может быть использована для реализации асинхронного режима - тогда она выступает не как селектор какого-либо правила, а как селектор активной в данный момент ячейки. Например, если мы хотим, чтобы ячейки изменяли свои состояния последовательно по своему номеру, то следует записать:

sa^J°:t/~dP°6HOe, se-'J1^' Ч*1*

' \/a,t-Целое' ' [ saf = о ' sei eSEt

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

та в системе и его активность в дискретное время, а также предполагает относительную его автономность в глобальном времени t.

6. Функция перехода a : S ^ S. Если пользоваться терминами СА, речь идет о глобальной функции перехода, отражающей все совершаемые каждым элементом локальные (ЛФП), а также изменения в динамике связей. Из соображений удобства для каждого /-го элемента введем четыре множества: соседей (neighbor) NE'" = {е е Е,: id(e,е,)*0}, NE^ ={е<=Ег. id(et,е)*0] и внешних связей СЕ!" = {ceC:id(0,et) = с},CEi0Ut ={ceC:id(el,OJ) = c}. Хотя в последних двух множествах по одному элементу, лучше проводить формализацию для более общего случая. Определим также множества инцидентных вершине связей:

Cf = {с е С: (pr2 id~]c = е,) л (pr, id'1 с е NE!")}, С°"' ={сеС: (ргх id'с = et) л (pr2 id'с е Щ")}

Процесс обработки информации элементом метафорически представляется двухстадийным: «вдох-выдох» / «инспирация-экспирация» /«прием-передача»

a)

NE"

Рис. 3. Элемент в коннекционистском вычислителе: схема (а), стадия инспирации (Ь) и экспирации (с). Элемент имеет внешний вход, внешний выход, однонаправленную на вход и на выход связь с другими различными элементами, а также двунаправленную связь с другим элементом (она представлена и формализована двумя однонаправленными связями-стрелками с элементом, изображенным двумя пересекающимися кругами). Активные связи показаны красными стрелками, неактивные - серыми стрелками. Изменения состояний показаны маленькими стрелками и верхними индексами, где t - предшествующее значение, а 1+1 - последующее значение (без учета задержек).

Стадия экспирации состоит в изменении сигналов, наличествующих в инцидентных элементу связях, по новому состоянию элемента:

Семейство функций {(ф,,^,)} определяет лишь потенциально возможные переходы, и требуется еще их актуализация во времени, которая, см. предыдущий пункт, зависит от глобального (или локального) времени и текущей компоненты активности йа] е БА.. Поэтому дополним эти ЛФП функцией активности Я/":БА1хТ {0,1} и функциями задержек:

х ЫмеС

сеСЯ/^С/" 4 ' сеСЕруС? У '

т?\ х (^еС(с)хГ)^ х Т

С£СЕ°шЧС<"" К ' ссСЕ^чС™'

и запишем окончательно двухчастную формулу ЛФП:

ее,

,1+тГ(,а!,1) .

•(*-!*)), Л'"Ю=1

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

Таким образом, семейства функций ^„^„А,",Л*" и правила инспирации/экспирации формируют глобальную функцию перехода а: Б ^ 5". Выбором последних шести функций можно заставить непрерывную во времени систему функционировать дискретно, в частности, в режиме СА, когда стадии инспирации и экспирации строго чередуются. Для определения всего пути вычислений необходимо, конечно, задать начальное состояние Б на некотором промежутке времени ^ е [ -т; 0 ]. На рис. 4 показаны стадии экспирации/инспирации для двух элементов, связанных двумя однонаправленными коннектами, обеспечивающими простую петлю обратной связи.

Рис. 4. Прямая и обратная (feedback) связь между двумя элементами вычислителя, реализованная стадиями инспирации (показаны синим) и экспирации (показаны красным). Указаны задержки и состояние сигнала по входной (12) и выходной (21) связи.

7. Исчисление стоимости вычислений (Д Ь). В минимальной модели формулировка предполагает, что затраты на вычисление зависят только от начального и конечного состояния физической системы, описываемого в терминах термодинамических потенциалов. Однако физическое состояние не тождественно информационному и включает в себя состояние исполнительных частей вычислителя, поэтому формула Ь : 2 ^ Z является весьма грубым упрощением. В каждом случае связь вычислений, энергетических затрат и т.д. может даваться по-своему. Например, можно выделять статические затраты, обусловленные поддержанием состояний элементов и существующих сигналов в коннектах, и динамические, обусловленные изменением состояний элементов. Поэтому, с учетом особенностей коннекционизма и некоторой конкретизации можно вести для каждого элемента функции:

Ъ^-.Щ-*«*, 1 = \а Ъ*шс\Шс^Г, с = Ъу

Ъ^-.БЕ^Г, 1 = \а Ьсс1шп"еС : БШс2 Г, с = \у

С помощью них можно записать затраты как:

xi j 4» (0 , )) a+J (1 - л" (0) (r,c и ))dt

+

Формулы (18-19) должны рассматриваться как необязательная спецификация коннекционистской МВ. 3. Открытые вопросы

В первой части мы сформулировали три вопроса по отношению к ММВ. Четвертый вопрос сформулируем для однородных

коннекционистских систем. Каковы минимальная сложность элемента и минимальный характер связей, чтобы в рамках коннек-ционистской МВ было возможно решение максимального числа задач (алгоритмов) с минимальными затратами? Как достичь универсальности коннекционистской МВ наименьшими средствами? В качестве пояснения: известно, что наиболее эффективной с точки зрения хранения чисел является система исчисления с основанием е, т.е. двоичная система близка к оптимуму, но троичная еще лучше (хотя дороже при технической реализации). При параллельной обработке информации, гипотетически, пятеричная система исчисления оказалась бы эффективнее - например, меньше времени тратилось бы на перенос сигналов. Что быстрее решит задачу 10-миллионного знака числа п - клеточно-автоматный вычислитель размера 10*10 со 100 состояниями ячейки и 10-ю возможными типами локальных функций перехода или вычислитель размера 100*100 с 8-ю состояниями и только одной ЛФП?

Заключение

Мы сформулировали модель вычислений для абстрактного коннекционистского вычислительного устройства на языке теории множеств, выделив стадии инспирации и экспирации элементарного вычислителя. Указанная модель наследована из предложенной нами минимальной модели вычислений. Она является синтезом модели Розенблатта для NN и модели классического СА: введено состояние элемента; для связи также введено состояние, каждое из них разделено на две семантически различающихся компоненты; одностадийность ЛФП СА заменена на двустадийность инспирации/экспирации. В модели явным образом введены задержки на элементах и на связях. За ограниченностью объема статьи мы не привели вывод моделей NN СА, СКК из коннекционистской МВ, однако, полагаем это поучительным для стройности теории и однозначно возможным.

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

Литература:

[=="| 1. Матюшкин И. В. Коннекционистское расширение минимальной модели вычислений

2. Rumelhart D., McClelland J., and the PDP Research Group, editors. Parallel Distributed Processing, volume 1: Foundations. MIT Press, Cambridge, MA, 1986.

3. Bechtel W., Abrahamsen A. Connectionism and the Mind: An Introduction to Parallel Processing in Networks. Blackwell, Cambridge, MA, 1991.

4. Розенблатт Ф. Принципы нейродинамики: перцептроны и теория механизмов мозга. М.: Издательство «МИР», 1965.

5. Хайкин С. Нейронные сети. Полный курс. Второе издание. Москва-Санкт-Петербург-Киев, 2006.

6. Фон Нейман Дж. Теория самовоспроизводящихся автоматов. М.: Мир, 1971. - C. 382.

7. Ulam P. Random Processes and Transformations // Proceedings Int. Congr. Mathem. 1952. № 2. P. 264-275.

8. Винер Н., Розенблют А. Проведение импульсов в сердечной мышце. Математическая формулировка проблемы проведения импульсов в сети связанных возбудимых элементов, в частности в сердечной мышце. // Кибернетический сборник. Вып. 3. М.: Изд. иностр. лит., 1961. - C. 7-56

9. Матюшкин И., Коробов С., Вильданов Р. Особенности гексагональных клеточных автоматов на плоской поверхности для задач нанотех-нологии // Нанофизика и нанотехнологии. Труды МФТИ. 2014. Том 6. № 1. - С. 72-80.

10. Кудрявцев В., Подколзин А., Болотов А. Основы теории однородных структур. М.: Москва, 1990. - 296 c.

11. Аладьев В. Классические однородные структуры. Клеточные автоматы. FultusBooks, 2009.

12. Kari J. Theory of cellular automata: A survey // Theoretical Computer Science. 2005. 334. - P. 3-33.

13. Жизнь на плоскости Лобачевского. http://habrahabr.ru/post/168421/ (Life on the Lobachevskii plane).

14. Margenstern M. Small Universal Cellular Automata in Hyperbolic Spaces. A Collection of Jewels. Springer, 2013. - 327 p.

15. Joseph L. McCauley Z. Chaotic Dynamical Systems as Automata Naturforsch, 1987. - P. 547-555.

16. Siwak P. Iterons, fractals and computations of automata // AIP Conference Proceedings. 1999. No. 465. - P. 367-394.

17. Chua L. Cellular neural networks: theory // IEEE Transactions on Circuits and Systems (IEEE), CAS-35, No. 10, 1988. - P. 1257-1272.

18. Voroshazi Z. Investigation of emulated-digital CNN-UM architectures: retina model and cellular wave computing architecture implementation on FPGA // Phd Thesis, Univ. of Pannonia, Poland, 2009. - 109 p.

19. Baatar Ch., Porod W., Roska T. Cellular Nanoscale Sensory Wave Computing. Springer, 2009. - 257 p.

20. Ercsey-Ravasz M. Applications of Cellular Neural/Nonlinear Networks in Physics // Thesis submitted for the degree of Doctor of Philosophy Babe§-Bolyai University, Faculty of Physics Budapest, 2008

21. Коваленко В., Корягин Д. Грид: истоки, принципы и перспективы развития // Информационные технологии и вычислительные системы. 2008. № 4. - C. 38-50.

22. StempkovskyA.L., VlasovP. A., Kozin G. V. Algorithmic Environment for VLSI Design on Cellular Automata // Proceedings of a Joint Symposium: Information Processing and Software, Systems Design Automation, Academy of Sciences of the USSR, Siemens AG, FRG, Moscow, June 5/6, 1990. Springer-Verlag. - P. 308-312.