JP2021121068A - 学習装置 - Google Patents

学習装置 Download PDF

Info

Publication number
JP2021121068A
JP2021121068A JP2020014085A JP2020014085A JP2021121068A JP 2021121068 A JP2021121068 A JP 2021121068A JP 2020014085 A JP2020014085 A JP 2020014085A JP 2020014085 A JP2020014085 A JP 2020014085A JP 2021121068 A JP2021121068 A JP 2021121068A
Authority
JP
Japan
Prior art keywords
learning
codeword
decoding
unit
word
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2020014085A
Other languages
English (en)
Inventor
竜太 吉沢
Ryota Yoshizawa
竜太 吉沢
憲一郎 古田
Kenichiro Furuta
憲一郎 古田
悠真 吉永
Yuma YOSHINAGA
悠真 吉永
修 鳥井
Osamu Torii
修 鳥井
知也 児玉
Tomoya Kodama
知也 児玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2020014085A priority Critical patent/JP2021121068A/ja
Priority to US17/005,270 priority patent/US11418219B2/en
Publication of JP2021121068A publication Critical patent/JP2021121068A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6597Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi decoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】誤り訂正符号の復号で用いられる重みの学習をより効率的に実行できる学習装置を提供する。【解決手段】実施形態の学習装置は、雑音生成部と、復号部と、生成部と、学習部と、を備える。雑音生成部は、第1符号語に対して雑音を付加した第2符号語を出力する。復号部は、第2符号語を復号して第3符号語を出力する。生成部は、第3符号語に基づいて、伝達するメッセージに重みが付加されるメッセージパッシング復号における重みを学習するための学習データを生成する。学習部は、学習データを用いてメッセージパッシング復号における重みを学習する。【選択図】図3

Description

以下の実施形態は、学習装置に関する。
誤り訂正符号の復号法の1つとして、タナーグラフ上での確率伝播法(BP:Belief-Propagation)がある。タナーグラフ上でのBPは、ニューラルネットワークによって等価に表現することが可能である。このようなニューラルネットワークを用いることで、BPで伝播されるメッセージにかける重みを学習してBPの性能をより向上させる技術(Weighted−BP)が提案されている。
米国特許出願公開第2018/0357530号明細書
Eliya Nachmani et al., Thomas Huang, "Deep Learning Methods for Improved Decoding of Linear Codes", in arXiv: 1706.07043v2 1 Jan. 2018.
しかしながら、従来技術では、復号が不可能なほど雑音が付加されたデータも学習対象とするため、学習が阻害される場合があった。
本発明の一つの実施形態は、Weighted−BPで用いられる重みの学習をより効率的に実行できる学習装置を提供することを目的とする。
実施形態の学習装置は、雑音生成部と、復号部と、生成部と、学習部と、を備える。雑音生成部は、第1符号語に対して雑音を付加した第2符号語を出力する。復号部は、第2符号語を復号して第3符号語を出力する。生成部は、第3符号語に基づいて、伝達するメッセージに重みが付加されるメッセージパッシング復号における重みを学習するための学習データを生成する。学習部は、学習データを用いてメッセージパッシング復号における重みを学習する。
図1は、Weighted−BPで用いられるタナーグラフの一例を示す図である。 図2は、タナーグラフ上でのメッセージ伝播をニューラルネットワークに変換した例を示す図である。 図3は、第1の実施形態にかかる学習装置の構成の一例を示すブロック図である。 図4は、第1の実施形態における学習処理の一例を示すフローチャートである。 図5は、変形例における学習処理の一例を示すフローチャートである。 図6は、第2の実施形態にかかる学習装置の構成の一例を示すブロック図である。 図7は、第2の実施形態における学習処理の一例を示すフローチャートである。 図8は、第3の実施形態にかかる学習装置の構成の一例を示すブロック図である。 図9は、第3の実施形態における学習処理の一例を示すフローチャートである。 図10は、第1から第3の実施形態にかかる学習装置のハードウェア構成例を示す説明図である。 図11は、第4の実施形態に係るメモリシステムの概略構成例を示すブロック図である。 図12は、第4の実施形態における学習処理の一例を示すフローチャートである。
以下に添付図面を参照して、実施形態に係る学習装置を詳細に説明する。なお、以下の実施形態により本発明が限定されるものではない。
以下では、Weighted−BPの重みを学習する学習装置の構成例を説明する。適用可能な復号法はWeighted−BPに限られるものではなく、例えば、伝達するメッセージに重みが付加される他のメッセージパッシング復号であってもよい。また、復号処理を表すニューラルネットワークの重みを学習する例を説明するが、ニューラルネットワーク以外のモデルを用いて、このモデルに適用可能な学習方法により重みを学習するように構成してもよい。
まず、Weighted−BPの概要について説明する。図1は、Weighted−BPで用いられるタナーグラフの一例を示す図である。なお、適用可能なグラフはタナーグラフに限られるものではなく、因子グラフ(Factor Graph)などの他の2部グラフ(Bipartile Graph)を用いてもよい。タナーグラフは、復号の対象となる符号が満たすべきルール構造を表現したグラフであると解釈することができる。図1は、7ビットのハミング符号(符号語の一例)に対するタナーグラフの例である。
変数ノード10〜16は、7ビットの符号ビットC〜Cに相当する。チェックノード21〜23は、3つのルールR1、R2、R3に相当する。符号ビットは7ビットに限られるものではない。またルールの個数は3に限られるものではない。図1では、接続されている符号ビットをすべて加算すると値が0になる、というルールが用いられる。例えばルールR3は、対応するチェックノード23に接続される変数ノード10、11、12および14に対応する符号ビットC、C、C、および、Cの加算値が0になるというルールを示す。
BPでは、例えばタナーグラフを用いた軟判定復号が実行される。軟判定復号は、各符号ビットが0である確率を示す情報を入力とする復号方法である。例えば、符号ビットが0である尤度と1である尤度との比を対数で表した対数尤度比(LLR:Log-Likelihood Ratio)が、軟判定復号の入力として用いられる。
タナーグラフ上での軟判定復号では、各変数ノードは、チェックノードを介して他の変数ノードとの間でLLRを受け渡す。そして、最終的に各変数ノードの符号ビットが0であるか、1であるかが判断される。なお、このようにして受け渡されるLLRが、BP(メッセージパッシング復号の一例)で伝達されるメッセージの例である。
例えば以下のような手順でタナーグラフ上での軟判定復号が実行される。
(1)変数ノードは、入力されたLLR(チャネルLLR)を、接続されたチェックノードに送信する。
(2)チェックノードは、各変数ノード(送信元)に対して、接続されている他の変数ノードのLLRおよび対応するルールに基づいて、送信元の変数ノードのLLRを決定して返送する。
(3)変数ノードは、チェックノードから返送されたLLR、および、チャネルLLRに基づいて、自ノードのLLRを更新し、チェックノードに送信する。
変数ノードは、(2)および(3)を繰り返した後に得られるLLRに基づいて、自ノードに対応する符号ビットが0であるか、1であるかを決定する。
このような方法では、ある変数ノードが送信したLLRに基づくメッセージ(LLR)がチェックノードを介して当該変数ノードに戻ってくることにより、復号性能が劣化する場合がある。
Weighted−BPは、このような復号性能の劣化を低減するための手法である。Weighted−BPでは、タナーグラフ上のメッセージに重みを付加することにより、戻ってくるメッセージの影響を減衰させることが可能となる。
メッセージごとに最適な重みの値を理論的に求めるのは困難である。このため、Weighted−BPでは、タナーグラフ上でのメッセージ伝播をニューラルネットワークに変換して表現し、本ニューラルネットワークを学習することにより、最適な重みが求められる。
図2は、タナーグラフ上でのメッセージ伝播をニューラルネットワークに変換した例を示す図である。なお図2は、符号ビット数が6、タナーグラフ上のエッジ数が11の、ある符号に対して、反復回数が3回のBPを実施する場合のメッセージ伝播を表現するニューラルネットワークの例を示している。
ニューラルネットワークは、入力層201、奇数番目の中間層である奇数層211、213、215、偶数番目の中間層である偶数層212、214、216、および、出力層202を含む。入力層201および出力層202は、タナーグラフの変数ノードに相当する。また、奇数層211、213、215は、タナーグラフ上のある変数ノードからチェックノードへと伝播するメッセージに対応する。偶数層212、214、216は、タナーグラフ上のあるチェックノードから変数ノードへと伝播するメッセージに対応する。BPでは、ある変数ノード(変数ノードAとする)からあるチェックノード(チェックノードBとする)へと伝播するメッセージを計算する際、変数ノードAに伝播されてくる全メッセージのうち、チェックノードBから伝播されてくるメッセージを除いたメッセージを用いて計算を行い、演算を実行したメッセージをチェックノードBに送信する。例えば入力層201から奇数層211への遷移は、このようにして変数ノードで実行される演算に相当する。このような演算は、例えばニューラルネットワークにおける活性化関数に対応する。
Weighted−BPでは、ニューラルネットワークのノード間の遷移に割り当てられる重みが学習される。図2の例では、太線で表されたノード間(入力層201と奇数層211、偶数層212と奇数層213、偶数層214と奇数層215、偶数層216と出力層202)の遷移に割り当てられた重みが学習される。
ニューラルネットワークの奇数層、偶数層、および、出力層での演算は、それぞれ例えば以下の(1)式、(2)式、および、(3)式で表される。
Figure 2021121068
Figure 2021121068
Figure 2021121068
iは、中間層の順序を表す数値であり、例えば1〜2L(Lは中間層の総数を2で除算した値であり、BP復号の反復回数に対応)の値をとる。e=(v,c)は、変数ノードvおよびチェックノードcを接続する遷移(エッジ)を識別する値である。xi,e=(v,c)は、i番目の中間層の、e=(v,c)で識別されるエッジが接続されるノード(変数ノードvまたはチェックノードc)に対する出力を表す。oは、出力層の各ノードに対する出力を表す。
i=1の場合、すなわち、最初の奇数層(図2の例では奇数層211)の場合は、前にチェックノードが接続されないため、前の層からの出力に相当するxi−1,e’が得られない。この場合、例えばxi−1,e’=x0,e’=0として(1)式を用いればよい。なお、この場合の(1)式による演算は、(1)式の右辺第2項が存在しない式による演算と等価である。
は、入力されるLLR(チャネルLLR)を表す。lは、最初の奇数層211以外でも用いられる。図2では、例えば線221に示すような短い太線が、チャネルLLRが入力されることを表している。
i,vは、i番目の中間層でlに割り当てられる重みを表す。wi,e,e’は、処理対象となるエッジe以外のエッジe’を介する前の層からの出力(xi−1,e’)に割り当てられる重みを表す。w2L+1,vは、出力層でlに割り当てられる重みを表す。w2L+1,v,e’は、処理対象となるエッジe以外のエッジe’を介する前の層からの出力(x2L,e’)に割り当てられる重みを表す。
σは、例えばσ(x)=(1+e−x−1で表されるシグモイド関数である。
Weighted−BPでは、上記の(1)式および(3)式に含まれる重みが学習される。重みの学習方法はどのような方法であってもよいが、例えば、誤差逆伝播法(勾配降下法)などが適用できる。
なお図2のニューラルネットワークは、データが一方向に流れるフィードフォワードニューラルネットワークの例であるが、再帰構造を含む再帰型ニューラルネットワーク(RNN:Recurrent Neural Network)が用いられてもよい。再帰型ニューラルネットワークの場合、学習する重みを共通化することが可能となる。
学習では、例えば、符号語に対して雑音を付加した符号語に相当するLLRと、正解データに相当する符号語とを含む学習データが用いられる。すなわち、LLRがニューラルネットワークに入力され、ニューラルネットワークから出力される出力(復号結果に相当)が正解データにより近くなるように、重みが学習される。
以下の実施形態では、学習が阻害されないように学習データを使用または生成する。以下、各実施形態について説明する。
(第1の実施形態)
図3は、第1の実施形態にかかる学習装置100の構成の一例を示すブロック図である。図3に示すように、本実施形態の学習装置100は、取得部101と、雑音付加部102と、復号部103と、生成部104と、学習部105と、出力制御部106と、記憶部121と、を備える。
取得部101は、学習装置100による各種処理で用いられる各種データを取得する。例えば取得部101は、学習に用いられる符号語(第1符号語)を取得する。取得部101によるデータの取得方法はどのような方法であってもよいが、例えばネットワークを介して外部の装置(サーバ装置など)からデータを取得する方法、および、記憶媒体に記憶されたデータを読み出すことにより取得する方法などを適用できる。ネットワークはどのような形態であってもよいが、例えばインターネットおよびLAN(ローカルエリアネットワーク)などである。またネットワークは、有線であっても無線であってもよい。また、第1符号語は、学習のたびに異なるものを用いてもよいし、固定の符号語を用いてもよい。例えば、線形符号であれば、符号ビットがすべてゼロの符号語のみを第1符号語として用いることも可能である。
雑音付加部102は、取得された符号語に対して雑音を付加した符号語(第2符号語)を出力する。例えば雑音付加部102は、取得された符号語に対して雑音を付加した符号語に相当するLLRを、雑音を付加した符号語として出力する。雑音付加部102は、例えば、符号ビットが0である尤度、および、1である尤度がそれぞれ正規分布に従うと仮定してLLRを算出し、雑音を付加した符号語として出力する。
以下では、取得部101により取得された符号語を送信語といい、雑音付加部102により雑音が付加された符号語を受信語という場合がある。
復号部103は、受信語を復号し、復号結果である符号語(第3符号語)を出力する。復号部103による復号結果は、送信語が学習データとして使用できるかを判定するために用いられる。復号部103による復号方法はどのような方法であってもよいが、例えば、事後確率最大化(MAP:Maximum a posteriori)復号、および、OSD(Ordered Statistics Decoding)復号などを適用できる。復号の精度を優先する場合はMAP復号を適用し、処理速度を優先する場合はOSD復号を適用するなどのように、精度および処理速度を考慮して適用する復号方法を決定すればよい。
生成部104は、復号部103により出力され符号語に基づいて、Weighted−BPの重みを学習するための学習データを生成する。例えば生成部104は、送信語と、復号部103により復号された符号語とを比較し、両者が一致するか否かを示す判定結果を生成する。判定結果は、例えば両者が一致する場合にONとなり、一致しない場合にOFFとなる信号で表されてもよい。生成部104は、送信語と、受信語と、判定結果とを含む学習データを生成する。
学習部105は、生成部104により生成された学習データを用いて、Weighted−BPの重みを学習する。学習部105は、例えば、誤差逆伝播法(勾配降下法)などにより、上記のようなニューラルネットワークの重みを学習する。
学習データに含まれる受信語は、Weighted−BPによる復号対象、すなわち、Weighted−BPを表すニューラルネットワークへの入力として用いられる。学習データに含まれる送信語は、正解データとして用いられる。すなわち、学習部105は、入力された受信語に対するWeighted−BPによる復号結果が、正解データである送信語により近くなるように重みを学習する。
受信語は、復号が不可能なほど雑音が付加される場合がある。復号が不可能なほど雑音が付加された受信語を学習に用いないようにするため、本実施形態では判定結果が用いられる。すなわち学習部105は、学習データに含まれる判定結果が、送信語と復号部103により復号された符号語とが一致することを示す場合に、学習を実行する。これにより、復号部103による復号で復号可能である受信語のみを学習に用いることが可能となる。従って、学習が阻害されるような学習データの使用を排除し、誤り訂正符号の復号で用いられる重みの学習をより効率的に実行可能となる。
出力制御部106は、各種データの出力を制御する。例えば出力制御部106は、学習部105により学習された重みを含むニューラルネットワークのパラメータを、Weighted−BPによる復号を実行する復号装置に出力する。復号装置は、学習された重みを用いたWeighted−BPによる復号処理を実行可能となる。
上記各部(取得部101、雑音付加部102、復号部103、生成部104、学習部105、出力制御部106)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
記憶部121は、学習装置100による各種処理で用いられる各種データを記憶する。例えば記憶部121は、取得部101による取得された符号語などのデータ、学習データ、および、Weighted−BPを表すニューラルネットワークのパラメータ(重みなど)を記憶する。記憶部121は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
次に、このように構成された第1の実施形態にかかる学習装置100による学習処理について説明する。図4は、第1の実施形態における学習処理の一例を示すフローチャートである。
取得部101は、送信語を取得する(ステップS101)。雑音付加部102は、取得された送信語に雑音を付加した受信語を出力する(ステップS102)。復号部103は、受信語に対して復号を実行する(ステップS103)。生成部104は、送信語と、復号部103による復号結果とが一致するか否かを判定する(ステップS104)。
一致する場合(ステップS104:Yes)、生成部104は、一致することを示す判定結果(例えばON)を設定する(ステップS105)。一致しない場合(ステップS104:No)、生成部104は、一致しないことを示す判定結果(例えばOFF)を設定する(ステップS106)。生成部104は、送信語と受信語と判定結果とを含む学習データを生成し、学習部105に出力する(ステップS107)。なお生成部104は、生成した学習データを記憶部121などに出力し、学習部105は、記憶部121などに出力された学習データを使用するように構成してもよい。
学習部105は、学習データに含まれる判定結果がONを示す場合に、学習データに含まれる送信語および受信語を用いて、Weighted−BPの重みを学習する(ステップS108)。出力制御部106は、学習結果を例えば復号装置に出力する(ステップS109)。
学習部105が学習を実行するタイミングはどのように設定されてもよい。例えば生成部104が学習データを生成するごとに学習を実行してもよいし(オンライン学習)、一定数の学習データが生成された場合に学習を実行してもよい(オフライン学習、ミニバッチ学習)。一定数の学習データを対象として学習を実行する場合は、学習部105は、例えば判定結果がONである一定数の学習データが入力されたときに、学習を実行すればよい。
(変形例)
一定数の学習データを学習対象とする場合は、判定結果を含まない学習データを生成するように構成してもよい。図5は、判定結果を含まない学習データを用いるように構成される変形例における学習処理の一例を示すフローチャートである。ステップS201からステップS204は、図4のステップS101からステップS104と同様である。
変形例では、生成部104は、送信語と復号部103による復号結果とが一致する場合に(ステップS204:Yes)、送信語および受信語を含み、判定結果を含まない学習データを生成する(ステップS205)。送信語と復号部103による復号結果とが一致しない場合(ステップS204:No)、生成部104は学習データの生成処理を実行しない。
変形例では、学習部105は、判定結果を含まない学習データを用いて学習を実行する(ステップS206)。例えば学習部105は、判定結果がONであるか否かを判定する処理を実行せず、生成部104により生成された学習データを学習に用いる。出力制御部106は、学習結果を例えば復号装置に出力する(ステップS207)。
変形例では、学習が阻害されるような学習データの生成処理が省略されるため、上記実施形態と同様に、誤り訂正符号の復号で用いられる重みの学習をより効率的に実行可能となる。
(第2の実施形態)
図6は、第2の実施形態にかかる学習装置100−2の構成の一例を示すブロック図である。図6に示すように、本実施形態の学習装置100−2は、取得部101と、雑音付加部102と、復号部103と、生成部104−2と、学習部105と、出力制御部106と、記憶部121と、を備える。
第2の実施形態では、生成部104−2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる学習装置100のブロック図である図3と同様であるので、同一符号を付し、ここでの説明は省略する。
生成部104−2は、受信語と、復号部103により復号された符号語(復号結果)とを含む学習データを生成する。すなわち、本実施形態では、送信語の代わりに復号部103による復号結果が正解データとして用いられる。
復号結果は、送信語に雑音が付加された受信語に対して、復号部103によって復号処理が実行された結果である。すなわち、本実施形態では、受信語は、少なくとも復号部103により復号が可能な程度に雑音が付加された受信語である。従って、生成部104−2により生成される学習データは、復号が不可能なほど雑音が付加された受信語が含まれることはない。
本実施形態では、学習部105は、上記変形例と同様に、生成部104−2により生成されたすべての学習データを用いて学習を実行することができる。
次に、このように構成された第2の実施形態にかかる学習装置100−2による学習処理について説明する。図7は、第2の実施形態における学習処理の一例を示すフローチャートである。ステップS301からステップS303は、図4のステップS101からステップS103と同様である。
生成部104−2は、受信語と、復号部103により復号された符号語(復号結果)とを含む学習データを生成する(ステップS304)。学習部105は、生成部104−2により生成された学習データを用いて、Weighted−BPの重みを学習する(ステップS305)。出力制御部106は、学習結果を例えば復号装置に出力する(ステップS306)。
このように、本実施形態では、受信語と、受信語を復号部103により復号した復号結果とを含む学習データが生成され、生成された学習データが重みの学習に用いられる。学習データは、復号が不可能なほど雑音が付加された受信語を含まないため、学習が阻害されることを回避し、重みの学習をより効率的に実行することが可能となる。
第1の実施形態では、復号不可能な受信語は学習データとして用いられないため、使用されない学習データの生成処理を行う時間が無駄になり、学習の速度が阻害される可能性がある。一方、本実施形態では、生成した学習データをすべて利用することができる。
(第3の実施形態)
図8は、第3の実施形態にかかる学習装置100−3の構成の一例を示すブロック図である。図8に示すように、本実施形態の学習装置100−3は、取得部101と、雑音付加部102と、復号部103と、生成部104−3と、学習部105と、出力制御部106と、記憶部121と、を備える。
第3の実施形態では、生成部104−3の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態にかかる学習装置100のブロック図である図3と同様であるので、同一符号を付し、ここでの説明は省略する。
生成部104−3は、送信語と、復号部103により復号された符号語とを比較し、両者が一致する場合は、送信語と受信語とを含む学習データを生成する。両者が一致しない場合は、生成部104−3は、送信語に復号可能となるように受信語を変換し、変換後の受信語(第4符号語)と、送信語とを含む学習データを生成する。例えば生成部104−3は、送信語と復号結果との間で不一致となるビットに対応する正負の符号を反転するように、受信語であるLLRを変換する。仮に、変換されたLLRに対して復号部103により復号を行った場合には復号結果として送信語が得られるため、変換されたLLRは、送信語に対して復号が可能な程度に雑音が付加された受信語である。すなわち、本実施形態において学習データに含まれる受信語は、送信語に復号が不可能なほど雑音が付加された受信語となることはない。
次に、このように構成された第3の実施形態にかかる学習装置100−3による学習処理について説明する。図9は、第3の実施形態における学習処理の一例を示すフローチャートである。ステップS401からステップS404は、図4のステップS101からステップS104と同様である。
送信語と復号結果とが一致する場合(ステップS404:Yes)、生成部104−3は、送信語と受信語とを含む学習データを生成する(ステップS405)。送信語と復号結果とが一致しない場合(ステップS404:Yes)、生成部104−3は、受信語を、送信語に復号可能となるように変換し、変換した受信語と送信語とを含む学習データを生成する(ステップS406)。
学習部105は、生成部104−3により生成された学習データを用いて、Weighted−BPの重みを学習する(ステップS407)。出力制御部106は、学習結果を例えば復号装置に出力する(ステップS408)。
このように、本実施形態では、送信語と復号結果とが一致しない場合には、送信語に復号可能となるように変換した受信語を含む学習データを生成する。学習データは、復号が不可能なほど雑音が付加された受信語を含まないため、学習が阻害されることを回避し、重みの学習をより効率的に実行することが可能となる。また、第2の実施形態と同様に生成した学習データをすべて利用することができるため、学習の速度が阻害されることを抑制可能となる。
次に、第1から第3の実施形態にかかる学習装置のハードウェア構成について図10を用いて説明する。図10は、第1から第3の実施形態にかかる学習装置のハードウェア構成例を示す説明図である。
第1から第3の実施形態にかかる学習装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
第1から第3の実施形態にかかる学習装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
第1から第3の実施形態にかかる学習装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、第1から第3の実施形態にかかる学習装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1から第3の実施形態にかかる学習装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
第1から第3の実施形態にかかる学習装置で実行されるプログラムは、コンピュータを上述した学習装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
第1から第3の実施形態にかかる学習装置は、例えば図10に示すようなハードウェア構成を備えるサーバ装置およびパーソナルコンピュータなどにより実現できる。学習装置のハードウェア構成はこれらに限られるものではなく、例えばクラウド環境上のサーバ装置として構築されてもよい。
(第4の実施形態)
上記実施形態では、Weighted−BPによる復号を実行する装置(復号装置)と、学習装置とは異なる装置である例を説明した。復号を実行する装置が、学習装置としての機能を備えるように構成してもよい。第4の実施形態では、記憶装置から読み出したデータ(受信語)を復号する機能を備えるメモリシステムが、学習装置としての機能を備える例を説明する。
適用可能なシステムはメモリシステムに限られるものではない。例えば、ネットワークを介して送信されるデータをWeighted−BPにより復号する機能を有する通信装置が、上記実施形態のような学習装置としての機能をさらに備えるように構成してもよい。
また以下では第1の実施形態の学習装置100の機能をメモリシステムが備える例を説明するが、変形例、第2の実施形態、または、第3の実施形態の学習装置の機能をメモリシステムが備えるように構成することも可能である。
図11は、第4の実施形態に係るメモリシステムの概略構成例を示すブロック図である。図11に示すように、メモリシステム401は、メモリコントローラ410と不揮発性メモリ420とを備える。メモリシステム401は、ホスト430と接続可能であり、図11ではホスト430と接続された状態が示されている。ホスト430は、例えば、パーソナルコンピュータ、携帯端末などの電子機器であってよい。
不揮発性メモリ420は、データを不揮発に記憶する不揮発性メモリであり、例えば、NAND型フラッシュメモリ(以下、単にNANDメモリという)である。以下の説明では、不揮発性メモリ420としてNANDメモリが用いられた場合を例示するが、不揮発性メモリ420として3次元構造フラッシュメモリ、ReRAM(Resistance Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)等のNANDメモリ以外の記憶装置を用いることも可能である。また、不揮発性メモリ420が半導体メモリであることは必須ではなく、半導体メモリ以外の種々の記憶媒体に対して本実施形態を適用することも可能である。
メモリシステム401は、メモリコントローラ410と不揮発性メモリ420とが1つのパッケージとして構成されるメモリカード等であってもよいし、SSD(Solid State Drive)等であってもよい。
メモリコントローラ410は、ホスト430からの書込み要求に従って不揮発性メモリ420への書込みを制御する。また、ホスト430からの読出し要求に従って不揮発性メモリ420からの読出しを制御する。メモリコントローラ410は、ホストI/F(ホストインタフェース)415、メモリI/F(メモリインタフェース)413、制御部411、符号化/復号部(コーデック)414、データバッファ412、復号部103−4、生成部104−4、および、学習部105−4を備える。ホストI/F415、メモリI/F413、制御部411、符号化/復号部414およびデータバッファ412は、内部バス416で相互に接続されている。
ホストI/F415は、ホスト430との間のインタフェース規格に従った処理を実施し、ホスト430から受信した命令、書込み対象のユーザデータなどを内部バス416に出力する。また、ホストI/F415は、不揮発性メモリ420から読出されて復元されたユーザデータ、制御部411からの応答などをホスト430へ送信する。
メモリI/F413は、制御部411の指示に基づいて、不揮発性メモリ420への書込み処理を行う。また、メモリI/F413は、制御部411の指示に基づいて、不揮発性メモリ420からの読出し処理を行う。
データバッファ412は、メモリコントローラ410がホスト430から受信したユーザデータを不揮発性メモリ420へ記憶するまでに一時記憶する。また、データバッファ412は、不揮発性メモリ420から読出したユーザデータをホスト430へ送信するまでに一時記憶する。データバッファ412には、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモリを用いることができる。
制御部411は、メモリシステム401の各構成要素を統括的に制御する。制御部411は、ホスト430からホストI/F415経由で命令を受けた場合に、その命令に従った制御を行う。例えば、制御部411は、ホスト430からの命令に従って、不揮発性メモリ420へのユーザデータおよびパリティの書込みをメモリI/F413へ指示する。また、制御部411は、ホスト430からの命令に従って、不揮発性メモリ420からのユーザデータおよびパリティの読出しをメモリI/F413へ指示する。
また、制御部411は、ホスト430からユーザデータの書込み要求を受信した場合、データバッファ412に蓄積されるユーザデータに対して、不揮発性メモリ420上の記憶領域(メモリ領域)を決定する。すなわち、制御部411は、ユーザデータの書込み先を管理する。ホスト430から受信したユーザデータの論理アドレスと該ユーザデータが記憶された不揮発性メモリ420上の記憶領域を示す物理アドレスとの対応はアドレス変換テーブルとして記憶される。
また、制御部411は、ホスト430から読出し要求を受信した場合、読出し要求により指定された論理アドレスを上述のアドレス変換テーブルを用いて物理アドレスに変換し、該物理アドレスからの読出しをメモリI/F413へ指示する。
NANDメモリでは、NANDメモリ内の同一のワード線に接続される複数のメモリセルをメモリセルグループと呼ぶ。NANDメモリでは、一般に、メモリセルグループ単位で書込みが行われ、ページと呼ばれるデータ単位で読出しが行われ、ブロックと呼ばれるデータ単位で消去が行われる。メモリセルがシングルレベルセル(SLC)である場合は、1つのメモリセルグループが1ページに対応する。メモリセルがマルチレベルセル(MLC)である場合は、1つのメモリセルグループが複数ページに対応する。また、各メモリセルはワード線に接続するとともにビット線にも接続される。従って、各メモリセルは、ワード線を識別するアドレスとビット線を識別するアドレスとで識別することが可能である。
ホスト430から送信されるユーザデータは、内部バス416に転送されてデータバッファ412に一旦記憶される。符号化/復号部414は、不揮発性メモリ420に記憶されるユーザデータを符号化して符号語を生成する。また、符号化/復号部414は、不揮発性メモリ420から読出された受信語を復号してユーザデータを復元する。そこで符号化/復号部414は、符号化器(Encoder)417と復号器(Decoder)418を備える。なお、符号化/復号部414により符号化されるデータには、ユーザデータ以外にも、メモリコントローラ410内部で用いる制御データ等が含まれてもよい。
次に、本実施形態の書込み処理について説明する。制御部411は、不揮発性メモリ420へのユーザデータの書込み時に、ユーザデータの符号化を符号化器417に指示する。その際、制御部411は、不揮発性メモリ420における符号語の記憶場所(記憶アドレス)を決定し、決定した記憶場所もメモリI/F413へ指示する。
符号化器417は、制御部411からの指示に基づいて、データバッファ412上のユーザデータを符号化して符号語を生成する。符号化方式としては、例えば、BCH(Bose-Chandhuri-Hocquenghem)符号やRS(リード・ソロモン)符号を用いた符号化方式を採用することができる。メモリI/F413は、制御部411から指示された不揮発性メモリ420上の記憶場所へ符号語を記憶する制御を行う。
次に、本実施形態の不揮発性メモリ420からの読出し時の処理について説明する。制御部411は、不揮発性メモリ420からの読出し時に、不揮発性メモリ420上のアドレスを指定してメモリI/F413へ読出しを指示する。また、制御部411は、復号器418へ復号の開始を指示する。メモリI/F413は、制御部411の指示に従って、不揮発性メモリ420の指定されたアドレスから受信語を読出し、読出した受信語を復号器418に入力する。復号器418は、不揮発性メモリ420から読出された受信語を復号する。
本実施形態では、復号器418は、Weighted−BPにより受信語を復号する。Weighted−BPに用いる重みなどのパラメータは、例えばデータバッファ412に記憶される。すなわち、第1の実施形態の記憶部121の機能は、例えばデータバッファ412により実現することができる。
また本実施形態では、Weighted−BPの重みの学習に関する機能として、復号部103−4と、生成部104−4と、学習部105−4と、が備えられる。
本実施形態では、不揮発性メモリ420から読み出された受信語が、符号語(送信語)に対して雑音を付加した符号語として用いられる。従って、第1の実施形態の取得部101および雑音付加部102に相当する機能は備えられる必要はない。また外部の復号装置などに学習結果を出力しなくてもよいため、第1の実施形態の出力制御部106に相当する機能は備えられる必要はない。
復号部103−4は、不揮発性メモリ420から読み出された受信語に対して復号を実行する。復号部103−4による復号方法はどのような方法であってもよいが、例えば、MAP復号およびOSD復号などを適用できる。
生成部104−4は、復号部103−4により出力され符号語に基づいて、Weighted−BPの重みを学習するための学習データを生成する。例えば生成部104−4は、送信語と、復号部103により復号された符号語とを比較し、両者が一致するか否かを示す判定結果(一致する場合ON、一致しない場合OFFなど)を生成する。生成部104−4は、送信語と、受信語と、判定結果とを含む学習データを生成する。
学習部105−4は、生成部104−4により生成された学習データを用いて、Weighted−BPの重みを学習する。学習部105−4は、学習結果(学習された重み)を例えばデータバッファ412に記憶する。記憶した重みは、その後の復号器418による復号処理で利用される。
次に、このように構成された第4の実施形態にかかるメモリシステム401による学習処理について説明する。図12は、第4の実施形態における学習処理の一例を示すフローチャートである。
なお、学習処理のタイミングはどのように設定してもよい。例えば、不揮発性メモリ420から受信語が読み出されるごとに学習処理が実行されてもよい。所定の条件を満たした受信語のみを選択するように学習処理のタイミングを設定してもよい。例えば、メモリシステム401における誤り訂正処理として、最初に高速な誤り訂正処理を実行し、復号が失敗した場合により強力であるが低速な復号へと段階的に復号処理を切り替えていく方法が用いられている場合がある。このような場合、例えば、最初の高速な誤り訂正処理で復号に失敗したタイミング、または、段階が進み、低速な復号としてBP復号が行われたタイミングで学習処理を実行するように構成してもよい。学習処理は、例えば制御部411の指示により、以下のように復号部103−4、生成部104−4、および、学習部105−4により実行される。
第4の実施形態において、学習処理を第1の実施形態、第1の実施形態の変形例、または、第3の実施形態に基づいて行う場合は、学習の際に送信語(不揮発性メモリ420への書込み値)が必要となる。このため、不揮発性メモリ420に書込みの際には、書き込んだ符号語をデータバッファ412上に保持しておく。学習時には、必要となる符号語をデータバッファ412から読み込んで学習処理を行い、例えば、処理が終わった時点で当該符号語をデータバッファ412から削除するようにしてもよい。なお、第4の実施形態において、学習処理を第2の実施形態に基づいて行う場合には、学習の際に送信語を用いる必要がないため、書き込んだ符号語をデータバッファ412上に保持する処理は不要となる。
制御部411は、学習処理を実行するかしないかをメモリシステム401の稼働状況に応じて判断する機構を有してもよい。例えば制御部411は、メモリシステム401のCPU稼働率がある閾値以下のときのみ学習処理の実行を指示するようにしてもよい。また、例えば制御部411は、前回学習処理を行った時刻からある一定以上の時間が経過するまでは、次の学習処理の実行指示を出さないようにしてもよい。
復号部103−4は、不揮発性メモリ420から読み出された受信語に対して復号を実行する(ステップS501)。生成部104−4は、送信語と、復号部103−4による復号結果とが一致するか否かを判定する(ステップS502)。
一致する場合(ステップS502:Yes)、生成部104−4は、一致することを示す判定結果(ON)を設定する(ステップS503)。一致しない場合(ステップS502:No)、生成部104−4は、一致しないことを示す判定結果(OFF)を設定する(ステップS504)。生成部104−4は、送信語と受信語と判定結果とを含む学習データを生成し、学習部105−4に出力する(ステップS505)。
学習部105−4は、学習データに含まれる判定結果がONを示す場合に、学習データに含まれる送信語および受信語を用いて、Weighted−BPの重みを学習する(ステップS506)。なお学習部105−4は、学習結果を例えばデータバッファ412に記憶する。
このように、本実施形態では、復号を実行する装置が、Weighted−BPで用いられる重みを学習する機能も備える。学習時には、復号が不可能なほど雑音が付加された受信語を含まない学習データが用いられるため、学習が阻害されることを回避し、重みの学習をより効率的に実行することが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100、100−2、100−3 学習装置
101 取得部
102 雑音付加部
103、103−4 復号部
104、104−2、104−3、104−4 生成部
105、105−4 学習部
106 出力制御部
121 記憶部
401 メモリシステム
410 メモリコントローラ
411 制御部
412 データバッファ
413 メモリI/F
414 符号化/復号部
415 ホストI/F
416 内部バス
417 符号化器
418 復号器
420 不揮発性メモリ
430 ホスト

Claims (8)

  1. 第1符号語に対して雑音を付加した第2符号語を出力する雑音生成部と、
    前記第2符号語を復号して第3符号語を出力する復号部と、
    前記第3符号語に基づいて、伝達するメッセージに重みが付加されるメッセージパッシング復号における前記重みを学習するための学習データを生成する生成部と、
    前記学習データを用いて前記メッセージパッシング復号における前記重みを学習する学習部と、
    を備える学習装置。
  2. 前記生成部は、前記第1符号語と、前記第2符号語と、前記第1符号語と前記第3符号語とが一致するか否かを示す判定結果と、を含む前記学習データを生成し、
    前記学習部は、前記判定結果が、前記第1符号語と前記第3符号語とが一致することを示す場合に、前記第2符号語を入力とし、前記第1符号語を正解として前記メッセージパッシング復号における前記重みを学習する、
    請求項1に記載の学習装置。
  3. 前記生成部は、前記第1符号語と前記第3符号語とが一致する場合に、前記第1符号語と前記第2符号語とを含む前記学習データを生成する、
    請求項1に記載の学習装置。
  4. 前記生成部は、前記第3符号語と前記第2符号語とを含む前記学習データを生成する、
    請求項1に記載の学習装置。
  5. 前記生成部は、前記第1符号語と前記第3符号語とが一致する場合に、前記第1符号語と、前記第2符号語とを含む前記学習データを生成し、前記第1符号語と前記第3符号語とが一致しない場合に、前記第3符号語と、前記第2符号語を変換した第4符号語とを含む前記学習データを生成する、
    請求項1に記載の学習装置。
  6. 前記メッセージパッシング復号は、伝達するメッセージに重みが付加される確率伝播法である、
    請求項1に記載の学習装置。
  7. 前記メッセージパッシング復号は、前記重みをパラメータとするニューラルネットワークにより表され、
    前記学習部は、前記ニューラルネットワークのパラメータである前記重みを学習する、
    請求項1に記載の学習装置。
  8. 前記復号部は、MAP(Maximum A Posteriori)復号、または、OSD(Ordered Statistics Decoding)復号により、前記第2符号語を復号して前記第3符号語を出力する、
    請求項1に記載の学習装置。
JP2020014085A 2020-01-30 2020-01-30 学習装置 Pending JP2021121068A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020014085A JP2021121068A (ja) 2020-01-30 2020-01-30 学習装置
US17/005,270 US11418219B2 (en) 2020-01-30 2020-08-27 Learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020014085A JP2021121068A (ja) 2020-01-30 2020-01-30 学習装置

Publications (1)

Publication Number Publication Date
JP2021121068A true JP2021121068A (ja) 2021-08-19

Family

ID=77062395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020014085A Pending JP2021121068A (ja) 2020-01-30 2020-01-30 学習装置

Country Status (2)

Country Link
US (1) US11418219B2 (ja)
JP (1) JP2021121068A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11356305B2 (en) * 2020-02-24 2022-06-07 Qualcomm Incorporated Method to convey the TX waveform distortion to the receiver
JP2021149286A (ja) * 2020-03-17 2021-09-27 キオクシア株式会社 学習装置
US11742901B2 (en) * 2020-07-27 2023-08-29 Electronics And Telecommunications Research Institute Deep learning based beamforming method and apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0464132A (ja) 1990-07-03 1992-02-28 Fujitsu Ltd ルール部全結合ニューロの学習方法
US5796611A (en) 1994-10-04 1998-08-18 Nippon Telegraph And Telephone Corporation Weather forecast apparatus and method based on recognition of echo patterns of radar images
US11842280B2 (en) * 2017-05-05 2023-12-12 Nvidia Corporation Loss-scaling for deep neural network training with reduced precision
US10382067B2 (en) * 2017-06-08 2019-08-13 Western Digital Technologies, Inc. Parameterized iterative message passing decoder
US20180357530A1 (en) 2017-06-13 2018-12-13 Ramot At Tel-Aviv University Ltd. Deep learning decoding of error correcting codes
EP3418948B1 (en) * 2017-06-19 2020-06-03 Nokia Technologies Oy Data transmission network configuration
US11522564B2 (en) * 2017-06-22 2022-12-06 Telefonaktiebolaget Lm Ericsson (Publ) Neural networks for forward error correction decoding

Also Published As

Publication number Publication date
US11418219B2 (en) 2022-08-16
US20210242888A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
JP5039160B2 (ja) 不揮発性半導体記憶システム
US11501170B2 (en) Electronic device and method of operating the same
JP2021121068A (ja) 学習装置
US9385754B2 (en) Controller, information processing system, method of controlling controller, and program
KR102588969B1 (ko) 오류 정정 디코더 및 이를 포함하는 메모리 시스템
JP2013080450A (ja) メモリ装置
US10574272B2 (en) Memory system
US11356124B2 (en) Electronic device
JP6957392B2 (ja) メモリシステム
JP2018182735A (ja) プリサチュレーション補償付き低密度パリティチェック(ldpc)デコーダ
JP6847796B2 (ja) メモリシステム
JP2019125910A (ja) メモリシステム
US20180276069A1 (en) Memory controller, memory system, and control method
KR20190125866A (ko) 에러 정정 회로 및 이의 동작 방법
JP2022124682A (ja) メモリシステム
US20210091792A1 (en) Memory system
KR20200033688A (ko) 에러 정정 회로 및 이의 동작 방법
US8429508B2 (en) Data storage apparatus with encoder and decoder
US20200264951A1 (en) Memory system and method of controlling non-volatile memory
KR20230132697A (ko) 일반 연결 코드 코드워드를 디코딩하는 장치, 저장 시스템 및 그 제어 방법
US20230083269A1 (en) Multidimensional encoding and decoding in memory system
US20210058097A1 (en) Memory system and method for controlling non-volatile memory
US11567830B2 (en) Memory system
JP2021141369A (ja) メモリシステム
JP2021149286A (ja) 学習装置