Искусственный интеллект тесно связан с нейронными вычислительными сетями, но не тождественен им.
Нейронная сеть представляет собой самообучающуюся математическую модель.
Её программирование применительно к обработке того или иного массива данных происходит без участия человека благодаря заложенным в такое ПО принципам, соответствующим поведению самоадаптирующихся нервных систем биологических объектов. Роль нервных клеток в компьютерных нейросетях играют т.н. ячейки LSTM, задачей которых является передача или, напротив, блокировка информации при ее прохождении с уровня на уровень.
Рисунок 1. Ячейка нейронной сети. Автор24 — интернет-биржа студенческих работ
Подготовка данных для нейронных сетей
Данные для нейронных сетей (датасеты) должны быть хорошо структурированы. Технологии, по которым производится такая подготовка, уже довольно хорошо сформулированы. Ключевыми терминами при этом являются характеристики (features) объектов и метки (labels) для их сортировки. Особенности являются входными параметрами. Опираясь на них, сеть должна принять решение о том, как каждому объекту обрабатываемого массива присвоить ту или иную метку. Например, особенностями класса объектов "птицы" можно считать размеры, окраску, летные качества, рацион, район обитания и т.п. Это особенности. Метками будут в этом случае названия пород: "синица", "орел", "фламинго" и т.п.
Рисунок 2. Features and labels. Автор24 — интернет-биржа студенческих работ
Подготовка данных для нейронных сетей в последнее время превратилась в отдельную IT-специализацию, поскольку грамотное оснащение объектов датасета характеристиками превратилось в более актуальную задачу, чем создание самих алгоритмов обработки. Программы для обработки писать не нудно или можно обойтись минимальной настроечной обвязкой на языке Python. Для самой обработки можно воспользоваться готовым API, например, универсальным фреймворком для машинного обучения Tensor Flow.
Перед обработкой данные должны быть очищены от некачественных записей. Например таких, где возраст человека в результате опечатки составляет 270 лет. Кроме того, инженер по обработке данных должен уметь подбирать для их обработки наиболее подходящие математические модели (такие, как, линейная регрессия) и настройки, например, скорость изменения параметров математической модели. Характеристики (features) объектов должны быть перед обработкой преобразованы в специальные "векторы данных".
Обучение нейронной сети
Данные, подлежащие обработке, делятся на три части. Первая обладает всеми необходимыми характеристиками для нахождения корреляции между характеристиками и метками. На ней проводится тренировка сети. Этот массив данных наиболее составляет около 80% от общего обрабатываемого объема. Оставшаяся часть делится на верификационные данные (например, еще 10%) и тестовые. Верификационные данные служат для проверки соответствия подобранных нейронной сетью параметров математической модели тем, которые выработаны в процессе "тренировки сети". Если отклонения от модели для тренировочных и верификационных данных не сильно отличаются, то задачу можно считать решенной. Тестовые данные служат для дополнительной проверки, поскольку подобранная модель может в ряде случаев подстраиваться под конкретные характеристики, присущие только верификационному или только тренировочному набору и не отражать общих для всей совокупности данных закономерностей (overfitting).
Рисунок 3. Нейронная сеть выбрала слишком специфическую модель, оказавшуюся непригодной при появлении новых данных (overfitting). Автор24 — интернет-биржа студенческих работ
Примеры применения нейронных сетей
Распознавание изображений
Распознавание изображений применяется для определения лиц людей в системах безопасности, дорожных знаков для беспилотных автомобилей и т.п. Для распознавания используется математическая операция "свертки", когда изображение разбивается на фрагменты, среди которых осуществляется поиск по уже известным паттернам (линии различной длины и толщины, углы, цветовые зоны и т.п.).
Машинный перевод
При переводе с одного естественного человеческого языка на другой используется т.н. рекуррентный принцип. Добавляя в переводимый текст по одному слову из обоих языков, алгоритм пытается установить связи между фрагментами текста.
Выявление фейковых новостей
Мониторинг новостей в наше время, когда обостряется международная политическая борьба, является актуальной информационной отраслью, где тоже может быть применен ИИ. От результатов анализа информационного потока на достоверность зависит не только психологическое здоровье людей, но и кредитные риски банков, развитие экономики.
Оцифровка речи и синтез голоса
В этой области используются как рекуррентные, так и сверточные технологии.
Попытки распознавания изображений и звуков, синтеза речи с помощью компьютерных технологий предпринимались и ранее. Например, уже в середине 1990-х гг. были известны такие приложения, как Cunei Form для распознавания текста, Dragon Dictate для распознавания речи). Несмотря на то, что эти старые технологии, построенные на экспертных принципах, неплохо справлялись со своими задачами, в настоящее время они активно вытесняются решениями на основе нейронных сетей.
Недостатки нейронных сетей
Быстрому внедрению нейронных сетей в различные отрасли препятствуют некоторые неблагоприятные факторы:
- неясность алгоритмов; в отличие от традиционных программ, для которых имеется возможность анализа с помощью документации, исходного кода или реверсивного инжиниринга, алгоритмы, порождаемые нейронными сетями, могут оказаться неудобными или даже вовсе непонятными для человеческого восприятия;
- подготовка данных для обучения нейронных сетей - трудоемкий процесс; данные могут содержать существенное количество некорректных записей, возникших в результате опечаток, ошибок в программах, повреждения информации и прочих девиаций; кроме того, данные должны соответствовать законодательству о защите персональных данных и о коммерческой тайне.