Назад в библиотеку

Применение нейронных сетей в телекоммуникационных системах

Авторы: Frank R.J., Hunt S.P. and Davey N.
Перевод с английского: Чекунков А.С.
Источник: Applications of neural networks to telecommunications systems


Аннотация: эта статья дает краткий обзор проектов, связанных с применением нейронных сетей для телекоммуникационных систем. Обсуждаются пять областей применения, в том числе определение клонированного программного обеспечения и обнаружения незаконного использования сотовых телефонов. Системы обобщаются и приводятся общие результаты. Выводы подчеркивают трудности, связанные с использованием этой технологии, а также потенциальные преимущества.

Ключевые слова: нейронная сеть, телекоммуникации, приложения

1 Введение

В данной работе мы докладываем о различных нейронных вычислительных системах, которые были применены в сфере телекоммуникационной индустрии. Все описанные здесь системы были разработаны в сотрудничестве между NORTEL Великобритания и университетом Хартфордшир, Великобритания. Всего было исследовано пять областей применения, в результате чего получены две полностью функционирующие системы, которые включены в продукты NORTEL, два успешных прототипа и одна область применения, для которых мы не нашли подходящего решения с помощью нейронных вычислений. В данной статье мы кратко опишем эти пять приложений, оценим наши решения и сделаем заключение, размышляя над извлеченными уроками.

2 Инструменты анализа программного обеспечения

Первые два приложения были разработаны, чтобы помочь с анализом больших программных систем, которые обычно применяются в телекоммуникационных системах — сегодня цифровые телефонные станции включают в себя десятки миллионов строк кода. Такие системы развивались в течение многих лет, с включением кода самых первых систем в текущие. В телекоммуникационной отрасли средний уровень ошибок составляет около 25 ошибок на 1000 строк кода. Отсюда очевидно, что поддержание этих систем представляет собой значительную проблему.

2.1 Анализ сложности

Этот проект исследовал возможность того, что единицы программного обеспечения делятся на естественные кластеры, когда представляются набором мер сложности. Были рассмотрены два набора данных. Первый набор данных был набор 2236 процедур взятых из одного программного продукта, написанного на патентованном NORTEL языке PROTEL, блочно‐структурированном языке, предназначенном для управления телекоммуникационными системами. Второй набор состоял из 4456 процедур PROTEL извлеченных из разнообразной программной продукции. Были использованы двенадцать стандартных мер сложности программного обеспечения, таким образом, каждая процедура была представлена вектором из 12 вещественных значений. Каждый набор данных был передан трем кластерам нейронных сетей: простой конкурентной сети, самоорганизующейся карте (SOM) и нечеткой нейронной сети, которая обучалась по алгоритму АРТ. Принцип кластеризации, который мы определили с помощью этих сетей, предполагает, что в основном процедуры могут быть сгруппированы в зависимости от размера, с группой небольших процедур, менее чем 10 строк кода, и группой очень больших процедур. Другая, важная группировка — процедуры с большим содержанием текста по сравнению с их размерами.

2.2 Обнаружение клонов

После нашего общего исследования сложности мы представили более конкретную задачу, а именно создание системы, которая может определять скопированные и модифицированные единицы программного обеспечения. Такое «клонированное» программное обеспечение является очень распространенным явлением в крупных программных системах, которые развивались на протяжении нескольких лет, и в этом заключается проблема поддержки программного обеспечения. Например, если нужно изменить неисправный блок кода, вероятно, важно будет изменить как прямую, так и модифицированную копии. Для использования нейронной сети в этой проблеме, в первую очередь необходимо было найти представление блока кода в виде числового вектора фиксированной длины. Такое кодирование имеет центральное значение для успеха подобных приложений, поскольку необходимо, что схожие блоки кода имели схожее векторное представление. Важно отметить, что понятие "схожести" отличается обоих случаях; для исходного кода схожесть относится к вероятности, что код клонировали и для соответствующих векторов — что они близки в Эвклидовом пространстве. Представление, которое мы использовали, базируется на трех измерениях. Во‐первых, накапливается частота ключевых слов в единице программного обеспечения, во‐вторых, записывается длина каждой строки и, наконец, представлена структура отступов. Последний параметр является важным, так как отступы в коде отражают его синтаксическую структуру. Для отображения отступов и длины линии на вектор фиксированной длины мы брали исходные значения отступов и рассматривали их как координаты на графике; затем мы отбирали сто точек из этого графика, в случае необходимости используя линейную экстраполяцию. Этот метод кодирования является относительно стабильным против незначительных изменений в исходном коде, таких как добавление или удаление строки. Окончательное векторное представление блока кода состоит из 100 частотных выборок, 100 соответствующих выборок длины линии, и 96 частот использования ключевых слов, чтобы дать вектор из 296 признаков, см. Рисунок 1.

Представление блока кода, которое использовалось в детекторе клонирования

Рисунок 1 – Представление блока кода, которое использовалось в детекторе клонирования

SOM 55 на 55 (3025 нейронов) обучалась на 10257 векторных представлениях программного обеспечения, и результирующая карта дала представление данных, отображающих относительное сходство входных векторов. SOM была интегрирована в более крупную систему, которая позволяла определять аналогичность большинства процедур в данном объекте. Это и легло в основу завершенного инструмента обнаружения клонирования, который оказался полезным в определении многих примеров клонированного программного обеспечения в рассмотренных системах PROTEL.

4 Маршрутизация вызовов

Целью данного проекта было изучение возможности использования сети Хопфилда, для нахождения оптимального маршрута вызова. В сущности, это эквивалентно использованию сети Хопфилда для решения задачи коммивояжера, задачи оптимизации. Чтобы использовать эту технику для конкретной задачи необходимо найти соответствующий набор параметров сети. Несмотря на существенные исследования, мы не смогли найти приемлемый набор, и этот проект был заброшен.

5 Предсказание тренда трафика

Для того чтобы максимально использовать пропускную способность сети, полезно быть в состоянии предсказать спрос на пропускную способность. В данной работе мы исследовали, как предсказатель на основе нейронной сети может быть использован для прогнозирования спроса голосового трафика, передаваемого в сети ATM. Архитектура использованной сети — стандартное скользящее окно, однонаправленная сеть, обучаемая алгоритмом сопряженных градиентов. В дополнение к скользящему окну в явном виде был представлен хронологический контекст, как показано на рисунке 2. Эта информация была добавлена, так как трафик многих телекоммуникационных сетей является периодичным, с взаимным наложением недельных, дневных и часовых трендов. Критический параметр для модели этого типа — размер скользящего окна. Мы использовали технику из теории динамических систем, эвристику ложных ближайших соседей. Согласно результатам этого метода окно на четыре шага назад даст лучшую производительность. Система показывала хорошую прогнозирующую способность, но в дальнейшем разработка не использовалась.

Конфигурация нейронной сети со скользящим окном, использованной для предсказания трафика в сети ATM

Рисунок 2 – Конфигурация нейронной сети со скользящим окном, использованной для предсказания трафика в сети ATM

6 Обнаружение мошеннического использования сотовых телефонов

Мошенническое использование сотовых телефонов является огромной проблемой, например, в 1994 г. его оцененная стоимость для промышленности США составила 482 миллионов долларов, что представляет собой 3,7% от годового дохода. В этом проекте мы исследовали, могут ли нейронные сети быть обучены для определения признаков мошенничества в модель пользования телефоном.

Всякий раз после завершения телефонного звонка производится запись детальной регистрации вызова (CDR). В зависимости от операции, исполняемой в настоящее время, структура записи будет меняться, однако для нашего исследования мы подготовили общий вид запись, который включает в себя все основные функции, которые требуются. К ним относятся: номер счета, номер телефона, дата и время звонка, длительность звонка, зона отправителя и зона получателя, а также ряд других полей. Эти записи представляет собой огромную базу данных, в которой должно быть обнаружено аномальное использование.

Тип проблемы необычный и трудный, так как он смешивает статическую классификацию и временной прогнозирование. Аномальное использование должно быть классифицировано как таковое, но только в отношении возникающих временных моделей. За период времени отдельный телефон будет генерировать макроскопические модели использования, в которых, например, межконтинентальная звонки могут быть редкими, однако в рамках этой общей модели неизбежно будут иметь место нарушения: в определенный день телефон может быть использован для нескольких межконтинентальных звонков.

На этом фоне аномальное использование может быть идентифицировано, как принадлежащее к одному из двух типов:

В целях выявления мошенничества второго типа для нейронной сети необходимо знать как историческое, макро, поведение телефона, так и недавнее микро‐поведение. Мы решили представить обе эти части информации в качестве входных векторов сети. Тогда выход состоит из двухбитного представления соответствия этих двух частей, взятых вместе. Следует обратить внимание, что этот метод вполне адекватно справляется с мошенничеством первого типа, так как это должно быть очевидным вне зависимости от исторического поведения.

Для каждого пользователя сети собранные из CDR детали отражаются как статистическое представление; как профиль пользователя. Это включает в себя: долю местных, национальных и международных звонков, количество использованных устройств, количество звонков и среднюю продолжительность звонка для этого пользователя, а также другие детали. Они обобщены в течение двух периодов времени; исторического и последнего. Исторический профиль должен периодически обновляться с учетом постепенного изменения модели использования устройства. Некоторые из полей подвергаются нормализации, чтобы сохранять отсутствие априорного предпочтение одного поля другим, прежде чем профили предоставляются сети. Многослойный персептрон с 18‐ю входами, различной конфигурацией нейронов в скрытых слоях и двумя выходами, один для представления правильного использования и один для представления мошеннического использования, обучался с использованием метода сопряженных градиентов.

На рисунке 3 показана работа сети для необнаруженных мошеннических профилей. Аналогичный график получается для представления пользователей с нормальным поведением. График уверенности представляет собой значение выходного узла, соответствующего правильному использованию, которое вычитается из значения узла, соответствующего мошенническому использованию.

Профили в нижней части графика делятся на пограничные и ошибочно классифицированные результаты. Например, ошибочная классификация на левой части рисунка представляет собой профили с низкой активностью, где трудно обнаружить аномалии в связи с нехваткой данных. Некоторые из ошибочных классификаций справа состоят из профилей с большим количеством выполненных межконтинентальных звонков; и снова нейронной сети трудно выбрать некоторые виды мошенничества на этом историческом фоне. Оба этих сценария соответствует ожиданиям здравого смысла.

Визуальное представление необнаруженных мошеннических профилей

Рисунок 3 – Визуальное представление необнаруженных мошеннических профилей. Значение уверенности показывает степень, в которой сеть оценивает профиль как мошеннический.

Прототип этой системы в настоящее время разработан и включен в полномасштабную систему обнаружения мошенничества.

7 Выводы

За время сотрудничества мы смогли исследовать пять областей применения для нейронных вычислительных методов, достигнут определенный успех по четырем направлениям, с одной неудачей. Четыре прототипа были разработаны и два в дальнейшем были развиты в продукты.

Так как нейронные сети являются моделью, управляемой данными, одним из ключевых требований для их использования является необходимость реальных данных в начале проекта. Трудности могут возникнуть по ряду причин, таких как конфиденциальность данных и их чувствительность, нежелание клиентов публиковать данные и размеры наборов данных. Также стало очевидно, что задача перехода от успешного нейронной сети на основе прототипа к полной системе не должна быть недооценена. Все нейронных сетей во многом зависит от соответствующей предварительной обработки входных данных и пост‐обработки выходных данных. Большая часть нашей работы была связана с препроцессором, пользовательским интерфейсом и общим качеством системы.

Тем не менее, два разработанных продукта успешны и показали, что нейронные сети являются мощным методом для вычислений в телекоммуникационной отрасли, управляемых данными.