Приветствую уважаемые читатели!
Если вы недавно слышали об искусственном интеллекте, машинном обучении или глубоком обучении, то, скорее всего, слышали и о нейронных сетях.
P.S. Статья исключает углубление читателя в мат. часть.
Представление нейрона и полносвязной нейронной сети.
Нейронные сети являются ключевым элементом некоторых наиболее успешных алгоритмов машинного обучения. Развитие нейронных сетей играет ключевую роль в обучении компьютеров думать и понимать мир так, как это делают люди.
По сути, нейронная сеть имитирует биологический мозг. Клетки мозга (нейроны), связаны между собой через синапсы (место контакта двух нейронов) посредством соединения дендрита и аксона.
И так, что же такое нейронная сеть в компьютерном мире? Нейронная сеть - это математическая модель, которая основана на работе биологических сетей нервных клеток, но достаточно сильно упрощена.
Разберем на примере самую старшую и простую как для понимания, так и в плане работы, полносвязную нейронную сеть. Такая сеть состоит из трёх слоев с нейронами: из входного, где нейроны принимают сигналы извне в сеть, из скрытого, где сигналы обрабатываются и выходного, где нейроны передают результат обработки сети. Также в такой сети каждый нейрон связан с нейроном предыдущего слоя.
Один из способов представления нейронной сети это граф. Он состоит из узлов, так называемых нейронов, где связи между нейронами обозначаются соединениями узлов.
Работа сети. Прямое распространение.
Как же работает сеть? На ее вход поступают сигналы, которые принимают условные нейроны Х входного слоя. Почему же условные? Потому что эти нейроны не имеют математического описания, а всего на всего являются посредниками.
Далее сигнал распространяется ко все нейронам, с которыми связаны входные. При этом сигнал домножается на коэффициент (вес). Чем важнее для нейрона эта связь, тем больше коэффициент.
После этого все сигналы суммируются и передаются в активационную функцию.
Функция нормализует сигнал, обычно представляя в виде от -1 до 1, который в итоге нейрон передаст дальше.
Самая обычная функция - пороговая. Если сигнал на входе нейрона достигает какого-либо порога, то нейрон активируется и передает сигнал равный 1 дальше. Не активированный нейрон продолжает "спать".
Таким образом, сигналы дальше распространяются от нейронов к нейронам. Ответом (результатом) нейронной сети являются сигналы, которые выдают нейроны выходного слоя.
Дальше?
В следующих частях будут рассмотрены примеры работы простых нейронных сетей, сбор данных для обучения и процесс обучения.
А еще дальше - построение более сложных нейронных сетей на Python, знакомство с сервисами, предоставляющих вычислительные мощности, развертывание моделей в веб-приложении и многое другое.