neironne_seti_i_neirokompjuter (1085713), страница 28
Текст из файла (страница 28)
6.1.3. Проверить работоспособность нейронной сети.4. Ответить на вопросы для самопроверки № 1 – 4.Создание нейронной сетиНовая нейронная сеть создается в Trajan с помощью окна NetworkCreating (Создание сети), которое доступно из меню File/New/Network илипо нажатию соответствующей кнопки на панели инструментов.После того, как на экране появится окно Network Creating длясоздания новой нейронной сети, следует произвести следующие действия.152PDF created with pdfFactory trial version www.pdffactory.comВыбор типа нейронной сетиДемонстрационная версия TRAJAN предлагает два типа нейронныхсетей.
Для решения задач, представленных в данном лабораторномпрактикуме,рекомендуетсяиспользоватьнейроннуюсетьтипамногослойный персептрон, которая выбрана в данном окне по умолчанию.Таблица 6.1. Таблица истинности для логической функции исключающего «ИЛИ»Вход 1Вход 2Истина?001010100111Определение количества слоев в нейронной сети и их размерностейПри задании количества слоев вашей нейронной сети, следуетучитывать следующие особенности пакета TRAJAN:1. Программныйпродукт поддерживает максимальный размернейронные сети: 128 слоев по 128 нейронов в каждом, при этомпервый слой всегда является входным и используется только дляполучения сетью исходных данных, а последний – выходным, ивыходы его нейронов являются выходами всей сети в целом.2.
Для решения поставленной задачи рекомендуется использоватьпростейшую структуру нейронной сети, состоящую из трех слоев:входной слой с двумя нейронами, скрытый слой с двумя нейронами ивыходной слой с одним нейроном (2-2-1).Для задания количество нейронов в каждом слое используетсяматрица, представленная в окне Network Creating. Она выглядит какнебольшая электронная таблица.Необходимо определить количество нейронов в каждом слое сети спомощью первой ячейки этой матрицы, при этом любые слои с нулевымколичеством нейронов будут проигнорированы.После задания количества нейронов в каждом слое нейронной сети,TRAJAN самостоятельно определит количество слоев путем выбора изматрицы тех слоев, у которых количество нейронов отлично от нуля.153PDF created with pdfFactory trial version www.pdffactory.comПримечание.
Можно заметить, что матрица содержит строку длязадания «ширины» каждого слоя. Строка редко используется в TRAJAN длякарт Кохонена, хотя с помощью нее можно задавать и ширину слоев длянейронных сетей некоторых других типов.Обучение нейронной сетиАлгоритм обратного распространения обучает нейронную сеть,используя доступные ему данные, которые хранятся в наборепредставительских выборок для обучения. На каждой итерации (в терминахпрограммного продукта TRAJAN – «эпохе»), нейронной сетипредоставляется весь подготовленный набор обучающих пар. Выходы,получаемые нейронной сетью, сравниваются с желаемыми результатами.При этом ошибка нейронной сети вычисляется как разность междужелаемыми и фактическими результатами и используется для регулированиявесов нейронов в сети.Для обучения нейронной сети необходимо:§ открыть окно Training Error Graph, используя позицию менюStatistics/Training Graph;§ открыть окно Back Propagation, используя позицию менюTraining/Backprop;§ расположить на экране окна так, чтобы они были оба видны и неперекрывали друг друга;§ запустить алгоритм обучения путем нажатия на кнопку Train(Обучение) в окне Back Propagation.
При этом зависимостьсреднеквадратической ошибки обучения нейронной сети от числаиспользуемых итераций будет вычерчиваться на графике в окнеTraining Error Graph;§ увеличить число итераций в окне Back Propagation и обучитьнейронную сеть вновь, нажав кнопку Train.Вначале моделирования при использовании небольшого числаитераций, среднеквадратическая ошибка уменьшается, но ненамного. Этообусловлено тем, что задача «исключающего «ИЛИ» для нейронной сети,как не парадоксально, гораздо сложнее в решении, чем многие болеесложные задачи.Окно Training Error Graph отображает общую ошибку обучениянейронной сети, однако иногда бывает полезно пронаблюдать за работойсети при использовании отдельно взятой обучающей пары.Данный режим реализуется в TRAJAN с помощью окна Pattern Error.Запуск сетиПосле обучения нейронная сеть готова к запуску, причем запустить еена выполнение можно несколькими способами.154PDF created with pdfFactory trial version www.pdffactory.comЗапуск, используя текущий набор представительских выборокНейронная сеть может быть запущена с предъявлением полногонабора представительских выборок, использованных ранее при ее обучении,или выполняемыми наборами по одиночке.
При этом необходимовоспользоваться пунктом меню Run/Single Pattern, чтобы получитьинформацию о работе нейронной сети при предъявлении одной отдельновзятой представительской выборки или целого набора представительскихвыборок.Запуск индивидуальной представительской выборки, не входящей внабор обучающих парПри решении целого ряда задач необходимо проверять работунейронной сети на представительской выборке, которая не входила в наборобучающих пар, использованных ранее при обучении.
Например:1. Прогнозирование появления новых данных с заранее неизвестныминейронной сети выходами. Если выходы заранее известны, томожно оценить качество работы подготовленной нейронной сети. Впротивном случае, результаты, полученные при запуске, могут бытьиспользованы в качестве прогноза. Данный тип задач длянейронных сетей будет рассмотрен в лабораторной работе № 5.2.
Распознавание образов (задача будет рассмотрена в работе № 3). Вэтом случае оценивается чувствительность нейронной сети кнебольшому изменению параметров исследуемого вектора, спомощью которого проводилось обучение.ЗамечаниеНейронная сеть, подготовленная в данной лабораторной работе, былаобучена с использованием всех возможных для нее обучающих пар, поэтомуона может быть запущена на выполнение с использованием каждой изчетырех представительских выборок.
Следовательно, можно будет оценитьработу нейронной сети на каждой из них.При запуске, также возможно единовременное использование всегонабора представительских выборок для оценивания общих параметровработы нейронной сети.6.2. Лабораторная работа № 2Определение направления двоичного сдвигаЦель – построение, обучение и тестирование нейронной сети,предназначенной для определения направления сдвига двоичного кода [1].Задание155PDF created with pdfFactory trial version www.pdffactory.com1.
Повторить соответствующий теоретический материал (глава 2: п. 2.1– 2.3 и глава 3).2. Создать и обучить нейронную сеть, которая будет способнаопределять направление циклического сдвига четырехпозиционногодвоичного кода.3. Проверить работоспособность нейронной сети.4. Ответить на вопросы для самопроверки № 5 – 8.О применении нейронных сетей для решения задачи классификацииТиповая задача нейронных сетей – классификация того или иногоисследуемого вектора (объекта). Получив в процессе обучения исходныеданные об объекте, нейронная сеть определяет, к какому из множестваклассов принадлежат исследуемые векторы.Проблема исключающего ИЛИ, рассмотренная в предыдущейлабораторной работе, является примером решения именно такой задачи.Если исследуемый вектор может принадлежать только к одному из двухклассов, то задача называется двухклассной. Задача, поставленная в даннойработе, сводится к двухклассной.Простейший путь решения задачи двухклассной классификации припомощи нейронных сетей – формирование у сети единственного выхода,который получает значение 1 для одного класса и 0 – для другого.
Значения,лежащие внутри данного диапазона, характеризуют степень принадлежностиобъекта к тому или иному классу.Действительно, на том или ином выходе многоуровневого персептронапрактически невозможно получить значения равные точно 0 или 1, хотя кэтим значениям иногда можно подойти довольно близко.Таким образом, для решения двухклассных задач с использованиемодного выхода необходимо задаваться уровнем доверия, например: еслизначения выхода выше 0,95 – считать, что объект (исследуемый вектор)принадлежит к одному классу, а если ниже 0,05 – к другому.Решение задачи классификации в TRAJANНейронная сеть с предъявлением единственной представительскойвыборки запускается в окне Run Single Pattern (Запустить единственныйобразец) или в окне Run One-off Pattern (Запустить одиночный образец невходящий в представительскую выборку).TRAJAN сравнивает выходную величину сети с пределами доверия иопределяет:§ если выход выше установленного верхнего порога, исследуемыйвектор (объект) классифицируется положительно;§ если выход ниже установленного нижнего порога, то сообщается онегативной классификации;156PDF created with pdfFactory trial version www.pdffactory.com§ если значение выхода находится между порогами, то сообщается отом, что исследуемый вектор (объект) классифицировать не удалось.Общая статистика результатов классификации осуществляется принажатии кнопки Run в окне Statistic/Classification, которое открывается изменю Statistic/Classification.
Статистика в этом окне отображается в видематрицы, содержащей один столбец для каждого класса. Каждый столбецсодержит две секции: «Общая статистика» и «Статистика процессаклассификации», разделенные широкой горизонтальной чертой.Секция «Общая статистика» содержит следующую информацию:§ Total (Всего) – количество образцов данного класса в наборе.§ Correct (Правильные) – количество образцов данного классаправильно классифицированных нейронной сетью.§ Wrong (Неправильные) – количество образцов неправильноклассифицированных сетью (как принадлежащих к другому классу).§ Unknown (Неизвестные) – количество образцов данного класса,которые нейронная сеть не смогла классифицировать.Секция «Статистика процесса классификации» показывает, сколькоисследуемых векторов (представительских выборок) было отнесено ккаждому классу. При этом неклассифицированные векторы в данной секциине отображаются.Нейронная сеть для определения направления двоичного сдвигаДля решения поставленной задачи, следует построить и обучитьнейронную сеть, которая должна будет определять направление двоичногосдвига.Операция двоичного сдвига является типичной для многих языковпрограммирования.