+

RU2595598C2 - Method and device for compression using approach based on neural network - Google Patents

Method and device for compression using approach based on neural network Download PDF

Info

Publication number
RU2595598C2
RU2595598C2 RU2014147972/08A RU2014147972A RU2595598C2 RU 2595598 C2 RU2595598 C2 RU 2595598C2 RU 2014147972/08 A RU2014147972/08 A RU 2014147972/08A RU 2014147972 A RU2014147972 A RU 2014147972A RU 2595598 C2 RU2595598 C2 RU 2595598C2
Authority
RU
Russia
Prior art keywords
vector
data
data elements
weight
cells
Prior art date
Application number
RU2014147972/08A
Other languages
Russian (ru)
Other versions
RU2014147972A (en
Inventor
Сергей Николаевич Загоруйко
Виталий Владимирович Чернов
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2014147972/08A priority Critical patent/RU2595598C2/en
Publication of RU2014147972A publication Critical patent/RU2014147972A/en
Application granted granted Critical
Publication of RU2595598C2 publication Critical patent/RU2595598C2/en

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Abstract

FIELD: computer engineering.
SUBSTANCE: method of compressing data using approach based on neural network consisting of training mode and output mode in which input data space is divided into multiple data elements, wherein each data element is characterised by coordinate vector and vector of 3D values; using coordinate vectors, determined address cells in content addressable memory with which must be related data elements, wherein each of cells has weight value; data elements associated with cells in content addressable memory based on certain addresses; accumulated all weight cell values associated with data elements to obtain weight vector; weight vector is subtracted from volume vector values to generate error signal; and if error signal is non-zero, include training mode, wherein weight cell values associated with data elements, controlled based on error signal; or if error signal is zero, include output mode, where vector compressed volume values is calculated using weighting vector and then discharged.
EFFECT: reduced expenses of memory and computational costs for data compression.
6 cl, 4 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретения относится в целом к области техники обработки данных. В частности, настоящее изобретение направлено на способ и устройство сжатия данных с использованием подхода на основе нейронной сети.The present invention relates generally to the field of data processing technology. In particular, the present invention is directed to a method and apparatus for compressing data using a neural network approach.

Уровень техникиState of the art

Сжатие и сохранение объемных данных свойственны системам, используемым для 3D-моделирования, машинного распознавания образов и роботизированных применений. В уровне техники известны три основных подхода для сжатия и сохранения объемных данных: 1) воксельное представление в линейной памяти (RAM, флэш-память и т.д.); 2) сжатие данных без потерь с использованием иерархических структур данных; и 3) сжатие данных с потерями.Compression and storage of bulk data are characteristic of systems used for 3D modeling, machine pattern recognition and robotic applications. Three basic approaches are known in the art for compressing and storing bulk data: 1) voxel representation in linear memory (RAM, flash memory, etc.); 2) lossless data compression using hierarchical data structures; and 3) lossy data compression.

Воксельное представление в линейной памяти применяется, когда вычислительная эффективность систем имеет важное значение. В этом случае данные сохраняются в памяти без какой-либо модификации, т.е. в исходном виде. Воксель представляет собой один элемент или точку данных на регулярно разнесенной трехмерной сетке. Эта точка данных может состоять из одного компонента данных, например непрозрачность, или множества компонентов данных, например цвет вдобавок к непрозрачности. Воксель представляет только одну точку на этой сетке, а не объем; пространство между каждым вокселем не отображается в наборе данных, основанном на вокселях. Пример восксельного представления описан в документе US 8,587,583 B2. Недостаток воксельного представления состоит в том, что этот подход требует запоминающие устройства с большой емкостью в случае большого количества объемных данных. Кроме того, 3D-вид обычно содержит много пустого пространства, и «прямолинейное» воксельное представление может быть затратным с точки зрения использования ресурсов памяти.The voxel representation in linear memory is used when the computational efficiency of systems is important. In this case, the data is stored in memory without any modification, i.e. in its original form. A voxel is a single item or data point on a regularly spaced three-dimensional grid. This data point may consist of a single data component, such as opacity, or multiple data components, such as color, in addition to opacity. A voxel represents only one point on this grid, not a volume; the space between each voxel is not displayed in the voxel-based dataset. An example of a wax presentation is described in US Pat. No. 8,587,583 B2. The disadvantage of the voxel representation is that this approach requires large capacity storage devices in the case of a large amount of bulk data. In addition, a 3D view usually contains a lot of empty space, and a “straightforward” voxel view can be costly in terms of using memory resources.

Чтобы снизить затраты ресурсов памяти, можно сжимать объемные данные. Для сжатия данных без потерь используются различные иерархические структуры данных наподобие дерева данных. Пустые пространства кодируются с намного меньшим разрешением, чем пространства с объектами, и это снижает требуемый размер данных. Наиболее используемым типом такого подхода является дерево октантов - структура данных, в которой каждый внутренний узел имеет ровно восемь потомков. Каждый узел в дереве октантов подразделяет пространство, которое он характеризует, на восемь октантов. Пример сжатия данных без потерь описан в документе US 4,694,404 A. Этот подход имеет такой недостаток, что представление данных с использованием дерева октантов требует дополнительных вычислительных затрат для упаковки/распаковки данных.To reduce the cost of memory resources, you can compress bulk data. For lossless data compression, various hierarchical data structures like the data tree are used. Empty spaces are encoded with much lower resolution than spaces with objects, and this reduces the required data size. The most used type of this approach is the octant tree - a data structure in which each internal node has exactly eight descendants. Each node in the octant tree divides the space that it characterizes into eight octants. An example of lossless data compression is described in US Pat. No. 4,694,404 A. This approach has such a drawback that presenting data using the octant tree requires additional computational cost for packing / unpacking the data.

Сжатие данных с потерями часто приводит к лучшим коэффициентам сжатия, чем сжатие данных без потерь, поскольку некоторые исходные данные могут быть отброшены. Для сжатия данных с потерями определяются либо доминирующие признаки исходных данных, либо их компактное представление в других базисах. Количество и тип отбрасываемой информации диктуются метрикой выбора в алгоритме сжатия. Пример схемы сжатия данных с потерями описан в документе US 2013/0159263 A1. Этот документ раскрывает способ, предусматривающий разреженное представление входного вектора данных b∈Rm, используя переполненный словарь базисных векторов A∈Rmxn. В частности, учитывая словарную матрицу с m<n, представляет интерес найти x∈Rn так, чтобы Ax=b. Существует множество таких решений для x, и принцип состоит в том, чтобы выбрать решение, которое является самым «разреженным». Следует отметить, что пока x имеет высокую размерность, A может быть выбрано так, чтобы x имел очень мало ненулевых элементов, и, следовательно, x может быть сохранен эффективным образом. В документе US 2013/0159263 A1 распределенного алгоритма по Брегману используется для решения задачи оптимизации нахождения самого «разреженного» решения для x. Этот подход также требует значительных вычислительных затрат для обработки данных, в особенности для выполнения распределенного алгоритма по Брегману.Lossy data compression often leads to better compression ratios than lossless data compression, as some raw data may be discarded. To compress data with losses, either the dominant features of the source data or their compact representation in other bases are determined. The amount and type of discarded information is dictated by the selection metric in the compression algorithm. An example of a lossy data compression scheme is described in US 2013/0159263 A1. This document discloses a method involving a sparse representation of an input data vector b∈R m using an overflowed dictionary of basis vectors A∈R mxn . In particular, given the vocabulary matrix with m <n, it is of interest to find x∈R n so that Ax = b. There are many such solutions for x, and the principle is to choose the solution that is the most “sparse”. It should be noted that while x has a high dimension, A can be chosen so that x has very few nonzero elements, and therefore x can be stored in an efficient way. In document US 2013/0159263 A1, the distributed Bregman algorithm is used to solve the optimization problem of finding the most “sparse" solution for x. This approach also requires significant computational overhead for data processing, in particular for the implementation of the distributed algorithm according to Bregman.

Другой способ нахождения решения для x основан на подходе с использованием нейронной сети, описанный в документе US 4,193,115 A. В этом случае для множества входных переменных предусмотрены управляющие функции, которые вычислены в отношении данных, хранящихся в памяти. Каждое значение управляющих функций распределяется по разным физическим адресам памяти, так что линейная сумма содержимого этих физических адресов определяет это значение. Используется алгоритм адресации, в котором входные переменные отображаются в набор значений промежуточного отображения. Устройство для выполнения промежуточного отображения содержит первый и второй счетчики, которые используются для адресации памяти, хранящей промежуточные переменные заданным образом. Тем не менее решение, предложенное в документе US 4,193,115 A, также требует значительных вычислительных затрат для сжатия данных.Another way to find a solution for x is based on the neural network approach described in US 4,193,115 A. In this case, control functions are calculated for a variety of input variables, which are calculated in relation to the data stored in memory. Each value of the control functions is allocated to different physical memory addresses, so that a linear sum of the contents of these physical addresses determines this value. An addressing algorithm is used in which the input variables are mapped to a set of intermediate display values. A device for performing intermediate mapping contains the first and second counters, which are used to address memory that stores intermediate variables in a specified way. However, the solution proposed in US 4,193,115 A also requires significant computational overhead for data compression.

Раскрытие изобретенияDisclosure of invention

Задача настоящего изобретения заключается в устранении вышеупомянутых недостатков, присущих решениям, известным из уровня техники.An object of the present invention is to overcome the aforementioned disadvantages inherent in solutions known in the art.

Технический результат, достигаемый за счет использования настоящего изобретения, состоит в снижении затрат памяти и вычислительных затрат для сжатия данных посредством использования подхода на основе нейронной сети.The technical result achieved by using the present invention is to reduce memory and computing costs for data compression by using a neural network approach.

Согласно первому аспекту, предложен способ сжатия данных. Способ осуществляется следующим образом. Пространство входных данных разделяют на множество элементов данных. Каждый элемент данных характеризуется координатным вектором, задающим координаты элемента данных в пространстве входных данных, и вектором объемных значений, определяющим объемные значения элемента данных в пространстве входных данных. Используя координатные векторы, определяют адреса ячеек в ассоциативной памяти, с которыми должны быть связаны элементы данных. Каждая из ячеек имеет весовое значение. Далее элементы данных связывают с ячейками в ассоциативной памяти на основе определенных адресов. Все весовые значения ячеек, связанных с элементами данных, аккумулируют для получения весового вектора. После этого весовой вектор вычитают из вектора объемных значений для формирования сигнала ошибки. Затем проверяют, является ли сигнал ошибки ненулевым. Если сигнал ошибки является ненулевым, включают режим обучения, при котором сигнал ошибки предоставляют ассоциативной памяти для регулировки весовых значений ячеек, связанных с элементами данных на основе сигнала ошибки. Если сигнал ошибки является нулевым, включают режим вывода, при котором вектор сжатых объемных значений вычисляют с использованием весового вектора и далее выводят.According to a first aspect, a method for compressing data is provided. The method is as follows. The input data space is divided into many data elements. Each data element is characterized by a coordinate vector defining the coordinates of the data element in the input data space, and a volume vector that defines the volume values of the data element in the input data space. Using coordinate vectors, they determine the addresses of cells in associative memory with which data elements should be associated. Each of the cells has a weight value. Next, data elements are associated with cells in associative memory based on specific addresses. All weight values of cells associated with data elements are accumulated to obtain a weight vector. After that, the weight vector is subtracted from the vector of volume values to generate an error signal. Then check whether the error signal is non-zero. If the error signal is nonzero, a training mode is activated in which an error signal is provided with an associative memory for adjusting cell weights associated with data items based on the error signal. If the error signal is zero, an output mode is activated in which a vector of compressed volume values is calculated using a weight vector and then output.

Согласно второму аспекту, предложено устройство сжатия данных. Устройство содержит ассоциативную память, состоящую из ячеек, и один или более процессоров. Каждая из ячеек в ассоциативной памяти имеет весовое значение. Упомянутый один или более процессоров выполнены с возможностью разделения пространства входных данных на множество элементов данных. Каждый элемент данных характеризуется координатным вектором, задающим координаты элемента данных в пространстве входных данных, и вектором объемных значений, определяющим объемные значения элемента данных в пространстве входных данных. Упомянутый один или более процессоров дополнительно выполнены с возможностью, используя координатные векторы, определения адресов ячеек в ассоциативной памяти, с которыми должны быть связаны элементы данных, и связывания элементов данных с ячейками в ассоциативной памяти на основе определенных адресов. Упомянутый один или более процессоров дополнительно выполнены с возможностью аккумулирования всех весовых значений ячеек, связанных с элементами данных, для получения весового вектора и вычитания весового вектора из вектора объемных значений для формирования сигнала ошибки. Упомянутый один или более процессоров дополнительно выполнены с возможностью, если сигнал ошибки является ненулевым, включения режима обучения, при котором весовые значения ячеек, связанных с элементами данных, регулируются на основе сигнала ошибки, или если сигнал ошибки является нулевым, включения режима вывода, при котором вычисляется вектор сжатых объемных значений с использованием весового вектора и выводится вектор сжатых объемных значений.According to a second aspect, a data compression device is provided. The device comprises an associative memory consisting of cells and one or more processors. Each of the cells in associative memory has a weight value. Mentioned one or more processors are configured to divide the input data space into multiple data elements. Each data element is characterized by a coordinate vector defining the coordinates of the data element in the input data space, and a volume vector that defines the volume values of the data element in the input data space. Mentioned one or more processors are additionally configured to, using coordinate vectors, determine the addresses of cells in associative memory with which data elements should be associated, and associate data elements with cells in associative memory based on specific addresses. Mentioned one or more processors are additionally configured to accumulate all weight values of cells associated with data elements to obtain a weight vector and subtract the weight vector from the volume vector to generate an error signal. Said one or more processors is further configured to, if the error signal is nonzero, enable a learning mode in which the weight values of cells associated with data elements are adjusted based on the error signal, or if the error signal is zero, enable an output mode in which a vector of compressed volume values is calculated using a weight vector, and a vector of compressed volume values is output.

Эти и другие аспекты, признаки и преимущества изобретения будут очевидны и разъяснены со ссылкой на вариант(ы) осуществления, описанный(е) в данном документе.These and other aspects, features and advantages of the invention will be apparent and elucidated with reference to the embodiment (s) of implementation described (e) herein.

Краткое описание чертежейBrief Description of the Drawings

Сущность настоящего изобретения поясняется ниже со ссылкой на сопроводительные чертежи, на которых:The essence of the present invention is explained below with reference to the accompanying drawings, in which:

Фиг. 1 иллюстрирует устройство сжатия данных в соответствии с одним примером варианта осуществления настоящего изобретения;FIG. 1 illustrates a data compression device in accordance with one example of an embodiment of the present invention;

Фиг. 2 показывает объемное представление ассоциативной памяти, показанной на Фиг. 1;FIG. 2 shows a three-dimensional representation of the associative memory shown in FIG. one;

Фиг. 3 показывает способ сжатия данных в соответствии с одним примером варианта осуществления настоящего изобретения;FIG. 3 shows a data compression method in accordance with one example embodiment of the present invention;

Фиг. 4 показывает пример использования способа с Фиг. 3 относительно синусоидальной функции.FIG. 4 shows an example of the use of the method of FIG. 3 with respect to sinusoidal function.

Осуществление изобретенияThe implementation of the invention

Различные варианты осуществления настоящего изобретения описаны далее более подробно со ссылкой на сопроводительные чертежи. Однако настоящее изобретение может быть реализовано во многих других формах и не должно восприниматься как ограниченное какой-либо конкретной структурой или функцией, представленной в нижеследующем описании. Напротив, эти варианты осуществления предоставлены для того, чтобы сделать описание настоящего изобретения подробным и полным. Исходя из настоящего описания специалисту в данной области техники будет очевидно, что объем настоящего изобретения охватывает любой вариант осуществления настоящего изобретения, который раскрыт в данном документе, вне зависимости от того, реализован ли этот вариант осуществления независимо или совместно с любым другим вариантом осуществления настоящего изобретения. Например, способ и устройство, раскрытые в данном документе, могут быть реализованы на практике посредством использования любого числа вариантов осуществления, представленных в данном документе. Кроме того, должно быть понятно, что любой вариант осуществления настоящего изобретения может быть реализован с использованием одного или более этапов или элементов, представленных в приложенной формуле изобретения.Various embodiments of the present invention are described in more detail below with reference to the accompanying drawings. However, the present invention can be implemented in many other forms and should not be construed as being limited by any particular structure or function described in the following description. On the contrary, these embodiments are provided in order to make the description of the present invention detailed and complete. Based on the present description, it will be obvious to a person skilled in the art that the scope of the present invention encompasses any embodiment of the present invention that is disclosed herein, regardless of whether this embodiment is implemented independently or in conjunction with any other embodiment of the present invention. For example, the method and apparatus disclosed herein may be practiced by using any number of embodiments presented herein. In addition, it should be understood that any embodiment of the present invention can be implemented using one or more of the steps or elements presented in the attached claims.

Слово «примерный» используется в данном документе в значении «используемый в качестве примера или иллюстрации». Любой вариант осуществления, описанный здесь как «примерный», необязательно должен восприниматься как предпочтительный или имеющий преимущество над другими вариантами осуществления.The word “exemplary” is used herein to mean “used as an example or illustration”. Any embodiment described herein as “exemplary” need not be construed as preferred or having an advantage over other embodiments.

Используемый в данном документе термин «нейронная сеть» относится к вычислительной модели, основанной на структуре и функциях биологических нейронных сетей. Такие искусственные нейронные сети хорошо известны в уровне техники и используются для оценки или аппроксимации функций, которые могут зависеть от большого числа входных данных и, в общем, являются неизвестными. Основным свойством нейронных сетей является их способность к самообучению, благодаря которому они могут использоваться в задачах распознавания, прогнозирования и управления или в других целях. Одним типом нейронных сетей является мозжечковая модель суставного регулятора (или вкратце - CMAC), которая представляет собой систему ассоциативной памяти.As used herein, the term “neural network” refers to a computational model based on the structure and functions of biological neural networks. Such artificial neural networks are well known in the art and are used to evaluate or approximate functions that may depend on a large number of input data and, in general, are unknown. The main property of neural networks is their ability to self-learn, due to which they can be used in recognition, prediction and control problems or for other purposes. One type of neural network is the cerebellar model of the articular regulator (or, in short, CMAC), which is an associative memory system.

Принцип функционирования CMAC обычно используется в задачах управления и распознавания. В отличие от этого, согласно настоящему изобретению, CMAC применяется для обеспечения сжатия объемных данных. Эта идея пришла в головы авторов при реализации алгоритмов реконструкции 3D данных, учитывая, что традиционное воксельное представление является слишком затратным по памяти, а использование деревьев октантов увеличивает вычислительные затраты и усложняет сами алгоритмы (так что эти алгоритмы не могут функционировать в режиме реального времени). Подход, предложенный в данном документе, является эффективным способом сжатия данных (не только двух- или трехмерных данных, но также данных бóльших размерностей) посредством использования малых вычислительных затрат по сравнению со способами, известными из уровня техники.The principle of operation of CMAC is commonly used in control and recognition tasks. In contrast, according to the present invention, CMAC is used to provide bulk data compression. This idea came to the heads of the authors when implementing 3D data reconstruction algorithms, given that the traditional voxel representation is too expensive in memory, and the use of octant trees increases the computational cost and complicates the algorithms themselves (so these algorithms cannot function in real time). The approach proposed in this document is an effective way to compress data (not only two- or three-dimensional data, but also data of higher dimensions) by using small computational costs compared to methods known from the prior art.

Фиг. 1 иллюстрирует устройство 100 сжатия данных, использующее подход на основе нейронной сети, в соответствии с одним примером варианта осуществления настоящего изобретения. Как показано, устройство 100 содержит контроллер 102 памяти, ассоциативную память 104, сумматор 106, вычитатель 108 и переключатель 110. Устройство 100 может функционировать в двух режимах, а именно: режиме обучения и режиме вывода. Следует отметить, что каждый из контроллера 102, сумматора 106, вычитателя 108 и переключателя 110 может быть реализован в виде одного или более процессоров.FIG. 1 illustrates a data compression apparatus 100 using a neural network approach, in accordance with one example embodiment of the present invention. As shown, the device 100 comprises a memory controller 102, an associative memory 104, an adder 106, a subtractor 108, and a switch 110. The device 100 can operate in two modes, namely, a learning mode and an output mode. It should be noted that each of the controller 102, adder 106, subtractor 108, and switch 110 may be implemented as one or more processors.

В действительности, режим обучения представляет собой режим записи массива данных в память 104, в то время как режим вывода представляет собой режим считывания массива данных из памяти 104. Такие режимы являются общепринятыми при реализации алгоритмов реконструкции 3D данных.In fact, the training mode is the mode of writing the data array to the memory 104, while the output mode is the mode of reading the data array from the memory 104. Such modes are generally accepted when implementing 3D data reconstruction algorithms.

Перед тем как устройство 100 начинает сжатие данных, пространство входных данных (например, являющееся трехмерным) разделяется на множество точек или элементов данных любых подходящих форм. Каждый элемент данных имеет координатный вектор X[n], задающий его положение в пространстве входных данных, и вектор V[n] объемных значений, определяющий его объемные значения в пространстве входных данных. В частности, объемные значения элементов данных представляют собой значения, характеризующие свойства элементов данных в пространстве входных данных. В качестве примера, эти свойства элементов данных могут включать в себя цвет, степень непрозрачности или их комбинацию.Before the device 100 begins to compress the data, the input data space (for example, which is three-dimensional) is divided into many points or data elements of any suitable shape. Each data element has a coordinate vector X [n] defining its position in the input data space, and a volume vector V [n] defining its volume values in the input data space. In particular, the volume values of data elements are values that characterize the properties of data elements in the input data space. By way of example, these properties of data elements may include color, opacity, or a combination thereof.

В режиме обучения, когда элементы данных записываются в память 104, переключатель 110 находится в включенном состоянии. В этом случае контроллер 102 памяти вычисляет подходящие адреса памяти в памяти 104, используя вектора X[n] элементов данных. Другими словами, упомянутая адресация означает, что контроллер 102 памяти связывает элементы данных с соответствующими ячейками памяти 104. Каждая из ячеек памяти 104 хранит весовое значение. Далее память 104 выводит все весовые значения, которые соответствуют ячейкам, связанным с элементами данных. Сумматор 106 суммирует весовые значения для формирования весового вектора W[n] и предоставляет весовой вектор вычитателю 108. Вычитатель 108 вычитает весовой вектор из вектора V[n] для формирования сигнала ε[n] ошибки. Сигнал ошибки используется для регулировки требуемых весовых значений в ячейках памяти 104.In the training mode, when data elements are recorded in the memory 104, the switch 110 is in the on state. In this case, the memory controller 102 calculates suitable memory addresses in the memory 104 using the data element vectors X [n]. In other words, said addressing means that the memory controller 102 associates data elements with corresponding memory cells 104. Each of the memory cells 104 stores a weight value. Further, the memory 104 displays all the weight values that correspond to the cells associated with the data items. An adder 106 sums the weight values to generate the weight vector W [n] and provides the weight vector to the subtractor 108. Subtractor 108 subtracts the weight vector from the vector V [n] to generate the error signal ε [n]. An error signal is used to adjust the required weight values in the memory cells 104.

В частности, контроллер 102 памяти вычисляет адреса ячеек в памяти 104, используя базисный вектор A[n], получаемый с помощью следующей формулы:In particular, the memory controller 102 calculates the addresses of the cells in the memory 104 using the basis vector A [n] obtained using the following formula:

Figure 00000001
(1)
Figure 00000001
(one)

где ak[n] - k-ый элемент базисного вектора A[n] для n-го момента времени, µl - l-ое размерное значение ассоциативной памяти, N - размерность вектора X[n], ρ - параметр нейронной сети, xj[n] - j-ый элемент вектора X[n],

Figure 00000002
, Mi - размерное значение вдоль i-ой оси.where a k [n] is the kth element of the basis vector A [n] for the n-th moment of time, µ l is the l-th dimension value of associative memory, N is the dimension of the vector X [n], ρ is the parameter of the neural network, x j [n] is the jth element of the vector X [n],
Figure 00000002
, M i - dimensional value along the i-th axis.

Кроме того, сигнал ошибки регулирует требуемые весовые значения ячеек в памяти 104 в соответствии с формулой:In addition, the error signal adjusts the required weight values of the cells in the memory 104 in accordance with the formula:

Figure 00000003
(2)
Figure 00000003
(2)

В режиме вывода, когда элементы данных считываются из памяти 104, переключатель 110 находится в выключенном состоянии. В этом случае, в отличие от режима обучения, нет сигнала ошибки, передаваемого посредством обратной связи и регулирующего весовые коэффициенты ячеек в памяти 104, и сумма весовых значений, т.е. вектор W[n], используется для вычисления вектора сжатых объемных значений, который затем выводится.In the output mode, when data elements are read from the memory 104, the switch 110 is in the off state. In this case, unlike the training mode, there is no error signal transmitted through feedback and regulating the cell weights in the memory 104, and the sum of the weight values, i.e. the vector W [n] is used to calculate the vector of compressed volume values, which is then output.

Более конкретно, вектор X[n] поступает на вход контроллера 102 памяти, в котором выходной вектор A[n] вычисляется с использованием формулы (1). Используя вектор A[n], осуществляют связывание элементов данных с ячейками памяти 104. Память 104 выводит весовые значения ячеек сумматору 103. Сумматор 103 суммирует все весовые значения для формирования вектора W[n]. После этого сумматор 103 использует вектор W[n] для формирования вектора

Figure 00000004
сжатых объемных значений следующим образом:More specifically, the vector X [n] is input to the memory controller 102, in which the output vector A [n] is calculated using formula (1). Using the vector A [n], the data elements are linked to the memory cells 104. The memory 104 outputs the weight values of the cells to the adder 103. The adder 103 sums all the weight values to form the vector W [n]. After that, adder 103 uses the vector W [n] to form the vector
Figure 00000004
compressed volume values as follows:

Figure 00000005
(3)
Figure 00000005
(3)

Фиг. 2 поясняет объемное представление памяти 104 на Фиг. 1 для примера трехмерных объемных данных. Если размерные значения для осей x, y, z равны Mx, My, Mz соответственно, тогда общий объем памяти равен Mx×My×Mz. Согласно подходу CMAC, соответствующая ассоциативная память может быть представлена в виде набора ρ трехмерных объемов с размерными значениями для осей x, y, z, равными µx=Mx/ρ, µy=My/ρ, µz=Mz/ρ соответственно. При этом общий объем ассоциативной памяти равен µx×µy×µz×ρ=(Mx/ρ)×(My/ρ)×(Mz/ρ)×ρ. Следовательно, для трехмерного случая мы имеем выигрыш по памяти в виде ρ2. В общем случае для k-размерных объемных данных и параметра ρ нейронной сети, выигрыш по памяти равен ρk-1.FIG. 2 illustrates a three-dimensional representation of memory 104 in FIG. 1 for an example of three-dimensional volumetric data. If the dimensional values for the x, y, z axes are equal to M x , M y , M z respectively, then the total memory capacity is M x × M y × M z . According to the CMAC approach, the corresponding associative memory can be represented as a set of ρ three-dimensional volumes with dimensional values for the x, y, z axes equal to μ x = M x / ρ, μ y = M y / ρ, μ z = M z / ρ, respectively. Moreover, the total amount of associative memory is equal to µ x × µ y × µ z × ρ = (M x / ρ) × (M y / ρ) × (M z / ρ) × ρ. Therefore, for the three-dimensional case, we have a memory gain in the form ρ 2 . In the general case, for k-dimensional bulk data and the parameter ρ of the neural network, the memory gain is ρ k-1 .

Фиг. 3 иллюстрирует способ 300 сжатия данных, использующий подход на основе нейронной сети, в соответствии с одним примером варианта осуществления настоящего изобретения. Способ 300 выполняется устройством 100, показанным на Фиг. 1. Способ содержит следующие этапы:FIG. 3 illustrates a data compression method 300 using a neural network approach, in accordance with one example embodiment of the present invention. The method 300 is performed by the device 100 shown in FIG. 1. The method comprises the following steps:

Этап 302: Пространство входных данных разделяется на элементы данных, как пояснено выше, т.е. каждый элемент данных обеспечивается векторами X[n] и V[n]. Такое разделение может выполняться одним или более внешними процессорами. В некоторых вариантах осуществления эти процессоры могут быть интегрированы в устройство 100.Step 302: The input data space is divided into data elements, as explained above, i.e. each data element is provided by the vectors X [n] and V [n]. Such separation may be performed by one or more external processors. In some embodiments, these processors may be integrated into device 100.

Этап 304: Здесь, используя координатные векторы X[n], с помощью формулы (1) определяют адреса ячеек в ассоциативной памяти 104, с которыми должны быть связаны элементы данных. Step 304: Here, using the coordinate vectors X [n], using the formula (1) determine the addresses of the cells in the associative memory 104 with which data elements should be associated.

Этап 306: Связывают элементы данных с ячейками в ассоциативной памяти 104 на основе определенных адресов.Step 306: Associate data items with cells in associative memory 104 based on the determined addresses.

Этап 308: Все весовые значения ячеек, связанных с элементами данных, суммируются сумматором 106 для получения весового вектора W[n].Step 308: All weight values of cells associated with the data elements are summed by adder 106 to obtain the weight vector W [n].

Этап 310: Весовой вектор W[n] вычитают из вектора V[n] объемных значений для формирования сигнала ε[n] ошибки.Step 310: The weight vector W [n] is subtracted from the volume vector V [n] to generate an error signal ε [n].

Этап 312: Здесь проверяют, является ли сигнал ошибки ненулевым. Если сигнал ошибки является ненулевым, способ переходит к этапу 314, и к этапу 316 в противном случае.Step 312: Here, it is checked whether the error signal is non-zero. If the error signal is nonzero, the method proceeds to step 314, and to step 316 otherwise.

Этап 314: Определяют, что сигнал ошибки является ненулевым. Тогда сигнал ошибки предоставляют ассоциативной памяти 104 для регулировки весовых значений ячеек, связанных с элементами данных, на основе сигнала ошибки (в соответствии с формулой (2)).Step 314: Determine that the error signal is non-zero. Then the error signal is provided to the associative memory 104 for adjusting the weight values of the cells associated with the data elements based on the error signal (in accordance with formula (2)).

Этап 316: Определяют, что сигнал ошибки является нулевым. Тогда вычисляют вектор сжатых объемных значений с помощью сумматора 106, используя формулу (3), и выводят его.Step 316: Determine that the error signal is zero. Then, the vector of compressed volume values is calculated using the adder 106 using the formula (3), and it is derived.

Следует отметить, что сигнал ошибки возникает, т.е. ε[n] не равно нулю, в случае каких-либо изменений вектора X[n]. Если вектор X[n] не изменяется (что соответствует неизмененному вектору V[n]), сигнал ошибки отсутствует, и режим обучения не требуется. Такие изменения могут включать в себя смену положения элемента данных, которая приводит к новому вектору X[n] и, следовательно, новому вектору V[n].It should be noted that an error signal occurs, i.e. ε [n] is not equal to zero, in case of any changes in the vector X [n]. If the vector X [n] does not change (which corresponds to the unchanged vector V [n]), there is no error signal, and the training mode is not required. Such changes may include a change in the position of the data element, which leads to a new vector X [n] and, therefore, a new vector V [n].

Фиг. 4а-е показывают результаты сжатия данных, например, для синусоидальной функции в соответствии со способом 300, выполняемым в устройстве 100. В частности, пример сжатия двумерных данных проиллюстрирован для случая параметра нейронной сети ρ=4. В действительности, имеется четырехслойная нейронная сеть (k - номер слоя). Когда k меняется с 1 до 4, можно видеть, как сжатые данные сохраняются или отображаются в каждом из слоев (Фиг. 4а-d). Каждый из слоев соответствует соответствующей одной или более ячейкам в памяти 104. Суммируя сжатые данные во всех слоях, можно получить функцию, близкую к исходной синусоидальной функции, показанной на Фиг.4е.FIG. 4a-e show the results of data compression, for example, for a sinusoidal function in accordance with the method 300 performed in the device 100. In particular, an example of two-dimensional data compression is illustrated for the case of a neural network parameter ρ = 4. In fact, there is a four-layer neural network (k is the layer number). When k changes from 1 to 4, you can see how the compressed data is stored or displayed in each of the layers (Fig. 4a-d). Each of the layers corresponds to a corresponding one or more cells in the memory 104. By summing the compressed data in all the layers, a function close to the original sinusoidal function shown in FIG. 4e can be obtained.

Настоящее изобретение может использоваться для сохранения и сжатия данных в различных видах систем компьютерной графики (например, реконструкции 3D модели) или машинного распознавания образов (например, одновременной локализации и отображения), особенно там, где размер физической памяти ограничен вследствие требований к конструкции (например, мобильная платформа или приложение на основе GPU).The present invention can be used to store and compress data in various types of computer graphics systems (e.g., reconstructing a 3D model) or machine pattern recognition (e.g., simultaneous localization and display), especially where physical memory is limited due to design requirements (e.g., GPU-based mobile platform or application).

Хотя в данном документе были раскрыты примерные варианты осуществления настоящего изобретения, следует отметить, что в этих вариантах осуществления настоящего изобретения могут быть выполнены любые различные изменения и модификации без отступления от объема правовой охраны, который определяется приложенной формулой изобретения. В приложенной формуле изобретения упоминание этапов или элементов в единственном числе не исключает наличия множества таких этапов или элементов, если в явном виде не указано иное.Although exemplary embodiments of the present invention have been disclosed herein, it should be noted that in these embodiments of the present invention, any various changes and modifications may be made without departing from the scope of legal protection that is determined by the appended claims. In the appended claims, the mention of steps or elements in the singular does not exclude the presence of a plurality of such steps or elements, unless explicitly stated otherwise.

Claims (6)

1. Способ сжатия данных с использованием подхода на основе нейронной сети, причем подход на основе нейронной сети состоит из режима обучения и режима вывода, при этом способ содержит этапы, на которых:
разделяют пространство входных данных на множество элементов данных, причем каждый элемент данных характеризуется координатным вектором, задающим координаты элемента данных в пространстве входных данных, и вектором объемных значений, определяющим объемные значения элемента данных, представляющие собой значения, характеризующие свойства элементов данных в пространстве входных данных;
используя координатные векторы, определяют адреса ячеек в ассоциативной памяти, с которыми должны быть связаны элементы данных, причем каждая из ячеек имеет весовое значение;
связывают элементы данных с ячейками в ассоциативной памяти на основе определенных адресов;
аккумулируют все весовые значения ячеек, связанных с элементами данных, для получения весового вектора;
вычитают весовой вектор из вектора объемных значений для формирования сигнала ошибки; и
если сигнал ошибки является ненулевым, включают режим обучения, при котором весовые значения ячеек, связанных с элементами данных, регулируют на основе сигнала ошибки; или
если сигнал ошибки является нулевым, включают режим вывода, при котором вектор сжатых объемных значений вычисляют с использованием весового вектора и затем выводят.
1. A method of compressing data using an approach based on a neural network, the approach based on a neural network consisting of a training mode and an output mode, the method comprising the steps of:
dividing the input data space into a plurality of data elements, each data element having a coordinate vector defining the coordinates of the data element in the input data space and a volume vector defining the volume values of the data element, which are values characterizing the properties of data elements in the input data space;
using coordinate vectors, determine the addresses of cells in associative memory with which data elements should be associated, each cell having a weight value;
associate data elements with cells in associative memory based on specific addresses;
accumulate all weight values of cells associated with data elements to obtain a weight vector;
subtracting the weight vector from the vector of volume values to generate an error signal; and
if the error signal is nonzero, a training mode is activated in which the weight values of the cells associated with the data elements are adjusted based on the error signal; or
if the error signal is zero, an output mode is activated in which a vector of compressed volume values is calculated using a weight vector and then output.
2. Способ по п. 1, в котором упомянутый этап определения содержит этап, на котором:
определяют адреса ячеек в ассоциативной памяти посредством использования базисного вектора А[n], полученного с помощью следующей формулы:
Figure 00000001

где ak[n] - k-й элемент базисного вектора A[n] для n-го момента времени, µl - l-е размерное значение ассоциативной памяти, N - размерность координатного вектора X[n], ρ - параметр нейронной сети, xj[n] - j-й элемент координатного вектора X[n],
Figure 00000002
, Mi - размерное значение вдоль i-й оси.
2. The method of claim 1, wherein said determining step comprises the step of:
determine the addresses of cells in associative memory by using the basis vector A [n] obtained using the following formula:
Figure 00000001

where a k [n] is the kth element of the basis vector A [n] for the n-th moment of time, µ l is the l-th dimension value of associative memory, N is the dimension of the coordinate vector X [n], ρ is the parameter of the neural network , x j [n] is the jth element of the coordinate vector X [n],
Figure 00000002
, M i - dimensional value along the i-th axis.
3. Способ по п. 1, в котором весовые значения ячеек, связанных с элементами данных, регулируют с использованием следующей формулы:
Figure 00000006
,
где W[n] - весовой вектор для n-го момента времени, X[n] - координатный вектор для n-го момента времени, V[n] - вектор объемных значений для n-го момента времени, A - базисный вектор.
3. The method according to claim 1, in which the weight values of the cells associated with the data elements are adjusted using the following formula:
Figure 00000006
,
where W [n] is the weight vector for the nth moment of time, X [n] is the coordinate vector for the nth moment of time, V [n] is the vector of volume values for the nth moment of time, A is the basis vector.
4. Способ по п. 1, в котором вектор
Figure 00000004
сжатых объемных значений вычисляют с использованием следующей формулы:
Figure 00000007
,
где wi[n-1] - i-й элемент весового вектора W[n] для (n-1)-го момента времени.
4. The method of claim 1, wherein the vector
Figure 00000004
compressed volume values are calculated using the following formula:
Figure 00000007
,
where w i [n-1] is the ith element of the weight vector W [n] for the (n-1) th moment in time.
5. Способ по п. 1, в котором свойства элементов данных включают в себя цвет, степень непрозрачности или их комбинацию.5. The method of claim 1, wherein the properties of the data elements include color, opacity, or a combination thereof. 6. Устройство сжатия данных с использованием подхода на основе нейронной сети, причем подход на основе нейронной сети состоит из режима обучения и режима вывода, при этом устройство содержит:
ассоциативную память, состоящую из ячеек, причем каждая из ячеек имеет весовое значение; и
один или более процессоров, выполненных с возможностью:
разделения пространства входных данных на множество элементов данных, причем каждый элемент данных характеризуется координатным вектором, задающим координаты элемента данных в пространстве входных данных, и вектором объемных значений, определяющим объемные значения элемента данных, представляющие собой значения, характеризующие свойства элементов данных в пространстве входных данных;
используя координатные векторы, определения адресов ячеек в ассоциативной памяти, с которыми должны быть связаны элементы данных;
связывания элементов данных с ячейками в ассоциативной памяти на основе определенных адресов;
аккумулирования всех весовых значений ячеек, связанных с элементами данных, для получения весового вектора;
вычитания весового вектора из вектора объемных значений для формирования сигнала ошибки; и
если сигнал ошибки является ненулевым, включения режима обучения, при котором весовые значения ячеек, связанных с элементами данных, регулируются на основе сигнала ошибки; или
если сигнал ошибки является нулевым, включения режима вывода, при котором вектор сжатых объемных значений вычисляется с использованием весового вектора и затем выводится.
6. A data compression device using an approach based on a neural network, the approach based on a neural network consisting of a training mode and an output mode, the device comprising:
associative memory, consisting of cells, and each of the cells has a weight value; and
one or more processors configured to:
dividing the input data space into a plurality of data elements, each data element having a coordinate vector defining the coordinates of the data element in the input data space and a volume vector defining the volume values of the data element, which are values characterizing the properties of data elements in the input data space;
using coordinate vectors, determining the addresses of cells in associative memory with which data elements should be associated;
associating data elements with cells in associative memory based on specific addresses;
accumulation of all weight values of cells associated with data elements to obtain a weight vector;
subtracting the weight vector from the vector of volume values to form an error signal; and
if the error signal is non-zero, enable the training mode, in which the weight values of the cells associated with the data elements are adjusted based on the error signal; or
if the error signal is zero, enable the output mode, in which the vector of compressed volume values is calculated using the weight vector and then output.
RU2014147972/08A 2014-11-27 2014-11-27 Method and device for compression using approach based on neural network RU2595598C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014147972/08A RU2595598C2 (en) 2014-11-27 2014-11-27 Method and device for compression using approach based on neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014147972/08A RU2595598C2 (en) 2014-11-27 2014-11-27 Method and device for compression using approach based on neural network

Publications (2)

Publication Number Publication Date
RU2014147972A RU2014147972A (en) 2016-06-20
RU2595598C2 true RU2595598C2 (en) 2016-08-27

Family

ID=56131829

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014147972/08A RU2595598C2 (en) 2014-11-27 2014-11-27 Method and device for compression using approach based on neural network

Country Status (1)

Country Link
RU (1) RU2595598C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210265044A1 (en) * 2020-02-20 2021-08-26 Align Technology, Inc. Medical imaging data compression and extraction on client side

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10276134B2 (en) 2017-03-22 2019-04-30 International Business Machines Corporation Decision-based data compression by means of deep learning technologies

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6885320B2 (en) * 2003-01-21 2005-04-26 Samsung Elecetronics Co., Ltd. Apparatus and method for selecting length of variable length coding bit stream using neural network
RU2282888C2 (en) * 2001-09-26 2006-08-27 Интерэкт Дивайсиз, Инк. System and method for exchanging signals of audio-visual information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2282888C2 (en) * 2001-09-26 2006-08-27 Интерэкт Дивайсиз, Инк. System and method for exchanging signals of audio-visual information
US6885320B2 (en) * 2003-01-21 2005-04-26 Samsung Elecetronics Co., Ltd. Apparatus and method for selecting length of variable length coding bit stream using neural network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Э. Д. АВЕДЬЯН и др. "Ассоциативная нейронная сеть СМАС и ее модификации в задаче распознавания образов", Информационные технологии, N 7, 2011, с. 63-71. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210265044A1 (en) * 2020-02-20 2021-08-26 Align Technology, Inc. Medical imaging data compression and extraction on client side
US12125581B2 (en) * 2020-02-20 2024-10-22 Align Technology, Inc. Medical imaging data compression and extraction on client side

Also Published As

Publication number Publication date
RU2014147972A (en) 2016-06-20

Similar Documents

Publication Publication Date Title
Martel et al. Acorn: Adaptive coordinate networks for neural scene representation
Zeng et al. 3dcontextnet: Kd tree guided hierarchical learning of point clouds using local and global contextual cues
Zhang et al. Rotation invariant convolutions for 3d point clouds deep learning
Huang et al. Recurrent slice networks for 3d segmentation of point clouds
Ma et al. Binary volumetric convolutional neural networks for 3-D object recognition
Liu et al. Quasi-interpolation for surface reconstruction from scattered data with radial basis function
CN108960230A (en) Lightweight target identification method and device based on rotation rectangle frame
Wang et al. A novel GCN-based point cloud classification model robust to pose variances
EP4322056A1 (en) Model training method and apparatus
Arshad et al. Dprnet: Deep 3d point based residual network for semantic segmentation and classification of 3d point clouds
RU2674326C2 (en) Method of formation of neural network architecture for classification of object taken in cloud of points, method of its application for teaching neural network and searching semantically alike clouds of points
US11948069B2 (en) Compression of neural network activation data
US20230229917A1 (en) Hybrid multipy-accumulation operation with compressed weights
Wald et al. Ray tracing structured AMR data using ExaBricks
CN113807330A (en) Three-dimensional sight estimation method and device for resource-constrained scene
Chandrasekhar et al. Compression of deep neural networks for image instance retrieval
RU2595598C2 (en) Method and device for compression using approach based on neural network
Xu et al. Classify 3D voxel based point-cloud using convolutional neural network on a neural compute stick
Xu et al. 1.2 watt classification of 3D voxel based point-clouds using a CNN on a neural compute stick
Vedder et al. Sparse pointpillars: Maintaining and exploiting input sparsity to improve runtime on embedded systems
Ghodrati et al. Nonrigid 3D shape retrieval using deep auto-encoders
Maisano et al. Reducing complexity of 3D indoor object detection
Pont et al. Wasserstein auto-encoders of merge trees (and persistence diagrams)
Hussain et al. Lcrm: Layer-wise complexity reduction method for cnn model optimization on end devices
KR20150002157A (en) Content-based 3d model retrieval method using a single depth image, 3d model retrieval server for performing the methods and computer readable recording medium thereof
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载