По образу и подобию: как устроены нейросети?

Мы пользуемся чатом GPT, переводчиками, иногда играем в топовые приложения, которые делают из наших фотографий картины Рембрандта, а из нас – кавайных персонажей японских мультфильмов. Что же стоит за этим прогрессом? Правильный ответ: новейшие алгоритмы обработки информации, которые учёные и программисты «подсмотрели» у природы. 

Математические алгоритмы, похожие на мозг 

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

нейропсихолог Уоррен Мак-Каллок и математик Уолтер Питтс

Каждое такое звено — условный нейрон, напоминающий тело со множеством коротких отростков —дендритов и  одним длинным — аксоном. Тонкие нервные окончания и места соприкосновения одного нейрона с другим называются синапсами. По дендритам информация поступает в нейрон и только по аксону передаётся дальше. Удивительно, что у каждого нейрона могут быть тысячи синапсов, по которым поступает информация, но выход — один. 

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

Искусственный нейрон: упрощение и обучение

Создать технологии, работающий по такой логике,  не удавалось долгое время, пока опытные программисты и инженеры не придумали модели и режимы работы с нейросетями.  В текущих разработках нейроны объединены в последовательно расположенные слои. Отдельно выделены два крайних слоя — входной и выходной. Через входной слой нейросеть получает информацию, через выходной передает результат её обработки. 

Все промежуточные слои называются скрытыми. Каждый скрытый слой соединен с двумя соседними (предыдущим и следующим) сложной системой связей. В простейшем случае сигналы попадают в каждый нейрон по цепочке из предыдущего слоя, обрабатываются, а затем поступают в  каждый нейрон следующего слоя. И это ещё не всё. 

Каждая связь имеет «вес». То есть, сигнал от одного нейрона, переходя в следующий,  меняет значение за счет умножения на этот «вес». Если весам связей присвоить случайные значения, то ничего осмысленного нейросеть делать не будет. Другими словами их надо ещё правильно подобрать, а точнее обучить.

как устроены нейросети?

Ученье — свет

Допустим, мы обучаем нейросеть отличать изображения кошек от изображений собак. Тогда на входной слой нейросети мы отдаём изображение, а на выходе нейросеть возвращает пару действительных чисел — от 0 до 1 каждое. Первое означает, насколько нейросеть уверена, что это собака, а второе — что кошка.  Спустя множество разных картинок, с которыми мы провернем то же самое, веса связей между нейронами выстроятся таким образом, что она будет хорошо отличать кошек от собак.

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

Здесь тоже возможно несколько вариантов развития событий:

  • Вариант первый — обучение с учителем.
  • Вариант второй — обучение без учителя.
  • Вариант третий— смешанный или обучение с подкреплением.

По такому принципу устроен самый простой тип нейросети — перцептрон. Это основа, на которой построены остальные варианты. Например, есть сверточные нейросети, анализируют объект одновременно по ряду характеристик, сложение которых затем приводит к единой картине.

Также есть рекуррентные нейросети, их главная особенность — наличие памяти. Она запоминает каждый предыдущий полученный в процессе обработки результат и берёт его в основу нового анализа, точно определяя динамику процесса и делая правильные предсказания. Например, такие нейросети используют на биржах.

Изображения: Unsplesh