vault backup: 2026-05-07 15:52:15
This commit is contained in:
@@ -1,113 +1,204 @@
|
||||
---
|
||||
status: processing
|
||||
type: concept
|
||||
tags: []
|
||||
tags:
|
||||
- machine-learning
|
||||
- neural-networks
|
||||
created: 2025-12-17
|
||||
updated: 2026-05-07
|
||||
title: Нейронные сети - ДВ
|
||||
title: Нейронные сети
|
||||
---
|
||||
|
||||
# Нейронные сети - ДВ
|
||||
Два основных направления исследование по ИИ:
|
||||
1) Моделирование результатов естественного мышления
|
||||
- Важнее всего результат
|
||||
- Хорошее совпадение поведения Искусственно-созданных и естественных интеллектуальных систем
|
||||
- Внутренние механизмы не важны
|
||||
1) Моделирование механизмов естественного мышления
|
||||
# Нейронные сети
|
||||
|
||||
*В первой точке зрения* рассматривается продукт интеллектуальной деятельности человека, изучается его структура и ставится цель воспроизвести этот продукт средствами современной техники (машинный интеллект).
|
||||
(Системы нечеткого вывода, экспертные системы, построенные по принципу **баз знаний**)
|
||||
Нейронные сети - модели машинного обучения, вдохновлённые принципами работы биологических нейронов. Их основа - набор связанных искусственных нейронов, которые преобразуют входной вектор $X$ в выходной вектор $Y$.
|
||||
|
||||
*Во втором* направлении рассматриваются данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности и разумного поведения человека. Ставится цель воспроизвести эти механизмы с помощью тех или иных технических устройств.
|
||||
(Рассматривают принципы функционирования и попытки смоделировать эти принципы, например, *нейронные сети*)
|
||||
## Два направления в ИИ
|
||||
|
||||
В исследованиях искусственного интеллекта можно выделить два направления:
|
||||
|
||||
1. **Моделирование результатов естественного мышления**
|
||||
- важен результат;
|
||||
- внутренние механизмы не обязательны;
|
||||
- цель - получить поведение, похожее на поведение естественных интеллектуальных систем.
|
||||
|
||||
Примеры: системы нечёткого вывода, экспертные системы, построенные по принципу баз знаний.
|
||||
|
||||
2. **Моделирование механизмов естественного мышления**
|
||||
- важны нейрофизиологические и психологические механизмы;
|
||||
- цель - воспроизвести эти механизмы техническими средствами.
|
||||
|
||||
Нейронные сети относятся ко второму направлению.
|
||||
|
||||
## Биологический нейрон
|
||||
|
||||
![[Pasted image 20260410103922.png]]
|
||||
|
||||
Входные сигналы дендритного дерева взвешиваются и суммируются на пути к аксонам, где генерируется выходной импульс. Выходной сигнал передается (проходит) по ветвям аксона, достигает синапсов, которые соединяют аксоны с дендритами других нейронов.
|
||||
Входные сигналы дендритного дерева взвешиваются и суммируются на пути к аксону, где генерируется выходной импульс. Выходной сигнал проходит по ветвям аксона и достигает синапсов, соединяющих аксоны с дендритами других нейронов.
|
||||
|
||||
Нейроны бывают:
|
||||
1) Рецепторные - обеспечивают ввод в мозг сенсорной информации, поступающей от органов чувств;
|
||||
2) Промежуточные - трансформируют сигналы, поступившие от рецепторов (рецепторных нейронов) и передают их эффекторным;
|
||||
3) Эффекторные - отображают необходимое действие.
|
||||
Типы нейронов:
|
||||
|
||||
В 40-х годах прошлого столетия, человечество задумалось о возможности моделировать умственный процесс человека с помощью ЭВМ.
|
||||
В 1957 году появляется примитивная модель - Персептрон Розенблатта.
|
||||
1. **Рецепторные** - вводят в мозг сенсорную информацию от органов чувств.
|
||||
2. **Промежуточные** - трансформируют сигналы от рецепторных нейронов и передают их дальше.
|
||||
3. **Эффекторные** - формируют необходимое действие.
|
||||
|
||||
С 70-х годов началось бурное развитие этого направления.
|
||||
В 1957 году Фрэнк Розенблатт предложил модель персептрона. С 1970-х годов нейросетевое направление начало активно развиваться.
|
||||
|
||||
Основной задачей стала задача распознавания образом (первичной - распознавание образов букв)
|
||||
Самой сложной задачей является задача классификации (например, задачей распознавания лиц)
|
||||
Одна из классических задач нейронных сетей - распознавание образов: букв, лиц, объектов и т.д.
|
||||
|
||||
Искусственный нейрон состоит из элементов тех типов:
|
||||
- Умножители (синапсы)
|
||||
- Сумматоры
|
||||
- Нелинейные преобразователи
|
||||
## Искусственный нейрон
|
||||
|
||||
Искусственный нейрон состоит из трёх основных элементов:
|
||||
|
||||
- умножители, или синапсы;
|
||||
- сумматор;
|
||||
- нелинейный преобразователь, или функция активации.
|
||||
|
||||
![[Pasted image 20260410105854.png]]
|
||||
|
||||
Функцию активации ещё часто называют блоком нелинейного преобразования
|
||||
Функцию активации часто называют блоком нелинейного преобразования.
|
||||
|
||||
![[Pasted image 20260410110002.png]]
|
||||
|
||||
При этом, к $S$ может прибавляться некоторое смещение, называемое *порогом срабатывания нейрона*: $S = \sum\limits_{i=1}^{n}\omega_{i}*x_{i}+b$
|
||||
Взвешенная сумма входов:
|
||||
|
||||
Функцией активации нейрона, как правило, является *сигмоида*.
|
||||
$$
|
||||
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]]
|
||||
В качестве активационной функции также часто используется гиперболический тангенс.
|
||||
$$th(x)= \frac{sh(x)}{ch(x)}=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}=\frac{e^{2x}-1}{e^{2x}+1}$$
|
||||
Подобно логистической функции гиперболический тангенс является s-образной функцией, но он симметричен относительно начала координат, и в точке 0 значение выходного сигнала равно нулю.
|
||||
Для логистической функции:
|
||||
|
||||
## Функция активации сети Хопфилда
|
||||
$$y_{i} = \begin{cases} 1, \\ -1 \end{cases}$$
|
||||
$$
|
||||
f'(x)=a f(x)(1-f(x))
|
||||
$$
|
||||
|
||||
![[Pasted image 20260413131243.png]]
|
||||
|
||||
Бинарная функция:
|
||||
1, если S больше порога
|
||||
0, если S < порога ($\theta$)
|
||||
|
||||
## Модели нейронных сетей
|
||||
### Персептрон
|
||||
\- *Персептрон*, или *перцептрон* (англ. perceptron от лат. perceptio — восприятие; нем. perzeptron) — математическая и компьютерная модель восприятия информации мозгом (кибернетическая модель мозга), предложенная Фрэнком Розенблаттом в 1957 году и реализованная в виде электронной машины "Марк-1" в 1960 году.
|
||||
|
||||
Любая нейронная сеть осуществляет некоторое нелинейное преобразование: $Y=F(X)$
|
||||
|
||||
Сущность нелинейного преобразования зависит от архитектуры сети и от характеристик самих нейронов (функции активации)
|
||||
|
||||
Нейронные сети в процессе функционирования осуществляется преобразование входного вектора $X$ в элементами $x_{1}, x_{2},\dots, x_{n}$ в выходной вектор $Y$ с компонентами $y_{1},\dots, y_{m}$
|
||||
Конкретный вид, выполняемого сетью преобразования, зависит от архитектуры сети и от характеристик отдельных нейронов.
|
||||
Преимущество НС - <u>обучаемость</u>.
|
||||
|
||||
Внутри сети могут быть представлены в виде совокупности матриц весов.
|
||||
Суть обучения сводится к настройке весов ($W$), чтобы для заданног вектора X из обуч. выборки, чтобы на выходе получить наиболее близкий вектор Y.
|
||||
|
||||
Процесс обучения с учителем:
|
||||
$X^{1} \to D^{1} \approx Y^{1}$
|
||||
$X^{2} \to D^{2}$
|
||||
$\vdots$
|
||||
$X^{p} \to D^{p}$
|
||||
|
||||
Задача классификации, задача кластеризации и задача прогнозирования - решаются с помощью НС.
|
||||
|
||||
Персептрон - *один* слой искусственных нейронов.
|
||||
|
||||
Перспептрон решает задачу линейной разделимости:
|
||||
Разбиение гиперпространства гиперплоскостями.
|
||||
|
||||
## Обучение нейронных сетей
|
||||
|
||||
Обучение сети с учителем сводится к настройке весов так, чтобы выход $Y$ был близок к целевому ответу $D$. Для многослойных сетей основной алгоритм вычисления градиентов - [[Обратное распространение ошибки]].
|
||||
|
||||
Если в качестве функции активации используется сигмоида, её производная выражается через уже вычисленное значение функции:
|
||||
Если $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)}
|
||||
$$
|
||||
|
||||
Нейронные сети применяются для задач классификации, прогнозирования, распознавания образов и других задач приближения сложных функций.
|
||||
|
||||
Для многослойных сетей основной алгоритм вычисления градиентов - [[Обратное распространение ошибки]]. Для сети с произвольным числом слоёв схема вынесена в [[Обратное распространение ошибки для произвольного числа слоев НС]].
|
||||
|
||||
## Персептрон
|
||||
|
||||
**Персептрон**, или **перцептрон**, - математическая модель восприятия информации, предложенная Фрэнком Розенблаттом в 1957 году и реализованная в машине «Марк-1» в 1960 году.
|
||||
|
||||
Персептрон - один слой искусственных нейронов. Он решает задачу линейной разделимости: разделяет пространство признаков гиперплоскостью.
|
||||
|
||||
По смыслу это близко к [[Линейные модели|линейным моделям]], потому что решение строится через линейную комбинацию входных признаков и весов.
|
||||
|
||||
## Связанные заметки
|
||||
|
||||
- [[Обратное распространение ошибки]]
|
||||
- [[Обратное распространение ошибки для произвольного числа слоев НС]]
|
||||
- [[Линейные модели]]
|
||||
|
||||
Reference in New Issue
Block a user