Научная статья на тему 'Эффективные алгоритмы построения нейронной сети на основании оценки входных параметров (глубокое машинное обучение)'

Эффективные алгоритмы построения нейронной сети на основании оценки входных параметров (глубокое машинное обучение) Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1517
232
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
004.032.26 / АЛГОРИТМ / НЕЙРОН / НЕЙРОННАЯ СЕТЬ / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ГЛУБОКОЕ ОБУЧЕНИЕ / АЛГОРИТМ ОБУЧЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Переверзев И.А., Квасницкий В.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Эффективные алгоритмы построения нейронной сети на основании оценки входных параметров (глубокое машинное обучение)»

УДК 004.032.26

ЭФФЕКТИВНЫЕ АЛГОРИТМЫ ПОСТРОЕНИЯ НЕЙРОННОЙ СЕТИ НА ОСНОВАНИИ ОЦЕНКИ ВХОДНЫХ ПАРАМЕТРОВ (ГЛУБОКОЕ МАШИННОЕ ОБУЧЕНИЕ)

И.А. Переверзев, В.Н. Квасницкий

EFFICIENT ALGORITHMS FOR CONSTRUCTING NEURAL NETWORK BASED ON THE ASSESSMENT OF INPUT PARAMETERS (DEEP MACHINE LEARNING)

I.A. Pereverzev, V.N. Kvasnitsky

Аннотация. В статье проанализированы известные алгоритмы построения нейронных сетей, описаны методы использования «глубокого обучения». Определены основные свойства алгоритмов и проблематика построения совершенных алгоритмов искусственного интеллекта.

Ключевые слова: алгоритм, нейрон, нейронная сеть, математическая модель, искусственный интеллект, глубокое обучение, алгоритм обучения.

Abstract. Th^ article analyzes the known algorithms for constructing neural networks in the banking sector and financial institutions. Determine the main properties of these algorithms and problems of building advanced artificial intelligence algorithms.

Keywords: algorithm, neuron, neural network, mathematical model, artificial intelligence, deep learning, learning algorithm.

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

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

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

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

Входы Слой № 1 Слой № 2 Выходы Математическая модель нейрона

+ Г^ к) №

х = ГЕ Х(

(к) 1=1 1 1

Выход к-го нейрона слоя ¡+1 расчитывается как взвешенная сумма всех его входов со слоя ¡, к которой применена функция активации, нормализующая выходной сигнал

Входы нейронов слоя ¡+1 являются выходами нейронов слоя /

Рисунок 1. Пример многослойной полносвязанной нейронной сети прямого распространения сигнала

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

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

Алгоритм обучения (learning algorithm) - это отображение ¡: (X * Y)L ^ A, которое произвольной конечной выборке XL = (xi, yi)Li=1 ставит в соответствие некоторый алгоритм a е A. Говорят также, что метод ц строит алгоритм a по выборке XL. Метод обучения должен допускать эффективную программную реализацию.

Итак, в задачах обучения четко различаются два этапа. На этапе обучения метод л по выборке X строит алгоритм a = ^(XL) [1].

На этапе применения алгоритм a для новых объектов x выдает ответы y = a(x). Этап обучения наиболее сложен. Как правило, он сводится к поиску параметров модели, доставляющих оптимальное значение заданному функционалу качества [1].

Моделью алгоритмов называется параметрическое семейство отображений A = {g(x, в) | в е 0}, где g: X * 0 ^ Y - некоторая фиксированная функция[1], 0 - множество допустимых значений параметра в, называемое пространством параметров или пространством поиска.

В задачах обучения элементы множества X - это не реальные объекты, а лишь доступные данные о них. Данные могут быть неточными, поскольку измерения значений признаков f (x) и целевой зависимостиy * (x) обычно выполняются с погрешностями. Данные могут быть неполными, поскольку измеряются не все мыслимые признаки, а лишь физически доступные для измерения. В результате одному и тому же описанию x могут соответствовать различные

объекты и различные ответы. В таком случае y * (x), строго говоря, не является функцией.

Устранить эту некорректность позволяет вероятностная постановка задачи. Вместо существования неизвестной целевой зависимости y * (x) предположим существование неизвестного вероятностного распределения на множестве X * Ус плотностью p(x, y), из которого случайно и независимо выбираются L наблюдений XL = (xi, yi)Li=v Такие выборки называются простыми или случайными одинаково распределенными.

Вероятностная постановка задачи считается более общей, так как функциональную зависимость y * (x) можно представить в виде вероятностного распределенияp(x, y) = p(x)p(y\x), положивp(y\x) = &(y - y * (x)), где S(z) - дельта-функция. Принцип максимума правдоподобия. При вероятностной постановке задачи вместо модели алгоритмов g(x, в), аппроксимирующей неизвестную зависимость y *(x), задается модель совместной плотности распределения объектов и ответов ф(х, y, в), аппроксимирующая неизвестную плотность p(x, y). Затем определяется значение параметра в, при котором выборка данных XL максимально правдоподобна, то есть наилучшим образом согласуется с моделью плотности.

Если наблюдения в выборке X независимы, то совместная плотность распределения всех наблюдений равна произведению плотностей p(x, y) в каждом наблюдении: p(X^) = p(x1, y1), ... ,(xl, yl) = p(x1, y1) p(x, yl). Подставляя вместо p(x, y) модель плотности ф(х, y, в), получаем функцию правдоподобия (likelihood): N(0, X1) = Y'.=1 <(xi, yi, в) [1].

Чем выше значение правдоподобия, тем лучше выборка согласуется с моделью. Значит, нужно искать значение параметра в, при котором значение Ы(в, X1) максимально. В математической статистике это называется принципом максимума правдоподобия. После того, как значение параметра в найдено, искомый алгоритм ав(x) строится по плотности ф(х,y, в) несложно [1].

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

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

Конечно, при таком обучении нейронной сети нет уверенности, что она обучилась наилучшим образом, поскольку всегда существует возможность попадания алгоритма в локальный минимум. Для этого используются специальные приемы, позволяющие «выбить» найденное решение из локального экстремума. Если после нескольких таких действий нейронная сеть сходится к тому же решению, то можно сделать вывод о том, что найденное решение, скорее всего, оптимально.

Математическая модель нейрона. Множество математических моделей нейрона может быть построено на базе простой концепции строения нейрона. На рис. 3 показана наиболее общая схема. Так называемая суммирующая функция объединяет все входные сигналы X, которые поступают от нейронов-отправителей. Значением такого объединения является взвешенная сумма, где веса w представляют собой синоптические мощности. Возбуждающие синапсы имеют положительные веса, а тормозящие синапсы - отрицательные веса.

Направление распространения данных ■ш ^т ^т

Направление распространения ошибки

Рисунок 2. Метод обратного распространения ошибки для многослойной полносвязанной нейронной сети

Входы

Выход

Y

Суммирующая функция

Функция активации

Y

f= У w.. х. + &

f

Рисунок 3. Простая математическая модель нейрона

Для выражения нижнего уровня активации нейрона к взвешенной сумме прибавляется компенсация (смещение) Q.

Так называемая функция активации рассчитывает выходной сигнал нейрона Yпо уровню активности f Функция активации обычно является сигмоидной, другими возможными видами функций активации являются линейная и радиально-симметричная функции, показанные на рис. 4.

«Глубокое обучение». В своей научной работе мы познакомимся с таким понятием как «deep learning». «Глубокое обучение» - это вид машинного обучения, основанный на нейросетях. Они помогают усовершенствовать такие алгоритмы, как распознавание речи, компьютерное зрение и обработка естественного языка. Это одна из самых востребованных областей в компьютерной науке.

Y

Y

f

Рисунок 4. Функция активации

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

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

Многие приложения и программные комплексы машинного обучения зависят от ручной работы, исследователь сам кодирует информацию о задаче, и обучение основано на его труде. Когда исследователь занимается deep learning, он старается заставить систему саму спроектировать свои функции, насколько это возможно.

«Глубокое обучение» по большей части не нуждается в человеке-операторе. Оно подразумевает, например, создание масштабных нейросетей, которые позволяют компьютеру учиться и «думать» самостоятельно, не прибегая к прямому человеческому вмешательству. В отношении большинства задач машинного обучения, наиболее сложной проблемой является распознавание характерных признаков в «сырых» входных данных, например, алгоритмы SIFT (scale-invariant feature transform - масштабно-инвариантное преобразование признаков) или SURF (speeded up robust features - ускоренный устойчивый алгоритм поиска признаков) для изображений. Глубокое обучение исключает необходимость подобных операций, выполняемых вручную, заменяя их процессом обучения, в результате которого выявляются наиболее полезные структуры [3].

В статье А.С. Потаповa, В.В. Батищева, Ш. Пан «Улучшение качества распознавания в сетях глубокого обучения с помощью метода имитации отжига» рассматривается интересный метод, который хочется отметить: в частности, при семи случаях при произвольном выборе параметров сети получено уменьшение частоты ошибки, гипотеза о возможности уменьшения вероятности ошибки при использовании глобальной оптимизации многослойной сети может быть принята на уровне значимости а = 0,01 по критерию Уилкоксо-на. Результаты их алгоритма показывают, что разработанный метод

позволяет снизить частоту ошибок распознавания, оценивавшуюся по тестовой выборке на базе MNIST, в 1,1-1,5 раза. Таким образом, возможна глобальная оптимизация весов связей в сетях «глубокого обучения» без возникновения эффекта чрезмерно близкой подгонки (переобучения) при использовании вероятности распознавания образов обучающей выборки в качестве целевой функции. Данный результат указывает на направление возможного дальнейшего развития методов «глубокого обучения», однако необходима разработка вычислительно эффективных методов обучения с использованием глобальной оптимизации. Результаты работы могут быть использованы для повышения вероятности распознавания образов в областях, требующих автоматического построения нелинейных признаковых преобразований, в том числе при распознавании изображений [2].

Применение в банковском секторе. Важным является применение алгоритмов «глубокого обучения» и алгоритмов нейронных сетей в банковском секторе, в частности, при анализе платежеспособности клиентов банка и развитии рынка банковских услуг. Например, американский Citibank использует нейросетевые предсказания с 1990 г., и уже через два года после их внедрения, по свидетельству журнала The Economist, автоматический дилинг показывал доходность 25 % годовых. Chemical Bank применяет нейросетевую систему фирмы Neural Data для предварительной обработки транзакций на валютных биржах ряда стран, отслеживая подозрительные сделки. Автоматизированные системы ведения портфелей с использованием нейросетей имеются на вооружении и у Deere & Co LBS Capital, причем экспертная система объединяется примерно с 900 нейронными сетями.

В сентябре 1992 г. компания HNC, которая до этого занималась производством нейрокомпьютеров, выпустила программный продукт Falcon, позволяющий выявлять и предотвращать в реальном времени подозрительные сделки по краденым кредитным и дебетным картам. Искусственные нейронные сети обучались типичному поведению клиентов и могли обнаруживать резкое изменение характера покупок, сигнализирующее о возможной краже. Ежегодный ущерб крупных банков от подобных преступлений измерялся десятками миллионов долларов, но благодаря внедрению Falcon в 1994 г. впервые за всю историю пластиковых карт эти потери пошли на убыль. Аналогичная система была разработана фирмой ITC для мониторинга операций с кредитными картами Visa.

Несколько лет назад крупный канадский банк CIBC для управления рисками и идентификации злоумышленников установил программу KnowledgeSeeker фирмы Angoss. С ее помощью специалисты банка решили выяснить, кто из их клиентов в будущем будет с высокой долей вероятности задерживать выплаты по закладным. Сначала предполагалось, что в первую очередь ими окажутся те, кто и прежде задерживал свои выплаты на несколько дней. Однако исследования показали, что в будущем проблемы с платежами возникнут у тех клиентов банка, которые на фоне регулярных выплат иногда якобы забывали заплатить. Как выяснилось, подобная «забывчивость» была связана с серьезными финансовыми трудностями.

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

Библиографический список

1. Воронцов К.В. Машинное обучение: курс лекций. URL: http://www. machinelearning.ru/wiki/index.php?title=Mo (дата обращения: 21.01.2016).

2. Потапова А.С., Батищева В.В., Пан Ш. Улучшение качеств распознавания в сетях глубокого обучения с помощью метода имитации отжига. СПб., Университет ИТМО, 2014.

3. Ротштейн А.П. Интеллектуальные технологии идентификации. М.: Наука, 2013.

И.А. Переверзев

аспирант Научно-исследовательского центра информатики при Министерстве иностранных дел Российской Федерации, г. Москва

E-mail: zorg99900000@mail.ru В.Н. Квасницкий

доктор технических наук, профессор начальник отдела Научно-исследовательского центра информатики при Министерстве иностранных дел Российской Федерации, г. Москва

i Надоели баннеры? Вы всегда можете отключить рекламу.