Рисунок 1 Классический подход решения задач
В то время как алгоритмы машинного обучения могут определять набор правил для решения задач без участия разработчика, а только на базе наличия тренировочного набора данных. Тренировочный набор это какой-то набор входных данных ассоциированный с набором ожидаемых результатов (ответами, выходными данными). На каждом шаге обучения, модель за счет изменения внутреннего состояния, будет оптимизировать и уменьшать ошибку между фактическим выходным результатом модели и ожидаемым результатом (рисунок 2)
Рисунок 2 Машинное обучение
2. Нейронные сети
Долгое время учёные, вдохновляясь процессами происходящими в нашем мозге, пытались сделать реверс-инжиниринг центральной нервной системы и попробовать сымитировать работу человеческого мозга. Благодаря этому родилось целое направление в машинном обучении нейронные сети.
На рисунке вы можете увидеть сходство между устройством биологического нейрона и математическим представлением нейрона, используемого в машинном обучении (рисунок 3).
Рисунок 3 Математическое представление нейрона
В биологическом нейроне, нейрон получает электрические сигналы от дендритов, модулирующих электрические сигналы с разной силой, которые могут возбуждать нейрон при достижении некоторого порогового значения, что в свою очередь приведёт к передаче электрического сигнала другим нейронам через синапсы.
3. Персептрон
Математическая модель нейронной сети, состоящего из одного нейрона, который выполняет выполняет две последовательные операции (рисунок 4):
- вычисляет сумму входных сигналов с учетом их весов
(проводимости или сопротивления) связи
- применяет активационную функцию к общей сумме воздействия
входных сигналов.
Рисунок 4 Математическая модель персептрона
В качестве активационной функции может использоваться любая дифференцируемая функция, наиболее часто используемые приведены в таблице 1. Выбор активационной функции ложиться на плечи инженера, и обычно этот выбор основан или на уже имеющемся опыте решения похожих задач, ну или просто методом подбора.
Заметка:
Однако есть рекомендация что если нужна нелинейность в нейронной сети, то в качестве активационной функции лучше всего подходит ReLU функция, которая имеет лучшие показатели сходимости модели во время процесса обучения.
Имя | Формула | График |
Linear function |
. |
|
Sigmoid function |
|
|
Softmax function |
Используется для задач классификации (где количество классов более 2) |
|
Hyperbolic Tangent function |
|
Сжимает входной сигнал в интервале [-1, 1]. Применяется в скрытых слоях нейронной сети, так как центрирует выходной сигнал относительно нуля, что ускоряет процесс обучения |
Rectified Linear Unit (ReLU) |
|
Используется в скрытых слоях нейронной сети, имеет лучшую сходимость, чем sigmoid и tanh функции |
Leaky ReLU |
|
Лишен недостаток ReLU функции в интервале отрицательных выходных сигналов, где частичная производная равна 0 |