Данила Серга
август 2016.
6266

Как работают нейронные сети?

Ответить
Ответить
Комментировать
0
Подписаться
12
2 ответа
Поделиться

Если объяснять "на пальцах", то основными элементами любой нейросети являются нейроны. Каждый нейрон получает на вход один или несколько сигналов (чисел), обрабатывает их хитрым (или не очень) образом, а затем передает результат дальше.

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

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

Однако, это еще не все. Каждая связь имеет "вес". То есть, сигнал от одного нейрона, пока идет до следующего, несколько меняет значение (значение этого сигнала умножается на этот "вес").

Если весам связей присвоить случайные значения, то ничего осмысленного такая нейросеть делать не будет. То есть, их надо еще как-то правильно подобрать. Иными словами, нейросеть надо обучить.

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

Итак, время обучать сетку. Даем нейросети изображение. Она отвечает нам этой самой парой чисел (a, b). Но мы-то знаем, кто  на картинке, правда? Поэтому мы поправляем нейросеть. А именно, мы "насильно запихиваем" в выходной слой пару (1, 0), если собака или (0, 1), если кошка, а дальше происходит некоторая магия (чтобы постичь ее, нужно обладать некоторым знанием математики), которая заставляет нейросеть перераспределять веса связей. Самый распространенный способ творить эту магию - т.н. "метод обратного распространения ошибки", но есть и другие.

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

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

И/или


35

Ох, если бы нам точно также объяснили на первом занятии по нейронным сетям, то понимание было бы с первых дней куда лучше. Коротко и понятно. Браво!

+1
Ответить

Тупой вопрос с дивана: как нервные клетки попали в смартфон?

+2
Ответить

Нейроном в данном случае называется условный элемент. Обычно, это просто кусок программы, который занимается тем, что по описанным правилам обрабатывает сигналы.

+2
Ответить
Прокомментировать
Ответить