Цифровая трансформация промышленных предприятий
Цифровая трансформация промышленных предприятий

Полная версия

Цифровая трансформация промышленных предприятий

Язык: Русский
Год издания: 2026
Добавлена:
Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
4 из 5

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

Машинное обучение с подкреплением напоминает обучение с учителем, однако, в данном случае в роли «учителя» выступает окружающая (настоящая или виртуальная) среда, которая показывает, как агенты должны действовать, чтобы получить наибольшее суммарное вознаграждение, рис.3.3 б.



Рис. 3.3. Сравнительная схема машинного обучения


Если в случае, рис. 3.3 а, мы отвечаем на вопрос «К какому классу относится исследуемый объект?», то в случае, рис. 3.3 б, мы пытаемся ответить на вопрос «Что нужно сделать, чтобы достичь желаемого результата?». При этом мы, как правило, не знаем, хороший или плохой выбор мы делаем на каждом шаге, а получаем «вознаграждение» (подкрепление) после завершения эпизода обучения.

Преимущества обучения с подкреплением. Обучение с подкреплением (RL) имеет много преимуществ, но наиболее распространенные следующие

1.Экономия на обучении. В отличие от машинного обучения с учителем, для оценки ответов и обучения модели методом RL не нужно привлекать экспертов. Агенты сами «до обучаются» и оценивают решения, и это сильно экономит расходы.

2.Простые нейронные сети. Для RL часто используют простые нейросети, которым нужны небольшие вычислительные мощности. Это экономит затраты на оборудование. А еще такие модели обучаются быстрее, потому что у них меньше параметров и слоев по сравнению с большими сетями.

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

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

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

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

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

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

Обучение с подкреплением помогает системам корректировать свое поведение после каждого действия и становиться умнее

Используют обучение с подкреплением в следующих областях.

1.В электронной коммерции и поисковых системах для создания персонализированных рекомендаций. Алгоритмы RL изучают поведение пользователя, его предпочтения и историю поисков, чтобы предложить именно те товары или контент, которые будут ему интересны. Например, так работает подборка видеороликов на YouTube.

2. Роботы. RL обучает роботов навигации в сложных и динамичных средах. Агенты получают обратную связь из окружающей среды и корректируют свои действия для выполнения задач. Так роботы-пылесосы учатся передвигаться по квартире и обходить препятствия. А промышленные роботы — контролировать перемещение множества деталей по линиям и сборку изделий.

3.Машины с автопилотом. С помощью RL автономные машины учатся адаптироваться к дорожным условиям, оптимизировать маршруты и парковаться в ограниченных пространствах. Автомобили Tesla используют RL для обучения в реальных условиях вождения. Система получает данные от сенсоров и камер, анализирует их и принимает решения на основе накопленного опыта.

4.Боты для игр. RL обучает ботов реагировать на поведение других игроков. Агенты получают обратную связь на основе игровых результатов и корректируют свои стратегии. Например, компания DeepMind создала бота AlphaGo, который с помощью RL обыграл чемпионов мира по игре Го.

ГЛАВА 4. ГЛУБОКОЕ ОБУЧЕНИЕ

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

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

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

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

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

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

С обратным распространением процесс обучения становится автоматизированным, и модель может самостоятельно настраиваться для оптимизации своей производительности.

Алгоритм обратного распространения включает два основных этапа: прямой переход и обратный переход.

В прямом проходе входные данные подаются во входной слой. Эти входные данные в сочетании с их соответствующими весами передаются скрытым слоям.

Например, в сети с двумя скрытыми слоями (h1 и h2, рис.4.1, выходные данные из h1 служат входными данными для h2.



Рис.4.1. Прямой переход с использованием весов и смещений

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

При обратном прохождении ошибка (разница между прогнозируемым и фактическим результатом) распространяется обратно по сети для корректировки весов и смещений. Одним из распространенных методов вычисления ошибок является среднеквадратичная ошибка (MSE), задается как: MSE= (PredictedOutput−Actual Output)2MSE= (Прогнозируемый результат−Фактический результат)2

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

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

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

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



Рис. 4.2. Распространение сигнала нейросети в процессе обучения

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

1.инициализировать синаптические веса случайными маленькими значениями,

2. выбрать из обучающего множества очередную обучающую пару; подать на вход сети входной вектор,

3. выполнить вычисление выходных значений нейронной сети.

4. посчитать разность между выходом нейросети и требуемым выходом (речь идёт о целевом векторе обучающей пары).

5. скорректировать веса сети в целях минимизации ошибки,

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

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

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

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

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

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

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

4.2. Сеть глубоких убеждений

Сеть глубоких убеждений (Deep Belief Network, DBN) — это вероятностный алгоритм глубокого обучения без учителя. Слои в DBN действуют как детектор признаков. После применения обучения, DBN может быть, до обучена с применением обучения с учителем. DBN можно представить как композицию ограниченных машин Больцмана (RBM) и автоэнкодеров.

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

1. Модель, основанная на энергии. Каждый RBM в DBN представляет собой модель, основанную на энергии. Для RBM с видимыми единицами измерения v и скрытыми единицами измерения h энергетическая функция определяется как:



Здесь ai и bj являются терминами предвзятости, а wij представляет веса между единицами измерения.

2. Распределение вероятностей. Вероятность данного состояния RBM определяется распределением Больцмана:



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

3. Обучение с использованием контрастивной дивергенции. RBM обычно обучаются с использованием метода, называемого контрастивной дивергенцией (CD). Этот метод аппроксимирует градиент логарифмического правдоподобия и обновляет веса wij, а также смещает ai, bj, чтобы максимизировать вероятность обучающих данных в рамках модели.

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

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

В самом простом варианте автоэнкодер – это нейронная сеть, рис.4.3, которая сначала кодирует входной сигнал в некоторое скрытое состояние, размерность которого, как правило, меньше размерности входного сигнала, а затем, из скрытого состояния снова разворачивает (декодирует) данные в другое, новое состояние.

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



Рис. 4.3. Структура автоэнкодера


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

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

DBN работают в две основные фазы: предварительное обучение и точная настройка. На этапе предварительного обучения сеть учится представлять входные данные слой за слоем. Каждый уровень обучается независимо как RBM, что позволяет сети эффективно изучать сложные представления данных. На этом этапе сеть изучает распределение вероятностей входных данных, что помогает ей понять базовую структуру данных.

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

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

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

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

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

Внедрение глубоких сетей доверия (DBNs). Для реализации сетей глубоких убеждений (DBN) сначала необходимо установить numpy, pandas и scikit-учиться !pip install numpy pandas scikit-learn.

Приведенный код описывает процесс создания сети глубоких убеждений (DBN) с использованием Python. Вот пошаговое объяснение:

1.Импорт библиотек. Импортированы основные библиотеки Python для обработки данных (numpy, pandas), модели машинного обучения (scikit-learn) и глубокого обучения (tensorflow).

2.Загрузить набор данных: Набор данных MNIST, представляющий собой набор изображений рукописных цифр размером 28x28 пикселей, извлекается с помощью fetch_openml из scikit-learn. Этот набор данных обычно используется для сравнительного анализа алгоритмов классификации.

3.Предварительная обработка. Набор данных разбивается на обучающий и тестовый наборы с помощью train_test_split. Затем данные масштабируются с помощью StandardScaler для их нормализации, что часто приводит к повышению производительности нейронных сетей.

4.Уровень RBM. Ограниченная машина Больцмана инициализируется с заданным количеством компонентов и скоростью обучения. RBM - это неконтролируемые нейронные сети, которые находят закономерности в данных путем реконструкции входных данных.

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

6.Конвейер DBN. RBM и модель логистической регрессии объединены в конвейер. Это позволяет последовательно применять RBM (для извлечения признаков) с последующей логистической регрессией (для классификации).

7.Обучение. Конвейер, формирующий DBN, обучается на предварительно обработанных обучающих данных (X_train_scaled). RBM изучает функции, которые затем используются моделью логистической регрессии для классификации цифр.

8.Оценка.Наконец, производительность обученной DBN оценивается на тестовом наборе. Точность классификации (dbn_score) выводится для обеспечения количественного показателя того, насколько хорошо работает модель.

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

4.3. Генеративно-состязательная нейросеть

Генеративно-состязательная нейросеть (GAN) – это модель машинного обучения, умеющая имитировать заданное распределение данных. GAN состоят из двух нейронных сетей, одна из которых обучена генерировать данные, а другая – отличать смоделированные данные от реальных (отсюда и «состязательный» характер модели).

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

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

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

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

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

Процесс обучения состоит из следующих этапов.

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

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

3.Оценка данных. Дискриминатор оценивает как реальные данные, так и данные, созданные генератором. Он пытается определить, какие данные являются настоящими, а какие — подделками.

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

Полезно сравнить генеративные состязательные сети с другими нейронными сетями, такими как автокодеры (автоэнкодеры) и вариационные автокодеры.

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

На страницу:
4 из 5