HimeraSearchDB
Carding_EbayThief
triada
CrackerTuch
d-shop

НОВОСТИ Машинное обучение (часть 1): нейронный сети, общая теоретическая часть

NewsBot
Оффлайн

NewsBot

.
.
Регистрация
21.07.20
Сообщения
40.408
Реакции
1
Репутация
0
При классическом программировании разработчик описывает на конкретном языке программирования определённый жестко заданный набор правил, которые были определены на основании его знаний в конкретной предметной области и которые в первом приближении описывают процессы, происходящие в человеческом мозге при решении аналогичной задачи. Например, может быть запрограммирована стратегия игры в крестики-нолики, шахмат и другое (рисунок 1).

s6nwvoo6mluwvgexhtsfkrtj1km.png

Рисунок 1 – Классический подход решения задач

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

wgytid6by7wifm2webara1htvoq.png

Рисунок 2 – Машинное обучение

2. Нейронные сети
Долгое время учёные, вдохновляясь процессами происходящими в нашем мозге, пытались сделать реверс-инжиниринг центральной нервной системы и попробовать сымитировать работу человеческого мозга. Благодаря этому родилось целое направление в машинном обучении — нейронные сети.
На рисунке вы можете увидеть сходство между устройством биологического нейрона и математическим представлением нейрона, используемого в машинном обучении (рисунок 3).


qywixbink4zqn0l3qdlerxvhtdq.png

Рисунок 3 – Математическое представление нейрона

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

3. Персептрон
Математическая модель нейронной сети, состоящего из одного нейрона, который выполняет выполняет две последовательные операции (рисунок 4):
— вычисляет сумму входных сигналов с учетом их весов (проводимости или сопротивления) связи


1c59f6fadf76e087fdec5734df061f0a.svg


— применяет активационную функцию к общей сумме воздействия входных сигналов.


78b6c2a2393c279c75bee9924bdc5c21.svg



zqpf7gclmquo4j88mrfovoyz9ma.png

Рисунок 4 – Математическая модель персептрона

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

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


Таблица 1 - Распространенные активационные функции

Имя

Формула

График

Linear function



e256753be7b6781b0c1587d0254b52f8.svg



wy_6bwefcfs4jhfwq0habz3lhls.jpeg
.

Sigmoid function



a6d1b6ec7e75cc289cb7087741eb5c1e.svg



61myzd8rhbji_ik2gol3u8itpns.jpeg


Softmax function



b7f3451dc31c0b3e7bb30f35af70a954.svg





161969e3af736f89376c35877ec28662.svg


Используется для задач классификации (где количество классов более 2)

Hyperbolic Tangent function



ed783f889001f018c9cbd6da37ee1613.svg



af4bsctsebh5tq8vyesitgqj69o.jpeg

Сжимает входной сигнал в интервале [-1, 1]. Применяется в скрытых слоях нейронной сети, так как центрирует выходной сигнал относительно нуля, что ускоряет процесс обучения

Rectified Linear Unit (ReLU)



ab6ea59190aad84d828fa26077c4245b.svg



e_uk-pyfoonxem2atmm11myj9x4.jpeg

Используется в скрытых слоях нейронной сети, имеет лучшую сходимость, чем sigmoid и tanh функции

Leaky ReLU



eec10284e92cd344420e67106db3b12f.svg



jvp56fqxw_mb8no0wcty5fd6toc.jpeg

Лишен недостаток ReLU функции в интервале отрицательных выходных сигналов, где частичная производная равна 0
 
Сверху Снизу