Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика и ВТ Брукшир.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.07 Mб
Скачать

10.4 Искусственные нейронные сети

Несмотря на весь прогресс в области искусственного интеллекта, множество проблем в этой области продолжают истощать возможности компьютеров на базе архитектуры фон Неймана. Процессоры, выполняющие последовательности инструкций, не могут воспринимать и мыслить на уровне, сравнимом с человеческим разумом. По этой причине многие исследователи обращаются к машинам с альтернативными архитектурами. Одна из таких архитектур — искусственная нейронная сеть (artificial neural network).

10.4.1Основные свойства

Как мы узнали в главе 2, искусственные нейронные сети составлены из множества отдельных процессоров, которые мы называем блоками обработки данных (или, сокращенно, просто блоками), так же, как сформированы нейронные сети в живых биологических системах. Биологический нейрон — это одна клетка с щупальцами для ввода информации, называемыми дендритами, и щупальцами для вывода информации — аксонами (рис. 10.13). Сигналы, которые передаются через аксоны клетки, указывают, находится она в заторможенном или возбужденном состоянии. Это состояние определяется комбинацией сигналов, полученных дендритами клетки. Дендриты принимают сигналы от аксонов других клеток через небольшие промежутки, называемые синапсами. Исследования показывают, что проводимость синапсов управляется их химическим составом. То есть окажет ли определенный входной сигнал затормаживающий или возбуждающий эффект на нейрон, определяется химическим составом синапса. Поэтому считается, что биологическая нейронная сеть обучается, настраивая эти химические соединения между нейронами.

Блок обработки данных в искусственной нейронной сети представляет собой простое устройство, имитирующее эти базовые процессы биологического нейрона. Выходом является единица или ноль в зависимости от того, превысил ли эффективный вход данную пороговую величину. Эффективный вход — это взвешенная сумма фактических входов, пример которой показан на рис. 10.14. На этом

рисунке выходы трех блоков обработки данных (обозначенные t>,, v2 и р3) являются входами другого блока. Входы в четвертый блок связаны со значениями, называемыми весами (да,, w2 и да3). Блок, получающий информацию, умножает каждое из значений входа на связанный с ним вес и затем складывает результаты умножения для получения эффективного входа (v^wt + v2w2 + v3w3). Если полученная сумма превышает пороговое значение обрабатывающего модуля, он выдает значение 1, в противном случае на выход подается значение 0.

Модули обработки данных (см. рис. 10.14) будем обозначать прямоугольниками. На входе блока разместим небольшие прямоугольники для обозначения входов, в каждом из которых запишем вес, связанный с этим входом. В середине большого прямоугольника запишем пороговое значение для этого модуля. Так, модуль обработки данных (рис. 10.15) имеет три входа и пороговое значение, равное 1,5. Первому входу назначен вес -2, второму — вес 3, а третьему — вес, равный —1. Таким образом, если модуль получает входы, равные 1, 1 и 0, эффективный вход будет равен:

(1)х(-2) + (1)х(3) + (0)х(-1)-1

и на выход будет подан 0. Однако если модуль получит 0, 1 и 1, эффективный выход будет равен:

(0)х(-2) + (1)х(3) + (1)х(-1)-2

что превышает пороговое значение. Выходом будет единица.

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

Рассмотрим пример. Простая сеть, представленная на рис. 10.1, а, запрограммирована выдавать 1, если значения двух ее входов различаются, и 0 в противном случае (логическая операция XOR). Если же мы изменим веса, как на рис. 10.16, б, то получим сеть, выдающую 1, если значения обоих входов равны 1, и 0 — в противном случае (логическая операция AND).

Необходимо обратить внимание на то, что сеть на рис. 10.16 значительно проще реальной биологической сети. В человеческом мозгу содержится приблизительно 10" нейронов, и для каждого нейрона существует примерно 104 синапсов. Количество дендритов у биологического нейрона столь велико, что они выглядят скорее как волоконная сеть, а не как отдельные щупальца, показанные на наших рисунках.