Text (PDF):
Read
Download
Введение
Нейронная сеть (НС) – это математическая модель, построенная на основе взаимодействия математических моделей нейронов и функционирующая по принципам процессов, протекающих в мозге человека (в биологической НС). Нейронные сети успешно применяются для решения задач распознавания образов, классификации и прогнозирования в самых различных предметных областях [1], поэтому большой интерес у студентов вузов к НС обуславливает изучение таких моделей и алгоритмов на их основе в различных дисциплинах образовательных программ различных направлений.
В данной статье рассматриваются вопросы, связанные с созданием виртуальных лабораторий на основе протокола RLCP (Remote Laboratory Control Protocol) [2] для обучения базовым алгоритмам на НС и их использованием в электронном практикуме дисциплины «Дискретная математика» [3–6] у студентов Университета ИТМО на 1 курсе. Приведенные здесь результаты экспериментальных исследований подтверждают эффективность использования RLCP-совместимых виртуальных лабораторий в двух режимах – обучение и аттестация.
Технология RLCP-совместимых виртуальных лабораторий
RLCP-совместимая виртуальная лаборатория (ВЛ) – это клиент-серверное приложение, обеспечивающее автоматическое создание индивидуального задания и оценивание результатов решения поставленной задачи [7]. Такие лаборатории состоят из двух независимых модулей – виртуального стенда и RLCP-сервера. Виртуальный стенд реализует визуальное отображение данных варианта задания и предоставляет слушателю инструменты для формирования и редактирования промежуточных решений и ответа.
RLCP-сервер представляет собой TCP-сервер. Он обеспечивает взаимодействие по протоколу RLCP и защиту от несанкционированного доступа. RLCP-сервер отвечает за выполнение по запросу нескольких типов операций: формирование варианта задания, вычисление промежуточных результатов, оценивание полученного решения. Эти два модуля не осведомлены друг о друге и взаимодействуют посредством специальной среды управления RLCP-совместимыми виртуальными лабораториями (среды управления ВЛ), которая автоматически управляет процессом выполнения задания слушателем. Диаграмма взаимодействия слушателя, модулей и среды ВЛ приведена на рис. 1.
Рис. 1. Алгоритм взаимодействия пользователя (студента)
и RLCP-совместимой виртуальной лаборатории
При запросе среда запрашивает вариант задания у RLCP-сервера, подготавливает и отправляет слушателю виртуальный стенд с кадром задания. Среда управляет ходом решения
и позволяет переходить к оформлению промежуточных решений и ответа, позволяя при этом возвращаться к предыдущим шагам и редактировать принятые решения. По завершении работы слушатель инициирует процедуру проверки своего решения на RLCP-сервере. После проверки RLCP-сервер возвращает в интерфейс JSON-объект, содержащий информацию о полученной оценке и комментарий к промежуточному решению.
Базовые алгоритмы на нейронных сетях и принципы разработки виртуальных лабораторий для их изучения на практике
Поскольку предполагается, что это будут ВЛ для первого знакомства с НС, в качестве исходных данных использованы простейшие архитектуры НС в виде однослойных перцептронов. А в качестве базовых алгоритмов использованы алгоритм последовательного распространения сигналов в НС (ВЛ1) и алгоритм обучения НС с учителем на основе метода обратного распространения ошибки (ВЛ2) [2]. Для их разработки были использованы следующие принципы.
1. Пользовательские интерфейсы в ВЛ1 и ВЛ2 должны соответствовать общему дизайну ВЛ электронного курса по дискретной математике Университета ИТМО и обеспечивать интуитивно понятные и хорошо знакомые студентам элементы навигации на стендах в ходе решения [7]. Для лучшего понимания работы на стендах необходимо использовать специальную вкладку «Справка», где будут подробные разъяснения по работе в ВЛ.
2. Визуальное отображение на стендах ВЛ исходных данных и результатов решения задачи [4]. С этой целью для разработки клиентской части ВЛ на языке JavaScript были использованы следующие библиотеки: SigmaJS, JQuery, Bootstrap.
3. При разработке ВЛ1 (алгоритм последовательного распространения сигналов в НС) должны использоваться различные варианты функций активации нейронов.
4. При автоматической генерации вариантов заданий должна обеспечиваться валидность исходных данных и равная сложность индивидуальных заданий студентов [4]. Для этого на серверной части ВЛ, разработанной на языке Java с использованием фреймворка Spring и библиотеки JSON-20140107, должна быть процедура по подбору весов дуг весов дуг сгенерированных при помощи функции рандомизации значений в заданном диапазоне, это обеспечивает эффективное применение алгоритма для решения поставленной задачи.
5. Для автоматической проверки и оценивания полученного студентом решения следует использовать долю правильных ответов [4, 5]. Для этого необходимо разработать методику для взвешивания результатов решения по этапам и шагам алгоритма.
6. Виртуальные лаборатории должны быть реализованы для использования в двух режимах: обучение и аттестация. При этом дополнительного программного обеспечения не требуется. В режиме обучения должно быть реализовано диагностирование ошибок, допущенных студентом в ходе решения поставленной задачи [4, 5].
Алгоритмы для автоматического создания валидного варианта задания в виртуальных лабораториях
В соответствии с принципом 4 были разработаны специальные алгоритмы генерации валидного варианта задания в ВЛ. На рис. 2 приведен алгоритм генерации валидного варианта задания в ВЛ2.
Здесь в качестве исходных данных используются следующие параметры:
– параметры, определяющие равную сложность задания (receptorsAmount – количество нейронов во входном слое, outputNeuronsAmount – количество нейронов в выходном слое, amountOfHiddenLayers – количество скрытых слоев, amountOfNeuronsInHiddenLayer – количество нейронов в скрытом слое);
– параметры, определяющие диапазоны значений (edgeWeight – для выбора весов дуг, neuronValue – для выбора входных сигналов НС, learningRate – для скорости обучения НС, alpha – для сглаживания целевой функции в алгоритме обучения);
– параметр MSEmin, определяющий условие валидности сгенерированного задания (данный параметр определяет минимальное значение оценки полученного решения задачи). Функция активации выбирается случайным образом из трех функций: сигмовидной, тангенсальной и линейной. Граф НС генерируется случайным образом до тех пор, пока значение MSE не будет больше или равно minMSE. Оценивается это по формуле MSE (Mean Squared Error – см. ниже).
Рис. 2. Генерация варианта задания в ВЛ2
В качестве оценки полученного решения в алгоритме обучения НС с учителем используется расчет по формуле , где – множество выходных нейронов НС, – ожидаемый и фактический выходной сигнал нейрона . Валидность сгенерированного таким образом варианта задания состоит в проверке условия . Если оценка будет больше, чем заданный параметр MSEmin, это означает, что при обучении этой НС будет положительный эффект, т. е. решение студента всегда приведет к уменьшению ошибки.
Данный подход, основанный на случайном выборе весов дуг и входных сигналов НС, является оправданным, т. к. генерируются достаточно простые структуры НС в виде перцептронов
с одним скрытым слоем. Время генерации варианта задания, например в ВЛ2, составляет не более 3 с, что является приемлемым для взаимодействия пользователя (студента) и RLCP-совместимой виртуальной лаборатории (см. рис. 1).
Визуализация хода решения на интерактивных стендах виртуальной лаборатории
На рис. 3 представлен стенд с условным вариантом задания.
а б
Рис. 3. Визуализация исходного задания: а – input(X0) = 0,8…; б – input(X1) = 0,84.
Функция активации – сигмовидная
Следует отметить, что при визуализации рисунка с НС могут возникать проблемы с корректным отображением данных, например, так, как показано на рис. 3, а. Поэтому был введен элемент навигации «Перерисовать граф», активация которого выводит на стенд другой вариант рисунка данной НС. На рис. 3, б показан вариант рисунка той же НС после подбора ее приемлемого изображения.
Все результаты расчетов входных и выходных сигналов нейронов в ВЛ1 заносятся студентом в таблицу результатов и отображаются на рисунке. При этом элементы навигации (кнопки «+» и «–») позволяют добавлять и удалять строки в таблице. Выбор очередного нейрона и его прообразов в строке таблицы осуществляется кликами соответствующих вершин на рисунке НС, которые изменяют при этом свой цвет. После расчета входного и выходного сигналов данного нейрона значения после округления до второго знака после запятой заносятся студентом в соответствующие ячейки таблицы, а после нажатия кнопки «+» (кнопки перехода
к следующей строке) данные о входном и выходном сигнале обработанного алгоритмом нейрона отображаются на рисунке. На рис. 4 показан фрагмент с промежуточным решением задачи на стенде ВЛ1, соответствующий обработке очередного нейрона 3.
Рис. 4. Визуализация промежуточного решения на стенде ВЛ1
Обработанные алгоритмом нейроны – 0 и 1, рядом с ними в скобках отображены рассчитанные выходные сигналы этих нейронов.
На рис. 5 показан фрагмент с промежуточным решением задачи на этапе обучения НС, соответствующий обработке очередной дуги (2, 4) на стенде ВЛ2.
Рис. 5. Визуализация промежуточного решения на стенде ВЛ2
Результаты экспериментальных исследований
В эксперименте принимали участие 20 студентов 1 курса Университета ИТМО, имеющие одинаковые успехи в изучении дисциплины «Дискретная математика». Участники эксперимента были распределены случайным образом в две группы: активную группу и группу контроля. После изучения алгоритмов для студентов из активной группы было организовано предварительное обучение, а для студентов группы контроля – только аттестация на стендах ВЛ. В табл. 1 приведены результаты обучения студентов из активной группы на стендах ВЛ с диагностированием допущенных ошибок, а в табл. 2 – результаты прохождения аттестаций на стендах
ВЛ для обеих групп.
Таблица 1
Результаты использования ВЛ в режиме обучения активной группой
Показатель ВЛ1 ВЛ2
Максимальное время в сеансе, мин 30 60
Среднее время сеанса, мин 22 54
Среднее количество попыток 2,5 4,8
Таблица 2
Результаты использования ВЛ в режиме аттестации
Показатель ВЛ1 ВЛ2
Максимальное время в сеансе, мин 30 60
Среднее время сеанса для активной/контрольной группы участников, мин 15/25 44/58
Среднее количество попыток для активной/контрольной группы участников 1/3,5 1,2/6
Средний рейтинг для активной/контрольной группы участников, % 100/100 93/88
В эксперименте не использовалось ограничение на количество попыток. Рейтинг за решение задачи рассчитывался как доля правильных ответов.
Как видно из табл. 2, студенты активной группы добились лучших результатов, чем студенты из контрольной группы. Таким образом, тренинги в решении задач на стендах ВЛ в режиме обучения существенно повышают результативность аттестаций студентов, поэтому при разработке таких ВЛ надо предусматривать оба режима их использования – обучение и аттестацию.
Заключение
Сформулированы принципы разработки RLCP-совместимых виртуальных лабораторий. На их основе созданы две ВЛ для освоения на практике базовых алгоритмов на нейронных сетях (алгоритм последовательного распространения сигналов в перцептроне и алгоритм обучения перцептрона на основе метода обратного распространения ошибки). Для автоматической генерации равносложных и валидных заданий предложены алгоритмы, которые показали высокую эффективность (среднее время генерации индивидуального задания на стенде ВЛ2 у студента составило
не более 3 с). По результатам экспериментального исследования созданных ВЛ на практике установлено, что такие ВЛ должны создаваться для использования в двух режимах – обучения и аттестации. Тренинги решения задач с использованием изученных алгоритмов на стендах ВЛ в режиме обучения с диагностированием допущенных ошибок существенно повышают результативность аттестаций у студентов (время и количество попыток, рейтинг за решение задач). Дальнейшее исследование будет посвящено расширению числа алгоритмов на нейронных сетях, использование которых на практике будет основано на создании RLCP-совместимых виртуальных лабораторий.