Московский государственный университет путей сообщения
Опубликован: 12.09.2011 | Доступ: свободный | Студентов: 3752 / 307 | Оценка: 4.67 / 4.33 | Длительность: 18:55:00
Специальности: Программист
Лекция 2:

Построение обученных логических нейронных сетей

Проблема обучения "готовых" нейросетей

Справедливо желание построения универсальных моделей нейросетей в составе программного обеспечения компьютера, снабженных механизмами приспособления под задачу пользователя. Еще более справедливо желание построить набор аппаратных средств — нейросетей (нейрокомпьютеров, НК), сопряженных с компьютером и, по выбору пользователя, участвующих в решении сложных задач. Такие аппаратно реализованные нейросети, как приставки или внешние устройства компьютера, например, определяют специальное направление использования ПЛИС — интегральных схем с программируемой логикой.

Однослойная нейросеть

Пусть первоначально дан граф, который можно интерпретировать однослойной нейросетью, составленной по принципу "каждый с каждым" (рис.2.15).

Формирование однослойной нейросети

Рис. 2.15. Формирование однослойной нейросети

Для задачи дяди Рамзая закрепим 10 нейронов рецепторного слоя за исходными данными, 5 выходов — за решениями. Этим мы выделим интересующую нас подсеть, как показано на том же рисунке.

Выберем все ту же функцию активации

V:=\sum\limits_{j=1}^m{V_j\omega_{ij}-h_i}

Тогда, для реализации системы принятия решений, представленной на рис.2.14, предстоит подобрать значения \omega_{ij}. Значения hi для упрощения можно положить равными нулю.

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

Установим веса связей между нейронами В1, А1, С1, С2, С3, С4, С5, с одной стороны, и нейроном Вых1 — с другой, равными единице, оставив нулевыми веса связей этого нейрона с другими нейронами входного слоя. Таким образом полностью исключается влияние других нейронов входного слоя на данный выходной нейрон. Конкретная задача может потребовать корректировки, учета взаимного влияния всех входных ситуаций в результате тщательного экспериментального исследования задачи.

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

Поступив так же со всеми выделенными нейронами выходного слоя, получим окончательный результат, частично представленный оставшимися стрелками с единичными весами на рис.2.16. (Напоминаем, что в заданном графе стрелки шли от каждой вершины первого уровня к каждой вершине второго уровня.) Построенная нейросеть полностью соответствует специальной сети "под задачу", представленной на рис.2.14.

… Так какую же сеть предложить дяде Рамзаю? Ведь надо и подоходчивее, и попрактичнее, но и так, чтобы не казалось уж слишком просто.

Нейросеть на основе графа произвольной структуры

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

Пусть выбранная нами нейросеть имеет 12 входов (более чем достаточно), 5 выходов и реализует ту же передаточную функцию с начальными значениями весов \omega_{ij} = 0 и порога h = 0.

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

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

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

Результат трассировки многослойной нейросети

увеличить изображение
Рис. 2.16. Результат трассировки многослойной нейросети

Систематизируя муки комбинаторного мышления, проанализируем свои действия:

  1. Мы анализировали слой за слоем, постоянно помня цель — пять комбинаций ситуаций, каждая из которых должна возбудить один из нейронов выходного слоя. Пока мы не вводили жесткое закрепление решений за этими нейронами.
  2. В каждом слое мы собирали частную комбинацию — терм, который можно использовать в последующем, — из доступных термов предыдущего слоя.
  3. Термы, которые пока не могут быть использованы при конструировании из-за их взаимной удаленности, мы запоминали без изменения на анализируемом слое, пытаясь их "подтянуть" в направлении возможного дальнейшего объединения.
  4. Мы старались не "тянуть" термы "поперек" всей сети. В противном случае мы сталкивались бы с проблемой: как избегать пересечений и искажения уже сформированных термов. Все это заставило нас долго не закреплять нейроны выходного слоя за решениями, что, в конце концов, привело к нарушению естественного порядка следования решений.

Таким образом, возникает задача дальнейших исследований: как построить все необходимые пути возбуждения так, чтобы они, возможно, пересекались, — но только для формирования общих термов? А способна ли выбранная нами "готовая" нейросеть вообще справиться с поставленной задачей или предпочтительнее принцип "нейросеть под задачу"? Эти исследования отражены в [1 - 5].

… Вот теперь-то мы довольны! Мы снабдили дядю Рамзая универсальной обучаемой нейросетью. Теперь, если он, раскаявшись, вновь возлюбит свою благороднейшую профессию, он найдет ей (сети) достойное применение в водворении Васи, Пети & K0 на то спальное место, которое они действительно заслуживают.

Ключевые термины

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

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

Дизъюнктор – прибор, реализующий функцию ИЛИ, при которой на выходе образуется единица, если единица подается хотя бы на один вход.

Краткие итоги

  1. Распознавание символов (после центровки и масштабирования) целесообразно производить с помощью заключения эталонов в области экрана (эталонные области, ловушки), достаточно широко (с учетом искажений испытываемых символов) охватывающие эти эталоны. Исследуется, какую из известных эталонных областей в наибольшей степени и с превышением порога покрывает испытываемый символ. Для этого функция активации строится на основе суммирования сигналов в каждой эталонной области. Если при проверке всех известных эталонных областей порог распознавания не был превышен, подаваемый символ признается неизвестным.
  2. Нейронная сеть строится посредством непосредственной связи всех рецепторов, образующих одну эталонную область (\Delta) с нейроном, говорящим: "Это символ (буква) \Delta!"
  3. Тактическая игровая система строится на основе знания всех возможных ситуаций факторного пространства событий и соответствующих им решений. Рецепторы, на которые подается достоверность событий, характеризующих ситуацию, непосредственно связываются с нейронами, "отвечающими" за решения по данной ситуации. Максимально возбудившийся, в результате счета значения функции активации, нейрон определяет принимаемое решение.
  4. Построение более сложных систем принятия решений производится на основе их логического описания. Воспроизведение промежуточной схемы нейронной сети подобно схемотехническому ее воплощению с помощью конъюнкторов и дизъюнкторов.
  5. Переход к нейронам для использования нечетких данных на входе производится с помощью нечеткой логики – приближенного построения конъюнкторов и дизъюнкторов с помощью нейронов.
  6. Так как трудно себе представить специализацию нейронов "в голове", то выяснилось, что единообразные, "стандартные" нейроны вполне способны в составе полученной схемы определять правильное решение. Так производится переход и от нечеткой логики к чисто нейронной сети. Таким образом, пункты 4 и 5 служат обоснованию и иллюстрации, но ни в коем случае не определяют технологию разработки.
  7. Важным представляется дальнейший шаг к упрощению нейронной сети - переход к однослойной логической нейронной сети, применяемой практически во всех случаях, не требующих обратных связей.

Вопросы:

  • Как формируется обученная нейронная сеть типа персептрона для распознавания символов с помощью эталонных "ловушек"?
  • Как формируется обученная логическая нейронная сеть с помощью системы правил вывода по всем возможным ситуациям?
  • Как задается информация и как формируются решения по нечетким данным?
  • Как строится логическая нейронная сеть по логическому описанию системы принятия решений?
  • Каковы принципы построения нечеткой логики?
  • На чем основана принципиальная возможность сведения логических нейронных сетей к однослойным?
Кирилл Артамонов
Кирилл Артамонов

"Тогда как задать возбуждение рецепторов, если инспектор точно установил, что скорость автомобиля при наезде на пешехода была равна 114 км/час?
По-видимому, он рассуждает на основе близости скорости к границам указанного интервала: "Достоверность того, что скорость автомобиля составляет 100 км/час, я найду как (114 – 100):(120 – 100), а достоверность того, что скорость автомобиля составляет 120 км/час, я найду как (120 – 114):(120 – 100). Следует обратить внимание на то, что сумма найденных достоверностей равна единице."

Вопрос по расчёту скорости и сумме достоверности: этот математический (приведенный выше в виде контекста из материала лекции 1, страницы 3) метод справедлив к скоростным показателям выходящим за рамки диапазона 100-120. 
То есть, практически применяв к расчёту, скорости из диапазона 114-155, к диапазону 100-120, получал в результате суммирования достоверностей единицу.
Это похоже на то, как я видимые разные скоростные показатели своим рецептором, буду воспринимать линейно с помощью одного диапазона, так как он универсален. 
Правильно ли это ? 
И как манипулировать данными показателями, если есть универсальный диапазон, по результату выводящий в сумме постоянно единицу на разных скоростных показателях стремящегося.

Владислав Гладышев
Владислав Гладышев

А как проходить курс ? я же могу прямо сейчас все лекции прочитать и здать экзамен, к чему там даты ?