RU2021118571A - Аналоговая аппаратная реализация нейронных сетей - Google Patents

Аналоговая аппаратная реализация нейронных сетей Download PDF

Info

Publication number
RU2021118571A
RU2021118571A RU2021118571A RU2021118571A RU2021118571A RU 2021118571 A RU2021118571 A RU 2021118571A RU 2021118571 A RU2021118571 A RU 2021118571A RU 2021118571 A RU2021118571 A RU 2021118571A RU 2021118571 A RU2021118571 A RU 2021118571A
Authority
RU
Russia
Prior art keywords
analog
network
equivalent
neural network
layer
Prior art date
Application number
RU2021118571A
Other languages
English (en)
Other versions
RU2796649C2 (ru
Inventor
Александрс ТИМОФЕЕВС
Борис МАСЛОВ
Николай Вадимович КОВШОВ
Дмитрий Юльевич Годовский
Original Assignee
ПолиН Текнолоджи Лимитед
Filing date
Publication date
Application filed by ПолиН Текнолоджи Лимитед filed Critical ПолиН Текнолоджи Лимитед
Publication of RU2021118571A publication Critical patent/RU2021118571A/ru
Application granted granted Critical
Publication of RU2796649C2 publication Critical patent/RU2796649C2/ru

Links

Claims (288)

1. Способ аппаратной реализации нейронных сетей, содержащий этапы, на которых:
получают топологию нейронной сети и весовые коэффициенты обученной нейронной сети;
трансформируют топологию нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов;
вычисляют матрицу весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение между аналоговыми компонентами эквивалентной аналоговой сети; и
формируют схематическую модель для реализации эквивалентной аналоговой сети на основе матрицы весов, включая выбор значений компонентов для аналоговых компонентов.
2. Способ по п.1, в котором этап, на котором формируют схематическую модель, включает в себя этап, на котором формируют матрицу сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов и представляет собой значение сопротивления.
3. Способ по п.2, дополнительно содержащий этапы, на которых:
получают новые весовые коэффициенты для обученной нейронной сети;
вычисляют новую матрицу весов для эквивалентной аналоговой сети на основе новых весовых коэффициентов; и
формируют новую матрицу сопротивлений для новой матрицы весов.
4. Способ по п.1, в котором топология нейронной сети включает в себя один или более слоев нейронов, причем каждый слой нейронов вычисляет соответствующие выводы на основе соответствующей математической функции, и этап, на котором трансформируют топологию нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, содержит этапы, на которых, для каждого слоя из одного или более слоев нейронов:
идентифицируют один или более блоков функции на основе соответствующей математической функции для соответствующего слоя, при этом каждый блок функции имеет соответствующую схематическую реализацию с выводами блока, которые согласуются с выводами соответствующей математической функции; и
формируют соответствующую многослойную сеть аналоговых нейронов на основе расстановки одного или более блоков функции, при этом каждый аналоговый нейрон реализует соответствующую функцию одного или более блоков функции, и каждый аналоговый нейрон первого слоя многослойной сети соединяется с одним или более аналоговыми нейронами второго слоя многослойной сети.
5. Способ по п.4, в котором один или более блоков функции включают в себя один или более базовых блоков функции, выбранных из группы, состоящей из следующего:
блок взвешенного суммирования с выводом блока в виде
Figure 00000001
, где
Figure 00000002
является функцией активации Выпрямленной Линейной Единицы (ReLU) или аналогичной функцией активации,
Figure 00000003
представляет собой i-й ввод,
Figure 00000004
представляет собой весовой коэффициент, соответствующий i-му вводу, и
Figure 00000005
представляет собой значение смещения, и
Figure 00000006
является оператором суммирования;
блок умножителя сигнала с выводом блока в виде
Figure 00000007
, где
Figure 00000008
представляет собой i-й ввод,
Figure 00000009
представляет собой j-й ввод, и
Figure 00000010
является предварительно определенным коэффициентом;
блок активации по сигмоиде с выводом блока в виде
Figure 00000011
, где
Figure 00000012
представляет собой ввод, а A и B являются предварительно определенными значениями коэффициента блока активации по сигмоиде;
блок активации по гиперболическому тангенсу с выводом блока в виде
Figure 00000013
, где
Figure 00000014
представляет собой ввод, а A и B являются предварительно определенными значениями коэффициента; и
блок задержки сигнала с выводом блока в виде
Figure 00000015
, где
Figure 00000016
представляет собой период текущего времени,
Figure 00000017
представляет собой вывод блока задержки сигнала для предшествующего периода времени
Figure 00000016
-1, и
Figure 00000018
является значением задержки.
6. Способ по п.4, в котором этап, на котором идентифицируют один или более блоков функции, включает в себя этап, на котором выбирают один или более блоков функции на основе типа соответствующего слоя.
7. Способ по п.1, в котором топология нейронной сети включает в себя один или более слоев нейронов, причем каждый слой нейронов вычисляет соответствующие выводы на основе соответствующей математической функции, и этап, на котором трансформируют топологию нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, содержит этапы, на которых:
осуществляют разложение первого слоя топологии нейронной сети на множество подслоев, включая разложение математической функции, соответствующей первому слою, чтобы получить одну или более промежуточных математических функций, при этом каждый подслой реализует промежуточную математическую функцию; и
для каждого подслоя первого слоя топологии нейронной сети:
выбирают один или более блоков подфункции на основе соответствующей промежуточной математической функции для соответствующего подслоя, и
формируют соответствующую многослойную аналоговую подсеть аналоговых нейронов на основе расстановки одного или более блоков подфункции, при этом каждый аналоговый нейрон реализует соответствующую функцию одного или более блоков подфункции, и каждый аналоговый нейрон первого слоя многослойной аналоговой подсети соединяется с одним или более аналоговыми нейронами второго слоя многослойной аналоговой подсети.
8. Способ по п.7, в котором математическая функция, соответствующая первому слою, включает в себя один или более весовых коэффициентов, и этап, на котором осуществляют разложение математической функции, включает в себя этап, на котором регулируют один или более весовых коэффициентов так, чтобы объединение одной или более промежуточных функций приводило к упомянутой математической функции.
9. Способ по п.1, дополнительно содержащий этапы, на которых:
формируют эквивалентную цифровую сеть цифровых компонентов для одного или более выходных слоев топологии нейронной сети; и
соединяют вывод одного или более слоев эквивалентной аналоговой сети с эквивалентной цифровой сетью цифровых компонентов.
10. Способ по п.1, в котором аналоговые компоненты включают в себя множество операционных усилителей и множество резисторов, причем каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между аналоговыми нейронами.
11. Способ по п.10, в котором этап, на котором выбирают значения компонента аналоговых компонентов, включает в себя этап, на котором выполняют метод градиентного спуска, чтобы идентифицировать возможные значения сопротивления для множества резисторов.
12. Способ по п.1, в котором топология нейронной сети включает в себя один или более нейронов GRU или LSTM, и этап, на котором трансформируют топологию нейронной сети, включает в себя этап, на котором формируют один или более блоков задержки сигнала для каждого рекуррентного соединения одного или более нейронов GRU или LSTM.
13. Способ по п.12, в котором один или более блоков задержки сигнала активируются с частотой, которая совпадает с предварительно определенной частотой входного сигнала для топологии нейронной сети.
14. Способ по п.1, в котором топология нейронной сети включает в себя один или более слоев нейронов, которые выполняют функции неограниченной активации, и этап, на котором трансформируют топологию нейронной сети, включает в себя этап, на котором применяют одну или более трансформаций, выбранных из группы, состоящей из следующего:
замена функций неограниченной активации ограниченной активацией; и
регулирование соединений или весовых коэффициентов эквивалентной аналоговой сети таким образом, что, для предварительно определенных одного или более вводов, разность вывода между обученной нейронной сетью и эквивалентной аналоговой сетью сведена к минимуму.
15. Способ по п.2, дополнительно содержащий этап, на котором формируют одну или более литографических масок для изготовления микросхемы, реализующей эквивалентную аналоговую сеть аналоговых компонентов на основе матрицы сопротивлений.
16. Способ по п.15, дополнительно содержащий этапы, на которых:
получают новые весовые коэффициенты для обученной нейронной сети;
вычисляют новую матрицу весов для эквивалентной аналоговой сети на основе новых весовых коэффициентов;
формируют новую матрицу сопротивлений для новой матрицы весов; и
формируют новую литографическую маску для изготовления микросхемы, реализующей эквивалентную аналоговую сеть аналоговых компонентов, на основе новой матрицы сопротивлений.
17. Способ по п.1, в котором обученная нейронная сеть обучается с использованием программных моделирований, чтобы сформировать весовые коэффициенты.
18. Система для аппаратной реализации нейронных сетей, содержащая:
один или более процессоров;
память, при этом память хранит одну или более программ, сконфигурированных для исполнения одним или более процессорами, и одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение между аналоговыми компонентами эквивалентной аналоговой сети; и
формирования схематической модели для реализации эквивалентной аналоговой сети на основе матрицы весов, включая выбор значений компонентов для аналоговых компонентов.
19. Долговременный машиночитаемый носитель информации, хранящий одну или более программ, сконфигурированных для исполнения компьютерной системой с одним или более процессорами, причем одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение между аналоговыми компонентами эквивалентной аналоговой сети; и
формирования схематической модели для реализации эквивалентной аналоговой сети на основе матрицы весов, включая выбор значений компонентов для аналоговых компонентов.
20. Способ аппаратной реализации нейронных сетей, содержащий этапы, на которых:
получают топологию нейронной сети и весовые коэффициенты обученной нейронной сети;
вычисляют одно или более ограничений соединения на основе конструктивных ограничений аналоговой интегральной микросхемы (IC);
трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, отвечающую этим одному или более ограничениям соединения; и
вычисляют матрицу весов для эквивалентной сети с разреженными соединениями на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение между аналоговыми компонентами эквивалентной сети с разреженными соединениями.
21. Способ по п.20, в котором этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этап, на котором получают возможную степень
Figure 00000019
входного соединения и степень
Figure 00000020
выходного соединения в соответствии с одним или более ограничениями соединения.
22. Способ по п.21, в котором топология нейронной сети включает в себя по меньшей мере один слой с плотными соединениями с
Figure 00000021
вводами и
Figure 00000022
выводами и матрицей
Figure 00000023
весов, и этап, на котором трансформируют по меньшей мере один слой с плотными соединениями, включает в себя этап, на котором конструируют эквивалентную сеть с разреженными соединениями с
Figure 00000021
вводами,
Figure 00000022
выводами и
Figure 00000024
слоями так, что степень входного соединения не превышает
Figure 00000019
, а степень выходного соединения не превышает
Figure 00000020
.
23. Способ по п.21, в котором топология нейронной сети включает в себя по меньшей мере один слой с плотными соединениями с
Figure 00000021
вводами и
Figure 00000022
выводами и матрицей
Figure 00000023
весов, и этап, на котором трансформируют по меньшей мере один слой с плотными соединениями, включает в себя этап, на котором конструируют эквивалентную сеть с разреженными соединениями с
Figure 00000021
вводами,
Figure 00000022
выводами и
Figure 00000025
слоями, причем каждый слой
Figure 00000026
представляется соответствующей матрицей
Figure 00000027
весов, где отсутствующие соединения представляются нулями, так что степень входного соединения не превышает
Figure 00000019
, а степень выходного соединения не превышает
Figure 00000020
, и при этом уравнение
Figure 00000028
выполняется с предварительно определенной точностью.
24. Способ по п.21, в котором топология нейронной сети включает в себя один слой с разреженными соединениями с
Figure 00000021
вводами и
Figure 00000022
выводами, максимальной степенью
Figure 00000029
входного соединения, максимальной степенью
Figure 00000030
выходного соединения и матрицей
Figure 00000023
весов, где отсутствующие соединения представляются нулями, и этап, на котором трансформируют один слой с разреженными соединениями, включает в себя этап, на котором конструируют эквивалентную сеть с разреженными соединениями с
Figure 00000021
вводами,
Figure 00000022
выводами,
Figure 00000031
слоями, причем каждый слой
Figure 00000032
представляется соответствующей матрицей
Figure 00000027
весов, где отсутствующие соединения представляются нулями, так что степень входного соединения не превышает
Figure 00000019
, а степень выходного соединения не превышает
Figure 00000020
, и при этом уравнение
Figure 00000028
выполняется с предварительно определенной точностью.
25. Способ по п.21, в котором топология нейронной сети включает в себя сверточный слой с
Figure 00000021
вводами и
Figure 00000022
выводами, и этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, включает в себя этап, на котором осуществляют разложение сверточного слоя на один слой с разреженными соединениями с
Figure 00000021
вводами и
Figure 00000022
выводами, максимальной степенью
Figure 00000029
входного соединения и максимальной степенью
Figure 00000030
выходного соединения, при этом
Figure 00000033
и
Figure 00000034
.
26. Способ по п.20, дополнительно содержащий этап, на котором формируют схематическую модель для реализации эквивалентной сети с разреженными соединениями, используя матрицу весов.
27. Способ по п.20, в котором топология нейронной сети включает в себя рекуррентный нейронный слой, и этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, включает в себя этап, на котором трансформируют рекуррентный нейронный слой в один или более слоев с разреженными соединениями или с плотными соединениями с соединениями задержки сигнала.
28. Способ по п.20, в котором топология нейронной сети включает в себя рекуррентный нейронный слой, и этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, включает в себя этап, на котором осуществляют разложение рекуррентного нейронного слоя на несколько слоев, где по меньшей мере один из слоев эквивалентен слою с плотными соединениями или с разреженными соединениями с
Figure 00000021
вводами и
Figure 00000022
выводами и матрицей
Figure 00000023
весов, где отсутствующие соединения представляются нулями.
29. Способ по п.20, в котором топология нейронной сети включает в себя
Figure 00000021
вводов, весовой вектор
Figure 00000035
и однослойный персептрон с нейроном вычисления с функцией
Figure 00000036
активации,
этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этапы, на которых:
получают степень
Figure 00000037
соединения для эквивалентной сети с разреженными соединениями в соответствии с одним или более ограничениями соединения;
вычисляют количество слоев
Figure 00000032
для эквивалентной сети с разреженными соединениями с использованием уравнения
Figure 00000038
; и
конструируют эквивалентную сеть с разреженными соединениями с
Figure 00000021
вводами,
Figure 00000032
слоями и степенью
Figure 00000037
соединения, при этом эквивалентная сеть с разреженными соединениями включает в себя соответствующие один или более аналоговых нейронов в каждом слое из
Figure 00000032
слоев, причем каждый аналоговый нейрон первых
Figure 00000039
слоев реализует тождественную трансформацию, а аналоговый нейрон последнего слоя реализует функцию
Figure 00000036
активации нейрона вычисления однослойного персептрона, и
этап, на котором вычисляют матрицу весов для эквивалентной сети с разреженными соединениями, содержит этап, на котором вычисляют весовой вектор
Figure 00000040
для соединений эквивалентной сети с разреженными соединениями путем решения системы уравнений на основе весового вектора
Figure 00000023
, при этом система уравнений включает в себя
Figure 00000021
уравнений с
Figure 00000041
переменными, и
Figure 00000041
вычисляется с использованием уравнения
Figure 00000042
.
30. Способ по п.20, в котором топология нейронной сети включает в себя
Figure 00000021
вводов, однослойный персептрон с
Figure 00000022
нейронами вычисления и матрицей
Figure 00000043
весов, которая включает в себя строку весовых коэффициентов для каждого нейрона вычисления из
Figure 00000022
нейронов вычисления,
этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этапы, на которых:
получают степень
Figure 00000037
соединения для эквивалентной сети с разреженными соединениями в соответствии с одним или более ограничениями соединения;
вычисляют количество слоев
Figure 00000032
для эквивалентной сети с разреженными соединениями с использованием уравнения
Figure 00000038
;
осуществляют разложение однослойного персептрона на
Figure 00000022
сетей однослойного персептрона, при этом каждая сеть однослойного персептрона включает в себя соответствующий нейрон вычисления из
Figure 00000022
нейронов вычисления;
для каждой сети однослойного персептрона из
Figure 00000022
сетей однослойного персептрона:
конструируют соответствующую эквивалентную пирамидоподобную подсеть для соответствующей сети однослойного персептрона с
Figure 00000021
вводами,
Figure 00000032
слоями и степенью
Figure 00000037
соединений, при этом эквивалентная пирамидоподобная подсеть включает в себя один или более соответствующих аналоговых нейронов в каждом слое из
Figure 00000032
слоев, причем каждый аналоговый нейрон первых
Figure 00000039
слоев реализует тождественную трансформацию, а аналоговый нейрон последнего слоя реализует функцию активации соответствующего нейрона вычисления, который соответствует соответствующему однослойному персептрону; и
конструируют эквивалентную сеть с разреженными соединениями путем сцепления каждой эквивалентной пирамидоподобной подсети, включая сцепление ввода каждой эквивалентной пирамидоподобной подсети для
Figure 00000022
сетей однослойного персептрона, чтобы сформировать входной вектор с
Figure 00000044
вводами, и
этап, на котором вычисляют матрицу весов для эквивалентной сети с разреженными соединениями, содержит этапы на которых, для каждой сети однослойного персептрона из
Figure 00000022
сетей однослойного персептрона:
устанавливают весовой вектор
Figure 00000045
, причем iя строка матрицы
Figure 00000043
весов соответствует соответствующему нейрону вычисления, который соответствует соответствующей сети однослойного персептрона; и
вычисляют весовой вектор
Figure 00000046
для соединений соответствующей эквивалентной пирамидоподобной подсети путем решения системы уравнений на основе весового вектора
Figure 00000023
, при этом система уравнений включает в себя
Figure 00000021
уравнений с
Figure 00000041
переменными, и
Figure 00000041
вычисляется с использованием уравнения
Figure 00000042
.
31. Способ по п.20, в котором топология нейронной сети включает в себя
Figure 00000021
вводов, многослойный персептрон с
Figure 00000041
слоями, причем каждый слой
Figure 00000047
из
Figure 00000041
слоев включает в себя соответствующий набор из
Figure 00000048
нейронов вычисления и соответствующих матриц
Figure 00000049
весов, которые включают в себя строку весовых коэффициентов для каждого нейрона вычисления из
Figure 00000048
нейронов вычисления,
этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этапы, на которых:
получают степень
Figure 00000037
соединения для эквивалентной сети с разреженными соединениями в соответствии с одним или более ограничениями соединения;
осуществляют разложение многослойного персептрона на
Figure 00000050
сетей однослойного персептрона, при этом каждая сеть однослойного персептрона включает в себя соответствующий нейрон вычисления из
Figure 00000051
нейронов вычисления, при этом этап, на котором осуществляют разложение многослойного персептрона, включает в себя этап, на котором дублируют один или более вводов из
Figure 00000021
вводов, которые совместно используются
Figure 00000051
нейронами вычисления;
для каждой сети однослойного персептрона из
Figure 00000051
сетей однослойного персептрона:
вычисляют количество слоев
Figure 00000032
для соответствующей эквивалентной пирамидоподобной подсети с использованием уравнения
Figure 00000052
, при этом
Figure 00000053
является количеством вводов для соответствующего нейрона вычисления в многослойном персептроне; и
конструируют соответствующую эквивалентную пирамидоподобную подсеть для соответствующей сети однослойного персептрона с
Figure 00000053
вводами,
Figure 00000032
слоями и степенью
Figure 00000037
соединения, при этом эквивалентная пирамидоподобная подсеть включает в себя один или более соответствующих аналоговых нейронов в каждом слое из
Figure 00000032
слоев, причем каждый аналоговый нейрон первых
Figure 00000039
слоев реализует тождественную трансформацию, а аналоговый нейрон последнего слоя реализует функцию активации соответствующего нейрона вычисления, который соответствует соответствующей сети однослойного персептрона; и
конструируют эквивалентную сеть с разреженными соединениями путем сцепления каждой эквивалентной пирамидоподобной подсети, включая сцепление ввода каждой эквивалентной пирамидоподобной подсети для
Figure 00000051
сетей однослойного персептрона, чтобы сформировать входной вектор с
Figure 00000054
вводами, и
этап, на котором вычисляют матрицу весов для эквивалентной сети с разреженными соединениями, содержит этапы, на которых, для каждой сети однослойного персептрона из
Figure 00000051
сетей однослойного персептрона:
устанавливают весовой вектор
Figure 00000055
, причем iя строка матрицы
Figure 00000043
весов соответствует соответствующему нейрону вычисления, который соответствует соответствующей сети однослойного персептрона, где
Figure 00000056
является соответствующим слоем соответствующего нейрона вычисления в многослойном персептроне; и
вычисляют весовой вектор
Figure 00000046
для соединений соответствующей эквивалентной пирамидоподобной подсети путем решения системы уравнений на основе весового вектора
Figure 00000023
, при этом система уравнений включает в себя
Figure 00000053
уравнений с
Figure 00000041
переменными, и
Figure 00000041
вычисляется с использованием уравнения
Figure 00000057
.
32. Способ по п.20, в котором топология нейронной сети включает в себя Сверточную Нейронную Сеть (CNN) с
Figure 00000021
вводами,
Figure 00000041
слоями, причем каждый слой
Figure 00000058
из
Figure 00000041
слоев включает в себя соответствующий набор из
Figure 00000048
нейронов вычисления и соответствующих матриц
Figure 00000049
весов, которые включают в себя строку весовых коэффициентов для каждого нейрона вычисления из
Figure 00000048
нейронов вычисления,
этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этапы, на которых:
получают степень
Figure 00000037
соединения для эквивалентной сети с разреженными соединениями в соответствии с одним или более ограничениями соединения;
осуществляют разложение CNN на
Figure 00000050
сетей однослойного персептрона, причем каждая сеть однослойного персептрона включает в себя соответствующий нейрон вычисления из
Figure 00000051
нейронов вычисления, при этом этап, на котором осуществляют разложение CNN, включает в себя этап, на котором дублируют один или более вводов из
Figure 00000021
вводов, которые совместно используются
Figure 00000051
нейронами вычисления;
для каждой сети однослойного персептрона из
Figure 00000051
сетей однослойного персептрона:
вычисляют количество слоев
Figure 00000032
для соответствующей эквивалентной пирамидоподобной подсети с использованием уравнения
Figure 00000052
, при этом
Figure 00000059
является соответствующим слоем у соответствующего нейрона вычисления в CNN, а
Figure 00000053
является количеством вводов для соответствующего нейрона вычисления в CNN; и
конструируют соответствующую эквивалентную пирамидоподобную подсеть для соответствующей сети однослойного персептрона с
Figure 00000053
вводами,
Figure 00000032
слоями и степенью
Figure 00000037
соединения, при этом эквивалентная пирамидоподобная подсеть включает в себя один или более соответствующих аналоговых нейронов в каждом слое из
Figure 00000032
слоев, причем каждый аналоговый нейрон первых
Figure 00000039
слоев реализует тождественную трансформацию, а аналоговый нейрон последнего слоя реализует функцию активации соответствующего нейрона вычисления, который соответствует соответствующей сети однослойного персептрона; и
конструируют эквивалентную сеть с разреженными соединениями путем сцепления каждой эквивалентной пирамидоподобной подсети, включая сцепление ввода каждой эквивалентной пирамидоподобной подсети для
Figure 00000051
сетей однослойного персептрона, чтобы сформировать входной вектор с
Figure 00000054
вводами, и
этап, на котором вычисляют матрицу весов для эквивалентной сети с разреженными соединениями, содержит этапы, на которых, для каждой сети однослойного персептрона из
Figure 00000051
сетей однослойного персептрона:
устанавливают весовой вектор
Figure 00000055
, причем iя строка матрицы
Figure 00000043
весов соответствует соответствующему нейрону вычисления, который соответствует соответствующей сети однослойного персептрона, где
Figure 00000056
является соответствующим слоем соответствующего нейрона вычисления в CNN; и
вычисляют весовой вектор
Figure 00000046
для соединений соответствующей эквивалентной пирамидоподобной подсети путем решения системы уравнений на основе весового вектора
Figure 00000023
, при этом система уравнений включает в себя
Figure 00000053
уравнений с
Figure 00000041
переменными, и
Figure 00000041
вычисляется с использованием уравнения
Figure 00000057
.
33. Способ по п.20, в котором топология нейронной сети включает в себя
Figure 00000021
вводов, слой
Figure 00000060
с
Figure 00000021
нейронами, слой
Figure 00000061
с
Figure 00000062
нейронами и матрицу
Figure 00000063
весов, где
Figure 00000064
является набором действительных чисел, причем каждый нейрон слоя
Figure 00000060
соединяется с каждым нейроном слоя
Figure 00000061
, при этом каждый нейрон слоя
Figure 00000061
выполняет функцию
Figure 00000036
активации так, что вывод слоя
Figure 00000061
вычисляется с использованием уравнения
Figure 00000065
для ввода
Figure 00000066
,
этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этап, на котором выполняют трапециевидную трансформацию, которая содержит:
получение возможной степени
Figure 00000067
входного соединения и возможной степени
Figure 00000068
выходного соединения в соответствии с одним или более ограничениями соединения;
в соответствии с определением того, что
Figure 00000069
, конструирование трехслойной аналоговой сети, которая включает в себя слой
Figure 00000070
с
Figure 00000021
аналоговыми нейронами, выполняющими тождественную функцию активации, слой
Figure 00000071
с
Figure 00000072
аналоговыми нейронами, выполняющими тождественную функцию активации, и слой
Figure 00000073
с
Figure 00000074
аналоговыми нейронами, выполняющими функцию
Figure 00000036
активации, так что каждый аналоговый нейрон в слое
Figure 00000070
имеет
Figure 00000075
выводов, каждый аналоговый нейрон в слое
Figure 00000071
имеет не больше
Figure 00000076
вводов и
Figure 00000075
выводов, и каждый аналоговый нейрон в слое
Figure 00000073
имеет
Figure 00000076
вводов, и
этап, на котором вычисляют матрицу весов для эквивалентной сети с разреженными соединениями, содержит этап, на котором формируют разреженные матрицы
Figure 00000077
и
Figure 00000078
весов путем решения матричного уравнения
Figure 00000079
, которое включает в себя
Figure 00000080
уравнений с
Figure 00000081
переменными, так что общий вывод слоя
Figure 00000073
вычисляется с использованием уравнения
Figure 00000082
, при этом разреженная матрица
Figure 00000083
весов представляет собой соединения между слоями
Figure 00000070
и
Figure 00000071
, а разреженная матрица
Figure 00000084
весов представляет собой соединения между слоями
Figure 00000071
и
Figure 00000073
.
34. Способ по п.33, в котором этап, на котором выполняют трапециевидную трансформацию, дополнительно содержит этапы, на которых, в соответствии с определением того, что
Figure 00000085
:
дробят слой
Figure 00000060
, чтобы получить подслой
Figure 00000086
с
Figure 00000087
нейронами и подслой
Figure 00000088
с
Figure 00000089
нейронами так, что
Figure 00000090
;
для подслоя
Figure 00000086
с
Figure 00000087
нейронами, выполняют этапы конструирования и формирования; и
для подслоя
Figure 00000088
с
Figure 00000091
нейронами, рекурсивно выполняют этапы дробления, конструирования и формирования.
35. Способ по п.34, в котором топология нейронной сети включает в себя сеть многослойного персептрона, причем способ дополнительно содержит этап, на котором: для каждой пары последовательных слоев сети многослойного персептрона, итерационно выполняют трапециевидную трансформацию и вычисление матрицы весов для эквивалентной сети с разреженными соединениями.
36. Способ по п.34, в котором топология нейронной сети включает в себя рекуррентную нейронную сеть (RNN), которая включает в себя (i) вычисление линейной комбинации для двух слоев с полными соединениями; (ii) поэлементное сложение; и (iii) вычисление нелинейной функции, причем способ дополнительно содержит этап, на котором выполняют трапециевидную трансформацию и вычисление матрицы весов для эквивалентной сети с разреженными соединениями для (i) двух слоев с полными соединениями и (ii) вычисления нелинейной функции.
37. Способ по п.34, в котором топология нейронной сети включает в себя сеть долгой краткосрочной памяти (LSTM) или сеть управляемых рекуррентных блоков (GRU), которые включают в себя (i) вычисление линейной комбинации для множества слоев с полными соединениями, (ii) поэлементное сложение, (iii) произведение Адамара и (iv) множество вычислений нелинейной функции, причем способ дополнительно содержит этап, на котором выполняют трапециевидную трансформацию и вычисление матрицы весов для эквивалентной сети с разреженными соединениями для (i) множества слоев с полными соединениями и (ii) множества вычислений нелинейной функции.
38. Способ по п.34, в котором топология нейронной сети включает в себя сверточную нейронную сеть (CNN), которая включает в себя (i) множество слоев с частичными соединениями и (ii) один или более слоев с полными соединениями, причем способ дополнительно содержит этапы, на которых:
трансформируют множество слоев с частичными соединениями в эквивалентные слои с полными соединениями путем вставки отсутствующих соединений с нулевыми весовыми коэффициентами; и
для каждой пары последовательных слоев из эквивалентных слоев с полными соединениями и одного или более слоев с полными соединениями, итерационно выполняют трапециевидную трансформацию и вычисление матрицы весов для эквивалентной сети с разреженными соединениями.
39. Способ по п.20, в котором топология нейронной сети включает в себя
Figure 00000021
вводов,
Figure 00000062
выходных нейронов и матрицу
Figure 00000092
весов, где
Figure 00000064
является набором действительных чисел, причем каждый выходной нейрон выполняет функцию
Figure 00000036
активации,
этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этап, на котором выполняют трансформацию аппроксимации, который содержит этапы, на которых:
получают возможную степень
Figure 00000067
входного соединения и возможную степень
Figure 00000068
выходного соединения в соответствии с одним или более ограничениями соединения;
выбирают параметр
Figure 00000093
из набора
Figure 00000094
;
в соответствии с определением того, что
Figure 00000095
, конструируют пирамидальную нейронную сеть, которая формирует первые
Figure 00000093
слоев эквивалентной сети с разреженными соединениями, так что пирамидальная нейронная сеть имеет
Figure 00000096
нейронов в ее выходном слое, при этом каждый нейрон в пирамидальной нейронной сети выполняет тождественную функцию; и
конструируют трапециевидную нейронную сеть с
Figure 00000097
вводами и
Figure 00000062
выводами, при этом каждый нейрон в последнем слое трапециевидной нейронной сети выполняет функцию
Figure 00000036
активации, а все другие нейроны выполняют тождественную функцию, и
этап, на котором вычисляют матрицу весов для эквивалентной сети с разреженными соединениями, содержит этапы, на которых:
формируют весовые коэффициенты для пирамидальной нейронной сети, включая (i) установку весовых коэффициентов каждого нейрона i первого слоя пирамидальной нейронной сети в соответствии со следующим правилом: (a)
Figure 00000098
, где
Figure 00000099
является ненулевой константой, а
Figure 00000100
; и (b)
Figure 00000101
, для всех весовых коэффициентов j нейрона за исключением
Figure 00000102
; и (ii) установку всех других весовых коэффициентов пирамидальной нейронной сети в 1; и
формируют весовые коэффициенты для трапециевидной нейронной сети, включая (i) установку весовых коэффициентов каждого нейрона i первого слоя трапециевидной нейронной сети в соответствии с уравнением
Figure 00000103
; и (ii) установку других весовых коэффициентов трапециевидной нейронной сети в 1.
40. Способ по п.39, в котором топология нейронной сети включает в себя многослойный персептрон с
Figure 00000021
вводами,
Figure 00000041
слоями и
Figure 00000104
нейронами вычисления в i-м слое, и матрицей
Figure 00000105
весов для i-го слоя, где
Figure 00000106
, и этап, на котором трансформируют топологию нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, содержит этапы, на которых, для каждого слоя
Figure 00000107
из
Figure 00000041
слоев многослойного персептрона:
конструируют соответствующую пирамидально-трапециевидную сеть PTNNXj путем выполнения трансформации аппроксимации до соответствующего однослойного персептрона, состоящего из
Figure 00000108
вводов,
Figure 00000109
выходных нейронов и матрицы
Figure 00000110
весов; и
конструируют эквивалентную сеть с разреженными соединениями путем укладки друг на друга каждой пирамидальной трапециевидной сети.
41. Система для аппаратной реализации нейронных сетей, содержащая:
один или более процессоров;
память, при этом память хранит одну или более программ, сконфигурированных для исполнения одним или более процессорами, и одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
вычисления одного или более ограничений соединения на основе конструктивных ограничений аналоговой интегральной микросхемы (IC);
трансформации топологии нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, отвечающую этим одному или более ограничениям соединения; и
вычисления матрицы весов для эквивалентной сети с разреженными соединениями на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение между аналоговыми компонентами эквивалентной сети с разреженными соединениями.
42. Долговременный машиночитаемый носитель информации, хранящий одну или более программ, сконфигурированных для исполнения компьютерной системой с одним или более процессорами, причем одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
вычисления одного или более ограничений соединения на основе конструктивных ограничений аналоговой интегральной микросхемы (IC);
трансформации топологии нейронной сети в эквивалентную сеть с разреженными соединениями аналоговых компонентов, отвечающую этим одному или более ограничениям соединения; и
вычисления матрицы весов для эквивалентной сети с разреженными соединениями на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение между аналоговыми компонентами эквивалентной сети с разреженными соединениями.
43. Способ аппаратной реализации нейронных сетей, содержащий этапы, на которых:
получают топологию нейронной сети и весовые коэффициенты обученной нейронной сети;
трансформируют топологию нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между двумя аналоговыми нейронами;
вычисляют матрицу весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение; и
формируют матрицу сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов и представляет собой значение сопротивления.
44. Способ по п.43, в котором этап, на котором формируют матрицу сопротивлений для матрицы весов, содержит этапы, на которых:
получают предварительно определенный диапазон
Figure 00000111
возможных значений сопротивления и выбирают первоначальное базовое значение
Figure 00000112
сопротивления в рамках предварительно определенного диапазона;
выбирают набор ограниченной длины значений сопротивления, в рамках предварительно определенного диапазона, который обеспечивает наиболее однородное распределение возможных весовых коэффициентов
Figure 00000113
в рамках диапазона
Figure 00000114
для всех комбинаций из
Figure 00000115
в рамках набора ограниченной длины значений сопротивления;
выбирают значение
Figure 00000116
сопротивления, из набора ограниченной длины значений сопротивления, либо для каждого аналогового нейрона, либо для каждого слоя эквивалентной аналоговой сети, на основе максимального весового коэффициента входящих соединений и смещения
Figure 00000117
каждого нейрона, либо для каждого слоя эквивалентной аналоговой сети, так что
Figure 00000116
является наиболее близким значением набора резисторов к
Figure 00000118
; и
для каждого элемента матрицы весов, выбирают соответствующее первое значение
Figure 00000119
сопротивления и соответствующее второе значение
Figure 00000120
сопротивления, которые сводят к минимуму ошибку в соответствии с уравнением
Figure 00000121
для всех возможных значений
Figure 00000119
и
Figure 00000120
в рамках предварительно определенного диапазона возможных значений сопротивления, при этом
Figure 00000122
является соответствующим элементом матрицы весов, а
Figure 00000123
является предварительно определенным относительным значением допуска для сопротивлений.
45. Способ по п.44, в котором предварительно определенный диапазон возможных значений сопротивления включает в себя сопротивления в соответствии с номинальным рядом E24 в диапазоне от 100 кОм до 1 МОм.
46. Способ по п.44, в котором
Figure 00000124
и
Figure 00000125
выбираются независимо для каждого слоя эквивалентной аналоговой сети.
47. Способ по п.44, в котором
Figure 00000124
и
Figure 00000125
выбираются независимо для каждого аналогового нейрона эквивалентной аналоговой сети.
48. Способ по п.43, в котором первые один или более весовых коэффициентов матрицы весов и первые один или более вводов представляют одно или более соединений с первым операционным усилителем эквивалентной аналоговой сети, причем способ дополнительно содержит этапы, на которых, перед этапом, на котором формируют матрицу сопротивлений:
модифицируют первые один или более весовых коэффициентов на первое значение; и
конфигурируют первый операционный усилитель, чтобы он умножал на первое значение линейную комбинацию первых одного или более весовых коэффициентов и первых одного или более вводов, перед выполнением функции активации.
49. Способ по п.43, дополнительно содержащий этапы, на которых:
получают предварительно определенный диапазон весовых коэффициентов; и
обновляют матрицу весов в соответствии с предварительно определенным диапазоном весовых коэффициентов так, что эквивалентная аналоговая сеть создает вывод, аналогичный обученной нейронной сети для одного и того же ввода.
50. Способ по п.43, в котором обученная нейронная сеть обучается так, что каждый слой топологии нейронной сети имеет квантованные весовые коэффициенты.
51. Способ по п.43, дополнительно содержащий этап, на котором повторно обучают обученную нейронную сеть, чтобы уменьшить чувствительность к ошибкам в весовых коэффициентах или значениях сопротивления, что вызывает создание эквивалентной аналоговой сетью вывода, отличного по сравнению с обученной нейронной сетью.
52. Способ по п.43, дополнительно содержащий этап, на котором повторно обучают обученную нейронную сеть так, чтобы свести к минимуму весовой коэффициент в любом слое, который больше среднего абсолютного весового коэффициента для этого слоя на величину большую, чем предварительно определенная пороговая величина.
53. Система для аппаратной реализации нейронных сетей, содержащая:
один или более процессоров;
память, при этом память хранит одну или более программ, сконфигурированных для исполнения одним или более процессорами, и одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между двумя аналоговыми нейронами;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение; и
формирования матрицы сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов и представляет собой значение сопротивления.
54. Долговременный машиночитаемый носитель информации, хранящий одну или более программ, сконфигурированных для исполнения компьютерной системой с одним или более процессорами, причем одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между двумя аналоговыми нейронами;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение; и
формирования матрицы сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов и представляет собой значение сопротивления.
55. Способ аппаратной реализации нейронных сетей, содержащий этапы, на которых:
получают топологию нейронной сети и весовые коэффициенты обученной нейронной сети;
трансформируют топологию нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между двумя аналоговыми нейронами;
вычисляют матрицу весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение;
формируют матрицу сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов; и
прореживают эквивалентную аналоговую сеть, чтобы уменьшить количество множества операционных усилителей или множества резисторов, на основе матрицы сопротивлений, чтобы получить оптимизированную аналоговую сеть аналоговых компонентов.
56. Способ по п.55, в котором этап, на котором прореживают эквивалентную аналоговую сеть, содержит этап, на котором замещают, с помощью проводников, резисторы, соответствующие одному или более элементам матрицы сопротивлений, значения сопротивления которых находятся ниже предварительно определенного минимального порогового значения сопротивления.
57. Способ по п.55, в котором этап, на котором прореживают эквивалентную аналоговую сеть, содержит этап, на котором удаляют одно или более соединений эквивалентной аналоговой сети, соответствующих одному или более элементам матрицы сопротивлений, которые выше предварительно определенного максимального порогового значения сопротивления.
58. Способ по п.55, в котором этап, на котором прореживают эквивалентную аналоговую сеть, содержит этап, на котором удаляют одно или более соединений эквивалентной аналоговой сети, соответствующих одному или более элементам матрицы весов, которые приблизительно равны нулю.
59. Способ по п.58, в котором этап, на котором прореживают эквивалентную аналоговую сеть, дополнительно содержит этап, на котором удаляют один или более аналоговых нейронов эквивалентной аналоговой сети без каких-либо входных соединений.
60. Способ по п.55, в котором этап, на котором прореживают эквивалентную аналоговую сеть, содержит этапы, на которых:
ранжируют аналоговые нейроны эквивалентной аналоговой сети на основе обнаружения использования аналоговых нейронов при выполнении вычислений для одного или более наборов данных;
выбирают один или более аналоговых нейронов эквивалентной аналоговой сети на основе ранжирования; и
удаляют один или более аналоговых нейронов из эквивалентной аналоговой сети.
61. Способ по п.60, в котором этап, на котором обнаруживают использование аналогового нейрона, содержит этапы, на которых:
строят модель эквивалентной аналоговой сети с использованием программного обеспечения для моделирования; и
измеряют распространение аналоговых сигналов путем использования модели, чтобы сформировать вычисления для одного или более наборов данных.
62. Способ по п.60, в котором этап, на котором обнаруживают использование аналогового нейрона, содержит этапы, на которых:
строят модель эквивалентной аналоговой сети с использованием программного обеспечения для моделирования; и
измеряют выходные сигналы модели путем использования модели, чтобы сформировать вычисления для одного или более наборов данных.
63. Способ по п.60, в котором этап, на котором обнаруживают использование аналоговых нейронов, содержит этапы, на которых:
строят модель эквивалентной аналоговой сети с использованием программного обеспечения для моделирования; и
измеряют мощность, потребляемую аналоговыми нейронами, путем использования модели, чтобы сформировать вычисления для одного или более наборов данных.
64. Способ по п.55, дополнительно содержащий, вслед за прореживанием эквивалентной аналоговой сети и перед формированием одной или более литографических масок для изготовления микросхемы, реализующей эквивалентную аналоговую сеть, этап, на котором повторно вычисляют матрицу весов для эквивалентной аналоговой сети и обновляют матрицу сопротивлений на основе повторно вычисленной матрицы весов.
65. Способ по п.55, дополнительно содержащий этапы, на которых, для каждого аналогового нейрона эквивалентной аналоговой сети:
вычисляют соответствующее значение смещения для соответствующего аналогового нейрона на основе весовых коэффициентов обученной нейронной сети в то время, как вычисляется матрица весов;
в соответствии с определением того, что соответствующее значение смещения выше предварительно определенной максимальной пороговой величины смещения, удаляют соответствующий аналоговый нейрон из эквивалентной аналоговой сети; и
в соответствии с определением того, что соответствующее значение смещения ниже предварительно определенной минимальной пороговой величины смещения, заменяют соответствующий аналоговый нейрон линейным переходом в эквивалентной аналоговой сети.
66. Способ по п.55, дополнительно содержащий этап, на котором уменьшают количество нейронов эквивалентной аналоговой сети, перед формированием матрицы весов, путем увеличения количества соединений от одного или более аналоговых нейронов эквивалентной аналоговой сети.
67. Способ по п.55, дополнительно содержащий этап, на котором прореживают обученную нейронную сеть, чтобы обновить топологию нейронной сети и весовые коэффициенты обученной нейронной сети, перед трансформацией топологии нейронной сети, с использованием методик прореживания для нейронных сетей, с тем чтобы эквивалентная аналоговая сеть включала в себя меньше предварительно определенного количества аналоговых компонентов.
68. Способ по п.67, в котором упомянутое прореживание выполняется итерационно с учетом точности или уровня совпадения вывода между обученной нейронной сетью и эквивалентной аналоговой сетью.
69. Способ по п.55, дополнительно содержащий, перед трансформацией топологии нейронной сети в эквивалентную аналоговую сеть, этап, на котором выполняют извлечение знаний сети.
70. Система для аппаратной реализации нейронных сетей, содержащая:
один или более процессоров;
память, при этом память хранит одну или более программ, сконфигурированных для исполнения одним или более процессорами, и одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между двумя аналоговыми нейронами;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение;
формирования матрицы сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов; и
прореживания эквивалентной аналоговой сети, чтобы уменьшить количество множества операционных усилителей или множества резисторов, на основе матрицы сопротивлений, чтобы получить оптимизированную аналоговую сеть аналоговых компонентов.
71. Долговременный машиночитаемый носитель информации, хранящий одну или более программ, сконфигурированных для исполнения компьютерной системой с одним или более процессорами, причем одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой аналоговый нейрон эквивалентной аналоговой сети, а каждый резистор представляет собой соединение между двумя аналоговыми нейронами;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение;
формирования матрицы сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов; и
прореживания эквивалентной аналоговой сети, чтобы уменьшить количество множества операционных усилителей или множества резисторов, на основе матрицы сопротивлений, чтобы получить оптимизированную аналоговую сеть аналоговых компонентов.
72. Интегральная микросхема, содержащая:
аналоговую сеть аналоговых компонентов, изготовленную способом, который содержит этапы, на которых:
получают топологию нейронной сети и весовые коэффициенты обученной нейронной сети;
трансформируют топологию нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой соответствующий аналоговый нейрон, а каждый резистор представляет собой соответствующее соединение между соответствующим первым аналоговым нейроном и соответствующим вторым аналоговым нейроном;
вычисляют матрицу весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение;
формируют матрицу сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов;
формируют одну или более литографических масок для изготовления микросхемы, реализующей эквивалентную аналоговую сеть аналоговых компонентов, на основе матрицы сопротивлений; и
изготавливают упомянутую микросхему на основе одной или более литографических масок с использованием литографического процесса.
73. Интегральная микросхема по п.72, дополнительно содержащая один или более цифро-аналоговых преобразователей, выполненных с возможностью формирования аналогового ввода для эквивалентной аналоговой сети аналоговых компонентов на основе одного или более цифровых сигналов.
74. Интегральная микросхема по п.72, дополнительно содержащая модуль дискретизации аналогового сигнала, выполненный с возможностью обработки 1-мерных или 2-мерных аналоговых вводов с частотой дискретизации на основе количества логических выводов интегральной микросхемы.
75. Интегральная микросхема по п.72, дополнительно содержащая модуль преобразователя напряжения для понижающего масштабирования или повышающего масштабирования аналоговых сигналов, чтобы согласовывать их с рабочим диапазоном множества операционных усилителей.
76. Интегральная микросхема по п.72, дополнительно содержащая модуль обработки тактового сигнала, выполненный с возможностью обработки одного или более кадров, полученных от CCD камеры.
77. Интегральная микросхема по п.72, в которой обученная нейронная сеть является сетью долгой краткосрочной памяти (LSTM), причем интегральная микросхема дополнительно содержит один или более модулей тактового генератора для синхронизации тактов сигнала и для обеспечения обработки временного ряда.
78. Интегральная микросхема по п.72, дополнительно содержащая один или более аналого-цифровых преобразователей, выполненных с возможностью формирования цифрового сигнала на основе вывода эквивалентной аналоговой сети аналоговых компонентов.
79. Интегральная микросхема по п.72, при этом микросхема дополнительно включает в себя один или более модулей обработки сигнала, выполненных с возможностью обработки 1-мерных или 2-мерных аналоговых сигналов, полученных от граничных приложений.
80. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается с использованием обучающих наборов данных, содержащих сигналы массивов газовых датчиков в разных газовых смесях, для выборочной регистрации разных газов в газовой смеси, содержащей предварительно определенные объемы газов, которые должны быть обнаружены,
топология нейронной сети является 1-Мерной Глубокой Сверточной Нейронной сетью (1D-DCNN), разработанной для обнаружения 3 бинарных газовых компонентов на основе измерений посредством 16 газовых датчиков, и включает в себя 16 1-D сверточных блоков по датчикам, 3 совместно используемых или общих 1-D сверточных блоков и 3 плотных слоя, и
эквивалентная аналоговая сеть включает в себя: (i) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (ii) блоки задержки для создания задержки на любое количество временных шагов, (iii) лимит сигналов, равный 5, (iv) 15 слоев, (v) приблизительно 100000 аналоговых нейронов и (vi) приблизительно 4900000 соединений.
81. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается с использованием обучающих наборов данных, содержащих данные временного ряда термического старения для разных MOSFET, для предсказания оставшегося срока полезного использования (RUL) MOSFET устройства,
топология нейронной сети включает в себя 4 слоя LSTM с 64 нейронами в каждом слое, за которыми следуют два плотных слоя с 64 нейронами и 1 нейроном, соответственно, и
эквивалентная аналоговая сеть включает в себя: (i) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (ii) лимит сигналов, равный 5, (iii) 18 слоев, (iv) от 3000 до 3200 аналоговых нейронов, и (v) от 123000 до 124000 соединений.
82. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается с использованием обучающих наборов данных, содержащих данные временного ряда, включающие в себя данные разряда и температуры во время непрерывного использования разных имеющихся в продаже Li-Ion батарей, для мониторинга исправного состояния (SOH) и состояния заряда (SOC) ионно-литиевых батарей для использования в системах управления батареями (BMS),
топология нейронной сети включает в себя входной слой, 2 слоя LSTM с 64 нейронами в каждом слое, за которыми следует плотный выходной слой с 2 нейронами для формирования значений SOC и SOH, и
эквивалентная аналоговая сеть включает в себя: (i) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (ii) лимит сигналов, равный 5, (iii) 9 слоев, (iv) от 1200 до 1300 аналоговых нейронов, и (v) от 51000 до 52000 соединений.
83. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается с использованием обучающих наборов данных, содержащих данные временного ряда, включающие в себя данные разряда и данные температуры во время непрерывного использования разных имеющихся в продаже Li-Ion батарей, для мониторинга исправного состояния (SOH) ионно-литиевых батарей для использования в системах управления батареями (BMS),
топология нейронной сети включает в себя входной слой с 18 нейронами, простой рекуррентный слой с 100 нейронами и плотный слой с 1 нейроном, и
эквивалентная аналоговая сеть включает в себя: (i) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (ii) лимит сигналов, равный 5, (iii) 4 слоя, (iv) от 200 до 300 аналоговых нейронов, и (v) от 2200 до 2400 соединений.
84. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается с использованием обучающих наборов данных, содержащих речевые команды, для идентификации голосовых команд,
топология нейронной сети является слоем Разделяемой по Глубинам Сверточной Нейронной Сети (DS-CNN) с 1 нейроном, и
эквивалентная аналоговая сеть включает в себя: (i) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (ii) лимит сигналов, равный 5, (iii) 13 слоев, (iv) приблизительно 72000 аналоговых нейронов, и (v) приблизительно 2.6 миллиона соединений.
85. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается с использованием обучающих наборов данных, содержащих данные фотоплетизмографии (PPG), данные акселерометра, данные температуры и данные сигнала электрокожного ответа для разных людей, выполняющих различные физические упражнения в течение предварительно определенного периода времени, и опорные данные частоты сердцебиения, полученные от датчика ECG, для определения частоты пульса во время физических упражнений на основе данных датчика PPG и данных 3-осевого акселерометра,
топология нейронной сети включает в себя два слоя Conv1D, каждый с 16 фильтрами и размером ядра 20, выполняющим свертку временного ряда, два слоя LSTM, каждый с 16 нейронами, и два плотных слоя с 16 нейронами и 1 нейроном, соответственно, и
эквивалентная аналоговая сеть включает в себя: (i) блоки задержки для создания любого количества временных шагов, (ii) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (iii) лимит сигналов, равный 5, (iv) 16 слоев, (v) от 700 до 800 аналоговых нейронов, и (vi) от 12000 до 12500 соединений.
86. Интегральная микросхема по п.72, в которой обученная нейронная сеть обучается классифицировать разные объекты на основе импульсного сигнала радара на эффекте Доплера, и топология нейронной сети включает в себя многомасштабную нейронную сеть LSTM.
87. Интегральная микросхема по п.72, в которой:
обученная нейронная сеть обучается выполнять распознавание типа активности человека,
топология нейронной сети включает в себя три сверточные сети по каналам, причем каждая со сверточным слоем из 12 фильтров и размером ядра 64 и за каждой следует слой максимального пула, и два общих плотных слоя из 1024 нейронов и N нейронов, соответственно, где N - количество классов, и
эквивалентная аналоговая сеть включает в себя: (i) блоки задержки для создания любого количества временных шагов, (ii) максимум 100 входных и выходных соединений из расчета на аналоговый нейрон, (iii) выходной слой из 10 аналоговых нейронов, (iv) лимит сигналов, равный 5, (v) 10 слоев, (vi) от 1200 до 1300 аналоговых нейронов, и (vi) от 20000 до 21000 соединений.
88. Интегральная микросхема по п.72, в которой обученная нейронная сеть дополнительно обучается обнаруживать аномальные шаблоны активности человека на основе данных акселерометра, которые объединяются с данными частоты сердцебиения с использованием операции свертки.
89. Система для аппаратной реализации нейронных сетей, содержащая:
один или более процессоров;
память, при этом память хранит одну или более программ, сконфигурированных для исполнения одним или более процессорами, и одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой соответствующий аналоговый нейрон, а каждый резистор представляет собой соответствующее соединение между соответствующим первым аналоговым нейроном и соответствующим вторым аналоговым нейроном;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение;
формирования матрицы сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов;
формирования одной или более литографических масок для изготовления микросхемы, реализующей эквивалентную аналоговую сеть аналоговых компонентов, на основе матрицы сопротивлений; и
изготовления микросхемы на основе одной или более литографических масок с использованием литографического процесса.
90. Долговременный машиночитаемый носитель информации, хранящий одну или более программ, сконфигурированных для исполнения компьютерной системой с одним или более процессорами, причем одна или более программ содержат инструкции для:
получения топологии нейронной сети и весовых коэффициентов обученной нейронной сети;
трансформации топологии нейронной сети в эквивалентную аналоговую сеть аналоговых компонентов, включающих в себя множество операционных усилителей и множество резисторов, при этом каждый операционный усилитель представляет собой соответствующий аналоговый нейрон, а каждый резистор представляет собой соответствующее соединение между соответствующим первым аналоговым нейроном и соответствующим вторым аналоговым нейроном;
вычисления матрицы весов для эквивалентной аналоговой сети на основе весовых коэффициентов обученной нейронной сети, при этом каждый элемент матрицы весов представляет соответствующее соединение;
формирования матрицы сопротивлений для матрицы весов, при этом каждый элемент матрицы сопротивлений соответствует соответствующему весовому коэффициенту матрицы весов;
формирования одной или более литографических масок для изготовления микросхемы, реализующей эквивалентную аналоговую сеть аналоговых компонентов, на основе матрицы сопротивлений; и
изготовления микросхемы на основе одной или более литографических масок с использованием литографического процесса.
RU2021118571A 2020-06-25 Аналоговая аппаратная реализация нейронных сетей RU2796649C2 (ru)

Publications (2)

Publication Number Publication Date
RU2021118571A true RU2021118571A (ru) 2023-01-27
RU2796649C2 RU2796649C2 (ru) 2023-05-29

Family

ID=

Similar Documents

Publication Publication Date Title
CN106778014B (zh) 一种基于循环神经网络的患病风险预测建模方法
TWI796257B (zh) 神經網路的模擬硬體實現
JP7371235B2 (ja) ニューラルネットワークのアナログハードウェア実現
US20230081715A1 (en) Neuromorphic Analog Signal Processor for Predictive Maintenance of Machines
US20220268229A1 (en) Systems and Methods for Detonation Control in Spark Ignition Engines Using Analog Neuromorphic Computing Hardware
US20220280072A1 (en) Systems and Methods for Human Activity Recognition Using Analog Neuromorphic Computing Hardware
Suri et al. Transfer learning for semg-based hand gesture classification using deep learning in a master-slave architecture
Slepova et al. Synthesis of model of hardware realization of LIF-model of biological neuron on the basis of FPGA
RU2021118571A (ru) Аналоговая аппаратная реализация нейронных сетей
WO2023220437A1 (en) Systems and methods for human activity recognition using analog neuromorphic computing hardware
US20210406662A1 (en) Analog hardware realization of trained neural networks for voice clarity
Atibi et al. Parallel and mixed hardware implementation of artificial neuron network on the FPGA platform
RU2796649C2 (ru) Аналоговая аппаратная реализация нейронных сетей
Pietka Neural nets for ECG classification
US20240202513A1 (en) Compact CMOS Spiking Neuron Circuit that works with an Analog Memory-Based Synaptic Array
US20240005139A1 (en) Analog Hardware Realization of Neural Networks
Sangeetha et al. Digital Implementation of Artificial Neural Network for Function Approximation and Pressure control applications
US11823037B1 (en) Optocoupler-based flexible weights in neuromorphic analog signal processors
RU2729554C1 (ru) Эффективный перцептрон на основе нейронов МакКаллока-Питтса с использованием компараторов
CN114819115A (zh) 一种神经元计算方法
Eickhoff et al. SIRENS: A simple reconfigurable neural hardware structure for artificial neural network implementations
López-Asunción et al. Flexible Deep-pipelined FPGA-based Accelerator for Spiking Neural Networks
Çevikbaş et al. Simplified Visual Cortex Model for Pattern Recognition
DeBrunner et al. Sensitivity and learning of two digital artificial neural network structures
Kim et al. A VLSI-based digital multilayer neural network architecture