Медицинская нейроинформатика
Дополнительные возможности нейросетей и автоматизированные стратегия и тактика обучения
В этом разделе будут рассмотрены несколько дополнительных возможностей нейросетей, разработанных в рамках построения теории и методологии создания нейросетевых экспертных систем, и полезных для практического применения.
Обученная нейросеть не только умеет распознавать примеры, но и хранит достаточно важную информацию, которую можно получить, грамотно сформулировав вопрос для сети. Возможность нейросетей содержательно отвечать на поставленные вопросы позволяет использовать их не только как "решающие" устройства, но и как инструменты для проведения научных исследований.
Вычисление информативности обучающих параметров и минимизация их набора.
Врач, ставящий диагноз больному, всегда старается анализировать весь комплекс сведений о пациенте - жалобы, анамнез болезни и жизни, данные клинического осмотра и лабораторных анализов. При этом одна часть параметров имеет принципиальное значение для принятия решения, другая же не столь важна и даже может просто игнорироваться.
Нейросеть, принимающая решение на основе опыта, поступает сходным образом. Поэтому исследователю очень важно знать, какие из параметров важны для сети, а какие - не очень. Следует сказать, что абсолютно незначимых параметров практически не бывает, и каждый входной сигнал в большей или меньшей степени влияет на принятие решения.
Разработанный нами метод позволяет выявить относительную значимость входных параметров, которая может представлять самостоятельный интерес или служить для последующей минимизации их набора [5.47].
Для этого включаются несколько циклов обучения нейронной сети с заранее завышенным уровнем надежности и внесением в матрицу синапсов случайного вклада после прохождения каждого цикла. При прохождении циклов используется метод подсчета градиентов по входным сигналам, подаваемым на нейронную сеть, и последующего их сравнения, осуществляемого двумя различными методами по выбору пользователя программы.
Первый метод насчитывает значимость каждого параметра как максимальное значение модуля градиента по всем примерам. Этот режим полезно применять в тех случаях, когда в обучающей выборке имеются примеры, "выбивающиеся" из общей массы, и которые могут существенно влиять на принятие решения об ответе. Данный метод будет прежде всего учитывать наличие таких примеров.
Второй метод насчитывает значимость каждого параметра как среднюю величину модуля градиента по всем примерам обучающей выборки. Результат применения этого метода показывает среднюю значимость параметров по всей обучающей выборке. Если в обучающей выборке имеются примеры, "выбивающиеся" из общей массы, и которые могут существенно влиять на принятие решения об ответе, то влияние таких примеров на значимость параметров будет нивелироваться. Данный метод полезно применять в тех случаях, когда обучающая выборка достаточно однородна и необходимо, чтобы возможные "выбивающиеся" примеры существенно не влияли на оценку значимости параметров. Результатом применения метода является набор значений, каждое из которых соответствует определенному входному параметру и может сравниваться с остальными.
Применение метода имеет ценность как для научных исследований, так и при практическом применении нейросетей для экспертных систем, так как позволяет уменьшать набор входных параметров, подаваемых нейросети для получения ответа. Действительно, часто для диагностики и прогноза больному проводят сложные и дорогостоящие методы исследования, порой небезвредные для здоровья. Однако во многих случаях представляется возможным получить ответ и без них.
В нейросетевых программах предусмотрен как ручной, так и автоматический режимы минимизации входных параметров, причем последний может применяться как самостоятельно, так и в случае задания автоматического определения стратегии обучения. Использование "ручной" минимизации параметров имеет смысл только после того, как нейросеть достаточно хорошо обучена, в противном случае исключение параметров может привести к ухудшению экстраполяционных возможностей сети и затруднению последующего обучения.
Если режим минимизации включен, он начинает работать после полного обучения нейронной сети. При этом осуществляется вычисление относительных показателей значимости и входной синапс, имеющий минимальную значимость. После этого этот синапс отключается от приема сигналов, и обучение продолжается. Предполагается, что нейросеть сможет обучиться без данного параметра. Если сеть вновь обучилась, после повторного вычисления значимости выключается следующий синапс и т.д. В итоге сеть перестанет обучаться, когда набор входных параметров будет слишком мал для полноценного обучения. После этого можно проанализировать различные варианты исключения параметров и выбрать их оптимальный набор. Эксперименты с самыми разными медицинскими задачами показывали, что во многих случаях приблизительно четверть обучающих параметров может быть исключена совершенно безболезненно. Это подтверждает гипотезы об априорной избыточности данных в задачах медицинской диагностики и прогнозирования, решаемых человеком.
Подстройка параметров примера для получения требуемого ответа нейросети.
При применении обученной нейронной сети может возникнуть обратная задача, относящаяся к области нейросетевого моделирования - выяснить, в каком направлении и на какие величины необходимо изменить параметры примера, чтобы сеть выдала требуемый ответ. Приведем простой гипотетический пример. При тестировании примера сетью, разделяющей больных и здоровых, получен ответ "больной". Как нужно изменить параметры этого примера, чтобы он "перешел" в класс "здоровый"? Как уже говорилось, можно вручную изменять параметры, каждый раз тестируя пример после такого изменения. Однако это не самый быстрый и удобный способ, особенно, если число параметров велико, а решение принимается несколькими нейросетями. Поэтому нами был разработан специальный автоматизированный метод подстройки параметров для получения требуемого ответа нейросети.
При решении данной проблемы прежде всего необходимо разделить все параметры примера на подстраиваемые и неподстраиваемые. Например, невозможно изменить возраст пациента, поэтому такой параметр является неподстраиваемым. После определения набора подстраиваемых параметров для каждого из них задается диапазон возможных изменений. Необходимо помнить, что в случае каждого примера эти диапазоны могут диктоваться конкретной ситуацией (одному больному допустимо снизить частоту сердечных сокращений до 50, другому же - только до 70 ).
После этого для каждой нейросети (если их несколько) необходимо задать требуемый ответ - тот, которого должна добиться эта сеть. Важно отметить, что выполняемая затем автоматическая процедура подстройки выполняется одновременно несколькими нейросетями, так как подстройка, выполненная одной сетью, может резко ухудшить ответ других. Таким образом, каждая сеть, как правило, идет на некоторый компромисс.
В итоге вырабатывается оптимальное решение, одинаково хорошо (или плохо) удовлетворяющее все сети, принявшие участие в процедуре. Исследователь может проанализировать решение, сравнив ответы каждой нейросети до и после подстройки примера [5.48].
Автоматическое задание стратегии обучения.
Рассмотрим полностью автоматизированное задание стратегии построения решающего блока. Прежде всего определяется список подзадач, причем в каждой подзадаче определяется список обучающих параметров (он может быть общим для всех подзадач) и ответы. Затем задается, сколько нейросетей-экспертов будут решать каждую подзадачу (в простейшем случае - по одному). Далее определяется, будет ли проводится минимизация обучающих параметров. Если да, то можно задать произвольную минимизацию (нахождение минимально возможного для решения задачи списка параметров) или определяется набор параметров, который желательно оставить в списке или, наоборот, исключить из списка. Эту операцию можно провести отдельно для каждой подзадачи, для групп подзадач или для всей задачи в целом. Как дополнительный параметр, можно указать для каждой подзадачи контрольные выборки, на которых будут проверяться результаты обучения и требуемое качество обучения (в процентах правильно распознанных примеров (для классификаторов) или максимально допустимого отклонения (для предикторов). Это все, что должен сделать пользователь при автоматизированном построении решающего блока.
Непосредственно обучение проводится исходя из следующей стратегии. Обучение каждого эксперта в каждой подзадаче начинается с автоматической инициализации нейросети минимальной конфигурации (число нейронов - 2, плотность - 1, характеристика - 0,1, уровень надежности - 0,1 (для классификаторов), уровень отклонения для предикторов - требуемый или вычисленный исходя из характера значений ответа (в самом общем случае берется 1/3 минимальной разности между значениями ответа), время отклика - 2. Проводится обучение нейросети. Дальнейшие действия определяются результатом обучения. В случае успешного обучения проводится тест указанной контрольной выборки и в случае неудовлетворительного результата инициализируется новая сеть с увеличенной характеристикой (шаг увеличения - 0,1 ). При невозможности обучения инициализируется новая сеть с большим числом нейронов и плотностью.
Таким способом проводится обучение сетей по всем подзадачам. Обученные сети запоминаются. Если задана минимизация параметров, создаются рабочие копии обученных нейросетей и проводится вычисление значимости параметров для каждой сети, после чего следует минимизация параметров у каждой нейросети. Если требуется связанная минимизация (для нескольких нейросетей одновременно), окончательное отключение минимально значимого на данном этапе обучения параметра производится только после того, как все нейросети в связанной группе успешно обучились с исключением данного параметра. В процессе обучения могут автоматически применяться тактические методы (удар, изменение весов классов).
Исходя из приведенного описания, управление стратегией осуществляется по заранее заданному алгоритму. При необходимости пользователь может корректировать стратегию в процессе построения решающего блока на любом его этапе.