Теорема 1. Пусть G — циклическая группа с эффективным инвертированием, пусть также 2|N. Тогда для любого е > 0 существует такой алгоритм решения задачи дискретного логарифмирования в интервале в группе G, что при случайном равновероятном выборе n его средняя трудоёмкость не превосходит (1 + е)у/nN/2 + O£(N1/4) групповых операций, где N ^ то.
Здесь запись O£ означает, что константа под символом O зависит от е. Подробное изложение представленных результатов можно найти в [5].
ЛИТЕРАТУРА
1. Gaudry P. and Schost E. A low-memory parallel version of Matsuo, Chao and Tsujii's algorithm // LNCS. 2004. V.3076. P. 208-222.
2. Galbraith S. D. and Holmes M. A non-uniform birthday problem with applications to discrete logarithms // Discr. Appl. Math. 2012. V. 160. No. 10-11. P. 1547-1560. eprint.iacr.org/ 2010/616.
3. Wiener M. J. and Zuccherato R. J. Faster attacks on elliptic curve cryptosystems // LNCS. 1999. V. 1556. P. 190-200.
4. Galbraith S. D. and Ruprai R. S. Using equivalence classes to accelerate solving the Discrete Logarithm Problem in a short interval // LNCS. 2010. V. 6056. P. 368-383. eprint.iacr.org/ 2010/615.
5. Николаев М. Н. О сложности задачи дискретного логарифмирования в интервале в группе с эффективным инвертированием // Прикладная дискретная математика. 2015. №2(28). С.97-102.
УДК 621.396:621.372 DOI 10.17223/2226308X/8/59
РЕАЛИЗАЦИЯ НЕЙРОННОЙ WTA-СЕТИ НА МЕМРИСТОРНОМ КРОССБАРЕ
М. С. Тарков
Предложен алгоритм отображения матрицы весовых коэффициентов нейронной WTA-сети на мемристорный кроссбар. Выполнено моделирование нейронной WTA-сети, построенной на основе мемристорного кроссбара, с использованием программы LTSPICE. Полученные результаты могут быть использованы как при математическом моделировании, так и при физической реализации нейронных сетей с межнейронными связями на мемристорах.
Ключевые слова: мемристор, сопротивление мемристора, кроссбар, нейронная сеть, матрица весовых коэффициентов, WTA.
Искусственная нейронная сеть обычно использует матрицу весовых коэффициентов для представления множества синапсов слоя нейронов. Соответственно вычисление активации слоя нейронов можно рассматривать как умножение этой матрицы весов на вектор входных сигналов слоя. Аппаратная реализация нейронной сети требует много памяти для хранения матрицы весов слоя нейронов и является дорогостоящей.
Решение этой проблемы упрощается при использовании в качестве ячейки памяти устройства, называемого мемристором. Мемристор был предсказан теоретически в 1971г. Леоном Чуа [1]. Первую физическую реализацию мемристора продемонстрировала в 2008 г. лаборатория фирмы «Hewlett Packard» в виде тонкоплёночной структуры TiO2 [2]. В России первый мемристор на основе TiO2 получен в 2012г. в Тюменском государственном университете.
Мемристор имеет много достоинств, таких, как энергонезависимость хранения информации, малое потребление энергии, высокая плотность интеграции и замечательная масштабируемость. Уникальная способность сохранять следы возбуждения устройства делает его идеальным кандидатом для реализации синапсов в электронных нейронных сетях. Мемристор ведет себя подобно синапсу: он «запоминает» полный электрический заряд, прошедший через него. Память, основанная на мемристо-рах, может достигать очень высокой степени интеграции 100 Гбит/см2, в несколько раз более высокой, чем на основе технологии флэш-памяти. Эти уникальные свойства делают мемристор многообещающим устройством для создания массово-параллельных нейроморфных систем.
Мемристорный кроссбар содержит мемристор на каждом пересечении горизонтальных и вертикальных проводников. Он интересен для реализации матриц соединений в нейронных сетях, поскольку может обеспечить большое число сигнальных связей и вычислить взвешенную комбинацию входных сигналов.
Слой WTA-нейронов (Winner Takes All) может быть описан выражением
N
Vi = f (ai), ai =J2 WijXj, (1)
j=0
где wi — вектор весов i-го нейрона, i = 1,... ,p; f — функция активации нейрона; x — вектор входных сигналов слоя нейронов; y — выходной сигнал i-го нейрона. Предполагается, что Xj, j = 1,... , N — сигналы, образованные входным объектом сети, x0 = 1, wi0 — порог i-го нейрона.
Входной вектор x относится слоем нейронов к классу i при выполнении неравенства
ai > aj, j е l1,...^}, j = i.
Положим
f (a)={1 a « 0: (2)
Пусть на вход слоя поступает множество попарно различимых объектов {xi = = (x1,...,xN)}, т.е. xi = xj при i = j, причём xlk = ±1. Такими объектами могут быть бинарные изображения. Пусть каждый из объектов xi содержит m компонентов, равных 1 («белый цвет»), и n компонентов, равных —1 («чёрный цвет»), m + n = N, то есть объекты отличаются друг от друга цветами пикселей (рис. 1).
■ II
Рис. 1. Изображения символов L, T и X
Поставим в соответствие белому пикселю вес wij = Wmax, а чёрному где Wmax > Wmin —заданные значения. Положим порог wi0 = 0, i = 1,.. нейрон выигрывает соревнование при входном векторе xi, поскольку
ai = (xi, wi) = mWmax — nWmin;
aj = (xi, wj) ^ (m — 1)Wmax — (n + 1) Wmin, что соответствует принципу WTA.
— wij = Wmin, . ,p. Тогда i-й
(3)
(4)
Полагая порог тго = (т — 1)Жтах — (п + 1)Жт¡п, из (1)-(4) получаем
« = Жтах — ^т1п > 0, /(«г) = 1;
а < 0, /К") = 0, = г.
Отображение данного варианта ШТА-сети на мемристорный кроссбар сводится к заданию весов сети посредством проводимостей мемристоров кроссбара.
На рис. 2 представлена реализация в симуляторе Ыфюе IV [3] ШТА-сети из трёх нейронов на базе мемристорного кроссбара для распознавания изображений символов Ь, Т и X (рис. 1). На вертикальные шины кроссбара подаются компоненты вектора входных сигналов. Каждый горизонтальный ряд мемристоров образует адаптивный сумматор, вычисляющий активацию нейрона, транзистор ХМОБ реализует функцию активации (2). Например, нейрон, распознающий символ Ь, образован мемристорами М10-М19, транзистором Т1 и резистором Ш. В качестве выходных сигналов нейронов соответственно рассматриваются напряжения на резисторах И.1, И.2 и И.3. Входные сигналы задаются источниками напряжения V0-V9, V10 — источник питания транзисторов Т1-Т3. Сопротивления мемристоров, соответствующих входным сигналам, равны Ятт = 3 ■ 103 Ом, Ятах = 6 ■ 103 Ом, Жтт = 1/Ятах, ^тах = 1/Ятт. Проводимость пороговых мемристоров М10-М30 равна Ш0 = (т — 1)^тах — (п + 1)Жтт = = 4Жтах — 5Жт;п = 1/Я0, где сопротивление Я0 = 2 ■ 103 Ом. В экспериментах использовалась БРГСЕ-модель мемристора из [4, 5]. Эксперименты показали, что предложенная реализация нейронной ШТА-сети может быть успешно использована для распознавания изображений.
Рис. 2. WTA-сеть
ЛИТЕРАТУРА
1. Chua L. Memristor — the missing circuit element // IEEE Trans. Circuit Theory. 1971. V. 18. P. 507-519.
2. Strukov D. B., Snider G. S., Stewart D. R., and Williams R. S. The missing memristor found // Nature. 2008. V. 453. P. 80-83.
3. Володин В. Я. Компьютерное моделирование электронных схем. СПб.: БХВ-Петербург, 2010. 400 с.
4. Biolek Z., Biolek D., and Biolkova V. SPICE model of memristor with nonlinear dopant drift // Radioengineering. 2009. V. 18. No. 2. P. 210-214.
5. http://www.falatic.com/index.php/69 — Memristor simulation with LTspice —a practical example! 2015.