Построение эффективной самоорганизующейся нейронной сети. Основные принципы реализации и сравнительный анализ с существующими технологиями

Рассмотрение алгоритма построения самоорганизующейся нейронной сети, основанного на применении метода глобальной оптимизации. Сравнение результатов построения моделей на наборах данных, созданных при помощи описанного алгоритма и средства TensorFlow.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 10.12.2024
Размер файла 788,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

ПОСТРОЕНИЕ ЭФФЕКТИВНОЙ САМООРГАНИЗУЮЩЕЙСЯ НЕЙРОННОЙ СЕТИ. ОСНОВНЫЕ ПРИНЦИПЫ РЕАЛИЗАЦИИ И СРАВНИТЕЛЬНЫЙ АНАЛИЗ С СУЩЕСТВУЮЩИМИ ТЕХНОЛОГИЯМИ

Прошин Д.И., Прошин И.Д.

Аннотация

нейронный сеть алгоритм оптимизация

В работе рассматривается оригинальный алгоритм построения самоорганизующейся нейронной сети, основанный на применении метода глобальной оптимизации для её структурно-параметрической идентификации Описаны детали реализации алгоритма и основные проблемы его построения. Приведено сравнение результатов построения моделей на популярных наборах данных, созданных при помощи описанного алгоритма и средства TensorFlow.

Ключевые слова: нейронные сети, глобальная оптимизация, алгоритмы оптимизации.

Annotation

Proshin D.I., Proshin I.D. BUILDING EFFECTIVE SELF-ORGANIZING NEURAL NETWORK. BASIC PRINCIPLES IMPLEMENTATIONS AND COMPARATIVE ANALYSIS WITH EXISTING TECHNOLOGIES

The paper discusses an original algorithm for constructing a self-organizing neural network, based on the use of the global optimization methodfor its structural and parametric identification. The details of the implementation of the algorithm and the main problems of its construction are described. A comparison of the results of building models on popular data sets created using the described algorithm and the TensorFlow tool is provided.

Keywords: neural networks, global optimization, optimization algorithms.

Основная часть

Актуальность и полезность использования нейросетевых технологий для решения широкого круга задач на сегодняшний день не вызывают никаких сомнений. Качественный скачок в их развитии стал возможен благодаря технологическим прорывам, сделанным в области параллельных вычислений на GPU. За достаточно короткий временной период нейронные сети научились качественно решать задачи распознавания, сегментирования и генерации во множестве отраслей человеческой жизни. Создан ряд константных (шаблонных) архитектур, рекомендуемых к применению при решении различных задач.

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

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

Рисунок 1 Процесс поиска оптимальной структуры нейронной сети

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

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

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

1) проблему попадания оптимизационного алгоритма в локальные экстремумы функции цели,

2) проблему “дискретности” выбора оптимальной архитектуры нейронной сети.

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

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

Скоростной алгоритм глобальной оптимизации.

Перечислим основные проблемы, возникающие при использовании градиентных методов оптимизации:

• Застревание в локальных минимумах или седловых точках, коих для функции от множества переменных может быть очень много.

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

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

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

Основные модификации метода стохастического градиентного спуска, используют различного рода эвристики в попытках решить эти проблемы. Наиболее популярные среди них -- это идея о накоплении импульса при движении по градиенту и идея более слабого обновления весов для типичных признаков. На базе этих идей создана целая плеяда алгоритмов: Nesterov Accelerated Gradient, Adagrad, RMSProp, Adadelta, Adam, Adamax. Однако, даже такое большое число алгоритмов не гарантируют качественное решение всех вышеперечисленных проблем и позволяют справляться только с наиболее простыми случаями.

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

Метод Роя частиц Particle Swarm Optimization (PSO) и метод Дифференциальной эволюции Differential Evolution (DE), используемые в экспериментах с тестовыми функциями с достаточной тонностью обнаружили глобальные экстремумы всех тестовых функций. Только в одном случае, для Функция Букина N 6, алгоритмы не смогли определить глобальный минимум при дефолтных настройках алгоритмов. Однако их применение для параметрической идентификации нейронной сети сдерживается необходимостью последовательного вычисления значений целевой функции на большом кол-ве точек по всему пространству параметров. Вспомним, что для нейронной сети это означает расчёт модели для всех тренировочных примеров и нахождение отклонений от истинных значений в каждой точке.

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

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

Таблица 1

Тестирование известных алгоритмов глобальной оптимизации на сложных целевых функциях

Функция

Оптимум

+/- (оптимум найден/не найден)

Функция Растригина

f(0,0,0,0,)=0

+

Функция Экли

f(0,0)=0

+

Функция сферы

f(0,0,0,)=0

+

Функция Розенброка

f(1,1,1,)=0

+

Функция Била

f(3,0.5)=0

+

Функция Г ольдман-Прайса

f(0,-1)=3

+

Функция Бута

f(1,3)=0

+

Функция Букина N 6

f(-10,1)=0

-

Функция Матьяса

f(0,0)=0

+

Функция Леви N 13

f(1,1)=0

+

Функция Химмельблау

f(3,2:-2.805118,3.131312:-

3.779310,...)=0

+

Функция трехгорбого

верблюда

f(0,0)=0

+

Функция Изома

f(pi,pi)=-1

+

Функция крест на подносе

f(1.3941,-

1.34941:1.3941,1.34941...)=-

2.06261

+

Функция подставка для яиц

f(512,404.2319)=-959.6407

+

Табличная функция

Хольдера

f(8.05502,9.66459...)=-

19.2085

+

Функция МакКормика

f(-0.54719,-1.54719)=-

1.9133

+

Функция Шаффера N2

f(0,0)=0

+

Функция Шаффера N4

f(0,1.25313)=0.292579

+

Функция Стыбинского-

Танга

f(-2.903534,...,-2.903534)=-

39.16616*n

+

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

Суть предлагаемого способа оптимизации состоит в выполнении следующих основных шагов:

1) исходя из доступных вычислительных ресурсов определяем размер параллельно оптимизируемой группы параметров dim, границы интервала поиска [a,b] длиной D и число шагов сканирования W по каждому параметру,

2) из общего множества параметров, подлежащих оптимизации, выделяем подгруппу параметров размера dim,

3) обеспечиваем параллельный расчёт целевой функции в заданных с определённой дискретностью точках пространства L искомой группы параметров dim и выбираем значения параметров, соответствующих экстремальному значению оптимизационной функции,

4) поэтапно сокращаем интервала поиска [a,b] при повторении пунктов (3-4) в пространстве искомых параметров на каждой итерации до двух значений заданной величины дискретизации А по каждому параметру из выбранной группы до достижения заданной точности,

5) повторяем пункты 2-4 до исчерпания возможности дальнейшего уменьшения значения целевой функции.

Описанный подход позволяет нивелировать проблемы попадания в локальные экстремумы за счёт включения в область поиска всей области значений целевой функции. Естественным ограничением данного метода являются востребованные вычислительные ресурсы, которые определяются величиной задаваемого числа шагов сканирования W. Однако на практике, 5 - 10 разбиений оказывается достаточно для решения большинства оптимизационных задач. При этом возможности увеличения мощности поиска оказываются напрямую связаны только с числом возможных параллельных расчётов.

Поскольку каждый из dim параметров задают в W точках, общее количество точек целевой функции f (P), рассчитываемых одновременно (параллельно) в пространстве dim параметров в W точках для каждого фактора, составляет:

Если заранее известна доступная вычислительная мощность, то можно сделать обратный расчёт:

Выбор групп dim параметров из всего набора параметров P наиболее эффективно осуществлять на базе последовательного перебора наиболее удалённых по составу параметров групп.

Далее рассмотрим особенности применения описанного метода к обучению нейронных сетей.

Глобальная оптимизация в обучении нейронной сети.

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

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

Для демонстрации этого явления проведём следующий эксперимент. Синтезируем данные для тренинга нейронной сети на основе простой известной функции y = ln(х), наложив на неё погрешность, определяемую нормальным законом распределения c заранее заданным стандартным отклонением 0.3. Помимо данных для тренинга, используя тот же подход, сгенерируем тестовый датасет. После этого обучим нейронную сеть, описываемым в статье способом, предварительно отключив контроль переобучения. Поскольку архитектура нейронной сети создаётся налету, у нас появляется возможность наблюдать за тем как меняются качественные характеристики модели при увеличении числа нейронов. Результаты эксперимента отражены на рисунках 2 - 3.

Рисунок 2 Влияние числа нейронов на обобщающую способность сети.

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

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

Рисунок 3 Зависимость ошибки от числа нейронов в сети

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

Принцип организации само-растущей нейронной сети.

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

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

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

Рисунок 4 Этапы роста нейронной сети (упрощённое представление)

Сплошными и пунктирными линиями обозначены обязательные и необязательные связи соответственно.

Предлагаемый процесс роста нейронной сети отражён на рисунке 4. Изначально, на нулевом этапе для каждого выхода модели создаётся по одному нейрону. С выходов этих нейронов снимается результат моделирования. Затем к выходным нейронам по очереди прикрепляют и обучают остальные нейроны. Сеть не является ни многослойной ни полносвязной. Т.е. нейроны не составляют никаких слоёв, а связи между ними не носят характер “каждого с каждым”. В качестве функции активации для каждого нейрона сети используется сигмоида (1.3) с настраиваемым, в процессе оптимизации коэффициентом а:

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

Рисунок 5 Рабочие контура предлагаемого алгоритма

Контроль переключения выходов.

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

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

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

Контроль переобучения и переключения экземпляров сети.

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

Ещё одним преимуществом предлагаемого подхода является интегрированная в механизмы роста сети система перекрёстной проверки. Каждый новый нейрон в процессе роста нейронной сети одновременно добавляется в структуру к различных сетей, использующих для своего построения к отдельных срезов тренировочных данных. При этом найденная структура связей нового нейрона, весовой коэффициент подключения к головному нейрону, а также найденный коэффициент функции активации а копируются во все экземпляры сети, а веса входов настраиваются индивидуально для каждого среза данных. Такой подход позволяет значительно экономить вычислительные ресурсы и время на самом трудоёмком процессе - выборе структуры нейрона. И делает процесс кросс-валидации крайне быстрым и эффективным.

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

Генетический отбор выходов.

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

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

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

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

Управление батчами.

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

Ёмкость батчей - является одним из настраиваемых гиперпараметров алгоритма и значительно зависит от используемого в процессе обучения оборудования.

Глобальная оптимизация.

Применение алгоритма глобальной оптимизации для идентификации параметров сети имеет некоторые особенности, о которых стоит упомянуть. Основные настройки алгоритма, используемые при идентификации сети, это - число шагов сканирования W = 5, интервал поиска весов [-1;+1], интервал поиска коэффициента функции активации (0;40], размер группы единовременного поиска dim = 6. Таким образом, за одну итерацию поиска выполняется L = Wdim = 56 = 156 25 параллельных вычислений функции цели.

Трудоёмкость вычисления функции цели для нейронной сети, может породить сомнения в реализуемости алгоритма, однако, необходимо помнить, что единовременно в оптимизации участвует только один нейрон, находящийся на глубину не более 2-х нейронов от выходного. И единовременному поиску подлежат только 6-ть параметров. Поэтому пересчитывать значения остальных, более глубоких нейронов каждую итерацию поиска, просто не целесообразно. Да и находить суммы произведений, неиспользуемых при оптимизации параметров нейрона на входы можно заранее. За счёт оптимизаций расчёта целевой функции удаётся добиться независимости времени вычисления от величины сети и числа выходов.

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

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

Параллелизм операций обучения нейронной сети.

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

Перечислим основные ключевые места подхода, в которых параллелизм окажется максимально эффективным:

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

b. Параллелизм на этапе оптимального поиска. Использование множества GPU для распараллеливания процесса вычисления функции цели позволяет сократить общее время работы алгоритма от 2 до 10 -ти раз. Поскольку функция цели вычисляется для батча определённого размера, то распараллеливание целесообразно проводить, разделением общего батча на группы отдельно вычисляемых примеров,

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

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

Сравнение результатов моделирования с альтернативными технологиями.

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

Для более широкого анализа постараемся взять данные для задач различных типов: Регрессии, Бинарной классификации, Мультиклассификации. Чтобы оценки были сопоставимыми проведём единообразную предварительную обработку данных для всех алгоритмов. А чтобы процесс построения модели был не предвзят, поручим его сторонним экспертам с условием получить максимально-возможную точность при оптимальном размере конечной модели.

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

Таблица 2

Результаты моделирования алгоритмом Neuton и альтернативные решения

DataSet

Metric

Neuton framework

Tensorflow (handmade structure)

Coeff

Knggte

PUB

Knggte

PR

Coeff

Kaggk

PUB

Kaggle

PR

Fewer coeff, times

Boston housing

RMSE

66

мар.23

мар.86

20097

мар.81

04.авг

304.5

House Prices

RMSLE

92

0.14

-

78401

0.15

-

852.2

Mercedes Benz

R2

27

0.55

0.54

3841

0.51

0.52

142.3

Tmdb box office

RMSLE

26

фев.32

фев.32

223297

фев.47

фев.47

8588.3

sberbank

RMSLE

178

0.36

0.36

72641

0.37

0.37

408.1

santander_value_ prediction

RMSLE

47

янв.72

янв.68

301409

янв.68

янв.64

6413

Bike_sharing_TS

RMSLE

263

0.53

0.53

6593

0.62

0.62

25.янв

Titanic

Accuracy

44

0.79

-

98

0.78

-

02.фев

Dont overfit

AUC

40

0.79

0.78

2426

0.68

0.64

60.7

santander-

customersatisfaction

AUC

218

0.82

0.81

970

0.81

0.80

апр.45

santander- customertransaction

AUC

603

0.86

0.86

1626

0.86

0.86

02.июл

tree_cover

Accuracy

1206

0.66

0.66

4551

0.66

0.66

03.авг

Ghosts

Accuracy

54

0.75

0.75

227

0.72

0.72

04.фев

Whats_cooking

Accuracy

990

0.59

0.59

16228

0.18366

0.18366

16.апр

Poker rule induction

Accuracy

2100

0.987

0.987

48010

0.962

0.962

22.сен

Mnist

Accuracy

5107

0.982

-

101770

0.98

-

19.сен

На основании проведённых в рамках исследования экспериментов, можно сделать следующий вывод о том, что использование предлагаемого подхода позволяет:

- в среднем от 10-1000 раз сократить число коэффициентов в нейронной сети без потери точности, и как следствие, кратно ускорить процессы её вычисления,

- автоматически определять оптимальную структуру сети для описания зависимостей в данных, перекладывая наиболее сложную часть работы по подбору архитектуры сети на ЭВМ,

- проводить не лимитированное дообучение нейронной сети на изменяющихся во времени данных,

- осуществлять встроенный, надёжный контроль переобучения с применением k-fold кросс - валидации,

- гибко управлять временем обучения, за счёт подключения параллельных вычислительных мощностей.

Список литературы

1. Nobile, M.S, Cazzaniga, P., Besozzi, D., Colombo, R., Mauri, G., Pasi, G. (2018). "Fuzzy Self-Tuning PSO: a settings-free algorithm for global optimization". Swarm and Evolutionary Computation. 39: 70-85. doi:10.1016/j.swevo.2017.09.001;

2. Storn, R., Price, K. (1997). "Differential evolution - a simple and efficient heuristic for global optimization over continuous spaces". Journal of Global Optimization. 11(4): 341-359. doi:10.1023/A:1008202821328;

3. Хайкин С Нейронные сети: полный курс = Neural Networks: A Comprehensive Foundation. 2-е изд. М.: Вильямс, 2006. 1104 с. ISBN 013-273350-1;

4. Методы оптимизации нейронных сетей [Электронный ресурс] URL: https://itnan.ru/post.php?c=1&p=318970 (дата обращения: 31.06.24).

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.