BC/NW 2008, №2 (13): 10.6

Снижение трафика информации в коммутаторной нейронной сети на основе ее фрагментации.

Степанов С. Ю.

(Москва, ГОУ ВПО МГТУ «Станкин», Россия)

1. Коммутаторные нейронные сети.

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

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

- обрабатывающую, обеспечивающую прием информации на входе нейрона, ее обработку и передачу результата на выход нейрона;

- транспортную, обеспечивающую передачу информации и ее масштабирование с выхода нейрона на соответствующие входы других нейронов.

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

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

- нейрон, обрабатывающий информацию;

- коммутатор, обеспечивающий транспорт и масштабирование информации.

стат_картинка1

Рис. 1. Коммутаторная нейронная сеть.

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

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

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

 

2. Задача снижения трафика информации.

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

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

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

При решении этой задачи необходимо:

- определить, как по обученной нейронной сети выделить подмножества нейронов отвечают за отдельные подзадачи общей задачи нейронной сети;

- сгруппировать нейроны в базовые элементарные сегменты, сократив информационный трафик в сети;

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

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

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

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

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

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

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

 

3. Метод решения задачи.

Рассмотрим плоскость, на которой расположена сетка, в узлах которой произвольным образом размещена группа объектов, соответствующих  нейронам сети. (рис. 2)

сетка

Рис. 2. Расположение объектов.

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

Для предотвращения слияния объектов  общее ядро, введем момент отталкивания между всеми объектами. Этот момент  обратно пропорционален расстоянию между объектами. Для того, чтобы объекты могли объединяться в группы, уменьшим момент отталкивания  если объекты сблизились на определенное расстояние, т.е. образовали общее ядро.

моменты

Рис. 3. Воздействия между объектами.

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

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

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

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