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

10.4.2Приложение теории

Чтобы понять потенциал искусственных нейронных сетей, рассмотрим проблему распознавания символов на примере заглавных букв С и Т, показанных на рис. 10.17. Задача заключается в идентификации букв, помещенных в поле зрения, независимо от их ориентации. Все шаблоны на рис. 10.18, а должны быть распознаны как буква С, а все шаблоны в части б представляют букву Т.

Мы начнем с предположения, что поле зрения состоит из квадратных пикселов, каждый из которых равен квадратным элементам, из которых составлены буквы. Каждый пиксел присоединен к датчику, который выдает 1, если пиксел закрыт просматриваемой буквой, и 0 — в противном случае. Выходы этих датчиков мы используем как входы нашей искусственной нейронной сети.

Сеть (рис. 10.19) состоит из блоков обработки данных двух уровней. Первый уровень составляет множество блоков — по одному для каждой области размером 3x3 пиксела в поле зрения. Для каждого из этих блоков существует девять входов, с которыми связаны датчики областей 3x3. (Обратите внимание, что области, связанные с обрабатывающими блоками первого уровня, перекрывают друг друга, поэтому каждый датчик является входом для девяти блоков обработки данных первого уровня.)

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

Для каждого модуля обработки данных на первом уровне также установлено пороговое значение 0,5. Для каждого из входов вес задан равным 1, кроме входа, связанного с центральным пикселом области 3x3 этого модуля, для которого вес равен 2. Таким образом, каждый из этих модулей может выдать единицу, только если получит единицу от датчика, связанного с пикселом в центре области 3x3.

Теперь, если буква С расположена в поле зрения (рис. 10.20), все обрабатывающие модули первого уровня выдадут значение 0. Это происходит потому, что в областях 3x3 всех блоков, центральный пиксел которых закрыт буквой, есть по крайней мере еще два других пиксела, также закрытых буквой, и сигналы, полученные от их датчиков, уменьшают значение сигнала центрального пиксела. Следовательно, если в поле зрения находится буква С, все входы обрабатывающего блока второго уровня равны 0, и выход всей сети также равен нулю.

Рассмотрим ситуацию с буквой Т в поле зрения. Представим себе область 3x3, центр которой — квадрат, закрытый нижнейчастью ножки буквы Т (рис. 10.21). Обрабатывающий блок, связанный с этим квадратом, получит эффективный вход, равный 1 (2 от центрального пиксела и 1 от остальных пикселов, закрытых ножкой). Это превышает пороговое значение блока, поэтому он отправит единицу

блоку высшего уровня. Таким образом, блок высшего уровня также выдаст значение 1.

Следовательно, мы получили искусственную нейронную сеть, которая умеет различать буквы С и Т независимо от их ориентации в поле зрения. Если в поле находится буква С, сеть выдает значение 0; для буквы Т сеть выдает единицу.

ОТ МАЛОГО К БОЛЬШОМУ---------------------------------------------------------------------

Давно замечено, что разработка и тестирование теорий часто переходит от малых экспериментов к крупномасштабным приложениям. Первые исследования новой теории обычно проводятся на небольших, простых случаях. Если успех достигнут, экспериментальная среда расширяется до более реалистичных, крупномасштабных систем. Некоторые теории выживают при этом переходе, другие — нет. Иногда успех на небольших задачах настолько велик, что защитники теории настаивают на продолжении исследований даже после того, как неудачи в больших масштабах охладили пыл других ученых. В некоторых случаях такое упорство окупается, в других — это лишь пустая трата сил.

Подобные сценарии можно увидеть и в области искусственного интеллекта. Один из примеров — обработка естественных языков, где успехи в ограниченных условиях заставили многих поверить, что до понимания машинами любых естественных языков буквально рукой подать. К сожалению, достигнуть успехов на более крупных задачах оказалось намного сложнее, и победы достаются очень медленно и в результате существенных усилий. Другим примером могут служить искусственные нейронные сети, которые вышли на научную сцену «под фанфары», через несколько лет ушли в тень, поскольку их возможности на больших задачах были поставлены под вопрос, а сейчас вернулись снова, но в более спокойной атмосфере. Как рассказывается далее в этом разделе, предмет генетических алгоритмов в текущий момент проходит испытание этим переходным тестом. Пока что ответа на вопрос, станет ли эволюционный подход полезным инструментом в будущем, не найдено.

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

Мы видим, что искусственные нейронные сети являются областью активных исследований. Главные препятствия в исследованиях связаны с разработкой и программированием подобных сетей. Типичные задачи проектирования сетей — это определение количества блоков, необходимого для решения определенной задачи, и их комбинации, обеспечивающей максимальную производительность.

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