{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Как работают нейросети - коротко и простыми словами

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

Когда такой алгоритм «как из данных X получить результат Y» мы можем своим умом сформулировать и запрограммировать – всё отлично.

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

Нейронные сети позволяют нам не формулировать алгоритм (формулу) своим умом, а находить его итеративным путём и вот как это работает:

Все уже видели такие схемы с кружочками – нейронами и стрелочками –связями, но как это реально понять без нудной теории? А вот так:

Всё что на схеме – чистая математика. Изображение превращается в числа, потом они передаются дальше, преобразуются математически и на выходе получаются тоже числа. Никакой логики у нейронов и связей нет, это всё описывается формулами.

Изначально, все связи – это случайные числа. Поэтому все математические операции со входными числами изображения дают случайные результаты. Для упрощения, можно представить это как железнодорожную схему с со случайными семафорами:

Необученная нейросеть

При такой случайной организации наш набор пикселей в виде кота приезжает и в "кошачий" и в "собачий" результат, что делает его абсолютно неточным - 50\50 (случайности распределяются равномерно).

Обучение

Обучение же нейросети направлено на то, чтобы связи скорректировать таким образом, чтобы преобразования внутри были не случайными, а при заданном X выдавали желаемый Y. Процесс обучения полностью автоматизирован и происходит следующим образом:

  • На вход подается изображене собаки или кота (с заранее известным нам правильным результатом)
  • Вычисляется насколько нейросеть ошиблась
  • Ранее полностью случайные связи математически корректируются и становятся менее случайными и ошибка уменьшается

Это повторяется многократно пока, если говорить на нашем примере, семафоры не будут настроены таким образом, чтобы на выходе получался правильный результат.

У обученной нейросети связи настроены таким образом, что "кошачий" ввод с высокой вероятностью дает только "кошачий" результат и аналогично с собаками.

Это и есть большое достижение нейронных сетей: Мы получаем правильно настроенную железную дорогу с миллионами семафоров, заранее не зная как их настроить. А если без аллегорий: очень сложную математическую формулу, которая решает задачу: Из чисел составляющих изображение кота получить число вероятности наличия кота.

Такой точный и сложный алгоритм мы не могли бы придумать самостоятельно, но получаем его в процессе обучения нейросети. После обучения мы сохраняем сфомированные связи и можем использовать это как обычную программу: подать что-то на вход и получить ожидаемый результат. Вся эта магия – практически одна математика и никаких "искусственных интеллектов" :)

P.S. Я — разработчик и предприниматель. Мой основной бизнес это RocketBrush Studio — студия аутсорсинга и разработки игр. Мы активно растем, и если вдруг вы лично ищете работу или ваша организация предлагает услуги для бизнеса, то у нас есть задачи в области управления, маркетинга, развития бизнеса и продаж (B2B, США \ Европа), SEO и SMM, Веб-дизайна, QA (Unity), Unity C# и Node.JS разработки. А также я ищу хорошего помощника.

Вы можете связаться со мной через [email protected]. Я открыт для любых предложений в области бизнеса и IT \ gamedev.

0
58 комментариев
Написать комментарий...
Zamir Saidov

Это самое обучение как данные где-то хранится? Т.е. чтобы не обучать заново каждый раз?
Как много хранится данных для такого котодетектора? И сколько приблизительно памяти будет нужно для мощной сети?
Что в создании нейросети требует серьёзных спецов и ресурсов? То есть, почему каждый васян не может запилить чатгпт?

Ответить
Развернуть ветку
Denis Zotov
Это самое обучение как данные где-то хранится? Т.е. чтобы не обучать заново каждый раз?

Конечно, тот же ChatGPT так и работает: каждому пользователю предоставляется одна и та же уже обученная модель в одинаковом начальном состоянии (хм, звучит как реклама эскорт-агентства...). Далее, общаясь со своей копией, пользователь "донастраивает" модель под свой разговор, но общая основа остается неизменной.

Ответить
Развернуть ветку
55 комментариев
Раскрывать всегда