Нейроны являются строительным блоком нейронных сетей в глубоком обучении. В этой статье я подробно объяснил, что происходит внутри нейрона!

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

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

Предположим, что компьютер - это ребенок, мы его надзиратели (например, учитель, родитель) и хотим, чтобы ребенок (компьютер) узнал, как выглядит кошка. Мы покажем ребенку несколько разных картинок, некоторые из которых - кошки и остальные могут быть изображениями чего угодно (собак, птиц и т. д. :-)
Когда мы видим кошку, мы кричим «Кошка!». Когда это не кошка «Нет! Не кошка». Проделав это с ребенком несколько раз, мы показываем им новую картинку (которая раньше не показывалась) и спрашивали: «Это кошка?», И они правильно (в большинстве случаев) говорят «Кошка!» Или «Нет». ! Not a cat », в зависимости от изображения.
Точно так же мы даем помеченные входные данные (помеченные как кошка или не кошка), чтобы вывести функцию, которая производит соответствующий вывод при получении новых немаркированных данных.
Теперь давайте погрузимся в понимание того, как это делается.

В глубоком обучении мы используем нейроны для получения выходной функции.
Что такое нейрон?
Искусственный нейрон - это математическая функция, которая принимает один или несколько входных данных для получения линейной функции, которая затем передается в нелинейная функция, также известная как функция активации для получения выходного сигнала нейрона.
Если вы думаете, этот нейрон кажется мне загадочным, не волнуйтесь, я очень подробно объяснил, что на самом деле происходит внутри этого нейрона. :)

Мы даем функции в качестве входных данных для нейрона. Давайте посмотрим, что происходит внутри одного нейрона.
Предположим, у нас есть три входных функции x1, x2 и x3. Итак, возникает следующий вопрос: все ли функции одинаково важны ?.
Подумайте, функция x1 сообщает нам, есть ли у нее хвост, который имеет больший вес, чем функция x2, которая сообщает нам, есть ли у нее крылья. Итак, наша следующая цель - решить, насколько важна каждая из этих характеристик при определении окончательный результат. Мы делаем это с помощью «весов». Пусть веса будут равны w1, w2 и w3 для каждой функции. Здесь вес w1 сообщает нам, насколько весовой элемент X1 по сравнению с другими функциями, а вес w2 сообщает, какой вес имеет вес x2 и и так далее ..
Мы также добавляем термин смещения "b", который может помочь лучше подогнать данные.
Теперь мы поняли, что такое особенности, их вес и смещение. Давайте теперь посмотрим, как нейрон учится на этих характеристиках.

Пусть на выходе будет z.

z=(x1*w1 +b1) + (x2*w2 +b2) + (x3*w3 +b3)

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

Мы вывели простую линейную функцию (z) на основе входных характеристик. Я также упомянул в определении нейрона, мы будем передавать эту линейную функцию в качестве параметра в нелинейную функцию, чтобы получить выход в нейроне.

Зачем нужна нелинейная функция?
Когда у нас большой набор данных и много функций, значение линейной функции (z) становится очень большим. Мы хотели бы ограничить это значение интервалом 0 до 1, то есть вероятность от 0 до 100%, где 0 означает, что это не кошка, а 1 означает, что это кошка. Если значение находится между 0 и 1 (например: 0,97), мы будем знать вероятность того, насколько она скорее всего, кошка!
Существует множество нелинейных функций, также известных как функция активации, на выбор. Сигмоид, Relu, tanh - вот некоторые из примеров функций активации. Я расскажу подробнее о каждой функции активации. в следующей статье.
А пока воспользуемся сигмоидной функцией.

Как видно из графика сигмовидной функции, значение находится между 0 и 1.

сигмоид (z) = сигмоид ((x1 * w1 + b1) + (x2 * w2 + b2) + (x3 * w3 + b3))

Следовательно, мы получаем выходной сигнал нейрона, передавая линейную функцию в функцию активации.
Итак, теперь у нас есть нейрон, как показано ниже:

Поздравляю ! Теперь вы поняли, что на самом деле происходит внутри нейрона!

Чтобы получить еще более точную интуицию, давайте рассмотрим аналогию с мозгом: это единственный нейрон в мозге.

На этом изображении биологического нейрона нейрон получает электрические сигналы, такие как x1, x2 и x3, и выполняет вычисления. Затем, если нейрон срабатывает (активация ›порог), он посылает электрический импульс по аксону.
Я использовал эта упрощенная аналогия между отдельным нейроном в нейронной сети и биологическим нейроном только для того, чтобы вы поняли, но даже сегодня нейробиологи почти не имеют представления о том, что делает даже один нейрон в мозгу, поскольку он является более сложным.

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