Вы находитесь на странице: 1из 8

Аналоговое и цифровое моделирование

масштабируемой нейронной сети


Д. Песчанский1, А. Будишевская1,2, Б. Злотин1 и В. Просяник1
1
Progress Inc., West Bloomfield, MI, US, pro@p-progress.com
2
Darmstadt University of Technology, Applied Plant Science, Darmstadt, Germany

Аннотация: В работе предложены новые типы быстро  Функция активации не обязательно должна
описываться сигмоидой. Более того, в качестве
обучающихся масштабируемых аналоговых и цифровых
выходного сигнала может выступать даже просто
искусственных нейронных сетей (п-сети), которые сумма приходящих на нейрон сигналов.
основаны на новой модели формального нейрона,  Корректировка весов п-нейрона (обучение)
описанной в [1]. Предложенные п-сети имеют синапсы происходит не постепенной подборкой значений от
с множеством весов и устройства выбора веса в образа к образу (постепенным градиентным
зависимости от интенсивности входящего сигнала. спуском), а одношаговой операцией компенсации
Показаны варианты сетей, выполненных на элементах ошибки при ретроградном сигнале. При этом
учитывается только информация, поступающая на
сопротивления, и, в частности, на мемристорных
обучаемый нейрон с его синапсов, но не
элементах. Также описываются матричные методы учитывается состояние других нейронов. Обучение
обучения и работы предложенной сети. Время обучения каждому образу не зависит от обучения
для новой сети линейно зависит от размеров сети и предыдущим образам, на каждом образе
объёмов данных, в отличие от других моделей производится полная компенсация ошибки обучения
искусственных нейронных сетей, имеющих для текущего образа.
экспоненциальную зависимость. Таким образом,  Корректировка весов каждого нейрона производится
за счёт встречных сигналов: прямого, полученного в
обучение п-сети проходит в десятки раз быстрее, чем
результате распознавания нейроном входного
обучение известных сетей. Полученные результаты образа и обратного, в качестве которого выступает
могут быть применены как в существующих ожидаемый выходной сигнал. Корректировка весов
искусственных нейронных сетях, так и для разработки в аналоговом варианте производится следующим
нейронного микрочипа. образом:
1. Прямой сигнал (полученный при
Ключевые слова: Нейронная сеть, Аналоговый распознавании) снижает значения
мемристор, Матрица, Обучающий алгоритм выбранных на синапсах весов
пропорционально величине этого сигнала.
1 Структура п-сети 2. Обратный (ретроградный) сигнал
(ожидаемый выходной сигнал), подаваемый
Новая модель формального нейрона (далее – п-нейрон), на выход нейрона, повышает значения
лежащего в основе п-сети, включает несколько выбранных на синапсах весов
обязательных принципов: пропорционально величине этого
 Использование нескольких медиаторов в каждом ретроградного сигнала.
синапсе. В искусственных нейронных сетях роль  Независимая корректировка весов каждого нейрона
набора медиаторов могут исполнять элементы, обеспечивает возможность полного
получившие название «корректирующие веса», они распараллеливания обучения сети.
могут быть физически представлены электрическим
сопротивлением, проводимостью, напряжением, Изложенные выше принципы являются основой для
электрическим зарядом, намагниченностью или
построения новых алгоритмов обучения и приводят к
другими физическими эффектами.
 Выбор корректирующего веса для каждого радикальному изменению поведения п-сети.
конкретного сигнала, приходящего на синапс,
должен основываться на величине сигнала.

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 1


традиционные концепции нейрона и нейронной сети. По
На Fig. 1a показан предложенный п-нейрон. В п-нейроне
этой причине было неизбежно применение цифровых
входной сигнал попадает на устройство, которое, оценив
вычислений, дополнительных блоков цифровой памяти
величину сигнала, выбирает соответствующий сигналу
и цифровых программируемых микросхем. Нейронная
корректирующий вес. Роль такого устройства может
сеть, построенная на вышеперечисленных принципах, не
выполнять, например, демультиплексор. На рисунке Fig.
является масштабируемой и не может быть полностью
1a показано, что устройство осуществляет выбор
выполнена в аналоговой форме.
корректирующего веса 3, соответствующего величине
входящего сигнала I. Возможен вариант, при котором В отличие от [2], каждый синапс предложенной
выбирается несколько корректирующих весов из нейронной сети хранит информацию не в одном
возможных. взвешивающем коэффициенте (весе), а в наборе весов,
каждый из которых соответствует определённому
Используя предложенные п-нейроны можно, построить
уровню (интервалу значений) пресинаптического
п-сеть с любой желаемой топологией, включая
сигнала. В роли взвешивающих элементов могут
топологии, подобные топологиям классических
выступать параллельно подключаемые сопротивления.
нейронных сетей, построенных на базе формальных
Сигналы в таком случае будут кодироваться токами в
нейронов. На Fig. 1b показана сеть, содержащая цепях. Параллельное подключение сопротивлений
предложенные п-нейроны (п-сеть)
обеспечивает автоматическое аналоговое суммирование
2 Аналоговое моделирование п-сети сигналов в нейроне в виде суммирования токов на
проводнике.
Биологическая сеть имеет полностью аналоговую
Для каждого синапса необходимо предусмотреть два
природу и, соответственно, аналоговые механизмы
набора взвешивающих сопротивлений: возбуждающий и
обучения и распознавания. Примером искусственного
тормозящий. Каждый такой набор сопротивлений
моделирования аналоговой п-сети может быть
подключается к своей собственной суммирующей цепи.
построение п-сети на базе резисторных элементов,
Тормозящие сигналы вычитаются из возбуждающих, а
например мемристоров.
результат является выходным сигналом нейрона. Таким
Существуют недавние работы, посвященные образом, для хранения не только положительных, но и
исследованию и развитию нейронных сетей на базе отрицательных значений сопротивлений, схема на
мемристоров, например [2]. Однако, несмотря на сопротивлениях должна быть биполярной. В противном
новизну элементной базы, использовались

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 2


случае требовались бы активные сопротивления, В режиме распознавания мемристоры работают как
способные принимать отрицательные значения. простые сопротивления (Fig. 2a). Входные сигналы X1,
X2, Xm поступают на управляющие входы
2.1 Распознавание демультиплексоров DMX1, DMX2, DMXm, которые
Цепи трех верхних рядов (Fig. 2a) имеют замыкают выбранные ими, в зависимости от величины
противоположный знак относительно цепей нижних сигнала, цепи (выделено жирным). На выходах
рядов. Входные сигналы X1, X2, Xm поступают на формируются текущие выходные сигналы нейронов Y 1,
управляющие входы устройства выбора, например на Y2, Yn.
управляющие входы демультиплексоров DMX1, DMX2, В режиме обучения сеть обучается точно так же, как её
DMXm, которые выбирают цепи, которые становятся биологический прототип – равновесным процессом
активными (выделено жирным). Выбранные цепи между прямым и обратным сигналами.
замыкаются на цепь питания A. Остальные цепи сети Непосредственную корректировку весов осуществляет
разрываются. Таким образом формируются наборы импульс напряжения U(y), прямо зависящий от сигнала
параллельно соединённых сопротивлений, являющихся y. Как видно на Fig. 2b, мемристоры на биполярных
выбранными весами нейронов. Токи суммируются и на цепях имеют встречную ориентацию. Таким образом,
выходах формируют выходные сигналы нейронов Y1, обучающий импульс, повышающий, например,
Y 2, Y n. сопротивления возбуждающих цепей (снижающий
2.2 Обучение положительные веса), одновременно снижает
сопротивления тормозящих цепей (повысит
В качестве взвешивающих сопротивлений возможно отрицательные веса). И наоборот.
использовать мемристоры. Корректировка
сопротивлений мемристоров происходит подачей Прямой обучающий сигнал, как в биологическом
импульсов напряжения по тем же цепям, которые прототипе, ведёт к снижению весов (синаптической
используются для суммирования нейроном сигналов. депрессии), то есть повышению сопротивлений
Иначе говоря, обучение п-сети на основе мемристоров мемристоров возбуждающей цепи и снижению
можно производить совершенно так же, как это сопротивлений мемристоров тормозящей цепи. Для
происходит в биологической п-сети – прямыми и этого на цепи нейронов подаются импульсы –U(yi), где
ретроградными сигналами. Сеть на рисунке Fig 2b yi – выходной сигнал соответствующего нейрона.
обучается в два этапа: распознавание и обучение. Ретроградный обучающий сигнал, как в биологическом
прототипе, ведёт к повышению весов (синаптической

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 3


потенциации), то есть снижению сопротивлений 2.4 Особенности мемристорной п-сети
мемристоров возбуждающей цепи и повышению
сопротивлений мемристоров тормозящей цепи. Для Помимо обычных особенностей мемристорных чипов,
этого на цепи нейронов подаются импульсы +U(y‘i), где таких как низкое энергопотребление и
y‘i – ожидаемый выходной сигнал соответствующего энергонезависимость, мемристорная п-сеть обладает
нейрона. рядом новых особенностей:

Корректировка весов (сопротивлений мемристоров) при  Аналоговый механизм распознавания и обучения


даёт:
обучении происходит лишь на замкнутых цепях, то есть
o Существенное увеличение скорости
на цепях, уже выбранных демультиплексорами DMX1, вычислений
DMX2, DMXm. Это соответствует обучению синапсов o Возможность хранения больших объёмов
лишь на выбранных медиаторах в естественных сетях. информации. Известно, что мемристоры
позволяют хранить сопротивления в
2.3 Оптимизация обучения диапазоне от нескольких ом до нескольких
мегаом, то есть позволяют хранить в одном
Описанный механизм (Fig. 2b) требует разделения во
мемристоре (узле) вещественные числа
времени прямого и обратного обучающих сигналов. Для (несколько байт информации).
объединения этих двух этапов (для повышения скорости  Невысокая точность записи, повреждение или
обучения) можно использовать дифференциальный надежность отдельных мемристоров не влияют на
усилитель (DA), одним входом которого является общее качество хранящейся информации; это
текущий выходной сигнал нейрона (Yi), а вторым – возможно благодаря тому факту, что любая
ожидаемый выходной сигнал нейрона (Yi‘) (Fig. 2c). информация в ИНС распределена среди множества
весов и потеря или изменение отдельных весов
Такой DA формирует выходное напряжение, компенсируются другими весами. Мемристоры с
пропорциональное разнице реального и ожидаемого отклонением параметров не принесут ущерба работе
выходных сигналов, которое является показателем нейронного чипа. В мемристорном нейрочипе
может быть воплощен критерий идеального
ошибки обучения. Импульс выходного напряжения с
компьютера по Фон Нейману: “Надежные машины и
данного DA подаётся в режиме обучения на цепи ненадежные компоненты” [3].
мемристоров, что приводит к изменению их  Быстрое восстановление мемристорного нейрочипа
сопротивлений. Причём чем выше была ошибка, тем за счет перетренировки дефектного микрочипа.
выше напряжение, а, следовательно, тем сильнее Скорость обучения предложенной сети позволяет
изменение сопротивлений мемристоров. Полярность осуществлять обучение в режиме реального
напряжения такого импульса зависит от знака ошибки. времени.
 Параллельная работа с памятью: в отличие от
Величина ошибки определяет величину напряжения обычного метода работы с памятью, когда
корректирующего импульса. Таким образом, чем выше информация может считываться с отдельных узлов
ошибка нейрона, тем выше напряжение на выходе DA, и записываться лишь по точным адресам узлов шаг
тем сильнее изменения на мемристорах цепи и, за шагом, в мемристорной п-сети извлечение и
запись информации производится параллельно и без
следовательно, тем быстрее приближение к точному
указания каких-либо адресов узлов. Это позволяет
обучению, то есть отсутствию ошибки. Обучающие обрабатывать за один шаг объёмы информации на
импульсы повторяются до тех пор, пока не будет несколько порядков большие, чем это возможно в
достигнут заданный порог точности обучения (Fig. 3). цифровой адресной памяти, то есть тоже ведёт к
повышению скорости.
 Превращение памяти из устройства для хранения
информации в устройство хранения и обработки.
Причем в отличие от последовательной числовой
обработки информации на CPU и контроллерах, в п-
сети реализуется процесс параллельной обработки
информации, и не требуются дополнительные
Fig. 3. Процесс нейронного итерационного обучения операции по обмену информацией между CPU и
памятью. Поэтому обработка информации
происходит значительно быстрее.

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 4


3 Цифровое моделирование п-сети  w11 w12 ... w1k   i1   y1 
w w22 ... w2 k  i2   y2 
П-сеть легко поддаётся не только аналоговому, но и
Y  W  I T   21   (3)
цифровому моделированию.  ... ... ... ...  ...  ... 
     
Причём цифровая модель так же, как и аналоговая,  wn1 wn 2 ... wnk  ik   yn 
может обрабатывать информацию параллельно.
Возможна реализация пакетного распознавания, то есть
Для цифрового описания п-сети для одно- и
распознавания сразу некоторого набора образов. Для
многопроцессорных систем удобно использовать
этого можно представить пакет входных образов в виде
матричную алгебру.
матрицы I размерностью v x k, где v – количество
В частности, массив мемристорных элементов из Fig. 2b распознаваемых образов. Каждая строка матрицы I
можно представить двумерной матрицей представляет собой отдельный образ, подаваемый на
распознавание.
 w11 w12 ... w1k 
w Таким образом,
w22 ... w2 k 
W   21 (1)  w11 w12 ... w1k   i11 i21 ... iv1 
 ... ... ... ... 
  w w22 ... w2 k  i12 i22 ... iv 2 
 wn1 wn 2 ... wnk  Y  W  I   21
T

 ... ... ... ...   ... ... ... ... 
   
размерностью n x k, где n – количество нейронов  wn1 wn 2 ... wnk  i1k i2 k ... ivk 
(выходов), а k – количество весов в нейроне.
Сигналы на цепях после демультиплексоров DMX 1,  y11 y12 ... y1v 
DMX2, DMXm можно представить в виде бинарной y y22 ... y2 v 
матрицы из одной строки I  i1 i2 ... ik  , с   21 (4)
 ... ... ... ... 
размерностью 1 x k, то есть строки из единиц и нулей,  
 yn1 yn 2 ... ynv 
где единицы соответствуют выбранным (замкнутым)
цепям, а нули – остальным (разомкнутым) цепям. то есть перемножение матрицы W размерностью n x k на
транспонированную матрицу IT размерностью k x v даст
Вектор выходных сигналов можно представить
матрицу Y размерностью n x v, содержащую искомые
матрицей из одной колонки
суммы выбранных элементов по строкам матрицы весов
 y1  W для всех распознаваемых образов. Каждая колонка
y  матрицы Y представляет собой отдельный выходной
Y   2 (2) образ, полученный при распознавании соответствующей
 ...  колонки матрицы входных образов I.
 
 yn  3.2 Обучение
размерностью n x 1. Как было описано выше, при обучении очередному
образу ретроградный сигнал полностью компенсирует
3.1 Распознавание ошибку, однотипно и равномерно (одним и тем же
импульсом) корректируя все выбранные веса нейрона.
Распознавание для п-сети представляет собой
При цифровой реализации осуществляется
суммирование элементов матрицы W для каждой строки
распределение суммарной ошибки нейрона между всеми
(нейрона), причём только по активным (выбранным)
выбранными весами нейрона. То есть для получения
колонкам, которым соответствуют единицы в матрице I.
величины коррекции для каждого выбранного веса
Таким образом, выходной образ Y можно получить
данного нейрона необходимо вычислить суммарную
произведением матрицы весов W на транспонированную
ошибку для этого нейрона. Затем поделить полученную
матрицу входного образа IT, состоящую из одной
колонки:

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 5


ошибку на количество выбранных весов нейрона и если он находится в выбранной колонке. Выбранная
получить величину коррекции для выбранных весов. колонка матрицы W – это колонка, соответствующая
элементу матрицы I равному единице. Невыбранная
Матрица ошибок E той же размерности, что и матрица
колонка – это колонка, соответствующая нулевому
выходного образа Y, вычисляется следующим образом:
элементу матрицы I. Корректировка весов (обучение)
 y '1   y1   y '1  y1   e1  выполняется путем сложения матриц W и С, в
 y '   y   y '  y  e  результате чего формируется матрица
E  Y ' Y   2    2    2 2    2  (5) скорректированных весов W':
 ...   ...   ...   ... 
         w11 w12 ... w1k   c11 c12 ... c1k 
 y 'n   yn   y 'n  yn  en  w w22 ... w2 k  c21 c22 ... c2 k 
W '  W  C   21 
где Y‘– матрица, содержащая ожидаемый в результате  ... ... ... ...   ... ... ... ... 
   
обучения образ, а Y – матрица полученного реального  wn1 wn 2 ... wnk  cn1 cn 2 ... cnk 
выходного образа. Матрицы E, Y‘ и Y имеют
 w11  c11 w12  c12 ... w1k  c1k 
одинаковую размерность. w  c w22  c22 ... w2k  c2k 
Матрица корректировок (D), которая содержит величину   21 21
 ... ... ... ... 
необходимой корректировки для каждого выбранного  
элемента матрицы W для каждой из строк этой матрицы  wn1  cn1 wn 2  cn 2 ... wnk  cnk 
(каждого нейрона), вычисляется путем деления каждого
члена матрицы E на m:  w '11 w '12 ... w '1k 
w ' w '22 ... w '2 k 
D = E / m, где m – количество выбранных для данного   21 (8)
образа колонок матрицы W (количество выбранных для  ... ... ... ... 
одного выхода весов).  
 w 'n1 w 'n 2 ... w 'nk 
 e1   e1 / m 
Таким образом, п-сеть обучается одному образу за одну
e  e / m 
операцию. Весь процесс обучения сети одному образу
D  E / m   2 / m   2  (6)
 ...   ...  можно описать одной формулой:
   
en  en / m  W '  W  (((Y ' Y ) / m)  I ) (9)

Где ошибку каждого нейрона делим на величину m. Такие же операции обучения проводятся для всех
образов из обучающей выборки. Цикл по всем образам
Для корректировки каждого выбранного элемента
является одной эпохой обучения. Если уровень ошибки
матрицы весов W на величину корректировки из
после эпохи еще слишком велик, цикл обучения по всем
соответствующей строки матрицы D создадим матрицу
образам повторяется.
корректировок C, перемножив матрицу корректировок D
на матрицу входного образа I. Обучение и работа многослойных сетей имеют свои
особенности и требуют освещения в отдельной
 d1   c11 c12 ... c1k  публикации.
d  c c ... c2 k 
C  D I   2
 i1 i2 ... ik    21 22 (7) 4 Экспериментальные результаты
 ...   ... ... ... ... 
    Экспериментальная п-сеть, построенная по
dn  cn1 cn 2 ... cnk 
приведенному алгоритму, была реализована в виде
однопоточной программы. Тестирование проводилось
Матрица С имеет размерность n x k, как и матрица весов
на laptop Dell Inspiron 5721, Intel CORE i5 1.80 GHz,
W, при этом каждый элемент в каждой строке матрицы
Windows 7, путем сравнения п-сети с классическими
C равен 0, если он находится в невыбранной колонке, и
нейронными сетями NeuroSolution and IBM SPSS
равен элементу матрицы D из соответствующей строки,
Statistic 22. Тесты проводились с одинаковыми данными.

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 6


Были выбраны следующие обучающие параметры: 1000 5 Выводы
входов, 20 выходов и от 500 до 7000 образов
1. Предложены быстро обучающиеся масштабируемые
аналоговые и цифровые модели нового типа
искусственной нейронной сети (п-сеть), которая
описывается в работе [1].
2. Показаны аналоговый и цифровой варианты сетей,
выполненных на элементах сопротивления и, в
частности, на мемристорных элементах.
3. Предложенные сети имеют синапсы с множеством
весов, а также устройства выбора веса в
зависимости от интенсивности входящего сигнала.
4. Приведены матричные методы обучения и работы
предложенной сети.
Данная сеть обеспечивает:

Network Images Training time, sec.  высокую скорость обучения, благодаря


Progress P-network 7000 4 множеству весов на каждом синапсе и новому
IBM SPSS Statistic 22 7000 13400 = 3hour 43minutes алгоритму обучения.
 время обучения линейно зависит от размеров
сети и объёмов данных, в отличие от других
Fig. 4. Сравнение п-сети с классической ИНС IBM SPSS моделей ИНС, имеющих экспоненциальную
Statistic 22. зависимость. Предложенная сеть требует на
несколько порядков меньшее количество эпох
Результаты тестов приведены на Fig. 4. Как видно на обучения, чем любые из классических ИНС.
Fig. 4, когда количество образов около 7000, п-сеть  Масштабируемость, позволяющая строить такие
сети любого размера и сложности.
работает в 3250 раз быстрее. С приростом количества
 Простоту в реализации в виде аналоговой или
образов время обучения IBM SPSS Statistics 22 цифровой схемы, не требующей «внешнего
увеличивается экспоненциально. При том же приросте учителя» в виде компьютера или чипа,
время обучения п-сети увеличивается линейно. реализующего длительные и сложные цифровые
вычисления.
Помимо сравнения скорости обучения, качество  Возможностью пакетной обработки образов, что
обучения было оценено дополнительными тестами, в существенно повышает скорость работы.
том числе: Предложенная сеть комплементарна к мемристорной
технологии для создания высоконадежного нейронного
 Аппроксимация функции Розенброка;
микрочипа. П-сеть также компенсирует неточности
 Классификация ирисов Фишера.
производства и функционирования таких микрочипов.
Как показали тесты, качество обучения п-сети равно или
превышает качество обучения вышеупомянутых 6 Благодарности
нейронных сетей.
Мы признательны за полезные советы и поддержку С.
Также проводились эксперименты с многопоточными Вишнепольской, А. Зусман, Г. Песчанского. Мы также
версиями сетей. В частности, была разработана GPU благодарны за поддержку, оказанную командой
версия программы, работающая на видео-карточках от компании Progress Inc. и инвесторами.
компании NVIDIA, поддерживающих CUDA. На GPU
было продемонстрировано 100%-ное распараллеливание 7 Ссылки
процесса обучения и распознавания. Был [1] D. Pescianschi, “Main principles of the general theory of
продемонстрирован линейный прирост скорости при neural network with internal feedback”, presented for the
росте количества GPU. Прирост составляет десятки раз current congress.
на одну GPU, по сравнению с однопоточной версией. [2] M. Prezioso, F. Merrikh-Bayat, B.D. Hoskins, G.C.
Adam, K.K. Likharev, D.B. Strukov “Training and operation

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 7


of an integrated neuromorphic network based on metal-oxide
memristors”. Nature 521 (2015), 61- 64.
[3] C.E. Shannon “Von Neumann's contributions to
automata theory”. Bull. Amer. Math. Soc. 64 (1958), 123-
129.

© CSREA Press., 2015 © Перевод на русский язык, Progress Inc., 2015 8

Вам также может понравиться