Лабораторная работа 8 (953525), страница 2
Текст из файла (страница 2)
Y = F (XW),
где X и Y – соответственно входной и выходной сигнальные векторы-строки, F (V) – активационная функция, применяемая поэлементно к компонентам вектора V = XW.
Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированной микросхемы, на которых обычно реализуется нейронная сеть. Активационные функции всех нейронов фиксированы, а веса могут изменяться. В общем случае процедура синтеза нейронной сети включает два этапа.
-
Выбор архитектуры нейронной сети определяется классом задач, для которых ее разрабатывают. Возможности сети возрастают с увеличением числа нейронов, плотности связей между ними и числа слоев. Введение обратных связей также увеличивает возможности сети, но, одновременно, поднимает вопрос о ее динамической устойчивости. В некоторых схемах используют разные типы синапсов – возбуждающие, тормозящие и др., что также способствует усилению мощи сети. В целом же существующие общие решения по определению параметров нейронной сети являются недостаточно надежными.
-
Обучение сети основано на подборе весов отдельных синапсов. Различают алгоритмы обучения с учителем и без учителя. Обучение с учителем предполагает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Вместе они называются обучающей парой. Обычно сеть обучается на некотором множестве таких пар. Обучение осуществляется путем последовательного предъявления входных векторов, вычисления выхода сети и сравнения с соответствующим целевым вектором. Ошибка сравнения с помощью обратной связи подается в сеть, и веса корректируются в соответствии с алгоритмом минимизации ошибки. Этот процесс выполняется для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет заданного низкого уровня.
1.3. Структура системы распознавания тактильного образа
На рис. 8.6 представлена структура системы распознавания тактильного образа, включающая в себя «интеллектуальный» силомоментный датчик и нейронную сеть. Кроме традиционных действий по формированию вектора выходных сигналов, в блоке предварительной обработки вычисляются изменения действующих силовых факторов . Эти сигналы поступают на вход нейронной сети, представляющей собой трехслойный персептрон. Нейронная сеть обучается распознавать контактную ситуацию, в соответствии с диаграммой приведенной на рис. 8.1. После обучения на соответствующем выходе нейронной сети должен быть сформирован сигнал, соответствующий номеру класса контактной ситуации. Таким образом, система измеряет компоненты главного вектора F сил и моментов и определяет класс контактной ситуации, т.е. распознает тактильный образ.
Введем понятия рабочего словаря признаков и рабочего алфавита классов. Под первым будем понимать некоторую совокупную плоскость, генерируемую в процессе обучения внутри N-мерного пространства входных векторов. Рабочий алфавит классов представляет собой возможные варианты принадлежности данной ситуации к определенному классу. В рассмотренной задаче рабочим словарем признаков будут изменения силомоментных факторов, а рабочим алфавитом классов – контактные ситуации. Имеются 3 признака распознаваемых классов и 4 класса контактных ситуаций («фаска», «одноточечный контакт», «двухточечный контакт», «заклинивание»), а также отдельный класс - «отсутствие контакта». Таким образом, входной слой сети должен иметь 3 нейрона. Кроме того, целесообразно вводить по одному нейрону выходного слоя на один распознаваемый класс, следовательно, в выходном слое имеем 5 нейронов.
Значения входных сигналов поступают с блока предварительной обработки. Значения выходных сигналов можно задавать произвольным способом. В рассматриваемом случае будем кодировать каждый выходной нейрон номером ситуации. Выходной вектор значений для конкретного класса будет содержать – 0,5 в компонентах с номером, отличным от номера класса, и 0,5 в компоненте с номером класса.
Количество промежуточных слоев предлагается выбрать равным одному. Так как задача выбора числа промежуточных слоев не формализована и, видимо, в общем случае не решаема, предлагается экспериментально проверить способность предлагаемой нейронной сети к запоминанию и распознаванию всех подаваемых образов. Аналогично, количество нейронов промежуточного слоя предлагается выбирать экспериментально.
2. Практическая часть
В данной части лабораторной работы предлагается исследовать влияние параметров нейронной сети, входящей в состав системы распознавания тактильного образа, и погрешности силомоментного датчика на функционирование нейронной сети косвенным способом – посредством измерения времени обучения сети.
По результатам работы необходимо сделать вывод о целесообразности использования нейронной сети для данной задачи, а также составить отчет, который должен содержать по заданиям все полученные в ходе работы таблицы и графики, а также выводы.
Исследования проводятся с помощью программы-макета, имитирующей работу системы распознавания тактильного образа.
2.1. Лабораторная установка
В состав лабораторной установки входят:
-
персональный компьютер с операционной системой Windows 2000 или Windows XP;
-
часы с секундомером;
-
программа-макет «Нейросетевая система распознавания» c файлами:
-
TactileImageRecognition.exe, исполняемый файл программы;
-
global.cfg, файл с настройками программы;
-
папки с параметрами экспериментов: “Task1”, “Task2”,“Task3”.
Графический интерфейс программы изображен на рис. 8.7.
Окно обучения нейронной сети показано на рис. 8.8. Кнопка «Обучить» запускает процесс обучения сети, а в окне обучения в реальном времени отображается график изменения совокупной ошибки сети с течением времени. По окончании обучения выводится соответствующее сообщение. Процесс обучения завершается, когда значение совокупной ошибки входит в трубку допустимых пределов и остается там в течении установленного времени.
2.2. Последовательность выполнения работы
-
Для исследования зависимости времени обучения от числа нейронов промежуточного слоя необходимо зафиксировать величину обучающей выборки L. Установим это значение равное 100 элементам.
-
Создайте новую сеть, выбрав во вкладке меню «Файл» пункт «Новая сеть», введите количество нейронов промежуточного слоя N равное 1.
-
Откройте обучающую выборку, соответствующую данному эксперименту, выбрав во вкладке меню «Обучение» пункт «Открыть выборку» и открыв в папке «Task1» файл 100.pat.
-
Обучите по выборке, выбрав во вкладке меню «Обучение» пункт «Обучить по выборке». Зафиксируйте время обучения.
Комментарий: здесь и далее, если время обучения превышает 2 минуты, процесс обучения сети необходимо прекратить, нажав на значок крестика в правом верхнем углу окна обучения. Время обучения в этом случае считать бесконечным.
-
В графическом интерфейсе программы симулируйте процесс сборки изделия для проверки правильности распознавания системой тактильных образов. Для этого необходимо воспользоваться кнопками управления «Left», «Right», «Up», «Down» - «Влево», «Вправо», «Вверх», «Вниз», а также «>» и «<» - поворот вала вокруг середины торца по и против часовой стрелки соответственно.
-
Повторите эксперимент (п. 1) последовательно для значений N = 3, 5, 10, 30, 50, 70, 100, 500, 1000, 2000, 3000, 5000. Занесите полученные данные в табл. 8.1:
Таблица 8.1. Таблица записи результатов эксперимента
N, шт | Время обучения, с |
1 | |
3 | |
5 | |
10 | |
30 | |
50 | |
70 | |
100 | |
500 | |
1000 | |
2000 | |
3000 | |
5000 |
-
На основании данных табл. 8.1 постройте график зависимости времени обучения сети от количества N нейронов промежуточного слоя. По построенному графику найдите оптимальное значение N, а также сделайте выводы о влиянии количества нейронов промежуточного слоя на функционирование нейронной сети при заданных ее параметрах.
-
Для исследования зависимости времени обучения от величины обучающей выборки L необходимо зафиксировать количество нейронов промежуточного слоя. Установим значение N = 10.
-
Создайте новую сеть с количеством нейронов промежуточного слоя N равным 10.
-
Откройте файл с обучающей выборкой 5.pat из папки «Task2» (здесь и далее количество элементов L выборки соответствует имени файла).
-
Обучите по заданной выборке и заметьте время обучения.
-
Симулируйте процесс сборки изделия аналогично заданию 1.
-
Повторите эксперимент (п. 4) последовательно для значений L = 10, 30, 50, 100, 300, 500, 1000. Занесите полученные данные в табл. 8.2:
Таблица 8.2.
Таблица 8.2. Таблица записи результатов эксперимента
L, эл | Время обучения, с |
5 | |
10 | |
30 | |
50 | |
100 | |
300 | |
500 | |
1000 |
-
На основании данных табл. 8.2 постройте график зависимости времени обучения сети от длины L обучающей выборки. Сделайте выводы о влиянии длины обучающей выборки на функционирование сети при заданных ее параметрах.
-
Для исследования зависимости времени обучения от точности силомоментного датчика при фиксированных параметрах сети необходимо зафиксировать количество нейронов промежуточного слоя.
-
Создайте новую сеть с количеством нейронов промежуточного слоя N равным 10.
-
Измените величины погрешностей силомоментного датчика, выбрав во вкладке меню «Настройки» пункт «Точность датчика», в соответствии с данными опыта п.1 табл. 8.3:
Таблица 8.3. Таблица величин погрешностей СМД
№ опыта | Fx, % | Fz, % | My, % |
1 | 100 | 100 | 100 |
2 | 50 | 50 | 50 |
3 | 10 | 10 | 10 |
4 | 5 | 5 | 5 |
5 | 1 | 1 | 1 |
-
Откройте файл с обучающей выборкой 1.pat (имя файла соответствует номеру опыта).
-
Обучите по заданной выборке и заметьте время обучения.
-
Симулируйте процесс сборки изделия аналогично заданию 1.
-
Повторите эксперимент еще 9 раз, занося получаемые данные в табл. 8.4.
-
Используя данные проведенных измерений вычислите среднее время обучения сети
, максимальное отклонение времени обучения от среднего значения
, а также относительный разброс времени обучения
, используя следующие формулы: