Нейронная сеть — это группа взаимосвязанных единиц, называемых нейронами , которые посылают сигналы друг другу. Нейроны могут быть как биологическими клетками , так и математическими моделями . Хотя отдельные нейроны просты, многие из них вместе в сети могут выполнять сложные задачи. Существует два основных типа нейронных сетей.
В контексте биологии нейронная сеть — это популяция биологических нейронов, химически связанных друг с другом синапсами . Каждый нейрон может быть связан с сотнями тысяч синапсов. [1] Каждый нейрон посылает и получает электрохимические сигналы, называемые потенциалами действия , от своих связанных соседей. Нейрон может выполнять возбуждающую роль, усиливая и распространяя сигналы, которые он получает, или тормозящую роль, подавляя сигналы. [1]
Популяции взаимосвязанных нейронов, которые меньше нейронных сетей, называются нейронными цепями . Очень большие взаимосвязанные сети называются крупномасштабными мозговыми сетями , и многие из них вместе образуют мозг и нервную систему .
Сигналы, генерируемые нейронными сетями в мозге, в конечном итоге проходят через нервную систему и через нервно-мышечные соединения к мышечным клеткам , где они вызывают сокращение и, таким образом, движение. [2]
В машинном обучении нейронная сеть — это искусственная математическая модель, используемая для аппроксимации нелинейных функций. В то время как ранние искусственные нейронные сети были физическими машинами, [3] сегодня они почти всегда реализованы в программном обеспечении .
Нейроны в искусственной нейронной сети обычно организованы в слои, при этом информация проходит от первого слоя (входного слоя) через один или несколько промежуточных слоев ( скрытые слои ) к последнему слою (выходному слою). [4] «Сигнал» на входе каждого нейрона — это число, а именно линейная комбинация выходов связанных нейронов в предыдущем слое. Сигнал, который выдает каждый нейрон, вычисляется из этого числа в соответствии с его функцией активации . Поведение сети зависит от прочности (или веса ) связей между нейронами. Сеть обучается путем изменения этих весов с помощью эмпирической минимизации риска или обратного распространения , чтобы соответствовать некоторому уже существующему набору данных. [5]
Нейронные сети используются для решения задач в области искусственного интеллекта и, таким образом, нашли применение во многих дисциплинах, включая прогностическое моделирование , адаптивное управление , распознавание лиц , распознавание рукописного ввода , общие игровые процессы и генеративный ИИ .
Теоретическая база для современных нейронных сетей была независимо предложена Александром Бейном в 1873 году [6] и Уильямом Джеймсом в 1890 году. [7] Оба постулировали, что человеческое мышление возникает из взаимодействия большого количества нейронов внутри мозга. В 1949 году Дональд Хебб описал обучение Хебба , идею о том, что нейронные сети могут изменяться и обучаться с течением времени, усиливая синапс каждый раз, когда по нему проходит сигнал. [8]
Искусственные нейронные сети изначально использовались для моделирования биологических нейронных сетей, начиная с 1930-х годов в рамках подхода коннекционизма . Однако, начиная с изобретения персептрона , простой искусственной нейронной сети, Уорреном Маккалоком и Уолтером Питтсом в 1943 году [9], за которым последовала реализация ее в аппаратном обеспечении Фрэнком Розенблаттом в 1957 году [3] , искусственные нейронные сети стали все чаще использоваться для приложений машинного обучения и все больше отличаться от своих биологических аналогов.