Читать книгу Искусственный интеллект (Клуб 4CIO) онлайн бесплатно на Bookz (2-ая страница книги)
bannerbanner
Искусственный интеллект
Искусственный интеллект
Оценить:

4

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

Искусственный интеллект

Нейронные сети

Нейронные сети являются базовой технологией, лежащей в основе ИИ. Их математические основы были исследованы, определены, и описаны в многочисленных статьях и книгах, начиная с конца 1950х годов. Например, еще в 1957 году Фрэнк Розенблатт предложил концепцию перцептрона – одной из первых моделей искусственной нейронной сети. Эта модель позволяет создавать ассоциативные связи между входными данными (импульсами на входе) и необходимыми выходными данными (реакциями сети на выходе). Современная терминология определяет перцептроны как искусственные нейронные сети с одним скрытым слоем, пороговой передаточной функцией и прямым распространением сигнала.

Искусственная нейронная сеть (ИНС) – это математическая модель, состоящая из множества простых «процессоров», называемых нейронами; нейроны связаны между собой и работают вместе для выполнения сложных задач. Каждый нейрон может принимать входные данные, обрабатывать их и передавать результаты следующему нейрону. ИНС обучаются на обучающих примерах таким образом, чтобы научиться распознавать шаблоны (типовые паттерны) и затем, при обработке данных после обучения, делать на основе паттернов, выявленных в полученных данных, прогнозы. Сложность решаемых задач приводит к тому, что нейроны необходимо объединять в слои, чтобы улучшить способность сети к обучению и повысить качество прогнозов. Каждый слой выполняет свою функцию и передает результаты на следующий слой. Первый слой получает входные данные, этот слой называется «входным слоем». Он преобразует входные данные во внутренний формат сети. Затем идет один или более скрытых слоев (в глубокой нейросети таких слоев больше двух), где происходит основная обработка входных данных. Нейроны производят математические операции над входными данными и передают результаты дальше. Последний слой называется «выходным слоем», его задача – выдача результата работы сети. Объединение нейронов в слои позволяет всей сети обрабатывать входные данные поэтапно, что улучшает точность и скорость обработки данных. Важно понимать, что слои позволяют создавать сложные модели, способные решать сложные задачи анализа больших объемов данных и выявления скрытых закономерностей.



Рис. 1. Структура ИНС

Важнейшие понятия ИНС:

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

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

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

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

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

Алгоритм обучения – алгоритм, который регулирует веса и смещения нейронов для минимизации функции потерь. Основные алгоритмы – градиентный спуск, Stochastic Gradient Descent (SGD), Mini-batch Gradient Descent, Adaptive Moment Estimation (Adam), Root Mean Square Propagation (RMSProp), Nesterov's Accelerated Gradient (NAG). Во время обучения сети алгоритм корректирует веса нейронов, основываясь на разнице между предсказанными и истинными ответами. Целью является минимизация функции потерь путем подстройки весов так, чтобы сеть выдавала более точные прогнозы. Смещения также корректируются во время обучения, при этом их изменение помогает сети лучше учитывать неожиданные входные значения.

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

Функция активации – определяет результат работы нейрона; преобразует выходной сигнал нейрона в определенный результат. Примеры: ReLU, sigmoid, tanh и другие.

Обратное распространение ошибки – процесс, обеспечивающий корректировку весов и смещений нейронов на основе значений функции потерь.

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


Состав слоёв ИНС:

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

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

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


Также стоит отметить, что некоторые ИНС могут содержать дополнительные слои:

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

Дескрипторные слои (Embedding Layers) – в случае обработки текста или других структурированных данных, эти слои преобразуют исходные данные в векторное представление, которое затем обрабатывается остальной частью сети.

Подготовка к последовательной обработке (Recurrent Neural Networks) – такие слои используются в рекуррентных нейронных сетях (RNN) для хранения состояния сети и учета контекста предыдущих временных шагов.

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

Классификация ИИ

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

На основе этих утверждений предлагаются следующие классификаторы:

Методы и модели

ИИ-системы.

ИИ-платформы.

Подотчетные платформы.

Методы и модели

Методы обучения – это математические и статистические методы, которые используются для построения алгоритмов на основе данных. Методы обучения реализуются соответствующими алгоритмами – назовем их “алгоритмы обучения”. При этом, имеются также “результирующие алгоритмы”, полученные в результате завершения работы алгоритмов обучения. Результирующие алгоритмы, как правило, сильно связаны с алгоритмами обучения, поэтому их рассматривают как элементы одной категории и объединяют в термин “модель”.

Методы обучения и полученные в результате модели используются для решения конкретных задач. Приведем обобщенную классификацию методов обучения и получаемых моделей. В основу классификации моделей и методов легли материалы ресурса machinelearning.ru (создатель ресурса – Константин Воронцов).

Категория “Методы и модели” изображена на Рисунке 2.



Рисунок 2. Классификация ИИ. Методы и модели


Supervised learning

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

Основные задачи, решаемые с помощью Supervised learning:

● 

Классификация. Это задача, в которой модель должна дать ответ (да/нет) на принадлежность заданной категории (классу) для каждого примера. Например, определение, является ли электронное письмо спамом или нет.

● 

Многоклассовая классификация. Это разновидность классификации, в которой модель должна предсказать одну из нескольких возможных категорий. Например, распознавание рукописных цифр от 0 до 9.

● 

Регрессия. Это задача, в которой модель должна предсказать непрерывное значение. Например, прогнозирование цены на жилье на основе различных характеристик, таких как площадь, количество комнат и расположение.

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

Unsupervised learning

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


Основные задачи, решаемые с помощью Unsupervised learning:

● 

Кластеризация. Это задача, в которой модель группирует данные в кластеры на основе их сходства. Например, группировка клиентов магазина по их покупательским предпочтениям.

● 

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

● 

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


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

Semi-supervised learning

Semi-supervised learning (обучение с частичным привлечением учителя) – это метод машинного обучения, который сочетает в себе преимущества Supervised learning и Unsupervised learning. Метод реализует подход, при котором модель обучается на небольшом количестве размеченных данных и большом количестве неразмеченных данных.

Задачи, решаемые с помощью Semi-supervised learning:

● 

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

● 

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

● 

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

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

Reinforcement learning

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

Задачи, решаемые с помощью Reinforcement learning:

● 

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

● 

Игры и стратегические задачи. Это создание алгоритмов, способных играть в сложные игры (например, шахматы) или решать стратегические задачи, такие как управление ресурсами.

● 

Оптимизация процессов. Это использование приложений со встроенными механизмами Reinforcement learning для оптимизации производственных процессов, логистики и управления запасами.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «Литрес».

Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.

Для бесплатного чтения открыта только часть текста.

Приобретайте полный текст книги у нашего партнера:


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

Всего 10 форматов

bannerbanner