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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Климова Е.Н., Семенов И.А.

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

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

DEEP LEARNING AS AN ADVANCED FIELD OF ARTIFICIAL INTELLIGENCE RESEARCH

In this article, the authors consider and analyze the system of modern principles and conceptual approaches to the study of deep learning. Deep learning is an advanced area of machine learning (ML) research. It consists of several hidden layers of artificial neural networks. The deep learning methodology applies nonlinear transformations and high-level model abstractions to large databases. Recent advances in the implementation of deep learning architecture in numerous areas have already made a significant contribution to the development of artificial intelligence. This article presents current research on the contribution and new applications of deep learning. The following overview presents, in chronological order, how and in which of the most significant applications deep learning algorithms were used. In addition, the benefits and advantages of deep learning methodology in its multi-layer hierarchy and nonlinear operations are presented, which are compared with more traditional algorithms in conventional applications. An overview of the latest developments in the field further reveals the General concepts, the ever-growing benefits and popularity of deep learning.

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

УДК 004.8

Климова Е.Н.

доцент Семенов И. А. бакалавр 4-го курса ДГТУ

РФ, г. Ростов-на-Дону ГЛУБОКОЕ ОБУЧЕНИЕ КАК ПЕРЕДОВАЯ ОБЛАСТЬ ИССЛЕДОВАНИЙ ИСКУССТВЕННОГО ИТНЕЛЛЕКТА

Аннотация. В данной статье авторами рассматривается и анализируется система современных принципов и концептуальных подходов к изучению глубокого обучения. Глубокое обучение является передовой областью исследований машинного обучения (machine learning — ML). Оно представляет из себя нескольких скрытых слоев искусственных нейронных сетей. Методология глубокого обучения применяет нелинейные преобразования и модельные абстракции высокого уровня на больших базах данных. Последние достижения во внедрении архитектуры глубокого обучения в многочисленных областях уже внесли значительный вклад в развитие искусственного интеллекта. В этой статье представлено современное исследование о вкладе и новых применениях глубокого обучения. Следующий обзор в хронологическом порядке представляет, как и в каких наиболее значимых приложениях использовались алгоритмы глубокого обучения. Кроме того, представлены выгода и преимущества методологии глубокого обучения в ее многослойной иерархии и нелинейных операциях, которые сравниваются с более традиционными алгоритмами в обычных приложениях. Обзор последних достижений в области далее раскрывает общие концепции, постоянно растущие преимущества и популярность глубокого обучения.

Klimova E.N. associate Professor of DSTU Russia, Rostov-on-don Semenov I.A. bachelor of the 4th year of DSTU Russia, Rostov-on-don DEEP LEARNING AS AN ADVANCED FIELD OF ARTIFICIAL INTELLIGENCE RESEARCH Annotation. In this article, the authors consider and analyze the system of modern principles and conceptual approaches to the study of deep learning. Deep learning is an advanced area of machine learning (ML) research. It consists of several hidden layers of artificial neural networks. The deep learning methodology applies nonlinear transformations and high-level model abstractions to large databases. Recent advances in the implementation of deep learning architecture in numerous areas have already made a significant contribution to the development of

artificial intelligence. This article presents current research on the contribution and new applications of deep learning. The following overview presents, in chronological order, how and in which of the most significant applications deep learning algorithms were used. In addition, the benefits and advantages of deep learning methodology in its multi-layer hierarchy and nonlinear operations are presented, which are compared with more traditional algorithms in conventional applications. An overview of the latest developments in the fieldfurther reveals the General concepts, the ever-growing benefits and popularity of deep learning.

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

Нейронная сеть (искусственная нейронная сеть) — это попытка воспроизведения работы человеческого мозга на компьютере при помощи слоев нейронов.

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

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

Машинное обучение — это попытка научить компьютеры самостоятельно обучаться на большом количестве данных вместо жестко постулированных правил.

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

Контролируемое и неконтролируемое обучение

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

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

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

Неконтролируемое обучение (обучение без учителя, unsupervised learning) — это машинное обучение с использованием наборов данных без определенной структуры.

Когда вы обучаете нейросеть неконтролируемо, она самостоятельно

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

ГЛУБОКОЕ ОБУЧЕНИЕ

Теперь вы подготовлены к изучению того, что такое глубокое обучение и как оно работает.

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

Рисунок 1. Разница между машинным и глубоким обучением

Рассмотрим, как работает глубокое обучение, на примере сервиса по оценке стоимости авиабилета. Мы будем обучать его контролируемым образом.

Мы хотим, чтобы наш сервис предсказывал цену на авиабилет по следующим входным данным:

• аэропорт вылета;

• аэропорт назначения;

• дата отбытия;

• авиакомпания.

НЕЙРОННЫЕ СЕТИ ГЛУБОКОГО ОБУЧЕНИЯ

Давайте заглянем внутрь нашей модели. Как и искусственная нейронная сеть содержит взаимосвязанные диаграмме они представлены кругами:

у животных, нейроны. На

input layer

hidden layer 1 hidden layer 2

Рисунок 2. Глубокая нейронная сеть (с двумя скрытыми слоями)

Нейроны сгруппированы в три различных типа слоев:

• входной слой;

• скрытый слой (слои);

• выходной слой.

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

Скрытые слои выполняют математические вычисления со входными данными. Одна из задач при создании нейронных сетей — определение количества скрытых слоев и нейронов на каждом слое. Слово «глубина» в термине «глубокое обучение» означает наличие более чем одного скрытого слоя.

Выходной слой выдает результат. В нашем случае это прогноз цены на билет.

Рисунок 3. Схема создания выходного результата.

Итак, как же вычисляется цена? Здесь вступает в силу «магия» глубокого обучения. Нейроны связаны между собой с определенным весом. Вес определяет важность элемента входных данных. Исходные веса задаются случайным образом.

ОБУЧЕНИЕ ГЛУБОКОЙ СЕТИ

Обучение нейросети — самая сложная часть глубокого обучения. Почему?

• Вам нужен большой набор данных.

• Вам нужно большое количество вычислительной мощности.

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

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

Как уменьшить значение функции потерь?

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

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

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

J(w)

Initial weight

Gradient

/

Global cost minimum

w

Для минимизации функции потерь нужно многократно перебирать данные. Именно поэтому нам требуется большая вычислительная мощность. Уточнение весов с помощью градиентного спуска выполняется автоматически. В этом и состоит магия глубокого обучения!

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

• Глубокое обучение использует нейронную сеть для воспроизведения интеллекта животных.

• Существует три типа слоев нейронов в нейронной сети: входной слой, скрытый слой (слои) и выходной слой.

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

• Для обучения глубокой нейронной сети необходим реально большой набор данных.

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

• После каждой итерации (epoch) веса между нейронами перераспределяются с помощью метода градиентного спуска для минимизации функции потерь.

Использованные источники:

1. Lean Analytics — Алистер Кролл, Бенджамин Йосковиц 2017. January-February.

2. Data Science at the Command Line - Жерон Янссенс.

3. Гудфеллоу Я., Бенджио И., Курвилль А. - Глубокое обучение, 2017 г.

4. https://ru.wikipedia.org/wiki/Глубокое_обучение

5. https://habr.com/ru/company/otus/blog/459785/ Контактный email - mr.ilya2015@mail.ru

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