Методы кодирования сигналов нейронных сетей: инженерия природы

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

Как же на самом деле кодируются сигналы в реальной нейронной сети – в головном мозгу животного или человека, и как их можно интерпретировать? В последнее время появились очень интересные биологические исследования работы нейронов. В них авторы рассматривают проблему в основном под биологическим углом зрения, что соответствует их специализации. Поскольку мы инженеры, нам в свою очередь весьма интересны методы, которые природа выбрала для кодирования сигналов. И как обычно, очень хочется задать главный вопрос, на который кроме разработчика ответить некому: не только узнать, как сделано, а получить ответ на вопрос: почему сделано именно так?

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

Результаты современных исследований

В этой обширной обобщенной статье Neural population coding: combining insights from microscopic and mass signals, которая в свою очередь использует результаты 119 научных работ в этой области, подведены промежуточные итоги исследований сигналов нейронных сетей. Картинку я взял тоже оттуда. Статья датирована мартом 2015 года.

Посмотрим на все это с точки зрения кодирования и обработки сигналов.

Реакция нейронов на различные символы. Картинка из статьи Neural population coding: combining insights from microscopic and mass signals

Не будем сильно углубляться в биологическую специфику методики экспериментов. Нас интересуют наблюдения и результаты.

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

Давайте сразу начнем сомневаться: почему собственно для исследований наблюдались всего несколько нейронов. Насколько эти данные могут характеризовать поведение оставшихся? Этот подход оправдан, потому что как я скажу дальше, наблюдается большая корреляция между выходными сигналами множества нейронов в такой группе. Да, мы будем по привычке использовать понятие “выходной сигнал” нейрона. Биологи называют его spike – импульс, а группу называют популяцией нейронов. Поэтому поведение одного отобранного нейрона хорошо характеризует целую группу.

Следующее сомнение – почему импульсы обозначены черточками с равновеликой амплитудой? Мы можем согласиться с тем, что ширина импульса не критична, но амплитуда, один из важных информационных параметров? Есть такая гипотеза: природа полностью забила на амплитуду. Это объяснимо, потому что в этой электрохимической системе трудно поддерживать правильные уровни сигналов. К тому же индивидуум может закинуть себе в пасть нечто, что полностью перемешает все уровни сигналов в мозгу )

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

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

Теперь снова взглянем на картинку.

Информационные параметры сигнала

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

Firing Rate (темп выдачи сигнала). Количество, или интенсивность выходных импульсов определяет, на какую картинку реагирует нейрон. Нейрон A имеет “узкую настройку” и поэтому реагирует только на ромбик. Настройка нейронов C и D “шире” и больше предпочитают другие символы, а на ромбик реагируют вяло. Нейрон D вообще не дает никакой полезной информации и просто тупо реагирует на все картинки (может это стробирующий импульс?).

Relative Timing (взаимная задержка). Как видно по картинке, хотя нейроны B и C реагируют как на квадратик, так и на звездочку одинаковым количеством импульсов, для звездочки нейрон C дает задержку по времени. Чем не фазовая импульсная модуляция?

Periods of Silence (нулевой уровень).  Отсутствие информации – тоже информация. Своим молчанием нейрон A говорит о том, что ромбик в поле зрения отсутствует.

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

Комплементарность

Нейроны могут нести дополнительную, или комплементарную информацию по отношению к другим нейронам. В этом случае они увеличивают выходной сигнал (Firing Rate) когда наблюдают “свою” картинку, но также обладают способностью уменьшать его, когда вместе со своей картинкой присутствуют другие. Для чего это нужно?

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

Межнейронная корреляция Firing Rate

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

  • по отношению к различным входным сигналам, в этом случае корреляция говорит о различии в настройках нейронов на эти сигналы;
  • корреляция шума на выходе различных нейронов, когда на входе присутствует один и тот же сигнал.

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

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

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

Тайная школа нейронных наук

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

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

Еще одна загадка: как нейронная сеть узнает о том, что она работает правильно, и меняет свой алгоритм в зависимости от обнаруженных ошибок? Может, когда мы обнаруживаем, что сделали что-то не то и в ответ бьем себя по лбу, это и есть та обратная связь которой недостает? ))

2 comments to Методы кодирования сигналов нейронных сетей: инженерия природы

  • Евгений

    Когда несешь тарелку с горячим супом, хочется бросить чуть ли не инстинктивно, но не бросить уж никак ;-).

  • Lao

    Это вообще интересный случай, когда здоровые и наработанные рефлексы подавляются силой сознания )

Leave a Reply to Евгений Cancel reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">