9.1 KiB
status, type, tags, created, updated, title
| status | type | tags | created | updated | title | ||
|---|---|---|---|---|---|---|---|
| processing | concept |
|
2025-12-17 | 2026-05-07 | Нейронные сети |
Нейронные сети
Нейронные сети - модели машинного обучения, вдохновлённые принципами работы биологических нейронов. Их основа - набор связанных искусственных нейронов, которые преобразуют входной вектор X в выходной вектор Y.
Два направления в ИИ
В исследованиях искусственного интеллекта можно выделить два направления:
-
Моделирование результатов естественного мышления
- важен результат;
- внутренние механизмы не обязательны;
- цель - получить поведение, похожее на поведение естественных интеллектуальных систем.
Примеры: системы нечёткого вывода, экспертные системы, построенные по принципу баз знаний.
-
Моделирование механизмов естественного мышления
- важны нейрофизиологические и психологические механизмы;
- цель - воспроизвести эти механизмы техническими средствами.
Нейронные сети относятся ко второму направлению.
Биологический нейрон
!
Входные сигналы дендритного дерева взвешиваются и суммируются на пути к аксону, где генерируется выходной импульс. Выходной сигнал проходит по ветвям аксона и достигает синапсов, соединяющих аксоны с дендритами других нейронов.
Типы нейронов:
- Рецепторные - вводят в мозг сенсорную информацию от органов чувств.
- Промежуточные - трансформируют сигналы от рецепторных нейронов и передают их дальше.
- Эффекторные - формируют необходимое действие.
В 1957 году Фрэнк Розенблатт предложил модель персептрона. С 1970-х годов нейросетевое направление начало активно развиваться.
Одна из классических задач нейронных сетей - распознавание образов: букв, лиц, объектов и т.д.
Искусственный нейрон
Искусственный нейрон состоит из трёх основных элементов:
- умножители, или синапсы;
- сумматор;
- нелинейный преобразователь, или функция активации.
!
Функцию активации часто называют блоком нелинейного преобразования.
!
Взвешенная сумма входов:
S=\sum\limits_{i=1}^{n}\omega_i x_i+b
где:
x_i- входной сигнал;\omega_i- вес входа;b- смещение (bias).
Смещение можно интерпретировать как порог срабатывания нейрона.
Функции активации
Функция активации добавляет нелинейность. Без неё многослойная сеть сводилась бы к одному линейному преобразованию, а значит не могла бы эффективно моделировать сложные зависимости.
Сигмоида
Функцией активации нейрона часто является сигмоида.
!
Для логистической функции:
f'(x)=a f(x)(1-f(x))
Если a=1, то:
y'=y(1-y)
То есть производную можно вычислить через уже полученное значение функции. Это удобно для Обратное распространение ошибки.
!
Гиперболический тангенс
В качестве функции активации также используется гиперболический тангенс:
\operatorname{th}(x)
=
\frac{\operatorname{sh}(x)}{\operatorname{ch}(x)}
=
\frac{e^x-e^{-x}}{e^x+e^{-x}}
=
\frac{e^{2x}-1}{e^{2x}+1}
Как и логистическая функция, гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат. В точке 0 его значение равно 0.
Бинарная функция
Для сети Хопфилда может использоваться бинарная функция активации:
y_i =
\begin{cases}
1, \\
-1
\end{cases}
!
В другом варианте бинарная функция возвращает:
y =
\begin{cases}
1, & S \ge \theta \\
0, & S < \theta
\end{cases}
где \theta - порог.
Модели нейронных сетей
Любая нейронная сеть выполняет нелинейное преобразование:
Y=F(X)
Сеть преобразует входной вектор:
X=(x_1,x_2,\dots,x_n)
в выходной вектор:
Y=(y_1,y_2,\dots,y_m)
Конкретный вид преобразования зависит от архитектуры сети, весов и функций активации.
Преимущество нейронных сетей - обучаемость. Веса сети можно представить как набор матриц. Суть обучения сводится к настройке этих весов так, чтобы для входного объекта X сеть выдавала выход Y, близкий к правильному ответу D.
Отдельный класс составляют сети ассоциативной памяти, например Сети Хопфилда и Хэмминга. В них веса могут задаваться один раз по эталонным образам, а дальнейшая работа сводится к восстановлению или выбору ближайшего сохранённого образа.
Обучение с учителем
Процесс обучения с учителем:
X^{(1)} \rightarrow D^{(1)} \approx Y^{(1)}
X^{(2)} \rightarrow D^{(2)} \approx Y^{(2)}
\vdots
X^{(p)} \rightarrow D^{(p)} \approx Y^{(p)}
Нейронные сети применяются для задач классификации, прогнозирования, распознавания образов и других задач приближения сложных функций.
Для многослойных сетей основной алгоритм вычисления градиентов - Обратное распространение ошибки. Для сети с произвольным числом слоёв схема вынесена в Backpropagation для многослойной нейронной сети.
Персептрон
Персептрон, или перцептрон, - математическая модель восприятия информации, предложенная Фрэнком Розенблаттом в 1957 году и реализованная в машине «Марк-1» в 1960 году.
Персептрон - один слой искусственных нейронов. Он решает задачу линейной разделимости: разделяет пространство признаков гиперплоскостью.
По смыслу это близко к Линейные модели, потому что решение строится через линейную комбинацию входных признаков и весов.
Связанные заметки
- Обратное распространение ошибки
- Backpropagation для многослойной нейронной сети
- Сети Хопфилда и Хэмминга
- Линейные модели