Pull to refresh

Логически прозрачные нейронные сети и производство явных знаний из данных

Reading time5 min
Views7.2K
В продолжение темы эволюции нейросетей.
image
Производство явных знаний из накопленных данных — проблема, которая намного старше чем компьютеры. Обучаемые нейронные сети могут производить из данных скрытые знания: создается навык предсказания, классификации, распознавания образов и т.п., но его логическая структура обычно остается скрытой от пользователя. Проблема проявления (контрастирования) этой скрытой логической структуры решается путем приведения нейронных сетей к специальному “логически прозрачному” разреженному виду.
Перед каждым исследователем, решившим использовать нейронные сети, встают два вопроса: “Сколько нейронов необходимо для решения задачи?” и “Какова должна быть структура нейронной сети?” Объединяя эти два вопроса, мы получаем третий: “Как сделать работу нейронной сети понятной для пользователя (логически прозрачной) и какие выгоды может принести такое понимание?”

Сколько нейронов нужно использовать?

При ответе на этот вопрос существует две противоположные точки зрения. Одна из них утверждает, что чем больше нейронов использовать, тем более надежная сеть получится. Сторонники этой позиции ссылаются на пример человеческого мозга. Действительно, чем больше нейронов, тем больше число связей между ними, и тем более сложные задачи способна решить нейронная сеть. Кроме того, если использовать заведомо большее число нейронов, чем необходимо для решения задачи, то нейронная сеть точно обучится. Если же начинать с небольшого числа нейронов, то сеть может оказаться неспособной обучиться решению задачи, и весь процесс придется повторять сначала с большим числом нейронов. Эта точка зрения (чем больше — тем лучше) популярна среди разработчиков нейросетевого программного обеспечения. Так, многие из них как одно из основных достоинств своих программ называют возможность использования любого числа нейронов.
Вторая точка зрения опирается на такое “эмпирическое” правило: чем больше подгоночных параметров, тем хуже аппроксимация функции в тех областях, где ее значения были заранее неизвестны. С математической точки зрения задачи обучения нейронных сетей сводятся к продолжению функции заданной в конечном числе точек на всю область определения. При таком подходе входные данные сети считаются аргументами функции, а ответ сети – значением функции. Очевидно, что аппроксимация, полученная с помощью полинома 3-ей степени больше соответствует внутреннему представлению о “правильной” аппроксимации. Несмотря на свою простоту, этот пример достаточно наглядно демонстрирует суть.
Второй подход определяет нужное число нейронов как минимально необходимое. Основным недостатком является то, что это, минимально необходимое число, заранее неизвестно, а процедура его определения путем постепенного наращивания числа нейронов весьма трудоемка. Опираясь на опыт работ различных групп в области медицинской диагностики, космической навигации и психологии можно отметить, что во всех этих задачах ни разу не потребовалось более нескольких десятков нейронов. Подводя итог анализа двух крайних позиций, можно сказать следующее: сеть с минимальным числом нейронов должна лучше (“правильнее”, более гладко) аппроксимировать функцию, но выяснение этого минимального числа нейронов требует больших интеллектуальных затрат и экспериментов по обучению сетей. Если число нейронов избыточно, то можно получить результат с первой попытки, но существует риск построить “плохую” аппроксимацию. Истина, как всегда бывает в таких случаях, лежит посередине: нужно выбирать число нейронов большим чем необходимо, но не намного. Это можно осуществить путем удвоения числа нейронов в сети после каждой неудачной попытки обучения. Однако существует более надежный способ оценки минимального числа нейронов — использование процедуры контрастирования. Кроме того, процедура контрастирования позволяет ответить и на второй вопрос: какова должна быть структура сети.
Процедура контрастирования основана на принципе исключения связей с минимальным влиянием на результат до тех пор, пока сеть не потеряет способность с нуля обучиться поставленной задаче.

Логически прозрачные нейронные сети

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

Заключение

Технология получения явных знаний из данных с помощью обучаемых нейронных сетей выглядит довольно просто и вроде бы не вызывает проблем — необходимо ее просто реализовывать и пользоваться.
Первый этап: обучаем нейронную сеть решать базовую задачу. Обычно базовой является задача распознавания, предсказания (как в предыдущем разделе) и т.п. В большинстве случаев ее можно трактовать как задачу о восполнении пробелов в данных. Такими пробелами являются и имя образа при распознавании, и номер класса, и результат прогноза, и др.
Второй этап: с помощью анализа показателей значимости, контрастирования и доучивания (все это применяется, чаще всего, неоднократно) приводим нейронную сеть к логически прозрачному виду — так, чтобы полученный навык можно было “прочитать”.
Полученный результат неоднозначен — если стартовать с другой начальной карты, то можно получить другую логически прозрачную структуру. Каждой базе данных отвечает несколько вариантов явных знаний. Можно считать это недостатком технологии, но ученые считают, что, наоборот, технология, дающая единственный вариант явных знаний, недостоверна, а неединственность результата является фундаментальным свойством производства явных знаний из данных.
А на закуску фото Xiao Xiao Li — очаровательная сотрудница Microsoft Research, разрабатывающая Байесовские фильтры против спама.
image

Список литературы

Нейроинформатика / А.Н.Горбань, В.Л.Дунин-Барковский, А.Н.Кирдин и др. — Новосибирск: Наука. Сибирское предприятие РАН, 1998.
Tags:
Hubs:
+24
Comments44

Articles