1 of 18

ВВЕДЕНИЕ В НЕЙРОННЫЕ СЕТИ

Файзулин Максим

Москва, 2023

2 of 18

ЧТО ТАКОЕ НЕЙРОННЫЕ СЕТИ

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

3 of 18

ЧТО ТАКОЕ НЕЙРОННЫЕ СЕТИ

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

С точки зрения математики, обучение нейронных сетей — это многопараметрическая задача нелинейной оптимизации;

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

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

4 of 18

ЗАЧЕМ НУЖНЫ НЕЙРОННЫЕ СЕТИ

Диагностировать заболевания сельскохозяйственных культур и других растений по фото с точностью до 99,35% (пример с комбайном). Источник

Прогнозировать погоду. Этим занимается, например, «Яндекс.Погода»

Перевод изображение в другие цветовые палитры (из ч/б в цветную), улучшение качества изображений

Использование классификаторов для нахождения древесных пород на основе снимков ГИС

Проведение сентимент-анализа: классификация тональности текстовых корпусов

Предсказание будущего движения цен финансовых активов, их ликвидности, бид-аск спрэд

И куча всего еще другого…

5 of 18

ЧТО ИСПОЛЬЗУЕМ МЫ?

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

  1. Многослойный перцептрон (Multilayered perceptron)

  • Сеть долгой краткосрочной памяти (Long short-term memory; LSTM)

  • Сверточная нейронная сеть (Convolutional neural network, CNN)

  • Гибридная нейронная сеть (LSTM-CNN)

6 of 18

КАКИЕ ДАННЫЕ БУДЕМ ИСПОЛЬЗОВАТЬ

Для реализации задач классификации или предсказания будущих значений доходности / котировок криптоактивов мы будем использовать следующие виды данных:

1) Биржевые характеристики активов (дневные данные): цены закрытия и открытия, максимальные и минимальные значения цен, объем торгов

2) Технические индикаторы: MACD, RSI, Полосы Боллинджера, MA, EMA и др.

3) Текстовые корпуса: сообщения и комментарии с различных веб-ресурсов. Перевод текстовых данных в векторное пространство.

7 of 18

ПРЕДОБУЧЕННЫЕ МОДЕЛИ

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

1) Для решения задачи классификации текстовых данных нам помогут: VADER, DistilBERT, FinBERT

2) Для решения задачи классификации движения цен (вверх / вниз): BERT

3) Для решения задачи предсказания будущего значения цен / доходностей актива: BERT

Пример гибридной архитектуры. Источник

8 of 18

Перцептрон состоит из трёх типов элементов, а именно: поступающие от датчиков сигналы передаются ассоциативным элементам, а затем — реагирующим элементам.

Концептуальная модель

Схема искусственного нейрона

ПЕРЦЕПТРОН РОЗЕНБЛАТТА

9 of 18

ПЕРЦЕПТРОН РОЗЕНБЛАТТА

Основное условие определения значения выходного слоя – функция, состоящая из двух условий (0 и 1):

Основное условие

Схема искусственного нейрона

Функция активации принимает собой линейный вид, либо такая функция не используется совсем

10 of 18

КАК ИЩЕМ ВЕСА ДЛЯ ПЕРЦЕПТРОНА?

Случай без функций активации (с учетом нескольких функций ошибок):

  1. Находим по каждому наблюдению выходное значение с нулевыми весами по формуле:

  • Выбираем функцию ошибки и определяем общую дельту

среднеквадратичная ошибка (Mean Squared Error, MSE)

среднеквадратичное отклонение (Root MSE)

среднее отклонение (Mean Absolute Error, MAE)

перекрестная энтропия (Cross entropy)

11 of 18

КАК ИЩЕМ ВЕСА ДЛЯ ПЕРЦЕПТРОНА?

3) Обратное распространение ошибки (backpropagation)

Цель обучения нейронной сети – это минимизация функции ошибки (L):

де k – k -ая итерация обучения нейронной сети;

m – шаг обучения (learning rate), обычно это может быть 0.1; 0.01

L – градиент функции-ошибки

Х1

W1

X2

W2

Y

5

0

1

0

0

6

0

2

0

0

7

0,2

3

0,5

1

12 of 18

КАК ИЩЕМ ВЕСА ДЛЯ ПЕРЦЕПТРОНА?

Х1

W1

X2

W2

Y

5

0

1

0

0

6

0

2

0

0

7

0,2

3

0,5

1

Решить задачу калибровки весов на основе текущих данных (уровень обучения используем = 0,1; 0,01; 0,001):

среднеквадратичная ошибка (Mean Squared Error, MSE)

среднее отклонение (Mean Absolute Error, MAE)

Задачу требуется решить за счет двух функций ошибок с разными уровнями обучения!

Какие проблемы возникли?

Что можем сказать про уровни обучения?

Какую функцию потерь лучше использовать?

Задачу требуется решить за счет двух функций ошибок с разными уровнями обучения!

13 of 18

ФУНКЦИИ АКТИВАЦИИ

Схема искусственного нейрона

14 of 18

КАК ИЩЕМ ВЕСА ДЛЯ ПЕРЦЕПТРОНА?

Х1

W1

X2

W2

Y

5

0

1

0

0

6

0

2

0

0

7

0,2

3

0,5

1

Решить задачу калибровки весов на основе текущих данных (уровень обучения используем = 0,001):

среднеквадратичная ошибка (Mean Squared Error, MSE)

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

Подсказка: градиент функции ошибки теперь зависит еще от функции активации. Требуется найти сложную производную

15 of 18

РЕШЕНИЕ ЗАДАЧИ

 

16 of 18

РЕШЕНИЕ ЗАДАЧИ

 

17 of 18

МНОГОСЛОЙНЫЙ ПЕРЦЕПТРОН РУМЕЛЬХАРТА

Многослойный перцептрон — частный случай перцептрона Розенблатта, в котором один алгоритм обратного распространения ошибки обучает все слои. Название по историческим причинам не отражает особенности данного вида перцептрона, то есть не связано с тем, что в нём имеется несколько слоёв (так как несколько слоёв было и у перцептрона Розенблатта). Особенностью является наличие более чем одного обучаемого слоя (как правило — два или три).

Отличия от простого перцептрона Розенблатта:

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

Вопрос: Прошлая задача по нахождению весов входных параметров является простым или многослойным перцептроном?

18 of 18