freeCodeCamp/guide/russian/machine-learning/neural-networks/index.md

64 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Neural Networks
localeTitle: Нейронные сети
---
## Нейронные сети
![Первичная нейронная сеть](http://ufldl.stanford.edu/tutorial/images/SingleNeuron.png)
Искусственная нейронная сеть - это вычислительная система. Они похожи на биологические нейронные сети, которые составляют мозг животных. Для обучения нейронной сети нам нужен вектор ввода и соответствующий выходной вектор. Обучение работает путем сведения к минимуму ошибки. Эта ошибка может быть квадратичной разницей между прогнозируемым выходом и исходным выходом.
Основным принципом, лежащим в основе замечательного успеха нейронных сетей, является «Универсальная теорема приближения». Математически доказано, что нейронные сети являются универсальными машинами аппроксимации, которые способны аппроксимировать любую математическую функцию между данными входами и выходами.
Первоначально нейронные сети стали популярными в 1980-х годах, но ограничения в вычислительной мощности запрещали их широкое признание до последнего десятилетия. Инновации в размерах и мощности процессора позволяют реализовать нейронную сеть в масштабе, хотя другие парадигмы машинного обучения все еще превосходят нейронные сети с точки зрения эффективности.
Основным элементом нейронной сети является нейрон. Он представляет собой вектор, скажем, `x` , а его вывод является вещественной переменной, например `y` . Таким образом, мы можем заключить, что нейрон действует как отображение между вектором `x` и вещественным числом `y` .
Нейронные сети выполняют регрессию итеративно на нескольких уровнях, что приводит к более тонкой модели прогнозирования. Один узел в нейронной сети вычисляет ту же функцию, что и [логистическая регрессия](../logistic-regression/index.md) . Все эти слои, помимо ввода и вывода, скрыты, то есть конкретные черты, представленные этими уровнями, не выбраны или не изменены программистом.
![Четырехслойная нейронная сеть](http://cs231n.github.io/assets/nn1/neural_net2.jpeg)
В любом данном слое каждый узел принимает все значения, хранящиеся на предыдущем уровне, в качестве входных данных и делает прогнозы на них на основе анализа логистической регрессии. Сила нейронных сетей заключается в их способности «обнаруживать» модели и черты, невидимые программистами. Как упоминалось ранее, средние слои «скрыты», что означает, что веса, передаваемые переходам, определяются исключительно обучением алгоритма.
Нейронные сети используются по целому ряду задач. К ним относятся компьютерное зрение, распознавание речи, перевод, фильтрация социальной сети, воспроизведение видеоигр и медицинский диагноз между прочим.
### Визуализация
Есть потрясающий инструмент, который поможет вам понять идею нейронных сетей без какой-либо жесткой математики: [TensorFlow Playground](http://playground.tensorflow.org) , веб-приложение, которое позволяет вам играть с реальной нейронной сетью, работающей в вашем браузере, и щелкать кнопками и настраивать параметры, чтобы увидеть, как это работает.
### Проблемы, решаемые с помощью Neural Networks
* классификация
* Кластеризация
* регрессия
* Обнаружение аномалий
* Правила ассоциации
* Укрепление обучения
* Структурированное прогнозирование
* Разработка функций
* Изучение функций
* Обучение ранжированию
* Грамматическая индукция
* Прогноз погоды
* Создание изображений
### Общие системы нейронных сетей
Самые распространенные нейронные сети, используемые сегодня, относятся к категории [глубокого обучения](https://github.com/freeCodeCamp/guides/blob/master/src/pages/machine-learning/deep-learning/index.md) . Глубокое обучение - это процесс объединения нескольких слоев нейронов, чтобы сеть могла создавать все более абстрактные отображения между входными и выходными векторами. Глубокие нейронные сети чаще всего используют [обратную пропозицию](https://github.com/freeCodeCamp/guides/blob/master/src/pages/machine-learning/backpropagation/index.md) , чтобы сходиться к наиболее точному отображению.
Второй наиболее распространенной формой нейронных сетей является nueroevolution. В этой системе несколько нейронных сетей генерируются случайным образом в качестве исходных догадок. Затем для сближения более точного отображения используются несколько поколений комбинирования точных большинства сетей и случайных перестановок.
### Типы нейронных сетей
* Рекуррентная нейронная сеть (RNN)
* Долгосрочная временная память (LSTM), тип RNN
* Сверточная нейронная сеть (CNN)
### Дополнительная информация:
* [Нейронные сети - Википедия](https://en.wikipedia.org/wiki/Artificial_neural_network#Components_of_an_artificial_neural_network)
* [Характер кода Дэниела Шиффмана](http://natureofcode.com/book/chapter-10-neural-networks/)
* [Стэнфордский университет, многослойные нейронные сети](http://ufldl.stanford.edu/tutorial/supervised/MultiLayerNeuralNetworks/)
* [Канал 3Blue1Brown, Youtube с содержанием нейронной сети](https://youtu.be/aircAruvnKk)
* [Siraj Raval, Youtube CHANNEL с содержанием нейронной сети](https://youtu.be/h3l4qz76JhQ)
* [Нейроэволюция - Википедия](https://en.wikipedia.org/wiki/Neuroevolution)