Нейронная сеть или искусственная нейронная сеть — это образец обработки информации, вдохновленный тем, как биологические нервные системы, такие как мозг, обрабатывают информацию.
Ключевым элементом этого образца (парадигмы) является структура системы обработки информации. Биологическая структура состоит из большого количества тесно взаимосвязанных обрабатывающих элементов (нейронов), работающих в унисон для решения конкретных задач в том числе и с нечеткой логикой. Обучение в биологических системах включает в себя корректировку синаптических связей, существующих между нейронами.
Искусственная нейронная сеть в процессе своего развития в экспертных системах переходила к новым методам представления и обработки знаний, которые ближе к рассуждениям, подобным человеческим. Они априори предназначены для обеспечения рассуждений, аналогичных рассуждениям экспертов. И уже создана новая вычислительная парадигма со многими приложениями и разработками — искусственные нейронные сети.
Чем является искусственная нейронная сеть
Искусственная нейронная сеть (или просто нейронная сеть) — это биологически вдохновленная вычислительная модель, которая состоит из обрабатывающих элементов (нейронов) и связей между ними, а также алгоритмов обучения и отзыва.
Структура искусственного нейрона определяется:
- входными данными, имеющими привязанные к ним веса;
- входной функцией, которая вычисляет совокупный чистый входной сигнал для нейрона, поступающий со всех его входов;
- функцией активации (сигнала), которая вычисляет уровень активации нейрона как функцию его совокупного входного сигнала и (возможно) о его предыдущем состоянии.
Выходной сигнал, равный значению активации, излучается через выходной сигнал (аксон) нейрона.
Характеристики нейронной сети
Основными характеристиками нейронной сети являются:
- Обучение — сеть может начинаться с «отсутствия знаний» и может быть обучена с использованием заданного набора примеров данных, то есть пар ввода-вывода (контролируемое обучение) или только входных данных (неконтролируемое обучение); в процессе обучения веса соединений изменяются таким образом, что сеть учится выдавать желаемые выходные данные для известных входных данных; обучение может потребовать повторения.
- Обобщение — если в сеть подается новый входной вектор, отличающийся от известных примеров, он выдает наилучший выходной сигнал в соответствии с используемыми примерами.
- Огромный потенциальный параллелизм — во время обработки данных многие нейроны «срабатывают» одновременно.
- Надежность — если некоторые нейроны «выходят из строя», вся система все равно может работать хорошо.
- Частичное совпадение — это то, что требуется во многих случаях, поскольку уже известные данные не совпадают в точности с новыми фактами.
Эти основные характеристики нейронных сетей делают их полезными для инженерии знаний. Нейронные сети могут использоваться для построения экспертных систем. Их можно обучить с помощью набора примеров (данных), и таким образом они представляют «скрытые» знания экспертной системы. Например, если у нас есть хорошие клинические записи о пациентах, страдающих раком, мы можем использовать эти данные для обучения нейронной сети. Та же сеть может также использовать экспертные знания, предоставляемые экспертами, где экспертные знания представлены в явной форме. После этого сеть может распознавать состояние здоровья нового пациента и давать рекомендации.
Нейронные сети можно эффективно использовать для построения пользовательского интерфейса экспертной системы. Существуют модели для обработки естественного языка, распознавания речи, распознавания образов, обработки изображений и т.д. Применение нейронных сетей для разработки знаний вдохновляет на новые модели и новые гипотезы о когнитивных процессах в мозге.
Искуственные нейронные сети применяются практически во всех областях применения, где доступен набор данных и требуется хорошее решение. Нейронные сети могут справляться с зашумленными данными, отсутствующими данными, неточными или поврежденными данными и по-прежнему выдавать хорошее решение.
Зачем использовать нейронные сети?
Нейронные сети, обладающие замечательной способностью извлекать смысл из сложных или неточных данных, могут использоваться для извлечения закономерностей и выявления тенденций, которые слишком сложны, чтобы их могли заметить люди или другие компьютерные технологии. Обученную нейронную сеть можно рассматривать как «эксперта» в той категории информации, которую ей предоставили для анализа. Этот эксперт затем может быть использован для составления прогнозов с учетом новых интересующих ситуаций и ответов на вопросы «что, если».
Преимущества нейронных сетей
К преимуществам нейронных сетей относят:
- Адаптивное обучение: способность научиться выполнять задачи на основе данных, предоставленных для обучения или первоначального опыта.
- Самоорганизация: искусственные нейронные сети могут создать свою собственную организацию или представление информации, которую они получают во время обучения.
- Работа в режиме реального времени: вычисления могут выполняться параллельно, и разрабатываются и производятся специальные аппаратные устройства, которые используют преимущества этой возможности.
- Отказоустойчивость за счет избыточного кодирования информации: частичное разрушение сети приводит к соответствующему снижению производительности. Однако некоторые сетевые возможности могут быть сохранены даже при серьезном повреждении сети.
Нейронные сети в сравнении с обычными компьютерами
Нейронные сети используют иной подход к решению задач, чем обычные компьютеры. Обычные компьютеры используют алгоритмический подход, т.е. компьютер следует набору инструкций для решения задачи. Если не известны конкретные шаги, которые компьютер должен выполнить, компьютер не может решить проблему. Это ограничивает возможности решения проблем обычными компьютерами проблем, которые мы уже понимаем и знаем, как их решать. Но компьютеры были бы намного полезнее, если бы они могли делать то, что мы точно не знаем, как делать.
Нейронные сети обрабатывают информацию аналогично человеческому мозгу. Сеть состоит из большого количества тесно взаимосвязанных обрабатывающих элементов (нейронов), работающих параллельно для решения конкретной задачи. Нейронные сети учатся на примере. Их нельзя запрограммировать на выполнение конкретной задачи. Примеры должны быть тщательно подобраны, иначе полезное время будет потрачено впустую или, что еще хуже, сеть может работать неправильно.
Недостатком нейронной сети является то, что, поскольку сеть сама находит способ решения проблемы, ее работа может быть непредсказуемой.
С другой стороны, обычные компьютеры используют когнитивный подход к решению проблем; способ решения проблемы должен быть известен и изложен в небольших недвусмысленных инструкциях. Затем эти инструкции преобразуются в программу на языке высокого уровня, а затем в машинный код, который компьютер может понять. Эти машины полностью предсказуемы; если что-то пойдет не так, то это произойдет из-за программного или аппаратного сбоя.
Нейронные сети и обычные алгоритмические компьютеры не конкурируют, а дополняют друг друга. Есть задачи, которые больше подходят для алгоритмического подхода, такие как арифметические операции, и задачи, которые больше подходят для нейронных сетей. Более того, для решения большого числа задач требуются системы, использующие комбинацию двух подходов (обычно для управления нейронной сетью используется обычный компьютер), чтобы работать с максимальной эффективностью.
Искусственные нейронные сети не творят чудес. Но при разумном использовании они могут давать удивительные результаты.