ТЕХНИЧЕСКИЕ НАУКИ УДК 004.89 Аглиуллин Р.М., Одинокова Е.В., Смирнов Д.Ю., Тучкина Л.К., Яшин Д.Д., Башкирский институт технологий и управления, г. Мелеуз, Российская Федерация МОДЕЛИРОВАНИЕ ОДНОСЛОЙНОГО ПЕРСЕПТРОНА В MS EXCEL Процесс моделирования однослойного персептрона в Excel рассмотрим на примере семисегментного индикатора для отображения цифр. Такие индикаторы широко используются в микроэлектронике для отображения не только цифр, но и некоторых букв. Модель однослойного персептрона необходимо будет создавать с использованием встроенного языка Visual Basic for Application в MS Excel. Главной задачей разрабатываемой модели является разделение множества цифр на два класса по некоторому критерию, например, на четные и нечетные. Первым шагом является подготовка рабочего листа MS Excel для удобного отображения цифр. Для этого необходимо изменением размеров ячеек изобразить семи сегментное изображение цифры 8. Залить ячейки красным цветом, используя «Уловное форматирование», в качестве условия необходимо указать значение ячейки равное 1, а действие – заливка ячейки красным фоном. В результате проделанной работы должна появиться возможность отображения сегмента любой цифры, вводя 0 или 1 в необходимые ячейки (сегменты). < 58 > Процесс моделирования однослойного персептрона заключается в практической реализации схемы нейрона. Для этого каждый сегмент цифры будет являться входящим сигналом для однослойного персептрона, состоящего из 0 и 1. Для удобства в столбце E размещены ссылки на 7 сегментов индикатора в столбик. Следующий столбец в Excel (F) будет отображать значение синаптических весов. Значение шага обучения указывается в ячейке B9. В столбце (G) вычисляются произведения входных сигналов и соответствующих им синаптических весов (=E6*F6). Полученные результаты суммируются в ячейке G13. Ячейка H13 содержит значение пороговой функции по умолчанию равное 0. В ячейке K5 находится сама пороговая функция логика работы которой заключается в том, что, если выход превысит порог, результат 1 иначе 0. =ЕСЛИ(G13<H13;"чет";"нечет"). Процесс обучения однослойного персептрона заключается в увеличении или уменьшении значения синаптических весов для коректировки значения пороговой < 59 > функции. Для этого на лист Excel добавляются две кнопки из панели элементов управления формы для увеличения и для уменьшения значения весов. Макрос для кнопки «Уменьшить» состоит из 7 последовательных строк: If Range("E6").Value = "1" Then Range("F6").Value = Range("F6").Value Range("B9").Value If Range("E7").Value = "1" Then Range("F7").Value = Range("F7").Value Range("B9").Value и т.д. до ячейки E12. Макрос для кнопки «Увеличить» состоит из 7 последовательных строк: If Range("E6").Value = "1" Then Range("F6").Value = Range("F6").Value + Range("B9").Value If Range("E7").Value = "1" Then Range("F7").Value = Range("F7").Value + Range("B9").Value и т.д. до ячейки E12. 1. Предложенный Ф. Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов, последовательно уменьшающей ошибку в выходных векторах. Алгоритм включает несколько шагов: Шаг 0 Шаг 1 Начальные значения весов всех нейронов полагаются случайными Сети предъявляется входной образ , в результате формируется выходной образ Вычисляется вектор ошибки , делаемой сетью на выходе. Дальнейшая Шаг 2 идея состоит в том, что изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе и равно нулю, если ошибка равна нулю. Вектор весов модифицируется по следующей формуле: Шаг 3 Здесь — темп обучения. Шаги 1—3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называетсяэпохой. Обучение завершается по истечении Шаг 4 нескольких эпох: а) когда итерации сойдутся, т.е. вектор весов перестает изменяться, или б) когда полная, просуммированная по всем векторам абсолютная ошибка станет меньше некоторого малого значения. Рассмотрим данный алгоритм более подробно. Подаем на вход персептрона такой вектор , для которого уже известен правильный ответ. Если выходной сигнал персептрона совпадает с правильным ответом, то никаких действий предпринимать не надо. В случае ошибки, необходимо обучить персептрон правильно решать данный пример. Ошибки могут быть двух типов. Рассмотрим каждый из них. < 60 > Первый тип ошибки: на выходе персептрона — 0, а правильный ответ — 1. Для того чтобы персептрон выдавал правильный ответ, необходимо, чтобы сумма в правой части (1) стала больше. Поскольку переменные принимают значения 0 или 1, увеличение суммы может быть достигнуто за счет увеличения весов Однако нет смысла увеличивать веса при переменных , которые равны нулю. Таким образом, следует увеличить веса при тех переменных xi, которые равны 1. Первое правило. Если на выходе персептрона получен 0, а правильный ответ равен 1, то необходимо увеличить веса связей между одновременно активными нейронами. При этом выходной персептрон считается активным. Второй тип ошибки: на выходе персептрона — 1, а правильный ответ равен нулю. Для обучения правильному решению данного примера следует уменьшить сумму в правой части (1). Следовательно, необходимо уменьшить веса связей при тех переменных, которые равны 1 (поскольку нет смысла уменьшать веса связей при равных нулю переменных ). Необходимо также провести эту процедуру для всех активных нейронов предыдущих слоев. В результате получаем второе правило. Второе правило. Если на выходе персептрона получена единица, а правильный ответ равен нулю, то необходимо уменьшить веса связей между одновременно активными нейронами. Таким образом, процедура обучения сводится к последовательному перебору всех примеров обучающего множества с применением правил обучения для ошибочно решенных примеров. Если после очередного цикла предъявления всех примеров окажется, что все они решены правильно, то процедура обучения завершается. В разработанной модели величина шага определяется произвольно. В случае зацикливания процесса обучения, т.е. попадания на некотором шаге на набор значений весов из предыдущего шага необходимо уменьшать шаг обучения. В конечном итоге будут получены весовые коэффициенты, позволяющие разделить множество цифр на два любых класса. Список использованной литературы 1. Колязов К.А., Шиянова Н.И., Сиротин П.А. Энергосберегающая система управления на основе нечеткого алгоритма. Известия Международной академии аграрного образования. 2015. №23. С. 100-103. 2. Сиротин П.А., Шиянова Н.И., Колязов К.А. Анализ пастеризационной установки как объекта управления. Известия Международной академии аграрного образования. 2015. №23. С. 137-140. 3. Смирнов Д.Ю. Оптимизация каталитических процессов дегидрирования углеводородов на основе кинетических моделей. Автореферат диссертации на соискание ученой степени кандидата физико-математических наук / Башкирский государственный университет. Уфа, 2008. © Аглиуллин Р.М., Одинокова Е.В., Смирнов Д.Ю., Тучкина Л.К., Яшин Д.Д., 2018 < 61 >