Таким образом, показана эффективность использования в генетическом алгоритме для решения задач оптимизации не только хорошо известных методов бинарного кодирования (прямой метод и грей-код), но и альтернативных способов. Особый интерес альтернативные способы кодирования представляют для гибридных генетических алгоритмов с локальным спуском. В данный момент проводятся исследования таких алгоритмов.
Библиографические ссылки
1. Caruana R., Schaffer J., Representation and Hidden Bias: Gray vs. Binary Coding for Genetic Algorithms. Proc. 5 th International Conference of Machine Learning, 1988.
2. Whitley L. D. A Free Lunch Proof for Gray versus Binary Encoding. Proc. Genetic and Evolutionary Computation Conference, 1999.
3. Ватолин Д., Ратушняк А., Смирнов М., Юкин
В. Методы сжатия данных. Устройство Архиваторов, сжатие изображений и видео. М. : Диалог - МИФИ, 2003. 384 с.
4. Ефимов С. Н., Панфилов И. А. Разработка метода выбора структуры многопроцессорных вычислительных систем // Вестник СибГАУ. 2006. Вып. 1(8).
С. 22-26.
References
1. Caruana R., Schaffer J., Representation and Hidden Bias: Gray vs. Binary Coding for Genetic Algorithms. -Proc. 5th International Conference of Machine Learning, 1988.
2. Whitley L.D. A Free Lunch Proof for Gray versus Binary Encoding. Proc. Genetic and Evolutionary Computation Conference, 1999.
3. Vatolin D., Ratushnjak A., Smirnov M., Jukin V. Metody szhatiya dannykh. Ustroystvo Arkhivatorov, szhatiye izobrazheniy i video (Data compression methods. The device archiver, compress images and videos). Мoscow, DIALOG - MIFI, 2003, 384 p.
4. Efimov S. N., Panfilov I. A. Vestnik SibGAU. 2006, no. 1(8), p. 22-26.
© Панфилов И. А., Базанова Е. П., Сопов Е. А. 2013
УДК 004.021
МОДУЛЯРНЫЕ ВЫСОКОТОЧНЫЕ ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ*
В. С. Ростовцев, Е. И. Зорин, Е. А. Грачёв
Вятский государственный университет Российская Федерация, 610000, Киров, ул. Московская, 36. Е-mail: [email protected]
Моделируются высокоточные параллельные вычисления с повышенной разрядностью, основанные на модулярной арифметике с преобразованием чисел из позиционной системы счисления в систему остаточных классов и обратно с помощью нейронных сетей. Применение нейронных технологий позволяет распараллелить вычисления на уровне алгоритма решения задачи, а применение модулярной арифметики дает возможность повысить быстродействие высокоточных вычислений за счёт перехода к обработке малоразрядных данных и применения параллельной обработки на уровне выполнения элементарных арифметических операций. Построены нейронные сети для перевода из позиционной системы счисления в систему остаточных классов и обратно. Получены зависимости времени перевода от изменения разрядности. Получены зависимости времени выполнения операций сложения, вычитания и умножения для чисел с фиксированной запятой от изменения разрядности.
Ключевые слова: нейросетевые технологии, система остаточных классов, высокоточные вычисления, параллельные вычисления.
RESIDUAL HIGH-PRECISION PARALLEL COMPUTING WITH USING OF NEURAL NETWORKS
V. S. Rostovtcev, E. I. Zorin, E. A. Grachev
Vyatskiy State University 36, Moskovskaya str., Kirov, 610000, Russian Federation. E-mail: [email protected]
*
Работа выполнена в рамках гранта по реализации федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг., утвержденной постановлением Правительства Российской Федерации. Соглашение № 14.B37.21.0590.
The authors present the modeling high-precision parallel computing with high-bit data, based on the residue number systems with the conversion of numbers from the positional notation to the residual notation and back with the using of neural networks. Application of neural technology allows parallelize computations at the level of the algorithm, and the use of residue number systems makes it possible to improve the performance of high-precision computation through the transition to a low-bit data processing and application of parallel processing at the level of the elementary arithmetic operations. A neural network for the conversion of the positional notation to the residual notation and back is constructed. The dependence of the time of conversion from changing the bit has been got. The dependence of the time operations of addition, subtraction and multiplication for fixed-point numbers from changing the bit has been got.
Keywords: neural network technology, residue number systems, high-performance computing, parallel computing.
С ростом производительности современных ЭВМ расширяется спектр и размерность решаемых на ЭВМ задач, повышаются требования к точности компьютерных вычислений. Большинство компьютерных вычислений проводятся в арифметике с плавающей точкой с жестко ограниченной длиной мантиссы, что приводит к появлению неустранимых ошибок округления. В настоящее время существует множество библиотек, поддерживающих высокоточные вычисления ЕКБЛЬ (Россия), МРАЫТН (Германия), вМР (США) и др., применение которых сдерживается сильной зависимостью роста времени выполнения арифметических операций от точности вычислений.
Одним из способов решения данной проблемы является использование модулярной арифметики [1], которая обеспечивает вычисление задач большой алгоритмической сложности. Модулярной системе счисления присущи возможность глубокого распараллеливания вычислений и отсутствие обмена данными в процессе вычислений [2]. При аппаратной реализации этих операций на программируемых логических интегральных схемах (ПЛИС) обеспечивается параллельное выполнение операций над элементами векторов [3]. В отличие от позиционной системы счисления ошибка в одной позиции вектора не влияет на расчеты в других позициях вектора. Этот факт позволяет проектировать устройства с повышенной отказоустойчивостью и с коррекцией ошибок [2; 3].
В модулярной арифметике успешно применяются нейронные сети (НС) [2-8]. Разные модели нейросе-тевых алгоритмов различаются по требованиям к ресурсам системы. Наряду с универсальными моделями НС были исследованы несколько модификаций специальных нейросетевых алгоритмов, разработанных для выполнения преобразования чисел из позиционной системы счисления (ПСС) в систему остаточных классов (СОК). Нейронная сеть конечного кольца (НСКК) представляет специализированный механизм преобразования чисел из ПСС в СОК и обратно [4-6]. Применение НСКК обеспечивает преобразования из одной системы счисления в другую быстрее классических методов и отличается меньшим количеством узлов сети и простотой их организации [4-8]. Например, при использовании НСКК прямого распространения с модульными операциями в каждой ступени для преобразования числа А = 253 по модулю 5 понадобилось 6 операций: три операции сложения и три операции сокращения по модулю.
Структурная схема НСКК подробно рассмотрена в [5] и включает входной слой, скрытые слои и выход-
ной слой. В работе исследовались высокоточные вычисления с числами большой разрядности. Поэтому при разработке алгоритма перевода чисел из ПСС в СОК были выбраны различные основания системы счисления - система счисления с основанием 2 и с основанием 232.
По результатам моделирования НСКК продемост-рировали лучшие показатели по сравнению с универсальными НС как по скорости и точности выполнения операции преобразования чисел из ПСС в СОК, так и по требуемым для его реализации ресурсам. Специализированные алгоритмы преобразования чисел из ПСС в СОК являются эффективным решением проблемы обеспечения высокоточных вычислений, особенно при их аппаратной реализации [3].
Архитектура НСКК прямого распространения с модульной операцией только на финишной ступени является эффективнее по затратам оборудования и ресурсов по сравнению с НСКК прямого распространения с модульными операциями в каждой ступени. Нейроны скрытого слоя представляют собой обычные сумматоры и не требуют реализации операций сокращения по модулю.
Основной акцент в работе был сделан на обеспечение высокоточных вычислений за счёт повышения разрядности обрабатываемых чисел, что потребовало увеличение значения основания системы счисления, которое ведёт к уменьшению размера массива весов и объёма используемой памяти. Для перевода из системы остаточных классов в позиционную систему счисления используется также нейронная сеть [2].
Для реализации выбранного алгоритма преобразования чисел из ПСС в СОК и обратно был выбран язык программирования С++, так как основная программа предназначена для работы на высокопроизводительном кластере с использованием технологии МР1 [8] со следующими характеристиками:
- пиковая производительность системы - 19 ТЛорБ;
- количество вычислительных узлов - 288;
- количество вычислительных ядер - 2304;
- каждый узел содержит 4-ядерные процессоры Риа^СогеШеКеоп® 5345 ЕМ64Т (тактовая частота 2,33 ГГц, процессорный КЭШ - 8 Мб, оперативная память - 2 вВ).
Экспериментальные вычисления проводились на одном вычислительном узле кластера. Реализация распараллеливания программы выполнена с помощью библиотеки МР1СН2. Для реализации НСКК при переводе из ПСС в СОК использовалась библиотека
вМР и компилятор фирмы Ш;е1. Для экспериментального моделирования разработан комплекс программ высокоточных вычислений в системе остаточных классов. Использованы числа в формате с фиксированной запятой с изменяемой разрядностью данных (в пределах от 64 до 2048 бит с шагом 64) и изменяемой размерностью массива обрабатываемых данных (в пределах от 104 до 109), который осуществляет операции сложения, вычитания и умножения [8].
Разрядность преобразуемых и обрабатываемых данных задавалась пользователем как аргумент программы в пределах от 64 до 2048 с шагом 64. Основаниями СОК выбраны самые большие 31-разрядные простые числа, так как вычисления с большими основаниями происходят быстрее, но необходимо учитывать возможность переполнения стандартного диапазона процессора (64 бита).
В первой серии экспериментов использовался формат чисел с фиксированной точкой, количество кото-
рых составляло 1000. Количество оснований определялось разрядностью данных. Так, например, для 64битных данных было использовано 5 оснований, для 2048-битных - 133 основания. Затраты времени для перевода из ПСС в СОК, представленные на рис. 1, показывают выигрыш в 3 раза по сравнению с классическими методами только на повышенной разрядности чисел (более 62048) и увеличении размера основания до 232.
На рис. 2 приведен график зависимости времени перевода чисел из СОК в ПСС с использованием НСКК с К = 232 и К = 264. Общее количество переводимых данных составляет 1000. Разрядность изменяется от 2048 бит до 65536 бит с шагом 2048 бит. Результаты экспериментов показывают, что затраты времени преобразования чисел из СОК в ПСС соответствуют затратам времени при использовании классических методов.
Рис. 1. График зависимости перевода чисел из ПСС в СОК
Рис. 2. График зависимости перевода чисел из СОК в ПСС
Эксперименты демонстрируют [8], что время перевода чисел из ПСС в СОК и обратно из СОК в ПСС зависит от разрядности и объёма входных данных (рис. 1, 2).
Выигрыш по быстродействию в формате с плавающей точкой наблюдается только при использовании чисел повышенной разрядности (более 2048 разрядов). В экспериментах разрядность изменялась от 2048 бит до 65536 бит с шагом 2048 бит.
Таким образом, для обеспечения высокоточных вычислений целесообразно повысить разрядность обрабатываемых данных, использовать перевод чисел в систему остаточных классов и произвести распараллеливание задач, при аппаратной реализации использовать ПЛИС.
При использовании нейросетевых технологий перевод чисел из ПСС в СОК и обратно необходимо производить с помощью нейронной сети конечного кольца, которые не требуют специальной библиотеки для работы с длинными числами в отличие от классических методов перевода чисел.
Время выполнения операций сложения, вычитания и умножения для чисел с фиксированной запятой в системе остаточных классов значительно меньше, чем время выполнения аналогичных операций, вычисленных в позиционной системе счисления с использованием библиотеки вМР. Сложение и вычитание чисел в СОК выполняется быстрее примерно на 30 %, чем в ПСС, а умножение в СОК в несколько раз быстрее, чем в ПСС. Применение чисел с плавающей запятой дает эффект только при повышенной разрядности чисел.
Библиографические ссылки
1. Акушский И. Я., Юдицкий Д. И. Машинная арифметика в остаточных классах. М. : Советское радио, 1968.
2. Червяков Н. И. Методы и принципы построения модулярных нейрокомпьютеров // 50 лет модулярной арифметике : тр. Юбилейной Междунар. на-уч.-техн. конф. (23-25 ноября 2005, Москва, Зеленоград). Зеленоград : Изд-во МИЭТ, 2006.
3. Евдокимов А. А. Реализация модулярных нейронных вычислительных структур на базе ПЛИС // 50 лет модулярной арифметике : тр. Юбилейной Междунар. науч.-техн. конф. (23-25 ноября 2005, Москва, Зеленоград). Зеленоград : Изд-во МИЭТ, 2006.
4. Червяков Н. И., Сивоплясов Д. В. Нейронная сеть конечного кольца прямого распространения с модульной операцией на финишной ступени // Вестник СевКавГТУ. Сер. «Физико-химическая». 2004. № 1 (8). С. 159-161.
5. Пат. РФ № ЯИ 2279132 С2 Нейронная сеть конечного кольца / Н. И. Червяков, В. А. Галкина, Ю. А. Стрекалов, С. В. Лавриненко. Опубл. 27.06.2006.
6. Пат. РФ № RU 2317584 С1 Конвейерная нейронная сеть конечного кольца / Н. И. Червяков. Опубл. 20.02.2008.
7. Сахнюк П. А., Шапошников А. В. Оптимизация структуры нейронных сетей конечного кольца // Нейрокомпьютеры: разработка, применение. 2001. № 10.
С. 13-18.
8. А. с. о регистрации программы для ЭВМ № 2013613857. Программный комплекс моделирования модулярных вычислений на базе нейронной сети конечного кольца. / В. С. Ростовцев, Е. А. Грачёв, Е. И. Зорин. № 20136611269 ; заявл. 27.02.2013 ; опубл. 17.04.2013.
References
1. Akushsky I. Ya., Yuditsky D. I. Mashinnaya arif-metika v ostatochnykh klassakh (Mashinnaya arithmetics in residual classes). Moscow, Soviet radio, 1968.
2. Chervyakov N. I. [Metody's worms and principles of creation of modular neurocomputers]. 50 let modulyar-noy arifmetike. Trudy Yubileynoy Mezhdunar. nauch.-tekhn. konf. [50 years to modular arithmetics. Works Anniversary International scientific and technical conference]. Moscow, Zelenograd, November 23-25, 2005. Zelenograd, MI-ET publishing house, 2006. (In Russ.)
3. Evdokimov A. A. [Realization of modular neural computing structures on the COTTON VELVET]. 50 let modulyarnoy arifmetike. Trudy Yubileynoy Mezhdunar. nauch.-tekhn. konf. [50 years to modular arithmetics. Works Anniversary International scientific and technical conference]. Moscow, Zelenograd, November 23-25, 2005. Zelenograd, MI-ET publishing house, 2006. (In Russ.)
4. Chervyakov N. I., Sivoplyasov D. V. Vestnik SevKavGTU. Seriya “Fiziko-khimicheskaya”. 2004, № 1 (8), p. 159-161.
5. Chervyakov N. I., V. A. Galkin, Y. A. Strekalov, Lavrinenko S. V. Neyronnaya set’ konechnogo kol’tsa [Neural network of a final ring]. Patent RF, no. RU 2279132 C2, 2006.
6. Chervyakov N. I. Konveyyernaya neyronnaya set’ konechnogo kol'tsa [Conveyor neural network of a final ring]. Patent RF, no. RU 2317584 C1, 2008.
7. Sakhanyuk P. A., Shaposhnikov A. V. Neyrokom-p’yutery: razrabotka, primeneniye. 2001, № 10, p. 13-18.
8. Rostovteev V. S., Grachev E. A. Zorin E. I. Pro-grammnyy kompleks modelirovaniya modulyarnykh vy-chisleniy na baze neyronnoy seti konechnogo kol’tsa [Program complex of modeling of modular calculations on the basis of a neural network of a final ring]. Certificate on the state registration of the computer program no. 2013613857 of 17.04.2013 (Demand no. 20136611269 of 27.02.2013).
© Ростовцев В. С., Зорин Е. И., Грачёв Е. А., 2013