СПОСОБ ОБРАБОТКИ ИНФОРМАЦИИ В НЕЙРОННЫХ СЕТЯХ
METHOD OF PROCESSING INFORMATION IN NEURAL NETWORKS

Изобретение относится к вычислительной технике и может быть использовано при построении систем обработки информации.
Известен способ обработки информации в нейронных сетях (НС), заключающийся в циклическом (по числу слоев в нейронной сети) выполнении последовательности операций извлечения из памяти матрицы цифровых кодов весов межнейронных связей текущего слоя формальных нейронов (ФН) и значений цифрового кода вектора входных данных, умножении цифрового кода вектора входных данных на матрицу цифровых кодов весов связей, формировании значений цифрового кода вектора выходных данных, преобразовании цифровых кодов координат вектора выходных данных посредством функции активации и фиксации цифрового кода вектора результата в памяти вычислительной машины [Галушкин А.И. Нейрокомпьютеры. Кн.3: учеб. пособие для вузов / Общая ред. А.И.Галушкина. - М.: ИПРЖР, 2000, с.382-401].
Основной недостаток данного способа обработки информации в нейронных сетях - специализация и функциональная направленность на скоростное решение ограниченного круга задач.
Известен также способ обработки информации в нейронных сетях, согласно которому производится размещение в памяти цифровых кодов программ и процедур, эмулирующих нейронную сеть, последовательная выборка цифровых кодов команд из памяти, выполнение соответствующей командам последовательности машинных операций над цифровыми кодами данных и фиксация полученных цифровых кодов результатов в памяти вычислительной машины [Галушкин А.И. Нейрокомпьютеры. Кн.3: Учеб. Пособие для вузов / Общая ред. А.И.Галушкина. - М.: ИПРЖР, 2000, С.50-81].
Недостатками последнего способа обработки информации в нейронных сетях являются ограничения на размеры эмулируемой нейронной сети, что также ограничивает круг решаемых задач, прежде всего, за счет снижения скорости преобразований больших массивов данных.
Наиболее близким к предлагаемому изобретению является способ обработки информации в нейронных сетях, заключающийся в том, что на входы нейронной сети подают представленные электрическими сигналами цифровые коды данных, соответствующие значениям координат входного вектора, которые преобразуют в соответствии со следующими этапами, а именно: на первом этапе выполняют дублирование цифровых кодов каждого из значений координат входного вектора по числу межнейронных связей скрытого слоя нейронной сети и масштабирование цифровых кодов значений координат входного вектора посредством операции prod во взвешенных связях, на втором этапе подают цифровые коды взвешенных значений на входы формальных нейронов скрытого слоя нейронной сети, выполняющих над цифровыми кодами взвешенных значений арифметическую операцию сложения и последующего преобразования цифрового кода суммы посредством функции активации, формируют цифровые коды координат промежуточного вектора, на третьем этапе цифровые коды координат промежуточного вектора масштабируют посредством операции prod во взвешенных связях и подают цифровые коды взвешенных значений на входы формальных нейронов выходного слоя нейронной сети, выполняющих над цифровыми кодами взвешенных значений арифметическую операцию сложения и последующего преобразования цифрового кода суммы посредством функции активации, и формируют цифровые коды координат выходного вектора нейронной сети [Negnevitsky M. Artificial intelligence: a guide to intelligent systems. Addison-Wesley, 2002, P.173-175].
В качестве недостатков последнего способа обработки информации следует назвать: отсутствие возможности занесения опыта специалистов конкретной предметной области в информационное поле нейронной сети и «непрозрачность» для последующего анализа специалистами процесса формирования результатов нейронной сетью.
Задачей настоящего изобретения является придание нейронным сетям на основе арифметических ФН основных достоинств нейронечетких сетей, связанных с возможностью предварительной настройки информационного поля нейросетевого устройства и анализа результатов обучения нейронной сети.
Решение поставленной задачи достигается тем, что на первом этапе цифровой код дубля каждой из координат входного вектора преобразуют посредством нелинейного функционального преобразования φ(x) или 1-φ(x), где x - цифровой код дубля координаты входного вектора, в зависимости от системы правил логического вывода, описывающей нейронную сеть, масштабируют цифровые коды результатов нелинейного функционального преобразования посредством операции prod во взвешенных связях и выполняют сортировку по возрастанию цифровых кодов взвешенных значений, предназначенных для соответствующих формальных нейронов скрытого слоя в соответствии с системой правил логического вывода, описывающей нейронную сеть, отсортированные по возрастанию цифровые коды взвешенных значений умножают на упорядоченные по убыванию цифровые коды коэффициентов значимости входов соответствующих формальных нейронов скрытого слоя, и в результате выполнения второго этапа формируют цифровые коды координат промежуточного вектора, цифровые коды координат промежуточного вектора масштабируют посредством операции prod во взвешенных связях и выполняют сортировку по убыванию цифровых кодов взвешенных значений, предназначенных для соответствующих формальных нейронов выходного слоя в соответствии с системой правил логического вывода, описывающей нейронную сеть, отсортированные по убыванию цифровые коды взвешенных значений умножают на упорядоченные по убыванию цифровые коды коэффициентов значимости входов соответствующих формальных нейронов выходного слоя, и в результате выполнения третьего этапа формируют цифровые коды координат выходного вектора нейронной сети.
При реализации нейросетевых устройств в соответствии с заявляемым способом обработки информации в нейронных сетях возникает технический результат - обеспечение возможности формирования, автоматической коррекции (в результате обучения нейронной сети) и анализа базы знаний, представленной в виде информационного поля нейронной сети.
На чертеже представлена структурная схема одного из возможных вариантов нейросетевого устройства, выполненного в соответствии с предлагаемым способом обработки информации в нейронных сетях.
Нейросетевое устройство содержит операционные блоки дублирования 1 и масштабирования 2 цифровых кодов значений координат входного вектора X, представленных электрическими сигналами, формальные нейроны 3 скрытого слоя нейронной сети, выполняющие над цифровыми кодами взвешенных значений арифметическую операцию сложения и последующего преобразования цифрового кода суммы посредством функции активации, операционные блоки масштабирования 4, формальные нейроны 5 выходного слоя нейронной сети, выполняющих над цифровыми кодами взвешенных значений арифметическую операцию сложения и последующего преобразования цифрового кода суммы посредством функции активации, операционные блоки нелинейных функциональных преобразователей φ 6 и нелинейных функциональных преобразователей (1-φ) 7, операционные блоки сортировки по возрастанию 8 цифровых кодов взвешенных значений, операционные блоки умножения 9 цифровых кодов взвешенных значений на упорядоченные по убыванию цифровые коды коэффициентов значимости входов формальных нейронов скрытого слоя, операционные блоки сортировки по убыванию 10 цифровых кодов взвешенных значений, операционные блоки умножения 11 цифровых кодов взвешенных значений на упорядоченные по убыванию цифровые коды коэффициентов значимости входов формальных нейронов выходного слоя нейронной сети, которые формируют цифровые коды координат выходного вектора Y нейронной сети.
В качестве иллюстрации способа обработки информации в нейронных сетях рассмотрим функционирование нейросетевого устройства, изображенного на чертеже.
1
m
На первом этапе преобразований согласно данному способу подают представленные электрическими сигналами цифровые коды координат x,…, x входного вектора X, соответствующие значениям входных переменных, на входы операционных блоков дублирования 1, которые формируют копии (дубли) цифровых кодов координат входного вектора по числу межнейронных связей скрытого слоя нейронной сети.
1
m
Преобразуют цифровые коды дублей каждой из координат x,…, x входного вектора посредством операционных блоков нелинейного функционального преобразования φ 6 или нелинейного функционального преобразования (1-φ) 7 в зависимости от реализуемой системы правил нечеткого логического вывода, описывающей нейронную сеть, и в соответствии с фазами нечеткого логического вывода, а именно: фазой введения нечеткости, фазой логического вывода и фазой композиции.
1
m
То есть в фазе введения нечеткости операционные блоки нелинейного функционального преобразования 6 и 7 преобразуют цифровые коды каждой из координат входного вектора Х в пару цифровых кодов значений степени принадлежности каждого входного значения х,…, x двум значениям функций принадлежности соответственно φ и (1-φ). Причем на выходах одноименных операционных блоков преобразователей 6 и 7 формируют цифровые коды значений степени принадлежности, сумма которых равна 1.
Масштабируют цифровые коды значений степени принадлежности посредством операционных блоков 2 prod путем умножения на значения весов соответствующих связей и подают цифровые коды взвешенных значений в соответствии с системой правил логического вывода, описывающей структуру нейросетевого устройства, на входы операционных блоков сортировки по возрастанию 8.
На втором этапе преобразований согласно данному способу (соответствует фазе логического вывода) отсортированные по возрастанию цифровые коды взвешенных значений умножают в операционных блоках умножения 9 на упорядоченные по убыванию цифровые коды коэффициентов значимости входов соответствующих формальных нейронов 3 скрытого слоя таким образом, что меньшее взвешенное значение умножают на большее значение коэффициента важности и, наоборот, большее взвешенное значение умножают на меньшее значение коэффициента важности.
Затем в формальных нейронах 3 скрытого слоя формируют цифровые коды координат промежуточного вектора в результате выполнения над цифровыми кодами, снимаемых с выходов операционных блоков умножения 9, арифметической операции сложения и последующего преобразования цифрового кода суммы посредством функции активации.
Таким образом, на выходах ФН 3 реализуют операцию, аналогичную операции min для логических ФН, над цифровыми кодами взвешенных значений, снимаемых с выходов операционных блоков умножения 9, с той разницей, что в формировании значений координат промежуточного вектора принимают участие не только минимальные взвешенные значения (с коэффициентом значимости, равным 1), но остальные взвешенные значения, умноженные на коэффициенты значимости, находящиеся в диапазоне значений от 1 до 0.
На третьем этапе преобразований согласно данному способу (соответствует фазе композиции) масштабируют цифровые коды значений, формируемых на выходах ФН 3, посредством операционных блоков 4 prod путем умножения на значения весов соответствующих связей и подают цифровые коды взвешенных значений в соответствии с системой правил логического вывода, описывающей структуру нейросетевого устройства, на входы операционных блоков сортировки по убыванию 10.
Умножают в операционных блоках умножения 11 отсортированные по убыванию цифровые коды взвешенных значений на упорядоченные по убыванию цифровые коды коэффициентов значимости входов соответствующих формальных нейронов 5 выходного слоя таким образом, что большее взвешенное значение умножают на большее значение коэффициента важности и, наоборот, меньшее взвешенное значение умножают на меньшее значение коэффициента важности.
На формальных нейронах 5 выходного слоя НС формируют цифровые коды координат выходного вектора Y в результате выполнения над цифровыми кодами, снимаемых с выходов операционных блоков умножения 11, арифметической операции сложения и последующего преобразования цифрового кода суммы посредством функции активации.
В итоге на выходах ФН 5 реализуют операцию, аналогичную операции max для логических ФН, над цифровыми кодами взвешенных значений, снимаемых с выходов операционных блоков умножения 11, с той разницей, что в формировании значений координат выходного вектора принимают участие не только максимальные взвешенные значения (с коэффициентом значимости, равным 1), но и оставшиеся взвешенные значения, умноженные на коэффициенты значимости, находящиеся в диапазоне значений от 1 до 0.
То, что с помощью арифметических ФН 3 и 5 реализуются функции, подобные функциям min и max логических ФН, позволяет, во-первых, базу знаний экспертов предметной области, описанную системой правил If-Then логического вывода, отразить в структуре нейросетевого устройства на базе арифметических ФН, во-вторых, автоматически откорректировать базу знаний в процессе обучения нейросетевого устройства посредством стандартных алгоритмов обучения НС, например, по методу обратного распространения ошибки или методу генетических алгоритмов, в-третьих, проанализировать веса межнейронных связей после процесса обучения НС с целью устранения противоречий в исходной базе знаний.
Таким образом, заявляемый способ обработки информации в нейронных сетях, согласно которому на первом этапе цифровой код дубля каждой из координат входного вектора преобразуют посредством нелинейного функционального преобразования φ(x) или 1-φ(x), где x -цифровой код дубля координаты входного вектора, в зависимости от системы правил логического вывода, описывающей нейронную сеть, масштабируют цифровые коды результатов нелинейного функционального преобразования посредством операции prod во взвешенных связях и выполняют сортировку по возрастанию цифровых кодов взвешенных значений, предназначенных для соответствующих формальных нейронов скрытого слоя в соответствии с системой правил логического вывода, описывающей нейронную сеть, отсортированные по возрастанию цифровые коды взвешенных значений умножают на упорядоченные по убыванию цифровые коды коэффициентов значимости входов соответствующих формальных нейронов скрытого слоя, и в результате выполнения второго этапа формируют цифровые коды координат промежуточного вектора, цифровые коды координат промежуточного вектора масштабируют посредством операции prod во взвешенных связях и выполняют сортировку по убыванию цифровых кодов взвешенных значений, предназначенных для соответствующих формальных нейронов выходного слоя в соответствии с системой правил логического вывода, описывающей нейронную сеть, отсортированные по убыванию цифровые коды взвешенных значений умножают на упорядоченные по убыванию цифровые коды коэффициентов значимости входов соответствующих формальных нейронов выходного слоя, и в результате выполнения третьего этапа формируют цифровые коды координат выходного вектора нейронной сети, позволяет осуществлять предварительную настройку информационного поля нейросетевого устройства и проводить анализ результатов обучения нейронной сети, что говорит о достижении поставленной цели.