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

Ищете более вероятный с биологической точки зрения способ обучения нейронной сети.

Традиционно искусственные нейронные сети обучались с использованием правила дельты и обратного распространения ошибки. Но это противоречит выводам нейробиологов о функциях мозга. Просто нет сигнала градиентной ошибки, который распространяется в обратном направлении через биологические нейроны (см. Здесь и здесь). Кроме того, человеческий мозг может самостоятельно находить закономерности в своих аудиовизуальных обучающих данных без необходимости использования обучающих ярлыков. Когда родитель показывает кошку ребенку, ребенок не использует эту информацию, чтобы узнать все детали того, что представляет собой кошка, а только для того, чтобы связать имя с понятием кошки. С другой стороны, глубокая нейронная сеть требует тысяч изображений с кошками и без них, а также точных обучающих меток для этих изображений. Затем глубокая нейронная сеть попытается изучить концепцию кошки в своем выходном слое. Но он также может попытаться изучить низкоуровневые функции на своих промежуточных уровнях. Сеть может, например, попытаться изучить такие понятия, как кошачьи уши, бакенбарды, лапы, кошачьи глаза и т. Д., Чтобы помочь распознать кошку целиком. Проблема, однако, в том, что эти низкоуровневые концепции усваиваются очень косвенным и нечетким образом из ярлыков, говорящих, на каком из изображений изображена кошка, а на каком - нет. На мой взгляд, это не лучший способ изучать эти концепции. Вероятно, лучшим способом было бы изучить эти концепции непосредственно из данных, не полагаясь на метки вывода. Если мы внимательно рассмотрим кошачий глаз, мы увидим, что существует множество низкоуровневых характеристик, таких как форма зрачка, форма век, контекст, в котором находится глаз, и т. Д. -occur, и это составляет образец того, что такое глаз. Так почему бы нам не использовать это совместное возникновение признаков, чтобы изучить паттерн, составляющий глаз?

Если мы вернемся к самому началу исследований в области искусственных нейронных сетей, мы натолкнемся на очень интересные идеи Дональда О. Хебба. В своей книге «Организация поведения» Хебб предполагает, что внутреннее представление объекта реального мира состоит из клеток коры головного мозга, активируемых внешним стимулом. Он называет эту группу одновременно активированных нейронов сборкой клеток. Хебб воображает, что все эти клетки взаимосвязаны между собой. Внутреннее представление объекта будет оставаться в кратковременной памяти до тех пор, пока активность циркулирует по цепям в нейронной клеточной сборке. Более того, он выдвигает гипотезу, что если активация сборки нейронных клеток длилась достаточно долго, это привело бы к консолидации посредством «процесса роста», благодаря которому реципрокные цепи станут более эффективными; нейроны, которые возбуждаются вместе, также будут связаны вместе. Следовательно, если только часть клеток сборки активируется более поздним стимулом, теперь усиленные реципрокные цепи заставят всю клеточную сборку снова стать активной, напоминая все внутреннее представление внешнего стимула. Его теория стала известна как теория Хебба, и модели, которые следуют этой теории, как говорят, демонстрируют «хеббийское обучение». Уравнение для правила Хебба выглядит следующим образом: где wi - вес синапса, α - скорость обучения, y - выходная активация нейрон, а x i - входная активация синапса i:

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

Возбуждающие и тормозящие нейроны

Итак, как мы могли бы прийти к модели обучения Hebbian, которая избегает этой проблемы? Во-первых, мы должны признать, что обучение Хебба описывает только механизм обучения для определенного типа нейрона, а именно возбуждающего нейрона. Обучение на хеббийском языке подходит для изучения сопутствующих функций, но не применимо к изучению категорий. Возбуждающие нейроны имеют конъюнктивную природу. Они позволяют отображать шаблоны, состоящие из множества индивидуальных особенностей. С другой стороны, тормозящие нейроны являются дизъюнктивными по своей природе и могут группировать возбуждающие нейроны по категориям. Их называют тормозящими нейронами, потому что они могут образовывать петли отрицательной обратной связи, подавляющие возбуждающие нейроны. Биологическими моделями возбуждающих и тормозных нейронов являются шиповидная пирамидная клетка и звездчатая аспидная клетка коры головного мозга. Пирамидные клетки обычно обладают возбуждающими свойствами, а некоторые из них обладают протяженными аксонами, которые соединяются с другими частями мозга. С другой стороны, звездчатые клетки обычно представляют собой тормозные интернейроны с короткими аксонами, которые образуют цепи с соседними нейронами.

Получение информации

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

В качестве примера рассмотрим набор нейронов, каждый из которых представляет одну букву, где каждый нейрон имеет собственное значение энтропии. Если мы рассматриваем эти нейроны как независимые, мы можем просто сложить значения энтропии. Но действительно ли эти нейроны независимы? Конечно нет. Есть слова, в которых подмножество этих буквенных нейронов часто активируется вместе. Итак, мы, вероятно, могли бы уменьшить общую энтропию сети, введя возбуждающие нейроны, представляющие слова или другие типы паттернов. Эти возбуждающие нейроны затем сжимают информацию, содержащуюся в активациях буквенных нейронов. Другими словами, нам нужно меньше информации для представления слова в нейроне, состоящем из одного слова, чем для представления его в виде нейронов, состоящих из отдельных букв. Если мы будем следовать цели по уменьшению общей энтропии сети, мы, вероятно, сможем использовать эту теоретико-информационную структуру, чтобы придумать правило обучения для наших возбуждающих нейронов. Чтобы настроить веса синапсов наших возбуждающих нейронов таким образом, чтобы уменьшить общую энтропию, нам сначала нужно определить функцию стоимости для нашего возбуждающего нейрона, которую мы можем использовать в процессе оптимизации. Давайте начнем формулировать такую ​​функцию стоимости, посмотрев на относительную энтропию, которая достигается за счет одного синапса i возбуждающего нейрона. Эта относительная энтропия также называется дивергенцией Кульбака-Лейблера и может быть сформулирована следующим образом:

Где Xi - дискретная случайная величина входного нейрона, а Y - дискретная случайная величина выходного нейрона. Для распределения Q совместное распределение вероятностей Xi и Y считается независимым. Это эталонное распределение, для которого рассчитывается относительная энтропия. Итак, если распределение P (Xi, Y) также является независимым, то выигрыш в информации равен 0.

Итак, общий прирост информации, который мы достигаем для нейрона, выглядит так:

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

Еще одна вещь, о которой нам нужно позаботиться, - это учитывать только те синапсы, которые действительно способствуют сжатию. Если входной синапс возбуждающего нейрона имеет вес 0, он также не должен влиять на функцию стоимости. Для этого мы используем термин покрытия covi, чтобы определить, насколько сильно влияние синапса i на выходной нейрон. Подробнее о том, как рассчитывается covi, мы расскажем позже. Теперь наша окончательная функция стоимости выглядит так:

Модель возбуждающего нейрона

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

Затем результат отправляется через функцию активации φ для вычисления выходного значения активации y.

Единственное различие между возбуждающим нейроном и обычным нейроном состоит в том, что значение смещения первого можно разделить следующим образом:

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

Его производная, которая нам понадобится позже, определяется выражением:

Наконец, срок покрытия covi, о котором мы уже упоминали, рассчитывается следующим образом:

Это показывает, насколько хорошо синапс i может подавлять активацию возбуждающего нейрона. Если вес синапса wi равен или больше смещения b, тогда значение covi будет равно 1.

Подсчет частот

Поскольку вычисление энтропии основывается на распределениях вероятностей, мы должны кратко рассказать, как они вычисляются. Сначала частоты подсчитываются путем суммирования входных активаций xd и выходных активаций yd по всем экземплярам обучения d.

Затем рассчитываются распределения вероятностей путем деления частоты на количество обучающих примеров N.

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

Производная функции стоимости

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

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

Когда дело доходит до производной выходного значения нейрона y′l, есть несколько переменных, которые мы, возможно, захотим скорректировать. Есть веса синапсов wj всех входных синапсов j и есть смещение. И при настройке веса синапса wj нам нужно рассматривать либо b как константу, либо bc в зависимости от того, смотрим ли мы на случай активный входной синапс или неактивный. Конечно, одно значение смещения также должно измениться, если другое предполагается постоянным. Случай активного входного синапса выглядит так:

А случай неактивного входного синапса выглядит так:

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

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

Окончательное правило обучения будет выглядеть так, где α - скорость обучения:

Таким образом, чтобы обучить синапс j, все остальные входные синапсы i возбуждающего нейрона используются для вычисления целевого направления, в котором нужно регулировать вес синапса j. Часть cov′i уравнения G ′ действует как своего рода механизм самонастройки для слабых синапсов. Эта часть уравнения также предотвращает слишком большое смещение, потому что, если это произойдет, внезапно многие синапсы станут слабыми синапсами, для которых covi снова станет активным. Вывод G ' также довольно хорошо отражает интуицию, что часто активируемые входные синапсы следует считать менее актуальными. Существует даже возможность обучать возбуждающие нейроны контролируемым образом, подключая синапсы отрицательной обратной связи в качестве входных сигналов.

Открытые вопросы

Вот некоторые из вопросов, на которые пока нет ответа:

  • Как могут быть индуцированы новые возбуждающие нейроны?
    Чтобы ответить на этот вопрос, мы могли бы начать с одного зрелого входного нейрона и посмотреть, срабатывают ли одновременно другие нейроны.
  • Как можно предотвратить дублирование?
    Для ответа на этот вопрос нам, вероятно, понадобятся тормозящие нейроны, чтобы сформировать петлю обратной связи, которая может подавить потенциальные дубликаты.
  • Как выглядит обучение тормозящих нейронов?
    Правило обновления, описанное в этой статье, распространяется только на обучение, основанное на сопутствующих функциях. Но тренировка тормозных нейронов на основе категорий требует совершенно другого подхода к обучению. Одна из возможностей - объединить возбуждающие нейроны в кластеры на основе общих свойств.

Реализация и сопутствующие работы

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