Лекция №15 Использование аппарата нейронных сетей для определения качества восприятия в системах IPTV План 1. Общие понятия о нейронных сетях (определение нейронной сети, шкала MOS) 2. Классификация нейронных сетей (сети прямого распространения, сети обратной связи) 3. Общее представление о нейронных сетях прямого распространения с обратным распространением ошибки (структурная схема многослойного персептрона, основные сигналы, передаваемые по сети) 4. Математическая модель работы сети прямого распространения (структурная схема нейрона сети, общее математическая модель сети прямого распространения) 5. Математическая модель алгоритма обучения обратного распространения ошибки (алгоритм обучения на основании обратного распространения, матрица весовых коэффициентов связи между нейронами) 6. Метод построения системы определения качества восприятия IPTV на основании нейронной сети (субъективное тестирование, подготовка данных для обучения, обучающий алгоритм, проверочная выборка) Контрольные вопросы: 1. Что такое нейронная сеть? 2. Какие существуют виды нейронных сетей? 3. Особенности работы нейронных сетей прямого распространения с обратным распространением ошибки. 4. Основные этапы алгоритма обучения на основании обратного распространения ошибки. 5. Основные этапы метода построения системы определения качества восприятия IPTV на основании нейронной сети Литература 1. Саймон Хайкин Нейронные сети: полный курс, 2-е издание.: Пер. с англ. – М.:Издательский дом «Вильямс», 2006. – 1104 с. 2. Курс «Machine Learning» www.coursera.org 1. Общие понятия о нейронных сетях На данный момент не существует математической модели оценки качества восприятия, которая могла бы использоваться для решения поставленной задачи. Актуальной задачей является разработка новой или адаптация существующей математической модели, которая бы решала задачу оценки качества восприятия в системе IPTV. На сегодняшний день одним из наиболее перспективных направлений является математический аппарат нейронных сетей, который позволяет создавать самообучающуюся систему, которая в процессе обучения находит взаимосвязь между входящими и исходящими данными. Данные системы являются гибкими и масштабируемыми для большого количества входящих параметров. Нейронные сети представляют собой математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей. Поставленную в данной работе задачу определения качества восприятия системы IPTV на основании объективных параметров, влияющих на систему, можно рассматривать как задачу классификации. Это возможно за счет того, что качество восприятия в системе IPTV выражается с помощью 5-бальной шкалы MOS (Mean Opinion Score). Соответственно, задачу классификации можно сформулировать следующим образом: найти соответствие заданного набора величин влияющих на систему IPTV параметров и одного из пяти классов качества восприятия услуги IPTV. Рассмотрим возможность решения данной задачи классификации с помощью математического аппарата нейронных сетей. Нейронные сети используются как важный инструмент для задач классификации. Исследования в области классификации с помощью нейронных сетей показали, что нейронные сети - перспективная альтернатива существующим методам классификации. Преимущество нейронных сетей состоит в следующих теоретических аспектах. Прежде всего, нейронные сети являются само адаптирующимися сетями, которые управляются данными. Поэтому нейронные сети могут перестроить свою работу для соответствия данным без какой-либо информации про описываемую модель. Во-вторых, нейронные сети могут аппроксимировать любую функцию с определенной точностью. В-третьих, нейронные сети являются нелинейными моделями, что позволяет им моделировать процессы окружающей среды с большей гибкостью. Наконец, нейронные сети способны вычислять апостериорную вероятность, что дает возможность устанавливать правила классификации и проводить статистический анализ. 2. Классификация нейронных сетей Основные типы нейронных сетей представлены на рис. 15.1. Рис. 15.1. Классификация нейронных сетей Нейронные сети прямого распространения предусматривают распространение сигнала только в одном направлении от входа к выходу, что показано на рис. 15.2. В архитектуре нейронных сетей прямого распространения отсутствуют петли, т.е. выходные значения какого-либо слоя не влияют на этот слой. Такие сети применяются для ассоциации по определенному правилу входных и выходных параметров и поэтому часто используются для распознавания образов и задач классификации. Рис. 15.2.Архитектура сети прямого распространения Сети прямого распространения подходят для моделирования соотношения между набором входящих параметров и одним или более исходящим параметров. Это значит, что данные сети подходят для проблемы нахождения влияния набора входящих параметров на сходящий результат. Многослойные сети прямого распространения (многослойный персептрон) наиболее часто используемые нейронные сети на практике для подобных задач. При сравнении эффективности использования многослойного персептрона и сетей радиальнобазисных функций для задач классификации в было показано, что при наличии большого количества входящих данных наиболее эффективным является использование многослойного персептрона. При наличии малого количества входящих параметров наиболее эффективны сети радиально-базисных функций. Сети обратного распространения содержат сигналы, которые распространяются как в прямом направлении, так и в обратном, что показано на рис. 15.3. Сети обратного распространения являются мощным инструментом и могут иметь очень большую сложность. Такие сети являются динамичными, их состояние меняется непрерывно до точки равновесия. Далее они остаются в равновесии до изменения входящих данных. После этого необходим поиск нового состояния равновесия. Рис. 15.3. Архитектура сети обратного распространения В качестве примера сетей обратного распространения можно привести сети Хопфилда. Основной целью использования сети Хопфилда является создание сети ассоциативной памяти. Устройство ассоциативной памяти на основании входящих параметров генерирует выходное значение в виде одного из ранее сохраненных образцов, которое наиболее соответствует входящим данным. Обычно сети Хопфилда используются для задач, где входящие параметры являются «зашумленной» версией одного из образцов исходящих параметров и должны быть очищены от шумов. Другим примером сетей обратного распространения являются сети Кохонена. Обучение такой сети производится без учителя. Это значит, что для заданного набора входящих данных не существует заданных исходящих данных. Во время процесса обучения сеть Кохонена производит сегментирование входящих данных по нескольким группам. Таким образом, сеть Кохонена распознает структуру входящих данных. Данный тип сетей может использоваться для анализа большого количества статистических данных для выявления взаимосвязи между заданными на входе параметрами. Таким образом, на основании описания особенностей функционирования различных типов нейронных сетей можно сделать вывод, что задачу классификации наиболее эффективно можно решить с помощью сетей прямого распространения. Особенностью задачи определения качества восприятия, которая сформулирована как задача классификации, является необходимость учета большого числа входящих параметров. Ранее было показано, что качество восприятия системы IPTV зависит от большого числа факторов различной природы. Соответственно, наиболее эффективным будет использования многослойного персептрона для моделирования системы определения качества восприятия в системе IPTV. Далее в работе при упоминании сети прямого распространения мы будем подразумевать многослойный персептрон. 3. Общее представление о нейронных сетях прямого распространения с обратным распространением ошибки. В данном разделе описаны многослойные сети прямого распространения, обучаемые по алгоритму обратного распространения ошибки. Многослойные сети прямого распространения или многослойные персептроны представляют собой совокупность входного слоя, одного или нескольких скрытых слоев и одного выходного слоя нейронов, что показано на рис. 15.4. Показанная на рисунке сеть является полносвязной, что является особенностью многослойного персептрона общего вида. Рис. 15.4. Структурная схема многослойного персептрона Основные признаки многослойного персептрона: 1. Каждый нейрон имеет нелинейную гладкую функцию активации. Наиболее популярной функцией является сигмоидальная функция. 2. Сеть содержит один или несколько слоев скрытых нейронов, который позволяют сети получать наиболее важные признаки объекта из входного вектора. 3. Сеть обладает высокой степенью связности, реализуемой посредством синаптических соединений. Комбинация этих признаков обеспечивает вычислительную мощность этого персептрона, но также являются причиной неполноты современных знаний о поведении таких сетей. Появление алгоритма обратного распространения в 1986 году привело к широкому использованию многослойного персептрона как для задач распознавания, так и для задач классификации. Обучение методом обратного распространения ошибки такой нейронной сети предполагает два прохождения по всем нейронам сети – прямой проход (от входного слоя к выходному для получения результирующего выходного сигнала) и обратный проход (от выходного слоя к входному для корректировки весов связей нейронной сети). Веса связи между нейронами настраиваются с целью максимального приближения выходного сигнала сети к желаемому в статистическом смысле. Таким образом, для данного вида обучения можно выделить два типа сигналов, передающихся по нейронной сети: 1) Функциональный сигнал, который передается в прямом направлении. При передаче сигнала в каждом нейроне вычисляется функция активации на основании пришедших к нему сигналов от других нейронов. В результате будут получены значения сигналов для всех нейронов выходного слоя. 2) Сигнал ошибки, распространяемый в обратном направлении. Данный сигнал рассчитывается каждым нейроном с помощью функции ошибки (обычно вычисление градиента поверхности ошибки) на основании значения ошибки, пришедшей с соседнего слоя нейронов. Приведем математическую модель алгоритма прямого распространения и алгоритма обучения с обратным распространением ошибки. 4. Математическая модель работы сети прямого распространения На рис. 15.5. показана структурная схема нейрона сети прямого распространения, где изображены входные сигналы нейрона, весовые коэффициенты связей между нейронами, выходной сигнал нейрона, вычисленный на основании функции активации нейрона. Рис. 15.5. Структурная схема нейрона сети Обобщим полученное выражение для одного нейрона на всю сеть прямого распространения, которая показана на рис. 15.6.: ( ) ( ) ( ) ( ) ( ) ( ( ) ( ) ( ) ( ) ( ( ) ( ) ( ) ( ) ) ) ( ) ( ( ) ) 5. Математическая модель алгоритма обучения обратного распространения ошибки Пусть задана совокупность вектора входящего и выходящего сигналов из обучающей выборки – (x,y). Полученный в результате работы сети значение вектора ( ) после обучения сети должен соответствовать экспериментально полученному выходному сигналу y. Если ( ) и y, то необходимо производить обучение сети алгоритмом обратного распространения ошибки. Пусть – ошибка нейрона l-го слоя, yi– значение нейрона выходного сигнала из обучающей выборки. ( ) Тогда ( ) ( ( )) ( ) ( ( )) ( ) ( ( )) ( ) ( ( )) Теперь сформулируем алгоритм обучения на основании обратного распространения. 1. Пусть заданы следующие векторы обучающей выборки ) {( ( ( ) ( ) )} Рассмотрим заданный k эксперимент ( ( ) ( )) 2. Определим все поправочные коэффициенты для весового () коэффициента связи между i-м и j-м нейрона l-го слоя: ( ) 3. Зададим ( ) 4. Используя алгоритм прямого распространения найдем для всех слоев () 5. Найдем вектор ошибки для всех слоев с использованием ( ) ( ) , где N – количество слоев в нейронной сети 6. Найдем поправочный коэффициент для каждого весового () () () ( ) коэффициента: 7. Действия пунктов 1-6 необходимо повторить для всей обучающей ) выборки {( ( ( ) ( ) )} () 8. Найдем () () ( ) { () () Данное выражение представляет собой матрицу весовых коэффициентов связей между нейронами после применения алгоритма обратного распространения ошибки. Если полученная ошибка в результате работы алгоритма прямого распространения будет неудовлетворительной, необходимо повторить выполнение алгоритма обратного распространения ошибки для обучающей выборки. 6. Метод построения системы определения качества восприятия IPTV на основании нейронной сети В данном разделе представлен метод построения системы определения качества восприятия IPTVсервиса на основании нейронной сети прямого распространения с обратным распространением ошибок. Для определения параметра качества восприятия перед НС ставится задача классификации качества услуги на основании приходящих извне набора сигналов. Для получения исходных данных для построение системы определения качества восприятия на основании НС, производится субъективное тестирование существующей эксплуатируемой системы IPTV, для которой будет разработана система определения качества восприятия. Субъективное тестирование производится согласно методу MOS. Тестовая выборка для обучения системы должна включать в себя соответствие наборов входящих параметров значению MOS(Mean Opinion Score) от 1 до 5. Если в результате субъективного тестирования были получены дробные значения качества восприятия, их необходимо округлить до ближайшего целого числа. Все результаты субъективного тестирования делятся на две подгруппы: обучающая выборка (80% данных тестирования) и проверочная выборка (20 % данных тестирования). Для всех данных субъективного тестирования производится нормализация параметров для приведения их значений к диапазону [0;1], что позволит упростить выбор начальных весовых коэффициентов, ускорить обучение и найти глобальный минимум функции ошибки. Далее производится разделение всех входящих параметров по группам для корректного выбора архитектуры НС. Далее производится выбор архитектуры НС для реализации системы определения качества восприятия. Согласно рекомендациям, представленным в данной работе, НС будет состоять из четырех слоев: входящий слой, два скрытых слоя, исходящий слой. Входящий слой содержит количество нейронов, соответствующее количеству входящих параметров при проведении субъективного тестирования. Исходящий слой содержит 5 нейронов, что соответствует количеству баллов шкалы MOS. Количество нейронов в каждом из скрытых слоев выбирается согласно модифицированному методу выбора топологии скрытых слоев нейронной сети, представленному в данной работе, который учитывает особенность функции качества восприятия при выборе архитектуры НС. Далее производится присвоение начальных значений весовых коэффициентов НС. Весовые коэффициенты принимают случайные значения в диапазоне [0;1]. Далее производится обучение НС градиентным методом с использованием коэффициента обучения и момента. При обнаружении глобального минимума функции ошибки определения качества восприятия НС считается обученной. Далее производится контроль обучения сети с использованием проверочной выборки. Если стоимость ошибки удовлетворяет первично заданное значение допустимой ошибки стоимости, то принимается решение о внедрении НС в систему IPTV для определения качества восприятия. На рис. 15.7 показана блок-схема, описывающая предложенный метод построения системы определения качества восприятия IPTV на основании нейронной сети прямого распространения с обратным распространением ошибок. Рис. 15.7. Блок-схема метода построения системы определения качества восприятия IPTV