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

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

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

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

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

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

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

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

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

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

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

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

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

Обучение

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

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

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

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

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

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

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

Вы можете связаться со мной через alex@rocketbrush.com. Я открыт для любых предложений в области бизнеса и IT \ gamedev.

7474
58 комментариев

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

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

3

Сравнивать нейронки с мозгом - все равно что птицу с самолетом.

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

5

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

как минимум ИИ мрт не пройдет

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