При обучении нейросети можно воспользоваться «дыроколом». Это следует делать в тех случаях, когда нейросети будут предъявляться для классификации объекты, у которых информация о некоторых входных сигналах отсутствует. Имена таких входных сигналов должны быть помечены звездочками в ptn-файле. «Дырокол» позволяет заменять у примеров задачника сигналы на этих входах нулевыми значениями. При этом для обучения предъявляются все варианты расстановки «дыр» по отмеченным входам для каждого примера. Оценка примера представляется суммой оценок по всем вариантам. Наблюдая за процессом обучения, можно заметить определенные закономерности. Распознавать часть примеров нейросеть обучается быстро. При распознавании другой части примеров нейросеть может допускать ошибки, т. е. выходные сигналы нейросети для этих примеров не всегда соответствуют указанным в задачнике. Среди последних могут быть примеры, при распознавании которых нейросеть ошибается почти постоянно. Наличие таких примеров может стать предметом специального исследования. Чтобы проиллюстрировать это, рассмотрим один конкретный пример.
Рассматриваемые ниже эксперименты были проведены американским исследователем Кори Ваксманом и подробно описаны в его работе (см. приложение).
Пакет CLAB использовался для решения задачи предсказания результата выборов президента США. Входные сигналы в этой задаче представлялись в виде ответов на 12 различных вопросов. Эти вопросы касаются экономической и политической ситуации и социальных условий во время выборов, а также личностей кандидатов на пост президента. Выходные сигналы показывали, к какой партии принадлежал победитель выборов — к партии, которая является правящей в настоящий момент, или к оппозиционной. В качестве обучающей выборки использовались результаты выборов с 1860 по 1980 годы.
В ходе обучения было обнаружено, что хуже всего нейросеть обучалась предсказывать результаты выборов 1892, 1880 и 1896 годов.
Кроме этого, были проведены следующие эксперименты. В качестве первоначальной обучающей выборки использовались примеры с результатами двух первых выборов. Примеры с последующими выборами предъявлялись нейросети для классификации. Те примеры, для которых были получены правильные выходные сигналы, включались в обучающую выборку, и вся процедура повторялась. Заканчивалась эта процедура в том случае, когда нейросеть не могла дать правильного ответа ни для одного из оставшихся примеров. В результате серии таких экспериментов были получены группы примеров. Они отличались между собой, но все они содержали те три примера, которые были выделены ранее как наиболее "труднообучаемые".
Таким образом, в ходе обучения нейросети возник вопрос: почему нейросеть упорно предсказывает для некоторых выборов не тот результат, что имел место в действительности? Этот вопрос следует, очевидно, адресовать историкам, для которых он может оказаться темой интересного исследования.
Этот пример показывает, что в процессе обучения нейросети для решения конкретной задачи могут возникать качественно новые задачи. В их основе лежат некоторые отношения между объектами исследования, которые удается установить при помощи нейросети.
После завершения процесса обучения нейросеть готова к работе. Ей можно предъявлять для классификации наборы входных сигналов, описывющие некоторые объекты. Но в отличие от примеров задачника, для которых указывался класс объекта, здесь класс объекта неизвестен, и его должна определить нейросеть.
В пакете CLAB для классификации служит программа tester. Сначала она предлагает пользователю выбрать имя файла, содержащего карту синапсов, и имя ptn-файла. Затем программа генерирует нулевые значения для входных сигналов и классифицирует такой объект. На экране, как и всякий раз после тестирования, появляется такая же картинка, как при работе программы Teacher, — крестик, соответствующий выходным сигналам, и оценки. Поскольку пример рассматривается один, а высвечиваются две оценки, поясним, как их трактовать. Красным цветом высвечивается оценка, соответствующая ситуации, в которой данный пример считается принадлежащим к классу «красных», синим цветом — к классу синих.
В нижней части экрана высвечивается указание "press any key" ("нажать любую клавишу"). После того, как пользователь нажмет любую клавишу, программа предложит ввести значения входных сигналов. При этом, как и при составлении задачника, на экране высвечиваются окно NEURON с именами входных сигналов и окно VALUE с их значениями. Кроме этого, высвечиваются еще два окна: одно с надписью "to red" ("к красным"), другое — "to blue" ("к синим"). Они предназначены для так называемых улучшателей. О том, что они собой представляют и для чего нужны, будет подробно рассказано дальше.
Читать дальше