{"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 комментариев
Написать комментарий...

Комментарий удален модератором

Развернуть ветку
Владимир

Ну только ребёнку достаточно обычно один раз увидеть котика чтобы отличать его от собачки

Ответить
Развернуть ветку
Вадим Вахрамов

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

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