АРХИТЕКТУРА СОВРЕМЕННЫХ ЭВМ Лекция 11: Нейрокомпьютеры ВМиК МГУ им. М.В. Ломоносова, Кафедра АСВК Чл.-корр., профессор, д.ф.-м.н. Королёв Л.Н., Ассистент Волканов Д.Ю.
2 План лекции Биологический нейрон Модель нейровычислений Проблемы организации Примеры
3 Что такое нейрокомпьютер? Вычислительня система с MSIMD архитектурой Процессорный элемент упрощён до уровня нейрона Резко усложнены связи между элементами Программирование перенесено на изменение весовых коэффициентов связей между элементами
4 Биологический Нейрон Мозг содержит 10 миллиардов нейронов Тысячи типов нейронов соединены между собой 100 триллионов связей Нейрон может находиться, либо в спокойном, либо возбуждённом состоянии Порог перехода
5 Математическая модель нейрона Рисунок 1. Математическая модель нейрона
6 Имитатор Нейрона x1x1 x2x2 x3x3.... xdxd w1w1 w2w2 w3w3 wdwd w i. x i Функция f(x) y входной массив X=(x1,x2,...,xd) вектор весов W =(w1,w2,w3,....,wd) Сумма входов вектора X с весами W Выход y
7 Примеры функций
8 Многоуровневая нейронная сеть x1 x2 x3 xd Feature Vector Входной уровень Скрытый уровень Выходной уровень
9 Проблема обучения Обучение с готовыми ответами Обучение без ответов
10 Применение нейронных сетей Управление в реальном времен Распознавание образов Прогнозирование в реальном времени Оптимизация Обработка сигналов при наличии больших шумов Протезирование Психодиагностика
11 Варианты построения нейрокомпьютеров На основе обычных процессоров На основе DSP процессоров На специализированной аппаратной базе
12 Характеристики CUPS (connections update per second) - число измененных значений весов в секунду (оценивает скорость обучения). CPS (connections per second) - число соединений (умножений с накоплением) в секунду (оценивает производительность). CPSPW = CPS/Nw, где Nw - число синапсов в нейроне. CPPS - число соединений примитовов в секунду, CPPS=CPS*Bw*Bs, где Bw, Bs - разрядность весов и синапсов. MMAC - миллионов умножений с накоплением в секунду.
13 Особенности DSP процессоров Аппаратная поддержка программных циклов, кольцевых буферов Один или несколько операндов извлекаются из памяти в цикле исполнения команды Нет команд R,R->R Реализация однотактного умножения и команд, использующих в качестве операндов содержимое ячеек памяти
14 Особенности DSP процессоров (2) Сложение и умножение требуют: –произвести выборку двух операндов –выполнить сложение или умножение (обычно и то и другое) –сохранить результат или удерживать его до повторения Множественный доступ к памяти за один и тот же командный цикл.
Процессор NM Mhz RISC ядро 32-битные данные 32-битные операции регистров Векторное устройство Переменная разрядность До 2048 параллельных умноженей
16 RISC-ядро 5-ти ступенчатый 32-разрядный конвейер; 32- и 64-разрядные команды (обычно выполняется две операции в одной команде); Два адресных генератора, адресное пространство - 16 GB; Два 64-разрядных программируемых интерфейса с SRAM/DRAM-разделяемой памятью; Формат данных - 32-разрядные целые; Регистры: 8 32-разрядных регистров общего назначения; 8 32-разрядных адресных регистров; Специальные регистры управления и состояния; Два высокоскоростных коммуникационных порта ввода/вывода, Аппаратно совместимых с портами TMS320C4x.
17 VECTOR-сопроцессор Переменная 1-64-разрядная длина векторных операндов и результатов; Формат данных - целые числа, упакованные в 64-разрядные блоки, в форме слов переменной длины от 1 до 64 разрядов каждое; Поддержка векторно-матричных и матрично-матричных операций; Два типа функций насыщения на кристалле; Три внутренних 32x64-разрядных RAM- блока
18 Производительность Скалярные операции: –50 MIPS; –200 MOPS для 32-разрядных данных; Векторные операции: –от 50 до MMAC (миллионов умножений с накоплением в секунду); I/O и интерфейсы с памятью: –пропускная способность двух 64-разрядных интерфейсов с памятью - до 800 Мбайт/сек; I/O коммуникационные порты - до 20 Мбайт/сек кажд
19 Особенности NM64003 (1) Возможность работы с входными сигналами (синапсами) и весами переменной разрядности (от 1 до 64 бит), задаваемой программно, что обеспечивает уникальную способность нейропроцессора увеличивать производительность с уменьшением разрядности операндов; Быстрая подкачка новых весов на фоне вычислений; (24 операции умножения с накоплением за один такт при длине операндов 8 бит); V аппаратная поддержка эмуляции нейросетей большой размерности; Реализация функции активации в виде пороговой функции или функции ограничения;
20 Особенности NM64003 (2) Наличие двух широких шин (по 64 разряда) для работы с внешней памятью любого типа: до 4Мб SRAM и до 16 Гб DRAM; Наличие двух байтовых коммуникационных портов ввода/вывода, аппаратно совместимых с коммуникационными портами TMS320C4x для реализации параллельных распределенных вычислительных систем большой производительности. Возможность работать с данными переменной разрядности по различным алгоритмам, реализуемым с помощью хранящихся во внешнем ОЗУ программ
Системы на NM 6403 MC431 – однопроцессорная плата NM4 – четырехпроцессорная плата 6MCBO – 4 платы по 6 процессоров и платы для обработки входных сигналов
22 Схема нейровычислителя
23 Нейроускоритель МЦ 4.01
24 Преимущества нейрокомпьютеров Все алгоритмы нейроинформатики высокопараллельны Устойчивость нейросистем к помехам и разрушениям Устойчивые и надежные нейросистемы могут создаваться и из ненадежных элементов, имеющих значительный разброс параметров
25 Особенности нейрокомпьютеров Массовый параллелизм Распределённое представление информации и вычисления Способность к обучению и обобщению Адаптивность Свойство контекстуальной обработки информации Толерантность к ошибкам Низкое энергопотребление
26 Спасибо за внимание!