Нейросимулятор

Схемы связей в нейросети | Латеральное торможение
Схемы связей между рецепторами и эффекторами

Варианты схем соединения рецептор-эффектор

схема_1

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

Так как эффектор имеет несколько входов, то он принимает сигналы от нескольких рецепторов. Суммируясь, они активируют эффектор, если этот суммарный вес превышает его порог возбуждения. Выглядит все просто, но лишь до тех пор, если вы не вздумаете нарисовать сложную схему соединений, близкую к реальной, где каждый нейрон-эффектор охватывает связями пучки рецепторов с некоторым перекрытием. В данной схеме, например рецепторы № 0, 2, 6 и 8 связаны с 1-3, 3-7 и 7-5 эффекторами соответственно. И это самое простое перекрытие – линейное, когда расположенные полоской рецепторы связаны с такой же полоской эффекторов напротив. Однако в реальности соединения выглядят сложнее.

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

Здесь как видим эффектор «Е» охватывает пучком 6 рецепторов «R». Количество связей условно, в реальности их может быть много больше, но пока отметим лишь, что такое веерное соединение намного ближе к реальному. Но если бы дело было только в условностях отображения связей, можно было этим пренебречь. Однако кроме соединений рецептор – эффектор есть еще и тормозные связи между эффекторами.

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

Попробуйте нарисовать такую схему со всеми связями привычной линейкой, добавьте туда на каждую линию связи (основную и тормозную) веса – и получите совершенно не читабельный хаос линий и цифр. Это все потому, что изображая схему реальной нейросети в виде линейки, мы как бы распускаем «свитер на нитки» - получая ворох перепутанных шерстяных нитей. А зачем собственно распускать? Почему бы не рисовать схему как она есть в реальности? Рассуждая таким образом представим, что мы как бы вдавим внутрь круга охвата (показан пунктирной линией) эффектор «Е». Это как бы вид сверху со стороны эффектора. И покажем теперь несколько связанных между собой рецепторов и эффекторов. Как видно из схемы, каждый эффектор связан с 6 рецепторами, а каждый рецептор с 3 эффекторами. Кроме того, каждый эффектор связан тормозными связями с 6 другими эффекторами. Схема легко читается несмотря на множество связей и даже если на каждую связь добавить свой вес – загромождения не будет. Кроме того, вместо двух линеек рецепторов и эффекторов мы получили одну общую двойную схему отображения связей. Назовем ее поэтому дуплексной. На самом деле эффектор расположен уровнем выше, но при виде сверху мы видим их в общей плоскости.

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

Если внимательно посмотреть на схему, то не сложно заметить ее «сотовую» структуру. Действительно, схема собрана на базе шестигранников, как пчелиные соты. Но это вовсе не единственный вариант соединения. В принципе любая ячеистая структура, позволяющая циклично создавать сплошную сеть соединений годится для цели отображения связей нейросети. Рассмотрим более подробно 3 варианта компоновки.

Во всех схемах приняты следующие условные обозначения:

Е: Кружок в центре, эффектор.

R: Кружки расположенные по вершинам фигуры вокруг эффектора.

Линия между Е(эффектор) и R(рецептор): Основная связь между рецепторами и эффекторами. CN показывает значение веса связи.

Линия между Е(эффекторами): Тормозная связь между эффекторами, имитирует взаимное (латеральное) торможение между нейронами, связанными с рецепторами. CTN показывает значение веса связи.

Схема mode6

Один эффектор связан с 6 рецепторами, один рецептор связан с 3 эффекторами. Эффекторы имеют взаимное торможение, где каждый эффектор тормозит 6 ближайших соседних эффекторов.

Схема mode3

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

Схема mode4

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

В нейросимуляторе как уже говорилось, используется дуплексная схема компоновки нейросети mode6. Остальные схемы пока еще не изучены, но можно ориентировочно предположить, что схема компоновки влияет на чувствительность сети и задает предварительный фильтр. То есть в схемотехническом подходе, который используется при изучении свойств нейросети, предполагается изначально через ее структуру задание ей некоторых свойств, определяющих ее поведение – реакцию на раздражитель. Например, в mode6 на один эффектор воздействуют 6 рецепторов, а в mode3 – наоборот. Это определяет большую рецепторную чувствительность для mode6, и соответственно большую эффекторную реакцию для mode3. В mode4 эти параметры равны – стало быть, обе реакции так же равны. Кроме того, в mode6 и mode3 рецепторы расположены «волнообразно», по контуру шестигранника, что будет давать некоторое искажение восприятия горизонтальных и вертикальных линий, они будут детектироваться как «волнистые». В mode4 этого недостатка нет, там наоборот, структура чувствительна в первую очередь для ортогональных линий. Но как уже говорилось, это пока еще предположения, требующие экспериментальной проверки. Однако уже сейчас думаю можно уверенно предположить, что схема компоновки однозначно влияет на свойства нейросети.

Есть еще одно преимущество, почему имеет смысл проектировать схемы нейросети в виде ячеистых структур. Дело в том, что как показал практический опыт разработки нейросимулятора, при создании его чисто программными методами потребуются серьезные вычислительные мощности, что отрицательно скажется на быстродействии. Для расчета весов использовался метод итераций, постепенного приближения к результату путем прогона алгоритма расчета всей сети множество раз. Конкретно для данного симулятора – 10, но только потому, что большее число хоть и повышает точность, но уменьшает и скорость расчета. Если брать в расчет сотни миллионов связей, какие реально могут потребоваться для создания прототипа нейросети, то такой чисто математический подход вряд ли оправдан. Поэтому более реалистичной выглядит идея создания специальных микросхем, по аналогии с нейронами. И вот тут спроектированная в виде ячеистой решетки нейросеть вполне удачно подходит, так как по сути линии связи это буквально связи между элементами микросхемы. Здесь уже не нужно многократных итераций расчета, так как равновесное состояние устанавливается автоматически как в любой физической системе. В природной нейросети предварительная обработка внешних сигналов начинается уже на уровне первичных рецепторов, где происходит разбиение на простейшие примитивы и через контрастирование выделение из них наиболее актуальных. Точно того же результата можно добиться без привлечения сложного мат. аппарата в искусственной нейросети, если переложить эту обработку на свойство дуплексной решетки автоматически разбивать примитив на фрагменты и выделять из них актуальные при помощи тормозных связей. Можно сказать, что ячеистая структура – это идеализированный вариант реальной нейросети, где рецепторы равномерно охвачены с одинаковым перекрытием эффекторами, которые в свою очередь так же равномерно соединены тормозными связями. В действительности же при созревании нейроны часто создают ложные, хаотичные связи, перекрытие соседних рецепторов так же не равномерно. Если представить идеальные условия созревания нейронов первого слоя при равномерной фоновой засветке рецепторного слоя – мы и получим варианты однородной ячеистой структуры.