Нейронные сети сейчас на слуху, но мало кто понимает, что это такое. Обычно многие представляют себе почти разумную сущность, которая, словно skynet, вот-вот вырвется из-под контроля людей. Инженеры google в страхе поглядывают на экран и тянутся руками к розетке. Обесточенный монстр умирает, и на экране один за другим начинают гаснуть мириады нейронов.
На самом деле все куда прозаичней. Люди порядком упростив процессы, происходящие в коре головного мозга, составили математическую модель. Математическая модель – это, грубо говоря, набор уравнений, которые производят расчеты, аналогичные тем, что производил бы реальный мозг. Только это не мозг, а маленький его кусочек, а если быть точнее, кусок тонкой нарезки бекона. Он настолько мелкий, что никак не может мыслить самостоятельно.
Нейронная сеть состоит из слоев. В реальной коре головного мозга миллионы таких слоев, а НС в лучшем – случае десятки. Каждый слой состоит из нейронов. Нейрон – это, по сути, ячейка памяти, в которой лежит число. У нейронной сети есть входные и выходные каналы. На входы приходят числа. Входные значения перемножаются с числами внутри нейронов. Получившиеся результат уходит на выход, который соединен со входом следующего слоя, и так до самого конца. На выходе последнего слоя мы получаем результат.
Поясню на примере. На вход подается фотография животного, и мы хотим выяснить, собака это или кот. Фото бьется на пиксели. Цвет каждого пикселя в числовом виде – это входное значение. На выходе мы получим лишь одно значение: 1 это собака, 0 это кот.
Но прежде чем нейронная сеть научится сама определять результат, через нее нужно будет прогнать тысячи фотографий. Вначале сеть будет ошибаться часто, на после каждого повторения значения в ячейках будут корректироваться с учетом ошибок. Это и есть обучение нейронных сетей.
Еще больше полезного материала в телеграм канале: https://t.me/kinda_dn