Смекни!
smekni.com

по Информационным технологиям «Современные принципы и методы обработки информации» (стр. 2 из 3)

Нейронные сети

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

Нейросетевые методы являлись одной из ключевых технологий японской национальной программы "Вычисления в реальном мире − Real world computing", сменившей в 1992г программу создания компьютеров пятого поколения.

Существует несколько широко распространенных коммерческих универсальных нейросетевых программных пакетов (Statistica Neural Networks, NeuroShell, Matlab Neural Network Toolbox, NeuroSolutions, BrainMaker). Специализированных, некоммерческих или разработанных учеными-исследователями для собственных нужд нейропрограмм гораздо больше

Базовые идеи нейронных сетей

Основными идеями, лежащими в основе нейронных сетей и нейромоделирования, являются следующие:

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

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

Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм - нужно взять универсальный нейросетевой инструмент, создать и обучить нейросеть.

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

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

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

Возможности нейронных сетей

Основными интересными на практике возможностями нейронных сетей являются такие:

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

Возможность работы при наличии большого числа неинформативных, шумовых входных сигналов − предварительного их отсева делать не нужно, нейронная сеть сама определит их малопригодность для решения задачи и может их явно отбросить.

Возможность работы со скоррелированными независимыми переменными, с разнотипной информацией − непрерывнозначной и дискретнозначной, количественной и качественной, что часто доставляет затруднение методам статистики

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

Алгоритмы обучения накладывают достаточно мало требований на структуру нейронной сети и свойства ее нейронов. Поэтому при наличии экспертных знаний или в случае специальных требований можно целенаправленно выбирать вид и свойства нейронов и нейронной сети, собирать структуру нейронной сети вручную, из отдельных элементов, и задавать для каждого из них нужные свойства.

Описанные возможности в основном относятся к слоистым нейронным сетям. Но существуют и другие классы нейронных сетей − нейросети ассоциативной памяти, нейросети для квантования данных, сжатия данных путем построения главных независимых компонент, нейронные сети для разделения смеси сигналов и др. Т.е. круг задач, решаемых нейронными сетями, очень и очень широк, поскольку широк и сам набор нейросетевых алгоритмов.

Практические приложения нейронных сетей

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

Экономика и бизнес: предсказание рынков, автоматический дилинг, оценка рисков невозврата кредитов, предсказание банкротств, оценка стоимости недвижимости, выявление пере- и недооцененных компаний, автоматическое рейтингование, оптимизация товарных и денежных потоков, автоматическое считывание и распознавание чеков и документов, безопасность транзакций по пластиковым картам.

Медицина: постановка диагноза, обработка медицинских изображений, мониторинг состояния пациента, факторный анализ эффективности лечения, очистка показаний приборов от шумов.

Авионика: обучаемые автопилоты, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета.

Связь: сжатие видеоинформации, быстрое кодирование-декодирование, оптимизация сотовых сетей и схем маршрутизации пакетов.

Интернет: ассоциативный поиск информации, электронные секретари и агенты пользователя в Сети, фильтрация информации, блокировка спама, рубрикация новостевых лент, адресные реклама и маркетинг для электронной торговли.

Автоматизация производства: оптимизация режимов производственного процесса, комплексная диагностика качества продукции по результатам тестирования с помощью ультразвукового, оптического или гамма-излучений, мониторинг и визуализация многомерной диспетчерской информации, предупреждение аварийных ситуаций, робототехника.

Политические и социологические технологии: предсказание результатов выборов, анализ и обобщение социологических опросов, предсказание динамики рейтингов, выявление значимых факторов, объективная кластеризация электората, исследование и визуализация социальной динамики населения.

Безопасность и охранные системы: идентификация личности по отпечаткам пальцев, голосу, подписи, лицу, распознавание голоса, лиц в толпе, распознавание автомобильных номеров, анализ аэрокосмических снимков, мониторинг информационных потоков и обнаружение вторжений, обнаружение подделок.

Ввод и обработка информации: распознавание и обработка рукописных чеков, платежных, иных финансовых и бухгалтерских документов.

Геологоразведка: анализ сейсмических данных, ассоциативные методики поиска полезных ископаемых, оценка ресурсов месторождений.

Квантовые вычисления

Начнем с уточнения термина "квантовый компьютер". Обычно слово "компьютер" связывают с одной из реализаций так называемой архитектуры фон Неймана, предложенной Джоном фон Нейманом (John von Neumann) еще в 1945 году. В этой архитектуре вычисляющая машина состоит из четырех частей: памяти, системы ввода/вывода (I/O), арифметическо-логического блока (ALU) и системы управления. В качестве примеров назовем соответственно: жесткий диск и оперативную память; клавиатуру, дисплей, принтер; процессор; программное обеспечение. Однако в квантовом случае можно говорить о реализации лишь одной из составляющих фон-неймановской архитектуры - системы ввода-вывода. Остальные составляющие не имеют квантовых аналогов в привычном нам понимании. Например, память квантового компьютера, работающего с N квантовыми битами, в теории бесконечна и вероятностна, но при этом позволяет считывать только N обычных бит информации, причем чтение информации разрушает саму вычисляющую систему (заодно отметим, что существующие сегодня квантовые компьютеры могут обрабатывать и хранить информацию только в течение долей секунды). ALU квантового компьютера даже теоретически допускает применение только обратимых операций, а на практике оказывается, что и не любая обратимая операция может быть выполнена за конечное время. Система управления (в традиционном смысле) принципиально не может быть частью квантового вычислителя. В результате от привычного содержания слова "компьютер" в квантовом случае остается лишь условная способность "считывать информацию".

Но ведь главное значение слова "компьютер" - машина для вычислений, и несмотря на указанные особенности архитектуры существуют классы вычислений, которые легче выполнить, используя квантовые, а не классические принципы. Есть и такие вычисления, которые в классическом случае просто невозможны. Например, никакой современный классический компьютер не способен по-настоящему "вычислить" случайное число. С другой стороны, при помощи квантовой технологии можно генерировать подлинно случайные числа.