Method and apparatus for processing data sequence

US11087203B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11087203-B2
Application numberUS-201715618415-A
CountryUS
Kind codeB2
Filing dateJun 9, 2017
Priority dateNov 10, 2016
Publication dateAug 10, 2021
Grant dateAug 10, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present application discloses a method and apparatus for processing a data sequence. A specific implementation of the method includes: receiving an inputted to-be-processed data sequence; copying a weight matrix in a recurrent neural network model to an embedded block random access memory (RAM) of a field-programmable gate array (FPGA); processing sequentially each piece of to-be-processed data in the to-be-processed data sequence by using an activation function in the recurrent neural network model and the weight matrix stored in the embedded block RAM; and outputting a processed data sequence corresponding to the to-be-processed data sequence. This implementation improves the data sequence processing efficiency of the recurrent neural network model.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for processing a data sequence, comprising: receiving an inputted to-be-processed data sequence; copying a weight matrix in a recurrent neural network model to an embedded block random access memory (RAM) of a field-programmable gate array (FPGA); processing sequentially each piece of to-be-processed data in the to-be-processed data sequence by using an activation function in the recurrent neural network model and the weight matrix stored in the embedded block RAM; and outputting a processed data sequence corresponding to the to-be-processed data sequence, wherein before the copying, the method further comprises: calling an address assignment interface to assign a storage address in the embedded block RAM to the weight matrix, and wherein the copying comprises: calling a copying interface to copy the weight matrix stored in a double data rate synchronous dynamic random access memory to the storage address in the embedded block RAM that is assigned to the weight matrix, wherein the copying of the weight matrix is performed only once during the process of processing the to-be-processed data sequence. 2. The method according to claim 1 , further comprising: deleting the weight matrix stored in the embedded block RAM after the processed data sequence is output. 3. The method according to claim 2 , wherein the deleting the weight matrix stored in the embedded block RAM comprises: calling a deletion interface to delete the weight matrix stored in the embedded block RAM. 4. The method according to claim 1 , wherein the embedded block RAM is a static random access memory. 5. An apparatus for processing a data sequence, comprising: at least one processor; and a memory storing instructions, which when executed by the at least one processor, cause the at least one processor to perform operations, the operations comprising: receiving an inputted to-be-processed data sequence; copying a weight matrix in a recurrent neural network model to an embedded block random access memory (RAM) of a field-programmable gate array (FPGA); processing sequentially each piece of to-be-processed data in the to-be-processed data sequence by using an activation function in the recurrent neural network model and the weight matrix stored in the embedded block RAM; and outputting a processed data sequence corresponding to the to-be-processed data sequence, wherein, the operations further comprises, before the copying: calling an address assignment interface to assign a storage address in the embedded block RAM to the weight matrix, and wherein the copying comprises; calling a copying interface to copy the weight matrix stored in a double data rate synchronous dynamic random access memory to the storage address in the embedded block RAM that is assigned to the weight matrix, wherein the copying of the weight matrix is performed only once during the process of processing the to-be-processed data sequence. 6. The apparatus according to claim 5 , wherein the operations further comprises: deleting the weight matrix stored in the embedded block RAM after the processed data sequence is output. 7. The apparatus according to claim 6 , wherein the deleting the weight matrix stored in the embedded block RAM comprises: calling a deletion interface to delete the weight matrix stored in the embedded block RAM. 8. The apparatus according to claim 5 , wherein the embedded block RAM is a static random access memory. 9. A non-transitory storage medium storing one or more programs, the one or more programs when executed by an apparatus, causing the apparatus to perform operations, the operations comprising: receiving an inputted to-be-processed data sequence; copying a weight matrix in a recurrent neural network model to an embedded block random access memory (RAM) of a field-programmable gate array (FPGA); processing sequentially each piece of to-be-processed data in the to-be-processed data sequence by using an activation function in the recurrent neural network model and the weight matrix stored in the embedded block RAM; and outputting a processed data sequence corresponding to the to-be-processed data sequence, wherein the operations further comprises, before the copying: calling an address assignment interface to assign a storage address in the embedded block RAM to the weight matrix, and wherein the copying comprises: calling a copying interface to copy the weight matrix stored in a double data rate synchronous dynamic random access memory to the storage address in the embedded block RAM that is assigned to the weight matrix, wherein the copying of the weight matrix is performed only once during the process of processing the to-be-processed data sequence. 10. The non-transitory storage medium according to claim 9 , wherein the operations further comprises: deleting the weight matrix stored in the embedded block RAM after the processed data sequence is output. 11. The non-transitory storage medium according to claim 10 , wherein the deleting the weight matrix stored in the embedded block RAM comprises: calling a deletion interface to delete the weight matrix stored in the embedded block RAM. 12. The non-transitory storage medium according to claim 9 , wherein the embedded block RAM is a static random access memory.

Assignees

Inventors

Classifications

  • Recurrent networks, e.g. Hopfield networks · CPC title

  • G06N3/063Primary

    using electronic means · CPC title

  • G06N3/0442Primary

    characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU] · CPC title

  • G06N3/0445Primary

    Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11087203B2 cover?
The present application discloses a method and apparatus for processing a data sequence. A specific implementation of the method includes: receiving an inputted to-be-processed data sequence; copying a weight matrix in a recurrent neural network model to an embedded block random access memory (RAM) of a field-programmable gate array (FPGA); processing sequentially each piece of to-be-processed …
Who is the assignee on this patent?
Beijing Baidu Netcom Sci & Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06N3/063. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 10 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).