Научная статья на тему 'ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ. ПРИМЕНЕНИЕ ГЛУБОКОГО ОБУЧЕНИЯ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ'

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ. ПРИМЕНЕНИЕ ГЛУБОКОГО ОБУЧЕНИЯ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
453
70
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИИ / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ / ARTIFICIAL INTELLIGENCE / МАШИННОЕ ОБУЧЕНИЕ / MACHINE LEARNING / ГЛУБОКОЕ ОБУЧЕНИЕ / DEEP LEARNING / НЕЙРОННЫЕ СЕТИ КОХОНЕНА / НЕЙРОННЫЕ СЕТИ / NEURAL NETWORKS / AI / KOHANA NEURAL NETWORKS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дьяченко С. В., Мороз Д. С.

В данной работе приведены примеры применения машинного обучения и глубокого обучения. Рассмотрены различия и особенности между искусственным интеллектом, машинным обучением и глубоким обучением. Проанализирован потенциал их применения в бизнесе. Рассмотрен принцип работы нейронной сети. Глубокое обучение является подмножеством машинного обучения. Оно использует некоторые методы машинного обучения для решения реальных задач, посредством нейронных сетей, которые могут имитировать человеческое принятие решений. Глубокое обучение может быть дорогостоящим и требует огромных массивов данных для обучения. Это объясняется тем, что существует огромное количество параметров, которые необходимо настроить для алгоритмов обучения, чтобы избежать ложных срабатываний. Например, алгоритму глубокого обучения может быть дано указание «узнать», как выглядит математический знак суммирования и чем он отличается от знака интеграла. Чтобы произвести обучение, потребуется огромное количество изображений для того, чтобы научиться различать мельчайшие детали. Продемонстрирована структура простого единичного нейрона, описан принцип его работы. Приведены различные типы задач распознавания образов. Обозначена значимость решения подобных задач. Рассмотрено их применение на практике. Продемонстрирован с помощью схемы процесс обучения нейронной сети. Описан процесс обучения, с помощью тренировочных данных. Приведены различия между обучением и тренировкой нейронной сети. Для моделирования и дальнейшей разработки нейронной сети выбрана библиотека FastArtificialNeuralNetworkLibrary (FANN). Спроектирован алгоритм построения и обучения нейронной сети. Предлагается формат файла исходных данных для проведения распознавания графических образов.This paper provides examples of how to use machine learning and deep learning. Differences and peculiarities between artificial intelligence, machine learning and deep learning are considered. The potential of their application in business is analyzed. The principle of neural network operation is considered. Deep learning is a subset of machine learning. It uses some machine learning techniques to solve real-world problems using neural networks that can mimic human decision-making. Deep learning can be expensive and requires huge amounts of data to train. This is because there are a huge number of parameters that need to be configured for learning algorithms to avoid false positives. For example, a deep learning algorithm can be instructed to "learn" what the summation mathematical sign looks like and how it differs from the integral sign. To produce training, it will take a huge number of images in order to learn to distinguish the smallest details. The structure of a simple single neuron is demonstrated, the principle of its operation is described. Various types of pattern recognition problems are presented. The importance of solving such problems is indicated. Their application in practice is considered. The process of neural network learning is demonstrated with the help of the scheme. The process of training with the help of training data is described. Differences between neural network training and training are given. FastArtificialNeuralNetworkLibrary (FANN) library was chosen for modeling and further development of neural network. The algorithm of construction and training of a neural network is designed. The format of the source data file for recognition of graphic images is proposed.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Дьяченко С. В., Мороз Д. С.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ. ПРИМЕНЕНИЕ ГЛУБОКОГО ОБУЧЕНИЯ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ»

УДК 004.42

С.В. Дьяченко

доцент кафедры информатики и математики, к.физ.-мат.н.,

филиал «КубГУ» в г. Новороссийске

S.V. Dyachenko

candidate of physical and mathematical Sciences associate Professor of the Department of Informatics and mathematics of the Kuban state University

branch in Novorossiysk (900-243-68-09 svdnov@mail.ru)

Д.С. Мороз

студент направления подготовки «Прикладная математика и информатика»,

филиал «КубГУ» в г. Новороссийске

D.S. Moroz

student of the direction "Applied mathematics and Informatics" Department of Informatics and mathematics of the Kuban state University branch in Novorossiysk (900-243-68-09 svdnov@mail.ru)

ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ. ПРИМЕНЕНИЕ ГЛУБОКОГО ОБУЧЕНИЯ ДЛЯ РЕШЕНИЯ ПРИКЛАДНЫХ ЗАДАЧ

Аннотация. В данной работе приведены примеры применения машинного обучения и глубокого обучения. Рассмотрены различия и особенности между искусственным интеллектом, машинным обучением и глубоким обучением. Проанализирован потенциал их применения в бизнесе. Рассмотрен принцип работы нейронной сети. Глубокое обучение является подмножеством машинного обучения. Оно использует некоторые методы машинного обучения для решения реальных задач, посредством нейронных сетей, которые могут имитировать человеческое принятие решений. Глубокое обучение может быть дорогостоящим и требует огромных массивов данных для обучения. Это объясняется тем, что существует огромное количество параметров, которые необходимо настроить для алгоритмов обучения, чтобы избежать ложных срабатываний. Например, алгоритму глубокого обучения может быть дано указание «узнать», как выглядит математический знак суммирования и чем он отличается от знака интеграла. Чтобы произвести обучение, потребуется огромное количество изображений для того, чтобы научиться различать мельчайшие детали. Продемонстрирована структура простого единичного нейрона, описан принцип его работы. Приведены различные типы задач распознавания образов. Обозначена значимость решения подобных задач. Рассмотрено их применение на практике. Продемонстрирован с помощью схемы процесс обучения нейронной сети. Описан процесс обучения, с помощью тренировочных данных. Приведены различия между обучением и тренировкой нейронной сети. Для моделирования и дальнейшей разработки нейронной сети выбрана библиотека FastArtificialNeuralNetworkLibrary (FANN). Спроектирован алгоритм построения и обучения нейронной сети. Предлагается формат файла исходных данных для проведения распознавания графических образов.

Annotation. This paper provides examples of how to use machine learning and deep learning. Differences and peculiarities between artificial intelligence, machine learning and deep learning are considered. The potential of their application in business is analyzed. The principle of neural network operation is considered. Deep learning is a subset of machine learning. It uses some machine learning techniques to solve real-world problems using neural networks that can mimic human decision-making. Deep learning can be expensive and requires huge amounts of data to train. This is because there are a huge number of parameters that need to be configured for learning algorithms to avoid false positives. For example, a deep learning algorithm can be instructed

to "learn" what the summation mathematical sign looks like and how it differs from the integral sign. To produce training, it will take a huge number of images in order to learn to distinguish the smallest details. The structure of a simple single neuron is demonstrated, the principle of its operation is described. Various types of pattern recognition problems are presented. The importance of solving such problems is indicated. Their application in practice is considered. The process of neural network learning is demonstrated with the help of the scheme. The process of training with the help of training data is described. Differences between neural network training and training are given. Fas-tArtificialNeuralNetworkLibrary (FANN) library was chosen for modeling and further development of neural network. The algorithm of construction and training of a neural network is designed. The format of the source data file for recognition of graphic images is proposed.

Ключевые слова: ИИ, искусственный интеллект, машинное обучение, глубокое обучение, нейронные сети, нейронные сети Кохонена.

Key words: AI, artificial intelligence, machine learning, deep learning, neural networks, Kohana neural networks.

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

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

Машинное обучение является одним из направлений искусственного интеллекта. Основной принцип заключается в том, что машины получают данные и «обучаются» на них. В настоящее время это наиболее перспективный инструмент для бизнеса, основанный на искусственном интеллекте. Системы машинного обучения позволяют быстро применять знания, полученные при обучении на больших наборах данных, что позволяет им преуспевать в таких задачах, как распознавание лиц, распознавание речи, распознавание объектов, перевод, и многих других. В отличие от программ с закодированными вручную инструкциями для выполнения конкретных задач, машинное обучение позволяет системе научиться самостоятельно распознавать шаблоны и делать прогнозы.

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

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

зуемых задач принятия решений расширился. Существуют различные типы задач распознавания образов.

• Классификация - отнесение предъявленного объекта (ситуации) по его формализованному описанию к одному из заданных классов Кластеризация -разбиение множества объектов (ситуаций) по их формализованным описаниям на систему непересекающихся подмножеств (классов)

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

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

• Оптимизация - поиск эффективного или оптимального решения целевой функции в условиях действия ограничений

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

х1 ф V/,

Синапсы

\М0

Входы Смещение

Рисунок 1. Обобщенная математическая модель нейрона

• Входные сигналы х^ - данные, поступающие из окружающей среды или от других активных нейронов. Входные значения могут быть дискретными из множеств [0, 1] или [-1, 1], либо принимать любые вещественные значения.

• Весовые коэффициенты - определяют силу связи между нейронами;

• Уровень активации (потенциал) нейрона Р = Е ^ Х;;

• Функция активации У = /(Р) - используют для вычисления выходного значения сигнала, передаваемого другим нейронам.

Принцип работы нейрона заключается в следующем. Находится произведение входных сигналов Х; на весовые коэффициенты wi, после чего полученная сумма Р = ^№1X1 изменяется под действием функции активации У = /(Р). Монотонность является главным требованием к выбору функции активации, поэтому зачастую используются гладкие монотонные нелинейная функции - сигмоиды. К ним относится, например, арктангенс, гиперболический тангенс или логарифмическая функция. Однако, чаще всего используется логистическая функция У = 1/(1 + ехр(—ЯР)). Одной из причин является простое выражение ее производной через саму функцию 5'(х) = 5(х) * (1 — 5(х)). Это позволяет значительно упростить вычисления для метода обратного распространения ошибки и сделать его применимым на практике. Одиночный нейрон лишь реализует простую регрессионную модель для N независимых переменных. Но если объединить нейроны в сетевые структуры, то и реализуемая функция может быть сколь угодно сложной.

Структура и принцип работы искусственного нейрона схож с принципом

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

Процесс обучения нейросети

база данных

распространение сигнала по нейросети

выбор примера

сеть обучена

ошибка мала

подстройка весов сети

расчет ошибки

ошибка велика

Рисунок 2. Процесс обучения нейронной сети

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

Для создания нейронной сети на различных языках программирования существует специальная библиотека Fast Artificial Neural Network Library (FANN), реализованная более чем на 15 различных языках и очень удобная для проектирования нейронных сетей.

Задача работы состоит в проектировании нейронной сети для классификации (распознавания) графических образов. Чем оптимальнее подобрано количество образов для обучения, тем будет выше результат. Однако, "оптимальное количество образцов для обучения" не существует, поэтому необходимо проводить как можно более детальный анализ поставленной задачи. Желательно иметь как можно больше разных разновидностей тех образцов, которые в дальнейшем потребуется классифицировать. Однако нужно вовремя остановиться, так как нейронная сеть имеет свойство переобучения. Для примера обучения выбран набор из пяти символов, изображенных на рисунке 3. Каждый символ присутствует в двух вариантах.

/

/

Рисунок 3. Пример обучения распознавания символов

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

подготовить исходные данные.

Предлагается следующий формат файла с исходными данными. В первой строке указаны размеры всех слоев. Далее идут пары значений: вектор образа и вектор множества допустимых значений, который может содержать только одну единицу. Номер разряда вектора множества, содержащий единицу, указывает на то, какой номер символа из множества допустимых значений (алфавита), классифицирует вектор образа. То есть, порядок символов, в рассматриваемом множестве следующий: "+-х/=". Соответственно вектор "10000", указывает на то, что вектор образа находящийся над вектором множества допустимых значений классифицирует символ "+". Вектора разделены между собой символом перевода строки.

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

• количество векторов, здесь набор состоит из десяти образцов;

• размер векторов - в данном случае это произведение ширины и высоты изображения;

• размер множества допустимых значений (в данном случае это размерность алфавита, и она равняется пяти).

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

49 .5

В В 1 В В В В 1 1 Й 1 В В В 1 1 1 1 1 В Й 1 1 1 1 В В В В Й 1 В .В В В В Й В В Й В .В В В .В В В В Й

1 о о о в

8 8 в О ! О О в 001 ! О в 8 ! 1 в О 1 ! О О 3 О 1 101 | О 1 1 И в О О 11 П О О в О 1 1 О

,1 о в в в

0 0 8 В 0 8 В 1 1. 1 О 8 В В 1 1 1 .В О О Й В В 0 8 В О О О I В В I 8 В О 8 О 0 8 В I 8 8 Й О О 0 8

В } в в

в а 0 в м в в в 0 в в 0 и в в в в в в в а в в в в в в | а в в а 0 в в 0 П | м в (з 1 | 1 а

В 1 в в в

1 1 У % Й Й 1 Ь й Ь Й 1 1 Й Й В Й 1. 1 1 1 В Й Й 1 1 1. а 1111111111 .В .В £ .В .В .6 В

в в .1 в в

В В В В В В В В В В В В В В В В В 1 В 1 1 В В В 1 1 1 1 В | В В 1 1 О В О В 1 1 11 в в в ш 1

В В .1 в в

в 1 1 в в в в .В 1 в о в в в 1 1 Й в в Й 1 1 1 в в о в 1 1 в в .В в в 1 1 в в в в .В в в .В в в в в

В В В ,1 я

в в в а 0 0 0 в в о 0 в а а 0 0 0 в в и а а в 0 1 и в | в а п о в а а 0 1 | в 0 0 в а | 1 0

□ О □ ,1 й

.в й .в .в .в 1 1 а 1 1 в в 1 1 1 1 1 в Й 1 1 1 1 1 .а й в □ .в .в Й .в .в .в в .в й й .в Й .в .в Й .в .в .в й в в в в 1

В В В 0 В 0 0 В 0 в в в в в в В В В В В В В В 1 1 1 1 В В | 11 1 1 8 В В 1 1 и В В В 1 111 в В В В В 1

Рисунок 4. Набор данных для обучения

Так как все исходные данные готовы, то следующий этап - обучение нейронной сети. Из вышесказанного можно сделать вывод, что нейронная сеть представляет собой мощный инструмент моделирования данных, который способен захватывать и представлять сложные отношения ввода / вывода. Развитие нейронных сетей важно, так как существует потребность автоматизации в различных сферах деятельности. Уже сегодня нейронные сети используются многими компаниями, связанными с IT-технологиями. Так, например, Google сети глубокого обучения заменили много «систем, основанных на правилах и требующих ручной работы». 23.08.2017 Яндекс запустил новый поиск на основе нейронных сетей. В новой версии поиска задействован алгоритм «Королёв». С помощью нейронной сети этот алгоритм сопоставляет смысл запроса и веб - страницы, благодаря этому поиск лучше понимает, что именно нужно пользователю, и намного точнее отвечает на сложные запросы. Источники:

1. Горожанина Е.И. Нейронные сети: учебное пособие / Е.И. Горожанина. - Самара.

ФГБОУ ВО ПГУТИ, 2017. - 84 с.

2. Dean, J., Corrado, G. S., Monga, R., Chen, K., Devin, M., Le, Q. V, ... Ng, A. Y. (2012).

Large Scale Distributed Deep Networks. NIPS 2012: Neural Information Processing Sys-

tems, 1-11 http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks.pdf (дата обращения: 18.03.2018)

3. Жианчанг Мао, Энил Джейн. Введение в искусственные нейронные сети // Открытые системы. СУБД. — 1997. — № 4. — С. 16-24. URL: http://www.osp.ru/os/1997/04/179189 (дата обращения: 18.03.2018)

4. An Introduction to Machine Learning in Business: Analyzing Your Success, https://www.process.st/machine-learning-in-business/ (дата обращения: 18.03.2018)

Sources:

1. Gorozhanina E.I. Neural networks: a tutorial / EI. The citizen. - Samara. FGBOU IN PGUTI,

2017.-84 p.

2. Dean, J., Corrado, G. S., Monga, R., Chen, K., Devin, M., Le, Q. V, ... Ng, A. Y. (2012).

Large Scale Distributed Deep Networks. NIPS 2012: Neural Information Processing Systems, 1-11 http://papers.nips.cc/paper/4687-large-scale-distributed-deep-networks.pdf (circulation date: 03/18/2018)

3. Gianchang Mao, Anil Jane. Introduction to artificial neural networks / / Open systems.

DBMS. - 1997. - № 4. - P. 16-24. URL: http://www.osp.ru/os/1997/04/179189 (date of circulation: 18.03.2018)

4. An Introduction to Machine Learning in Business: Analyzing Your Success, https://www.process.st/machine-learning-in-business/ (reference date: 03/18/2018)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.