North писал(а):2Gab:
Ну и как продвижение? И хотелось бы узнать по подробнее про процессорные модули и принцип реализации на них НС.
Процессорный модуль - МС4.31 (
http://www.module.ru)
Содержит в себе 64-х разрядный процессор с гарвардской архитектурой и ускорителем векторных команд.
Память модуля - 2 мб на каждой шине.
Глобальная шина доступна через PCI.
НС обсчитываем алгоритмиком, сидящем в локальной памяти, а через глобальную обеспечиваем передачу данных для обсчёта. В одну секунду можно обсчитать 2-18 тыс. нейронов. Это число зависит от кол-ва связей у каждого нейрона (12-1500 шт.)
Нейроны - bilogically-inspired. Примерный алгоритм реализации можно поглядеть в работах Емельянова-Ярославского.
В принципе - это аппроксимация работы обычного нейрона, где частота генерации выражена через скорость. Размер сети - динамический. Управление размером через "питание" и "самочувствие".
Используя возможность nm6403 оперировать любой разрядностью (1-64 бита) можно построить очень эффективный алгоритм. Главное не пытаться формировать и разбирать эти данные на PC
. Лучше это делать на ПЛИС, благо у nm есть 2 коммуникационных порта.
(я использовал 2 платы xdsp-3pc и одну мс4.31)
Генератор случайных чисел - хардварный, на шуме эммитерного перехода транзистора. Подключается к RS232. Дальнейшая обработка - немного переделанный драйвер random из linux 2.6.x.
Результаты - весёлые.
На модуле XDSP-3PC (
http://www.setdsp.ru) сделал аналог уха. Через вейвлет преобразование, CIC и двухслойную резонансную НС. Получилась гибкая классификация звуков, отсев "шума", подстройка под дин. диапазон сигнала. Выходной паттерн можно было разделить на 2:
1-й - "это мы знаем" (большая часть проекционной зоны) - классифицирует звук по знакомым компонентам (во времени)
2-й - "не знаем, но интересно" - То, что не попало в первую классификацию, кроме шума.
Сложность кодирокания 1-го паттерна постепенно растёт при росте информационной ёмкости внешних воздействий. В опытах использовался паттерн 100х100 3-битных значений.
Если добавить такое же ухо и ещё один общий классификатор, то получается оценка направления и расстояния до источника звука.
С видео получается то же самое, только ресурсов больше жрёт.
Вся сложность такого подхода - трактовка результатов.
Сама по себе НС не требует обучения, как такового. Она учится по данным (в свЯзи - data-aided). Вот только выходные данные - "паттерн", и распознать, что он означает не менее сложная задача, чем его создание. Она по силам только второй НС.
Лично моё мнение - если замкнуть датчики через НС на "мускулы", то можно получить что-то интересное.
Как пример: в вышеперечисленных опытах камера и микрофоны направлялись серводвигателями и, в общем, следили за "активным" объектом.
Текущая работа: постановка всего на колёса
.
Датчики давления и ЭМ поля сегодня пришли, так что можно допаять вестибулярный аппарат.
Блок управления 3-х фазными двигателями спроектирован и ждёт зарплаты
.
Осталось немного:
Разработка элементарного блока обсчёта НС на 2-х процессорах nm6403 и материнки для 4-х таких блоков.
Разработка платы с 4-мя spartan 3 для обработки звука и изображения.
Разработка группы ЭВМ для управления всем этим хозяйством.
Самая большая проблема - деньги и свободное время: тяжела жизнь инженера-тематика
. Мне до начала октября нужно доделать 2 прошивки и отчёт
.