Хабрахабр

Rule-based neural networks

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

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

  • Нейросети построенные на правилах (Rule-based neural networks, далее RBNN) – это нейросети, в основу которых закладываются базовые правила (вроде обычной импликации), благодаря чему, мы, грубо говоря, получаем готовую экспертную систему, однако, теперь уже обучаемую.
  • Логические нейросети, можно было бы отнести к совершенно другому типу, однако я предлагаю отнести их к одной из разновидностей RBNN. Концепция логических нейросетей впервые была описана в работе Барского А. Б. – «Логические нейронные сети».

Идея логических нейросетей, заключается в установлении на каждый нейрон скрытого слоя одну, из логических операций: конъюнкцию или дизъюнкцию.

image

241 Иллюстрация из книги «Логические нейронные сети», стр.

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

Для тех, кто знаком с системами нечеткого(Fuzzy)-управления это определение будет не ново.
База знаний – это место где находятся все наши правила в виде выражений «ЕСЛИ Х1 И\ИЛИ Х2 ТОГДА У» и.т.д. Описанное выше понятия «начальных правил» можно обозначить проще – база знаний. Потому что создание Fuzzy-регулятора можно представить в качестве первой стадии создания RBNN, также из-за того, что именно они натолкнули меня на идею о превращении обычных нейросетей в нечто подобное. Почему я упомянула именно нечеткие системы?

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

Источник: www.lund.irf.se/HeliosHome/rulebased.html

Теперь вопрос, как из этой строгой системы сделать обучающуюся нейросеть?

Каждый вес будет отражать вероятность отношения того, или иного элемента к группе других (например входной параметр А к первому нейрону скрытого слоя, соответственно к причастности к группе АВ ), или же к ответу X, Y, Z и.т.д. Во первых, важным моментом является внесение в подобную структуру веса, на каждое ребро.

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

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

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

  • завтрак-омлет
  • обед-суп
  • ужин-каша

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

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

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть