Нейронная сеть

Материал из Поле цифровой дидактики
(перенаправлено с «ANN»)


Описание Нейронная сеть — это метод в искусственном интеллекте, который учит компьютеры обрабатывать данные таким же способом, как и человеческий мозг. Это тип процесса машинного обучения, называемый глубоким обучением, который использует взаимосвязанные узлы или нейроны в слоистой структуре, напоминающей человеческий мозг. Он создает адаптивную систему, с помощью которой компьютеры учатся на своих ошибках и постоянно совершенствуются. Таким образом, искусственные нейронные сети пытаются решать сложные задачи, такие как резюмирование документов или распознавание лиц, с более высокой точностью. Нейросеть или нейронная сеть - искусственные нейронные сети используют некоторую аналогию с работой живых нервных клеток.
Область знаний Информатика
Авторы
Поясняющее видео
Близкие понятия Синапс, нейрон, мозг человека, нейронная связь, Нейроэволюция, Машинное обучение, K-means
Среды и средства для освоения понятия Scratch, Snap!, Python

Естественная нейронная сеть — это последовательность нейронов, соединенных между собой синапсами. Структура нейронной сети пришла в мир программирования из биологии. Благодаря такой структуре, машина обретает способность анализировать и даже запоминать различную информацию.

460px-Neural_network.svg.png

Жизненный цикл нейронной сети, как и любой модели машинного обучения, состоит из двух этапов: обучение (training) и применение (inference).

Первая искусственная нейронная сеть появилась в 1954 году она была разработана Белмонтом Фарли и Уэсли Кларком из Массачусетского технологического института. Сеть была ограничена 128 нейронами и позволяла распознавать простые паттерны. В процессе обучения на вход подается вектор признаков, описывающий объект (массив значений), число элементов которого равно числу входных нейронов, на внутренних слоях происходит обработка сигналов, сеть преобразовывает сигнал в выходной слой

Типы нейронный сетей?

Базовый тип нейронных сетей — это сеть прямого распространения - сеть с последовательным соединением нейронных слоев, в ней информация всегда идет только в одном направлении.

Функции активации нейронов

Neurons can have different activation functions.

Three different functions are described here:

Hard limit function

A neuron with a hard limit function

[math]\displaystyle{ \varphi^{\mbox{hlim}}(v) = \begin{cases} 1 & \mbox{for } v \geq 0 \\ 0 & \mbox{for } v \lt 0 \end{cases} }[/math]

Piecewise linear function

[math]\displaystyle{ \varphi^{\mbox{pwl}}(v) = \begin{cases} 1 & \mbox{for } v \geq \frac{1}{2} \\ v + \frac{1}{2} & \mbox{for } -\frac{1}{2} \lt v \lt \frac{1}{2} \\ 0 & \mbox{for } v \leq -\frac{1}{2} \end{cases} }[/math]

Sigmoid function

A sigmoid function is also called a McCulloch-Pitts Model. can have a variable slope parameter [math]\displaystyle{ a }[/math]

Самая распространённая функция активации, ее диапазон значений [0,1]. Именно на ней показано большинство примеров в сети, также ее иногда называют логистической функцией.


[math]\displaystyle{ \varphi_a^{\mbox{sig}}(v) = \frac{1}{1 + \exp(-av)}. }[/math]

Для чего нужны нейронные сети?

Нейронные сети используются для решения сложных задач, которые требуют аналитических вычислений подобных тем, что делает человеческий мозг. Самыми распространенными применениями нейронных сетей является:

  1. Классификация — распределение данных по параметрам. Например, на вход дается набор людей и нужно решить, кому из них давать кредит, а кому нет. Эту работу может сделать нейронная сеть, анализируя такую информацию как: возраст, платежеспособность, кредитная история и тд.
  2. Предсказание — возможность предсказывать следующий шаг. Например, рост или падение акций, основываясь на ситуации на фондовом рынке.
  3. Распознавание — в настоящее время, самое широкое применение нейронных сетей. Используется в Google, когда вы ищете фото или в камерах телефонов, когда оно определяет положение вашего лица и выделяет его и многое другое.

Примеры

GA + ANN stands for 'Genetic Algorithm + Artificial Neural Network', as in a way to train a simulated population through a genetic algorithm