Введение:
Актуальность:
В настоящее время все больше возрастает актуальность применения современных информационных технологий, поскольку успешное развитие компании во многом обеспечивается уровнем автоматизации и цифровизации как управленческих, так и производственных процессов, что в конечном итоге благоприятно сказывается как на экономике страны в целом, так и на повседневной жизни людей, в частности. В эпоху постоянных технологических прорывов и стремительной трансформации всех сфер экономики, науки и общества, математика и анализ не остаются в стороне. С этой целью необходимо выявить, какое влияние оказывают вычислительные методы на процесс машинного обучения.
Имеющиеся результаты в данной области исследования:
Анализ опыта применения вычислительных методов в машинном обучении исследуется многими авторами: А. В. Гореловой, Т. В. Любимовой [1], Ф.М. Гафаровым, А.Ф. Галимяновым [2], Джеймсом Девисом [3] и другими. Между тем, не все авторы упоминают о весомых ограничениях вычислительных методов, а лишь рассматривают практику и преимущества их применения. Это приводит к тому, что компании, занимающиеся разработкой нейронных сетей и систем искусственного интеллекта, в последствии сталкиваются с многочисленными вопросами и сложностями на практике.
Цель данного исследования – выявить, как вычислительные методы помогают в обучении нейронных сетей. Провести критический (выявить недостатки) и поддерживающий анализ (выявить достоинства) вычислительных методов.
Основная часть:
Материалы и методы исследования:
Автор провел исследование путем наблюдения, синтеза, анализа, систематизации и классификации полученной информации. Материалами для исследования послужили научные работы и интернет-ресурсы по исследуемой теме.
Обсуждение:
Предпосылки и результат применения вычислительных методов при обучении нейронных сетей
Одним из важнейших событий в развитии нейронных сетей стало создание в 1957 году перцептрона – модели искусственного нейрона с возможностью обучаться и адаптироваться к новым данным. Он состоял из одного слоя нейронов и мог настраивать веса связей, обучаясь на ошибках. Это позволило сети «запоминать» закономерности и применять их к новым данным.
Тем не менее, в 1969 году Марвин Минский и Сеймур Пейперт указали на важный недостаток перцептрона: он не мог решать задачи, которые требуют нелинейного разделения данных, такие как проблема XOR. Но в 1980-е годы произошел новый прорыв в нейронных сетях с разработкой многослойных перцептронов (MLP) и алгоритма обратного распространения ошибки. Использование нескольких слоев нейронов позволило моделям решать более сложные задачи, а метод обратного распространения ошибки дал возможность настраивать веса в глубоких сетях, что значительно увеличило их обучаемость. Эти улучшения привели к возрождению интереса к нейронным сетям и заложили фундамент для глубокого обучения [3, с. 7].
Практика применения вычислительных методов при обучении нейронных сетей
Обучение нейросети (синаптическое обучение) – оптимальный подбор коэффициентов матрицы весов с целью минимизации допускаемой ошибки. В зависимости от коэффициентов матрицы весов нейросеть может иметь разную точность. Обычно коэффициенты матрицы весов инициализируются случайным образом. В процессе обучения коэффициенты меняются. На графике показаны два разных итерационных пути обучения как изменение коэффициентов w1 и w2 матрицы весов нейросети, проинициализированных в соседстве (рис. 1).
Рисунок 1 – Процесс обучения, как градиентный спуск к локальному минимуму функционала потери
При обучении нейронных сетей сегодня широко используются следующие вычислительные методы:
1. Градиентный спуск (Gradient Descent). Он вычисляет градиент функции ошибки (по отношению к параметрам сети), а затем корректирует эти параметры в направлении уменьшения данного градиента (рис. 2) [2, с. 22.].
Рисунок 2 – Метод градиентного спуска в пространстве весовых коэффициентов
2. Стохастический градиентный спуск (SGD) применяется, чтобы ускорить процесс обучения, не дожидаясь обработки всего набора данных целиком. В этом случае на каждом шаге выбирается лишь один случайный объект из обучающей выборки, и на основе ошибки, полученной от этого единственного объекта, выполняется корректировка весов.
3. Мини-батч (Mini-Batch), при котором датасет разбивается на небольшие порции (батчи) – например, по 32, 64 или 128 объектов. Затем вычисляется градиент, усредняя ошибки по объектам внутри батча, и на основании этого выполняется корректировка параметров [5].
4. Алгоритм обратного распространения ошибки, при котором выходные данные сети сравниваются с желаемым результатом, а разница между ними используется для настройки весов сети в соответствии с желаемым результатом.
Рассмотрим его подробнее.
Функция ошибки представлена следующей формулой:
где: x – известные входные вектора;
d – требуемые выходные значения сети;
y(x, w) – вычисленные выходные значения сети;
w – вектор весов сети.
Поиск минимума функции ошибки производится по следующей формуле:
Алгоритм обратного распространения ошибки состоит из следующих шагов:
1. Инициализировать веса сети.
2. Выбрать обучающую пару из обучающего множества (проход вперед).
3. Подать на вход сети, вычислить выход (проход вперед).
4. Вычислить разность между реальным выходом и требуемым выходом (обратный ход).
5. Подкорректировать веса сети, так чтобы уменьшить ошибку (обратный ход).
6. Повторять шаги 2-5 для каждого вектора из обучающего множества, пока ошибка не достигнет приемлемого уровня [6].
Сегодня существует много модификаций алгоритма обратного распространения ошибки. Возможно:
1. Обучение «по шагам» (вычисляется выходная ошибка, на каждом примере обучающего множества корректируются веса).
2. Обучение «по эпохам» в offline-режиме (изменение весовых коэффициентов происходит после подачи на вход нейросети всех примеров обучающего множества, а ошибка обучения neural сети усредняется по всем примерам) [4].
Появление алгоритма обратного распространения ошибки стало важным событием в области развития нейронных сетей, поскольку он реализует вычислительно эффективный метод обучения многослойного персептрона. Конечно неверно утверждать, что алгоритм обратного распространения ошибки дает действительно оптимальное решение всех потенциально решаемых проблем, но он дал надежду относительно обучения многослойных машин [1, с. 156].
Преимущества и ограничения вычислительных методов
Автором настоящей статьи были рассмотрены основные преимущества и недостатки вычислительных методов, в частности метода обратного распространения ошибки.
Метод обучения нейронных сетей |
Преимущества |
Недостатки |
Градиентный спуск |
Такая схема понятна концептуально и проста в реализации. |
При работе с большими наборами данных в полном варианте (full-batch) приходится суммировать ошибки по всем объектам, что требует значительных вычислительных ресурсов и замедляет процесс оптимизации. |
Стохастический градиентный спуск |
Обеспечивает быстрое обновление параметров, поскольку градиент рассчитывается всего по одной выборке. |
Из-за недостатка информации при рассмотрении лишь одного примера ошибка (loss) может значительно колебаться, препятствуя плавной сходимости. |
Мини-батч |
Обеспечивает более стабильное обучение, чем чистый стохастический вариант, и при этом не столь дорог вычислительно, как полный градиент. |
|
Обратного распространения ошибки |
Простота в реализации, устойчивость к выбросам и аномалиям в данных. |
Неопределенно долгий процесс обучения, уязвимость алгоритма к попаданию в локальные минимумы функции ошибки, вероятность «паралича сети». При больших значениях рабочая точка функции активации попадает в область насыщения сигмоиды, а производная величина приближается к нулю, в результате чего коррекции весов почти не происходят, а процесс обучения «замирает». |
Таким образом, вычислительные методы имеют множество преимуществ для машинного обучения, однако их применение не обходится без некоторых проблем.
Заключение:
Таким образом, процесс информатизации открывает новые перспективы для развития всех сфер экономики, науки и общества. С каждым днем машинное обучение доказывает свою эффективность на практике и получает все большее распространение среди компаний. Однако успешная реализация этого процесса требует от руководителей осознанного подхода к выбору и адаптации вычислительных методов, которые должны учитывать все возможные риски и ограничения.
Список источников литературы:
1. Горелова, А. В. Алгоритм обратного распространения ошибки / А. В. Горелова, Т. В. Любимова // Наука и современность. – 2015. – № 38. – С. 151-156.
2. Гафаров, Ф.М Искусственные нейронные сети и приложения: учеб. пособие / Ф.М. Гафаров, А.Ф. Галимянов. – Казань: Изд-во Казан. ун-та, 2018. –121 с.
3. Джеймс Девис Нейросети: создание и оптимизация будущего [Текст: электронный ресурс] − 2025. − 488 с.
4. Метод обратного распространения ошибки [Электронный источник]. – Режим доступа: https://dzen.ru/a/YCJjTP8QoEY3w4OM (Дата обращения: 22.01.2025).
5. Методы обучения нейронных сетей: что нужно знать на практике [Электронный источник]. – Режим доступа: https://adminvps.ru/blog/metody-obucheniya-nejronnyh-setej-chto-nuzhno-znat-na-praktike/ (Дата обращения: 22.01.2025).
6. Нейронные сети и их практическое применение [Электронный источник]. – Режим доступа: http://sqi.cs.msu.ru/files/nnbase/2022_2023/lecture04.pdf (Дата обращения: 22.01.2025).