НЕЙРОСЕТЕВОЙ БЛОК ОПРЕДЕЛЕНИЯ ИНТЕРВАЛА
NEURAL NETWORK UNIT FOR INTERVAL DETERMINATION

Изобретение относится к автоматике и вычислительной технике, в частности к устройствам для определения интервала разбиения аргумента при проектировании частотно-импульсных функциональных преобразователей, и может быть использовано в измерительной технике в качестве устройства выбора диапазона при измерении частоты.
x
x
z
Наиболее близким по совокупности признаков и по технической сущности к заявляемому устройству является блок определения интервала (авторское свидетельство СССР №425174, МПК G06F 1/02, 1973), который обеспечивает формирование выходногог кода, пропорционального номеру интервала разбиения входной частоты; содержащий генератор образцовых частот, схему "ИЛИ", счетчик импульсов, импульсно-потенциальные схемы "И", регистр и элемент задержки; вход преобразуемой частоты F устройства подключен к генератору образцовых частот, выходы которого через схему "ИЛИ" связаны со входами счетчика импульсов, выходы разрядов которого подключены к потенциальным входам импульсно-потенциальных схем "И", соединенных своими выходами со входами триггеров регистра. Импульсные входы схем "И" через элемент задержки подключены ко входу F устройства, к которому подключена шина "Установка 0" счетчика импульсов. Выходы разрядов регистра, в котором образуется код интервала N, является выходом устройства.
Недостатками прототипа являются его ограниченные функциональные возможности, а именно схемно-конструктивно не предусмотрены возможность использования блока для реализации различных функциональных зависимостей выходного кода от номера интервала разбиения входной частоты и возможность обучения устройства на реализацию требуемой зависимости выходного кода от номера интервала входной частоты, так как он предназначен только для линейного определения интервала принадлежности входной частоты некоторому интервалу ее изменения.
Технический результат предлагаемого изобретения направлен на расширение функциональных возможностей, а именно на реализацию различных функциональных зависимостей выходного кода от номера интервала разбиения входной частоты, достигаемый за счет использования искусственной нейронной сети и блока ее обучения, обеспечивающих реализацию требуемой нелинейной зависимости выходного кода от номера интервала разбиения входной частоты. Использование блока памяти весовых коэффициентов для нейронной сети позволяет использовать одно и то же устройство для реализации различных различных функциональных зависимостей выходного кода от номера интервала разбиения входной частоты.
x
0
y
Технический результат достигается тем, что в блок определения интервала, содержащий генератор образцовых частот и выходной регистр, вход преобразуемой частоты F, вход опорной частоты преобразования F и выход результирующего кода N;
i
j
p,r
0
x
x
x
вводится блок памяти весовых коэффициентов, нейросетевой блок сравнения преобразуемой частоты с образцовыми, блок программируемых логических элементов, предназначенный для реализации логических функций "И", "ИЛИ", и блок обучения, вход тестовой последовательности; вход данных блока обучения соединен со входом тестовой последовательности, адресный вход блока памяти весовых коэффициентов соединен с шиной SA адреса весовых коэффициентов блока обучения, информационный вход блока памяти весовых коэффициентов соединен с шиной SD данных весовых коэффициентов блока обучения, вход разрешения записи блока памяти весовых коэффициентов соединен с выходом разрешения записи we блока обучения, выходы w (i=1, 2, …, m) блока памяти весовых коэффициентов соединены со входами, задающими веса синаптических связей генератора образцовых частот, выходы θ (j=1, 2, …, m) блока памяти весовых коэффициентов соединены со входами, задающими пороговые значения блока сравнения преобразуемой частоты с образцовыми, выходы ν (р=1, 2, …, m, r=1, 2, …, k) блока памяти весовых коэффициентов соединены со входами, задающими тип реализуемой функции логических элементов блока программируемых логических элементов, предназначенного для реализации логических функций "И", "ИЛИ", вход эталонной частоты F преобразования соединен с частотным входом генератора образцовых частот, сигнал старт генератора образцовых частот соединен со входом преобразуемой частоты F, выходы генератора образцовых частот соединены с частотными входами нейросетевого блока сравнения преобразуемой частоты с образцовыми, вход преобразуемой частоты F соединен со входом преобразуемой частоты нейросетевого блока сравнения преобразуемой частоты с эталонными, выходы нейросетевого блока сравнения преобразуемой частоты с образцовыми соединены со входами логических элементов блока программируемых логических элементов, предназначенного для реализации логических функций "И", "ИЛИ", выходы программируемых логических элементов соединены со входами выходного регистра, вход съем соединен выходного регистра соединен со входом преобразуемой частоты F, выходы регистра являются выходами блока определения интервала.
На чертеже представлена структурная схема предлагаемого устройства.
x
y
Нейросетевой блок определения интервала содержит генератор образцовых частот 1, нейросетевой блок сравнения преобразуемой частоты с образцовыми 2, блок программируемых логических элементов 3, предназначенный для реализации логических функций "И", "ИЛИ", выходной регистр 4, блок памяти весовых коэффициентов 5, блок обучения 6, вход преобразуемой частоты F 7, вход опорной (эталонной) частоты 8, выход результирующего кода N 9, вход тестовой последовательности 10, шину SA 11 адреса весовых коэффициентов блока обучения, шину SD 12 данных весовых коэффициентов блока обучения, выход разрешения записи we 13 блока обучения.
х
1
2
m
1
2
m
1
2
m
1
2
m
i
i
0
0
0
i
Генератор образцовых частот 1 является нулевым слоем искусственной нейронной сети устройства, являющейся двухслойным персептроном. Генератор образцовых частот 1 предназначен для формирования в течение каждого периода Т входной частоты образцовых периодов T, Т, …, Т, длительности которых обратно пропорциональны частотам F, F, …, F, соответствующим границам разбиения входного аргумента. Формирование периодов Т, Т, …, Т осуществляется при помощи весовых коэффициентов w, w, …, w, задающих веса синаптических связей для генератора образцовых частот 1: T=w·T (i=1, 2, …, m), где Т - период эталонной частоты F преобразования. Задание различных значений коэффициентов w (i=1, 2, …, m) позволяет использовать устройство для определения принадлежности входной частоты любым интервалам разбиения, которые можно изменять в ходе работы устройства.
0
i
i
Генератор образцовых частот 1 имеет входы эталонной частоты преобразования F, входы коэффициентов w (i=1, 2, …, m), задающих веса синаптических связей, вход старт и выходы частот F(i= 1, 2, …, m).
x
Нейросетевой блок сравнения преобразуемой частоты с образцовыми 2 предназначен для сравнения входной частоты F с частотными выходами генератора образцовых частот 1. Нейросетевой блок сравнения преобразуемой частоты с образцовыми 2 является первым слоем искусственной нейронной сети.
x
i
i
x
i
i
Нейросетевой блок сравнения преобразуемой частоты с образцовыми 2 имеет вход частоты F, для которой определяется интервал ее принадлежности, входы частот F(i=1, 2, …, m), входы θ(i=1, 2, …, m), задающие пороговые значения при сравнении частоты F с частотами F (i=1, 2, …, m), и логические выходы b (i=1, 2, …, m), принимающие значения логического нуля или логической единицы.
j
y
i
ij
Блок программируемых логических элементов 3, предназначенный для реализации логических функций "И", "ИЛИ", предназначен для формирования значений е(j=1, 2, …, k) разрядов выходного кода N на основе логических переменных b (i=1, 2, …, m). Блок программируемых логических элементов 3, предназначенный для реализации логических функций "И", "ИЛИ", является вторым (выходным) слоем искусственной нейронной сети. Блок программируемых логических элементов 3, предназначенный для реализации логических функций "И", "ИЛИ", состоит из k программируемых логических элементов. Программируемый логический элемент при помощи коэффициентов ν программируется на реализацию требуемой логической функции (например: 2-входовое логическое "ИЛИ", 2-входовое логическое "И", 2-входовое логическое "И" с одним прямым и с одним инверсным входом, 3-входовое логическое "ИЛИ" и т.д.). Программируемый логический элемент может быть, например, реализован на таблицах преобразования (Look-Up-Tables) программируемых логических интегральных схем.
i
ij
j
y
Каждый j-й программируемый логический элемент имеет входы логических переменных b (i=1, 2, …, m), входы коэффициентов ν (i=1, 2, …, m), задающих веса синаптических связей для второго слоя нейронной сети, и выход разряда е выходного кода N.
y
1
2
k
1
2
k
y
Выходной регистр 4 предназначен для запоминания текущего значения результирующего кода N=aa … a (где a, а, …, a - разряды кода N) до окончания следующего цикла определения интервала.
1
2
k
1
2
k
Входной регистр 4 имеет входы e, е, …, e разрядов кода, выходы а, а, …, a разрядов кода и вход съем.
i
ij
i
Блок памяти весовых коэффициентов 5 предназначен для хранения коэффициентов, задающих веса w (i=1, 2, …, m) и ν (i=1, 2, …, m, j=1, 2, …, k) синаптических связей искусственной нейронной сети и пороги θ (i=1, 2, …, m) ее нейронов.
i
ij
i
Блок памяти весовых коээфициентов 5 имеет адресную входную шину, шину данных и вход разрешения записи, а также выходы коэффициентов, задающих веса w (i=1, 2, …, m) синаптических связей генератора образцовых частот, выходы коэффициентов, задающих веса ν (i=1, 2, …, m, j=1, 2, …, k) синаптических связей между нейросетевым блоком сравнения преобразуемой частоты с образцовыми и блоком программируемых логических элементов, предназначенным для реализации логических функций "И", "ИЛИ", и выходы, задающие пороги θ (i=1, 2, …, m) нейронов нейросетевого блока сравнения преобразуемой частоты с образцовыми.
Блок обучения 6 предназначен для обучения нейронной сети блока определения интервала на реализацию требуемой функции разбиения входной частоты на ее диапазоны.
Блок обучения 6 имеет вход тестовой последовательности, выходную адресную шину, выходную шину данных и выход разрешения записи.
x
0
i
i
j
p,r
i
j
j
y
Нейросетевой блок определения интервала содержит генератор образцовых частот 1, нейросетевой блок сравнения преобразуемой частоты с образцовыми 2, блок программируемых логических элементов 3, предназначенный для реализации логических функций "И", "ИЛИ", выходной регистр 4, блок памяти весовых коэффициентов 5, блок обучения 6, вход преобразуемой частоты 7, вход опорной (эталонной) частоты преобразования 8, выход результирующего кода 9 и вход тестовой последовательности 10. Вход преобразуемой частоты F 7 нейросетевого блока определения интервала одновременно является входом преобразуемой частоты нейросетевого блока сравнения преобразуемой частоты с эталонными, входом старт генератора образцовых частот 8 и входом съем выходного регистра 4. Вход опорной (эталонной) частоты F 8 нейросетевого блока определения интервала одновременно является входом опорной (эталонной) частоты генератора образцовых частот 1. Выходы F (i=1, 2, …, m) генератора образцовых частот 1 соединены с соответствующими частотными входами нейросетевого блока сравнения преобразуемой частоты с образцовыми 2. Выходы w (i=1, 2, …, m) блока памяти весовых коэффициентов 5 соединены со входами, задающими веса синаптических связей генератора образцовых частот 1. Выходы θ (j=1, 2, …, m) блока памяти весовых коэффициентов 5 соединены со входами, задающими пороговые значения нейросетевого блока сравнения преобразуемой частоты с образцовыми 2. Выходы ν (р=1, 2, …, m, r=1, 2, …, k) блока памяти весовых коэффициентов 5 соединены со входами, задающими тип реализуемой функции логических элементов блока программируемых логических элементов 3, предназначенного для реализации логических функций "И", "ИЛИ". Каждый выход b (i=1, 2, …, m) нейросетевого блока сравнения преобразуемой частоты с образцовыми 2 соединен со входом каждого логического элемента блока программируемых логических элементов 3, предназначенного для реализации логических функций "И", "ИЛИ". Выходы e (j=1, 2, …, k) программируемых логических элементов блока программируемых логических элементов 3, предназначенного для реализации логических функций "И", "ИЛИ", соединены со входами выходного регистра 4. Выходы выходного регистра 4 являются выходами блока определения интервала и значениями разрядов a (j=1, 2, …, k) выходного кода N 9 нейросетевого блока определения интервала. Вход данных блока обучения соединен со входом тестовой последовательности 12. Адресный вход блока памяти весовых коэффициентов 5 соединен с шиной SA 11 адреса весовых коэффициентов блока обучения 6. Информационный вход блока памяти весовых коэффициентов 5 соединен с шиной SD 12 данных весовых коэффициентов блока обучения 6. Вход разрешения записи блока памяти весовых коэффициентов 5 соединен с выходом разрешения записи we 13 блока обучения 6.
Нейросетевой блок определения интервала работает следующим образом.
x
y
Пусть число разрядов к выходного кода нейросетевого блока определения интервала равно четырем. Тогда количество программируемых логических элементов блока программируемых логических элементов, предназначенного для реализации логических функций "И", "ИЛИ", также равно четырем. Такое устройство позволяет определить принадлежность входной частоты F 7 одному из четырех диапазонов. При этом выходной код N 9 примет следующие значения:
x
y
y
x
Для реализации зависимости (1) нейросетевой блок определения интервала должен быть обучен при помощи блока обучения 6. Обучения осуществляется при помощи подачи тестовой последовательности 10. Тестовая последовательность состоит из последовательно подаваемых значений входной частоты F 7 и соответствующих этим значениям значений выходного кода N 9. Пример тестовой последовательности приведен в таблице 1. Объем тестовой последовательности влияет на точность обучения. Чем больше тестовая последовательность, тем точнее обучения устройства на реализацию зависимости выходного кода N 9 от входной частоты F 7.
Блок обучения 6 может быть реализован, например, на внешней или внутренней плате расширения персонального компьютера.
При подаче тестовой последовательности 10 на вход блока обучения 6 начинается операция обучения. По окончании операции обучения осуществляется запись новых значений весовых коэффициентов и порогов нейронов в блок памяти весовых коэффициентов 5. Для этого на вход подтверждения записи блока памяти весовых коэффициентов 5 с выхода we 13 блока обучения 6 подается значение we=1. На вход шины адреса блока памяти весовых коэффициентов 5 с выхода SA 11 блока обучения 6 подается адрес соответствующего весового коэффициента. При этом на шину данных SD 12 подается значение весового коэффициента.
Таблица 1.
Пример тестовой последовательности для обучения нейросетевого блока определения интервала.
Значение входной частоты F<sub>x</sub>
Значение выходного кода N<sub>y</sub>
3,0 кГц
1000
4,0 кГц
1000
5,0 кГц
1000
6,0 кГц
0100
7,5 кГц
0100
9,0 кГц
0100
10,0 кГц
0010
11,8 кГц
0010
13,6 кГц
0010
15,0 кГц
0001
17,0 кГц
0001
19,0 кГц
0001
2,5 кГц
0000
19,5 кГц
0000
i
j
p,r
По шинам w (i=1, 2, …, m), θ (j=1, 2, …, m) и ν (р=1, 2, …, m, r=1, 2, …, k) значения весовых коэффициентов и порогов нейронов подаются на соответствующие блоки устройства.
x
0
i
i
На вход F 7 устройства подаются частота, номера интервала принадлежности которой следует определить. На вход F 8 подается опорная (эталонная) частота. Генератор образцовый частот 1 формирует частоты F (i=1, 2, …, m) со следующими периодами T (i=1, 2, …, m):
i
i
0
T=w·T,
0
0
где i=1, 2, …, m, T=1/F.
i
x
Частоты F (i=1, 2, …, m) будут начинать формировать по приходу импульса входной частоты F 7. Таким образом задается начало цикла определения интервала.
i
Элементы нейросетевого блока сравнения осуществляют операции сравнения следующего вида, в результате которых формируются значения b(i=1, 2, …, m):
j
1
Элементы блока программируемых логических элементов 3, предназначенного для реализации логических функций "И", "ИЛИ", формируют значения e (j=1, 2, …, k), которые являются промежуточными результатами формирования выходного кода. Так, например, значение e может быть вычислено следующим образом:
1
1
2
1,1
2,1
e=b and(not b), если ν=1 и ν=-1.
x
j
y
y
1
2
k
По приходу импульса входной частоты F 7 на вход съем выходного регистра 5 осуществляется запись значений е (j=1, 2, …, k) в выходной регистр 5 путем формирования выходного кода N 9, равного N=aa…a. Цикл преобразования на этом завершается.
Таким образом, применение предлагаемого нейросетевого блока определения интервала позволяет расширить функциональные возможности, а именно реализовать функциональное преобразование входной частоты в номер ее интервала изменения, а также позволяет повысить интеллектуальные способности устройства, заключающиеся в возможности реализации одним блоком нескольких функциональных зависимостей.