Системы искусственного интеллекта. Тематический план
Скачать 1.4 Mb.
|
ТЕМА 3.2 ИСКУССТВЕННАЯ МОДЕЛЬ НЕЙРОНА Составные элементы нейросети Самый важный элемент нейросистемы — это адаптивный сумматор. Он вычисляет скалярное произведение вектора входного сигнала x на вектор параметров. Адаптивным мы называем его из-за наличия вектора настраиваемых параметров (рис 3.1). Рисунок 3.1 - Адаптивный сумматор Следующий по важности элемент нейросистемы — нелинейный преобразователь сигнала (рис. 3.2). Он получает скалярный входной сигнал x и преобразует его в значение функции ( )x . Рис. 3.2. Нелинейный преобразователь сигнала Точка ветвления (рис. 3.3) служит для рассылки одного сигнала по нескольким адресам. Она получает скалярный входной сигнал x и передает его на все свои выходы. Рисунок 3.3 - Точка ветвления Линейная связь (синапс; рис. 3.4) обычно отдельно от сумматора не встречается, но для некоторых рассуждений бывает удобно выделить ее как отдельный элемент. Он умножает входной сигнал x на «вес синапса». Рисунок 3.4 - Синапс Наконец, стандартный формальный нейрон (рис. 3.5) составлен из входного сумматора, нелинейного преобразователя и точки ветвления на выходе. Рисунок 3.5 - Стандартный формальный нейрон Чтобы отразить суть биологических нейронных систем, определение искусственного нейрона можно дать следующим образом: - он получает входные сигналы (исходные данные либо выходные сигналы от других нейронов нейронной сети) через несколько входных каналов; - каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (вес), соответствующую синаптической активности биологического нейрона; - с каждым нейроном связано определенное пороговое значение: вычисляется взвешенная сумма значений сигналов на входах, из нее вычитается пороговое значение и тем самым вычисляется величина активации нейрона (она также называется постсинаптическим потенциалом нейрона — PSP); - сигнал активации преобразуется с помощью функции активации (или передаточной функции) в выходной сигнал нейрона. Если при этом использовать ступенчатую функцию активации (т. е. когда выход нейрона равен нулю, если на вход подано отрицательное значение, и единице, если значение на входе нулевое или положительное), то такой нейрон будет работать точно так же, как описанный ранее биологический нейрон. Заметим, что вычесть пороговое значение из взвешенной суммы и сравнить результат с нулем — это то же самое, что сравнивать взвешенную сумму с пороговым значением, но реализуется гораздо проще, поэтому пороговые функции (сравнение с нулевым порогом) в искусственных нейронных сетях используются редко. Кроме того, важно учесть, что веса могут быть отрицательными, — это означает, что такой синапс оказывает на нейрон не возбуждающее, а тормозящее воздействие (и в живом мозге действительно присутствуют такие тормозящие нейроны). Это было описание отдельного нейрона. Теперь возникает вопрос: как соединять нейроны друг с другом? Если нейросеть предполагается для чего- то использовать, то у нее должны быть входы (принимающие значения интересующих нас переменных из внешнего мира) и выходы (прогнозы или управляющие сигналы). Входы и выходы такой нейросети соответствуют имеющимся в живом организме сенсорным и двигательным нервам, — например, идущим от глаз и к рукам, соответственно. Кроме того, в нейросети может присутствовать ряд промежуточных (скрытых) нейронов, выполняющих какие-либо внутренние функции. При этом входные, скрытые и выходные нейроны должны быть связаны между собой. Ключевой вопрос здесь — обратная связь. Простейшая сеть имеет структуру с прямой передачей сигнала: сигналы проходят от входов через скрытые элементы и рано или поздно поступают на выход. Такая структура имеет устойчивое поведение. Если же сеть является рекуррентной (т. е. содержит связи, ведущие назад от дальних к более ближним нейронам), то она может быть неустойчивой и иметь очень сложную динамику поведения. Рекуррентные сети представляют большой интерес для исследователей в области нейронных сетей, однако при решении практических задач (по крайней мере до сих пор) наиболее полезными оказались структуры с прямой передачей. Типичный пример сети с прямой передачей сигнала показан на рис. 3.6. Здесь нейроны регулярным образом организованы в слои, при этом входной слой служит для ввода значений входных переменных, а каждый из скрытых и выходных нейронов соединен со всеми элементами предыдущего слоя. (Можно было бы рассматривать и сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя, однако для большинства практических приложений использование сети с полной системой связей предпочтительнее.) Рисунок 3.6 - Пример нейронной сети с прямой передачей сигнала При работе (использовании) сети в ее входные элементы подаются значения входных переменных. Затем последовательно вступают в работу нейроны промежуточных и выходного слоев: каждый из них вычисляет свое значение активации, беря взвешенную сумму выходов элементов предыдущего слоя и вычитая из нее свое пороговое значение, а затем полученное значение активации преобразуется с помощью функции активации и в результате получается значение сигнала на выходе нейрона. После того как вся сеть закончит работу, выходные значения элементов выходного слоя принимаются за выходные значения всей сети в целом. ТЕМА 3.3 ПРИМЕНЕНИЕ НЕЙРОННЫХ СЕТЕЙ На практике нейросети используются как программные продукты, выполняемые на обычных компьютерах, либо как специализированные аппаратно-программные комплексы. Заметим, что в первом случае встроенный параллелизм нейросетевых алгоритмов чаще всего не используется, поскольку для многих задач анализа и обобщения баз данных особого быстродействия не требуется — для них вполне хватает производительности современных универсальных процессоров. В таких приложениях используется исключительно способность нейросетей к обучению и к извлечению закономерностей, скрытых в больших массивах информации. Для второй же группы приложений, обычно связанных с обработкой сигналов в реальном времени, параллелизм нейровычислений является критическим фактором. Перечислим основные задачи, решаемые нейронными сетями. 1. Распределенная ассоциативная память. Распределенная память означает, что веса связей нейронов имеют статус информации без специфической ассоциации части информации с отдельным нейроном. Ассоциативная память означает, что нейронная сеть способна выдать на выход полный образ по предъявленной на входе его части. 2. Распознавание образов. Задачи распознавания образов требуют способности одновременно обрабатывать большое количество входной информации и выдавать категорический или обобщенный ответ. Для этого нейронная сеть должна обладать внутренним параллелизмом. 3. Адаптивное управление. 4. Прогнозирование. 5. Экспертные системы. 6. Оптимизация (т. е. поиск максимума функционала при наличии ограничений на его параметры). В настоящее время нейросети находят широкое применение в различных областях, таких как экономика (предсказание показателей биржевого рынка, предсказание финансовых временных рядов), робототехника (распознавание оптических и звуковых сигналов, самообучение), визуализация многомерных данных, ассоциативный поиск текстовой информации и др. Нейронные сети представляют интерес для достаточно большого числа специалистов: - для компьютерщиков нейросети открывают область новых методов для решения сложных задач; - физики используют нейросети для моделирования явлений в статистической механике и для решения многих других задач; - нейрофизиологи могут использовать нейронные сети для моделирования и исследования функций мозга; - психологи получают в свое распоряжение механизм для тестирования моделей некоторых своих психологических теорий; - другие специалисты (особенно коммерческих и индустриальных направлений) также могут интересоваться нейронными сетями по самым разнообразным причинам прежде всего благодаря достигаемым с их помощью новым возможностям прогнозирования и визуализации данных. ТЕМА 3.4 ОБУЧЕНИЕ НЕЙРОСЕТИ Способность к обучению является фундаментальным свойством мозга. В контексте же нейросетей процесс обучения может рассматриваться как настройка архитектуры сети и весов связей для эффективного выполнения некоторой специальной задачи. Обычно нейронная сеть должна настроить свои веса связей по имеющейся обучающей выборке, причем функционирование сети улучшается по мере итеративной настройки весовых коэффициентов. Свойство нейросетей обучаться на примерах делает их более привлекательными по сравнению с системами, которые работают по жестко определенному набору правил функционирования, сформулированных экспертами. Для конструирования процесса обучения нейросети прежде всего необходимо иметь модель внешней среды, в которой должна функционировать эта нейронная сеть, т. е. знать доступную для сети информацию. Эта модель определяет парадигму обучения. Во-вторых, необходимо понять, как именно следует модифицировать весовые параметры сети, т. е. какие правила обучения управляют процессом настройки. Алгоритм обучения обозначает процедуру, в которой используются правила обучения для настройки весов. Существуют три парадигмы обучения нейросетей: «с учителем», «без учителя» (самообучение) и смешанная. В первом случае нейронная сеть располагает правильными ответами (требуемыми выходами сети) для каждого входного примера, а веса настраиваются так, чтобы сеть производила ответы, как можно более близкие к известным правильным ответам. Усиленный же вариант обучения «с учителем» предполагает, что известна только критическая оценка правильности выхода нейронной сети, но не сами правильные значения выхода. «Обучение без учителя» не требует знания правильных ответов для каждого примера обучающей выборки. В этом случае раскрывается лишь внутренняя структура данных или корреляции между образцами в системе данных, что позволяет распределить образцы по категориям. При смешанном обучении часть весов определяется посредством обучения «с учителем», в то время как остальные веса формируются с помощью самообучения. Теория обучения нейросетей рассматривает три фундаментальных свойства, связанных с обучением на примерах: емкость, сложность образцов и вычислительная сложность. При этом под емкостью понимается, сколько образцов может запомнить сеть и какие функции и границы принятия решений могут быть на ней сформированы. Сложность образцов определяет количество обучающих примеров, необходимых для достижения способности сети к обобщению. Слишком малое количество таких примеров может вызвать «переобученность» сети, когда она хорошо функционирует на примерах обучающей выборки, но плохо работает на тестовых примерах, подчиненных тому же статистическому распределению. Известны четыре основных типа правил обучения: коррекция по ошибке, машина Больцмана, правило Хебба и обучение методом соревнования. Правило коррекции по ошибке. При обучении «с учителем» для каждого входного примера задан желаемый выход d, однако реальный выход сети y может не совпадать с желаемым. Принцип коррекции по ошибке при обучении состоит в использовании разностного сигнала (d – y) для модификации весов, обеспечивающей постепенное уменьшение ошибки. Такое обучение производится только в случае, когда нейросеть ошибается. При этом существуют различные модификации этого алгоритма обучения, которые здесь подробно не рассматриваются. Обучение Больцмана. Представляет собой стохастическое правило обучения, которое следует из принципов теории информации и термодинамических принципов. Целью обучения Больцмана является такая настройка весовых коэффициентов, при которой состояния нейронов внешнего слоя удовлетворяют желаемому распределению вероятностей. Обучение Больцмана можно рассматривать как специальный случай коррекции по ошибке, в котором под ошибкой понимается расхождение корреляций состояний в двух режимах. Правило Хебба. Наиболее старым обучающим правилом является постулат обучения Хебба. Хебб опирался на следующие нейрофизиологические наблюдения: если нейроны с обеих сторон синапса активизируются одновременно и регулярно, то сила синаптической связи возрастает. Важной особенностью этого правила является то, что изменение синаптического веса здесь зависит только от активности нейронов, которые связаны данным синапсом. Обучение методом соревнования. В отличие от обучения Хебба, в котором множество выходных нейронов может возбуждаться одновременно, при соревновательном обучении выходные нейроны соревнуются между собой за активизацию. Это явление известно как правило «победитель берет все». Подобное обучение имеет место в биологических нейронных сетях. Обучение посредством соревнования позволяет кластеризовать входные данные: аналогичные входные примеры группируются сетью в соответствии с корреляциями и представляются одним элементом. При обучении методом соревнования модифицируются только веса «победившего» нейрона. Эффект от этого правила достигается за счет такого изменения сохраненного в сети образца (вектора весов связей «победившего» нейрона), при котором он становится чуть ближе ко входному примеру. Вопросы для самопроверки: 1. В чем заключается суть направления развития искусственного интеллекта, основанного на попытке создать нейронную модель мозга? 2. Каковы современные аспекты применения нейросистем? 3. Каковы недостатки нейронных сетей? 4. В чем заключаются преимущества нейронных сетей? 5. Из каких элементов состоит модель искусственного нейрона? 6. Как работает искусственный нейрон? 7. Как строятся нейронные сети? 8. Какие задачи решаются с помощью нейронных сетей? 9. Как производится обучение нейронной сети? 10. Какие типы правил обучения нейросетей вы знаете? |