Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Нейросетевые технологии / АСУ Скобцов Искусственные нейронные сети лекции.doc
Источник:
Скачиваний:
307
Добавлен:
03.03.2016
Размер:
2.16 Mб
Скачать

3.Реализация нейронных сетей

При реализации нейронных сетей используются следующие подходы:

  1. программное – все компоненты НС реализуются программно на универсальных компьютерах (с архитектурой фон Неймана);

  2. аппаратно-программное – часть компонентов реализуется аппаратно, остальные – программно;

  3. аппаратное – (почти) все компоненты реализуются на аппаратном уровне.

В настоящее время существуют различные реализации каждого из приведенных трех направлений.

3.1 Программная реализация нс

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

  1. выбор архитектуры и топологии сети;

  2. ввод и формирование обучающей выборки;

  3. реализация необходимого алгоритма обучения НС;

  4. сохранение обученной НС в необходимом формате;

  5. формирование тестовых входных воздействий;

  6. удобный контроль функционирования сети.

Для классификации программных нейропакетов используется несколько признаков. Важнейшим из них является функциональное назначение. На рис.24 согласно [3] представлена классификация нейроимитаторов по функциональным признакам.

Здесь к средствам обработки, прежде всего, относятся библиотеки отработанных элементов структуры НС, алгоритмов обучения, формирования обучающей выборки и тестовых воздействий, визуализации полученных результатов. К ним можно отнести, например, NeuroWindows(производитель-WardsSystemsGroup),NNet+ (NeuroMetricVisionSystemsInc. ), Нейро оффис и т.п.

Универсальные пакеты дают разработчику большие возможности и позволяют исследовать проектируемые сети при различных топологиях и алгоритмах обучения. К этой группе относятся NeuroShhell2 (Neuro-Demension Inc.), NeuroShell2 (Wards Systems Group),

NeuralWorks Professinal (NeuralWare Inc.), BraineMaker (California Scientific Software), Neural Net toolbox for Matlab (MathWorks Inc.) и т.п.

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

В генетических пакетах на этапе обучения (а иногда даже для синтеза оптимальной топологии сети) применяется генетический алгоритм. Это подход часто позволяет избавиться от недостатков градиентных методов и в перспективе позволит оптимизировать и выбор оптимальной топологии нейросети. К данной группе пакетов относятся: GenHunter (Ward Systems Group), Evolver (Axcellis Inc.), The Genetic Designer (Man Machine Interface), Denesis (Neural Systems) и др.

Рис.24 Классификация нейроимитаторов

В нейропакетах нечеткой логики используются модели и методы нечетких систем. Данную группу можно рассматривать и как специализированные нейропакеты (что показано на на рис.24 пунктиром). К ней относятся : Fuzzi Calc (Fuzi Ware Inc.), Fuzzle (Modico), Fuzzi Logic toolbox for Matlab (MathWorks Inc.), Flops for fuzzi logic (Kemp Carraway Heart Institute), Judgement Maker (Fuzzy Systems Engeneering) и т.п.

Нейросетевые экспертные системы можно рассматривать и как универсальные нейроимимтаторы, и как специализированные нейросети. К ним можно отнести: G2 (Gensym Corp.), Nexpert Object (Neuron Data Inc.), Guru (Micro Data Base Systems) и т.п.

Решение задач управления динамическими системами реализовано в следующих специализированных пакетах: ProcessAdvisor(AlwareInc.),ProcessInsight(PavilionTechnologies),Insecta(UbligeSoftware&RoboticCorp.),NT5000ControlSystem(CaliforniaScientificSoftwareInc.).

Нейропакеты широко используются для обработки сигналов, например, в радиолокации, гидролокации, к ним относятся:DataSculptor(NeuralWareInc.),DaDisp/NeuralNet(DSPDeveloperCorp.),DateEngine(MIT) и т.п.

Для обработки и распознавания изображений нейропакеты применяются еще чаще: ImageLib(LNKCorp.),WizardNeuralVisionSystem(ComputerRecognitionSystems),NIP2G(NeuralEnginesCorp.),NeuralNetworkAlarmMonotor(NeuralSolutions) и др.

К ним примыкают пакеты, предназначенные для распознавания образов: Application Programmer Interfacing (Expansion Programm Intl., Inc.), NNetSheet-C (Inductive Solutions Inc.), ICPAK (Tekrend International Inc.).

Задача распознавания рукописных текстов настолько важна для практики, что для этого направления разработаны свои нейропакеты: Propagator(ARDCorp.),Synaptics(SynapticsCorp),MetaMorph(ExpansionProgramInc.).

Это же относится к проблеме распознавания речи, для решения которой разработаны пкеты: NeuralIntelligenceVoc(CogitoSoftwareInc.),AQIRESystem(GradientTechnology).

Оценка нейропакетов производится по следующим показателям, которые отражают возможности использования различных архитектур и топологий нейронных сетей, критерии оптимизации и алгоритмов обучения, удобство эксплуатации и наглядность представления данных [2круглов]:

  1. простота проектирования и обучения НС;

  2. интуитивно понятный и наглядный интерфейс;

  3. наглядность и полнота представления информации в при проектировании, обучении и эксплуатации;

  4. количество реализуемых типовых архитектур НС, критериев и алгоритмов обучения;

  5. возможность проектирования собственных нейронных структур;

  6. возможность ввода собственных критериев оптимизации;

  7. возможность использования собственных алгоритмов обучения;

  8. открытость архитектуры – способность пакета к расширению путем включения собственных программных модулей;

  9. возможности интеграции пакета с другими приложениями операционной системы;

  10. возможность генерации исходного кода;

  11. наличие макроязыка для ускорения работы с пакетом.

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