--- status: processing type: concept tags: - machine-learning - neural-networks created: 2025-12-17 updated: 2026-05-07 title: Нейронные сети --- # Нейронные сети Нейронные сети - модели машинного обучения, вдохновлённые принципами работы биологических нейронов. Их основа - набор связанных искусственных нейронов, которые преобразуют входной вектор $X$ в выходной вектор $Y$. ## Два направления в ИИ В исследованиях искусственного интеллекта можно выделить два направления: 1. **Моделирование результатов естественного мышления** - важен результат; - внутренние механизмы не обязательны; - цель - получить поведение, похожее на поведение естественных интеллектуальных систем. Примеры: системы нечёткого вывода, экспертные системы, построенные по принципу баз знаний. 2. **Моделирование механизмов естественного мышления** - важны нейрофизиологические и психологические механизмы; - цель - воспроизвести эти механизмы техническими средствами. Нейронные сети относятся ко второму направлению. ## Биологический нейрон ![[Pasted image 20260410103922.png]] Входные сигналы дендритного дерева взвешиваются и суммируются на пути к аксону, где генерируется выходной импульс. Выходной сигнал проходит по ветвям аксона и достигает синапсов, соединяющих аксоны с дендритами других нейронов. Типы нейронов: 1. **Рецепторные** - вводят в мозг сенсорную информацию от органов чувств. 2. **Промежуточные** - трансформируют сигналы от рецепторных нейронов и передают их дальше. 3. **Эффекторные** - формируют необходимое действие. В 1957 году Фрэнк Розенблатт предложил модель персептрона. С 1970-х годов нейросетевое направление начало активно развиваться. Одна из классических задач нейронных сетей - распознавание образов: букв, лиц, объектов и т.д. ## Искусственный нейрон Искусственный нейрон состоит из трёх основных элементов: - умножители, или синапсы; - сумматор; - нелинейный преобразователь, или функция активации. ![[Pasted image 20260410105854.png]] Функцию активации часто называют блоком нелинейного преобразования. ![[Pasted image 20260410110002.png]] Взвешенная сумма входов: $$ S=\sum\limits_{i=1}^{n}\omega_i x_i+b $$ где: - $x_i$ - входной сигнал; - $\omega_i$ - вес входа; - $b$ - смещение (*bias*). Смещение можно интерпретировать как порог срабатывания нейрона. ## Функции активации Функция активации добавляет нелинейность. Без неё многослойная сеть сводилась бы к одному линейному преобразованию, а значит не могла бы эффективно моделировать сложные зависимости. ### Сигмоида Функцией активации нейрона часто является сигмоида. ![[Pasted image 20260410110555.png]] Для логистической функции: $$ f'(x)=a f(x)(1-f(x)) $$ Если $a=1$, то: $$ y'=y(1-y) $$ То есть производную можно вычислить через уже полученное значение функции. Это удобно для [[Обратное распространение ошибки|обратного распространения ошибки]]. ![[Pasted image 20260413130714.png]] ### Гиперболический тангенс В качестве функции активации также используется гиперболический тангенс: $$ \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} $$ ![[Pasted image 20260413131243.png]] В другом варианте бинарная функция возвращает: $$ 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 для многослойной нейронной сети]] - [[Линейные модели]]