Нейросеть - упрощенная цифровая модель мозга органического существа. По сути, этот иструмент решает узкопрофильные задачи обобщения и сортировки данных (кластеризации).
Приведу известную задачу про Титаник. Всего катастрофа унесла по разным данным порядка 1500 жизней. У каждого человека есть набор харакетристик: пол, возраст, имя, класс билета и другие характеристики. Точные данные см. тут - https://www.kaggle.com/c/titanic/data. А также целевая метка: выжил он или нет. Обучив нейросеть на наборе этих данных, она их частично запоминает, пытается найти закономерности, обобщает.
Зачем нам это? Теперь можно оценить, выжил бы я на Титанике. Ввожу свои данные, получаю результат в виде вероятности. Такую же штуку можно повторить с оценкой износа станков на производстве, измеряя их парамерты, например.
Неростети уже сейчас избавляют нас от однообразных задач: распознавание речи, сортировка изображений, поиск похожих людей в соцсетях, синтез речи, даже написание осмысленных текстов и т.д.
↓ Поддержите лайком, если помог советом.
Нейронная сеть особенно необходима в тех случаев когда имеет место дименция или же просто плохая память или соотвественно ухудшенная реакция
Нейросети обрабатывают большое количество внешних факторов, оценивают степень влияния каждого из них на конечный результат и на основе этого находят лучший ответ на поставленную задачу.
Если объяснять "на пальцах", то основными элементами любой нейросети являются нейроны. Каждый нейрон получает на вход один или несколько сигналов (чисел), обрабатывает их хитрым (или не очень) образом, а затем передает результат дальше.
Нейроны объединены в последовательно расположенные слои. Отдельно выделены два крайних слоя - входной и выходной. Через входной слой нейросеть получает информацию, через выходной передает результат ее обработки. Все промежуточные слои называются скрытыми.
Каждый скрытый слой соединен с двумя соседними (предыдущим и следующим) сложной системой связей (простите за тавтологию). В простейшем случае в каждый его нейрон попадают сигналы от каждого нейрона предыдущего слоя, обрабатываются, а затем из него уходят в каждый нейрон следующего слоя.
Однако, это еще не все. Каждая связь имеет "вес". То есть, сигнал от одного нейрона, пока идет до следующего, несколько меняет значение (значение этого сигнала умножается на этот "вес").
Если весам связей присвоить случайные значения, то ничего осмысленного такая нейросеть делать не будет. То есть, их надо еще как-то правильно подобрать. Иными словами, нейросеть надо обучить.
Как происходит обучение, проще показать на примере. Допустим, мы обучаем нейросеть отличать изображения кошек от изображений собак. Тогда на входной слой нейросети мы отдаем изображение, а на выходе нейросеть возвращает пару действительных чисел от 0 до 1 каждое. Первое означает, насколько нейросеть уверена, что это собака, а второе - что кошка. Почему делают именно так - вопрос, на который простым языком не ответить. То есть, если первое число больше, то нейросеть решила, что увидела собаку, а если второе, то кошку.
Итак, время обучать сетку. Даем нейросети изображение. Она отвечает нам этой самой парой чисел (a, b). Но мы-то знаем, кто на картинке, правда? Поэтому мы поправляем нейросеть. А именно, мы "насильно запихиваем" в выходной слой пару (1, 0), если собака или (0, 1), если кошка, а дальше происходит некоторая магия (чтобы постичь ее, нужно обладать некоторым знанием математики), которая заставляет нейросеть перераспределять веса связей. Самый распространенный способ творить эту магию - т.н. "метод обратного распространения ошибки", но есть и другие.
Спустя множество разных картинок, с которыми мы провернем то же самое, веса связей между нейронами выстроятся таким образом, что она будет хорошо отличать кошек от собак.
Как видите, магия возникла только в двух местах. Чтобы разобраться, в ней, нужно читать более строгие тексты. Начать рекоммендую с этого:
wikipedia.orgИ/или