NeuroPro | нейронные сети |
|
Начало Новости Услуги Нейронные сети • базовые идеи • возможности • преимущества • способы применения • области применения • точность решения • НС и ИИ Программы Статьи Заметки Ссылки Вопросы и ответы Об авторе / контакты |
Применение нейронных сетейВыделим три вопроса о применении нейронных сетей - список решаемых задач и конкурирующих методов, требования к компетентности пользователя, варианты способов применения-использования.
1. Решаемые задачи и конкурирующие методыНейронные сети могут решать широкий круг задач обработки и анализа данных − распознавание и классификация образов, прогнозирование, управление и т.д. Конкурентами являются классические методы анализа данных, статистики, идентификации систем и управления − частично это обрисовано при обсуждении преимуществ нейронных сетей.
2. Требования к компетенции пользователяПод пользователем здесь понимается человек, непосредственно разрабатывающий нейросетевые модели, а не конечный пользователь готового нейросетевого "решателя". Несмотря на многочисленные заявления о том, что нейронные сети доступны пользователям-неспециалистам, реальное положение вещей на самом деле иное. Во-первых, правильную формулировку задачи никакой компьютер за пользователя не сделает, причем под "правильной формулировкой" понимается не только правильность смысловой постановки задачи, но и правильный выбор математического метода решения и его настроек − а это в случае нейронных сетей подразумевает выбор адекватной структуры нейросети, алгоритма обучения, критерия качества решения задачи и т.д. Конечно, значительная гибкость и универсальность нейроалгоритмов допускает применение по принципу забивания гвоздей микроскопом, но не всегда это приводит к наилучшему результату. Во-вторых, имеющиеся автоматические схемы подбора оптимальных настроек нейросетевых методов не могут найти правильные решения для более-менее сложных задач. Например, соответствующие процедуры в Statistica Neural Networks не умеют хорошо решать задачу прогнозирования временных рядов, поскольку не используют приведения ряда к стационарному виду. А если делать вручную, то для получения хороших результатов в задаче прогнозирования временных рядов придется осваивать как теорию статистического прогнозирования и соответствующий модуль пакета Statistica (или альтернативную статпрограмму), так и нейросетевые методы и программы. И для иных классов задач грамотное применение нейросетей требует хороших знаний как методов нейроинформатики, так и других методов обработки и анализа данных (статистики, например).
3. Возможные способы применения и реализацииЧаще всего используются программы-нейроимитаторы (список которых широк) - они работают на обычных компьютерах, а современные нейроалгоритмы позволяют быстро обрабатывать значительные объемы информации, т.е. использовать нейронные сети для решения сложных реальных задач. Программы включают в себя как набор базовых операций по созданию, обучению и манипулированию нейронными сетями, исходными данными, свойствами нейросетей и нейрорешений, так и автоматизированные процедуры выполнения наиболее рутинных цепочек действий, например, для определения оптимальных настроек сети и алгоритма обучения. После создания нейросетевых моделей используется либо автоматическая генерация описания обученной нейросети на некотором языке программирования для того, чтобы полученный модуль можно было вставить в программу пользователя, либо поддерживаемые нейроимитаторами стандартные средства межпрограммной коммуникации (DDE, OLE, COM в среде Windows) для возможности вызова этих нейропрограмм из программ пользователя. На специфические вычислительные архитектуры (например, сигнальные процессоры) обычно переносят сгенерированное программой-нейроимитатором описание обученной нейронной сети на языке программирования (например, языке С). Для ПЛИС/PLM/FPGA-кристаллов существуют и CAD-системы, в которых номенклатуру нейроэлементов можно создать-описать в виде набора модулей и потом из этих модулей путем выбора и "перетаскивания" мышкой собрать нужную топологию-архитектуру нейросети, затем проект скомпилировать и "прошить" кристалл. В настоящее время возможно создавать нейрокомпьютеры на базе видеокарт (графических процессоров). Так что существует широкий спектр достаточно универсальных способов организации инструментальных средств и собственно процесса применения нейронных сетей на различной программно-аппаратной базе. Всегда можно подобрать наиболее оптимальный для некоторой задачи способ − всё определяется свойствами задачи и требованиями к решению, а также компетентностью пользователя. |