(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】数値をパルスに変換する方法、装置、電子デバイス、記憶媒体
(51)【国際特許分類】
G06N 3/04 20230101AFI20240219BHJP
【FI】
G06N3/04
(21)【出願番号】P 2022549708
(86)(22)【出願日】2021-07-23
(86)【国際出願番号】 CN2021108134
(87)【国際公開番号】W WO2022017498
(87)【国際公開日】2022-01-27
【審査請求日】2022-08-17
(31)【優先権主張番号】202010725977.5
(32)【優先日】2020-07-24
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】202010725094.4
(32)【優先日】2020-07-24
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】522327946
【氏名又は名称】リンクシィ・テクノロジーズ・カンパニー,リミテッド
【氏名又は名称原語表記】LYNXI TECHNOLOGIES CO., LTD.
【住所又は居所原語表記】RM 801,8/F,No. 67 North 4th Ring West Road,Haidian District,Beijing 100080,China
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100212705
【氏名又は名称】矢頭 尚之
(74)【代理人】
【識別番号】100219542
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】ウー、ジェンジー
(72)【発明者】
【氏名】ホー、ウェイ
(72)【発明者】
【氏名】ジン、ルオジン
(72)【発明者】
【氏名】ジュー、ヤオロン
【審査官】北川 純次
(56)【参考文献】
【文献】特開平08-194672(JP,A)
【文献】特開平06-309292(JP,A)
【文献】米国特許出願公開第2018/0176583(US,A1)
【文献】中国特許出願公開第109800870(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
(57)【特許請求の範囲】
【請求項1】
入力数値をパルスニューラルネットワークのパルスシーケンスに変換し、
入力数値に基づいて初期パルスシーケンスを生成し、前記初期パルスシーケンスは少なくとも1つのデータ列を含み、前記データ列の各々が連続パルス列および連続非パルス列のうちの1つからそれぞれ独立して選択され、前記データ列のすべてにおけるパルスの数が、生成待ちのターゲットパルスシーケンスのパルス数の期待値に等しく、前記生成待ちのターゲットパルスシーケンスが、ある期間における前記パルスニューラルネットワークのパルスシーケンスであるステップと、
前記初期パルスシーケンスのデータをランダムに選択して変更し、前記ターゲットパルスシーケンスを形成するステップとを含む
ことを特徴とする数値をパルスに変換する方法。
【請求項2】
前記初期パルスシーケンスは、複数の前記データ列を含み、複数の前記データ列は、連続パルス列と連続非パルス列とを含み、
前記初期パルスシーケンスのデータをランダムに選択して変更することにより、前記ターゲットパルスシーケンスを形成することは、
前記初期パルスシーケンスにおけるデータの位置をランダムに交換して前記ターゲットパルスシーケンスを形成するステップを含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
入力数値に基づいて初期パルスシーケンスを生成することは、
前記入力数値に基づき、前記生成されるターゲットパルスシーケンスの時刻の数Tおよびパルス生成頻度nを確定し、Tは0より大きい整数であり、nは0以上であり、nは1より小さいステップと、
連続するn*T個のパルスを含む連続パルス列と、連続するT-n*T個の非パルスを含む連続非パルス列とを生成することで前記初期パルスシーケンスを形成するステップと、を含む 請求項2に記載の方法。
【請求項4】
前記初期パルスシーケンスにおけるデータ位置をランダムに交換することで前記ターゲットパルスシーケンスを形成するステップは、複数の交換周期を含み、各交換周期は、
現在の周期で処理されるパルスシーケンスにおける2つのアドレスをランダムに生成するステップと、
現在の周期で処理されるパルスシーケンスにおける前記2つのアドレスに対応するデータを交換するステップと、を含み、
前記2つのアドレスは互いに異なり、最初の交換周期で処理されるパルスシーケンスは前記初期パルスシーケンスであり、i回目の交換周期で処理されるパルスシーケンスはi-1回目の交換周期においてデータを交換した後に形成されるパルスシーケンスであり、iは2以上の自然数である
請求項2に記載の方法。
【請求項5】
現在の周期で処理されるパルスシーケンスにおける2つのアドレスをランダムに生成することは、
第1のアドレスおよび第2のアドレスをランダムに生成するステップを含み、
現在の周期で処理されるパルスシーケンスにおける前記2つのアドレスに対応するデータを交換することは、
現在の周期で処理されるパルスシーケンスにおける前記第1のアドレスに対応するデータを、現在の周期で処理されるパルスシーケンスにおける第2のアドレスに書き込んで中間パルスシーケンスを取得するステップと、
現在の周期で処理されるパルスシーケンスにおける前記第2のアドレスに対応するデータを前記中間パルスシーケンスの第1のアドレスに書き込むステップと、を含む
請求項4に記載の方法。
【請求項6】
入力数値に基づいて初期パルスシーケンスを生成することは、
入力数値に基づいて、生成されるターゲットパルスシーケンスにおけるパルス生成の時刻の数n1およびパルス非生成の時刻の数n2を確定し、n1およびn2はいずれも0以上の整数であり、n1およびn2は同時に0ではないステップと、
前記時刻の数n1および前記時刻の数n2に基づいて、現在の期間内に前記初期パルスシーケンスを形成し、前記初期パルスシーケンスは連続パルス列と連続非パルス列のいずれかから選択されるステップと、を含み、
前記初期パルスシーケンスのデータをランダムに選択して変更することにより、前記ターゲットパルスシーケンスを形成することは、
前記時刻の数n1および前記時刻の数n2に基づいて前記初期パルスシーケンスにおける現在の期間にデータ変更が必要となる時刻の数n3を確定し、n3は0以上の整数であるステップと、
前記初期パルスシーケンスの現在の期間におけるn3個の時刻に対応するデータをランダムに変更して前記ターゲットパルスシーケンスを形成するステップとを含む
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記時刻の数n1および前記時刻の数n2に基づいて現在の期間に初期パルスシーケンスを形成することは、
前記時刻の数n1が前記時刻の数n2以上である場合、現在の期間内の各時刻に対してパルスを生成して、連続パルス列を含む前記初期パルスシーケンスを形成するステップと、
前記時刻の数n1と前記時刻の数n2に基づいて前記初期パルスシーケンス内の現在の期間にデータの変更が必要な時刻の数n3を確定するステップにおいて、n3をn2と等しく確定する
請求項6に記載の方法。
【請求項8】
前記初期パルスシーケンス内のn3個の時刻に対応するデータを変更することで前記ターゲットパルスシーケンスを形成することは、n3回の帰零ステップを実行するステップを含み、前記帰零ステップは、
現在の帰零ステップで処理されるパルスシーケンスにおける帰零時刻をランダムに生成するステップと、
前記現在の帰零ステップで処理されるパルスシーケンスにおける前記帰零時刻に対応するデータが1である場合に、前記帰零時刻に対応するデータを0に戻す帰零
ステップと、を含み、
初めて前記帰零ステップを実行するとき、前記現在の帰零ステップで処理されるパルスシーケンスは前記初期パルスシーケンスであり、前記帰零ステップがj回目に実行される場合、前記現在の帰零ステップで処理されるパルスシーケンスは前記帰零ステップがj-1回目に実行された後のパルスシーケンスであり、かつ最後の帰零ステップの終了後に生成されるパルスシーケンスは前記ターゲットパルスシーケンスであり、jは自然数であり、j =2、……n3である
請求項7に記載の方法。
【請求項9】
前記時刻の数n1および前記時刻の数n2に基づいて現在の期間内に初期パルスシーケンスを形成することは、
前記時刻の数n1が前記時刻の数n2より小さい場合、現在の期間内の各時刻でパルスを生成せず、連続非パルス列を含む前記初期パルスシーケンスを形成するステップと、
前記時刻の数n1と前記時刻の数n2に基づいて前記初期パルスシーケンスにおける現在の期間内でデータの変更が必要な時刻の数n3を確定し、n3をn1と等しく確定するステップと、を含む
請求項6に記載の方法。
【請求項10】
前記パルスシーケンスにおける現在の期間内のn3個の時間に対応するデータをランダムに変更して前記ターゲットパルスシーケンスを形成するステップは、n3回の1に設定するステップを含み、前記1に設定するステップは、
現在の一に設定するステップで処理されたパルスシーケンスにおける1に設定する時刻をランダムに生成するステップと、
1に設定するステップで処理されたパルスシーケンスにおける1に設定する時刻に対応するデータが0である場合、前記1に設定する時刻に対応するデータを1に設定するステップと、を含み、
初めて1に設定するステップを実行する場合、前記パルスシーケンスは、前記初期パルスシーケンスであり、1に設定するステップがj回目に実行される場合、1に設定するステップで処理されるパルスシーケンスは、j-1回目に1に設定するステップが実行された後のパルスシーケンスであり、かつ最後の1に設定するステップの終了後に生成されるパルスシーケンスは、前記ターゲットパルスシーケンスであり、jは自然数であり、j =2、……n3である
請求項9に記載の方法。
【請求項11】
前記入力数値は、画像の画素数値を含み、前記パル
ス数の
期待値は、前記画像の画素値と正の相関を有する
ことを特徴とする請求項1~10のいずれか1項に記載の方法。
【請求項12】
入力数値をパルスニューラルネットワークのパルスシーケンスに変換するために用いられ、
入力数値に基づいて初期パルスシーケンスを生成して、前記初期パルスシーケンスを記憶し、前記初期パルスシーケンスが少なくとも1つのデータ列を含み、前記データ列の各々が連続パルス列および連続非パルス列のうちの1つから独立して選択され、前記データ列のすべてにおけるパルスの数が、生成待ちのターゲットパルスシーケンスのパルス数の
期待値に等しく、前記生成待ちのターゲットパルスシーケンスが、ある期間内の前記パルスニューラルネットワークのパルスシーケンスであるバッファ領域と、
前記初期パルスシーケンス
のデータをランダムに選択して変更し、前記ターゲットパルスシーケンスを形成する変更器と、を含む
ことを特徴とする数値をパルスに変換する装置。
【請求項13】
前記初期パルスシーケンスは複数の前記データ列を有し、複数の前記データ列は連続パルス列と連続非パルス列と、
を含み、
前記変更器は、前記初期パルスシーケンスにおけるデータ位置をランダムに交換して前記ターゲットパルスシーケンスを形成する
ことを特徴とする請求項12に記載の装置。
【請求項14】
前記バッファ領域は、さらに前記入力数値に基づいて前記生成待ちのターゲットパルスシーケンスの時刻の数Tおよびパルス生成頻度nを確定し、連続するn*T個のパルスを含む連続パルス列および連続するT-n*T個の非パルスを含む連続非パルス列とを生成して、前記初期パルスシーケンスを形成し、Tは0よりも大きい整数であり、nは0以上であり、nは1未満である
ことを特徴とする請求項13に記載の装置。
【請求項15】
前記変更器は、
各交換周期において相応周期で処理されるパルスシーケンスにおける2つのアドレスをランダムに生成する第1のランダム数生成モジュールと、
各交換周期において、相応周期で処理されるパルスシーケンスにおける前記2つのアドレスに対応するデータを交換する第1の制御ロジックモジュールと、を含み、
前記2つのアドレスは互いに干渉せず、第1の交換周期で処理されるパルスシーケンスは前記初期パルスシーケンスであり、i回目の交換周期で処理されるパルスシーケンスはi-1回目の交換周期においてデータが交換された後に形成されるパルスシーケンスであり、iは2以上の自然数である
ことを特徴とする請求項13に記載の装置。
【請求項16】
前記装置はさらに、
前記第1のランダム数生成モジュールで生成された各アドレスを保存し、前記各アドレスはアドレス区間[0、T]内に位置する第1のレジスタと、
前記バッファ領域から出力された前記各アドレスに対応するデータを記憶する第2のレジスタと、を含む
ことを特徴とする請求項15記載の装置。
【請求項17】
前記2つのアドレスは、第1のアドレスおよび第2のアドレスを含み、前記第1のランダム数生成モジュールは各交換周期における前記第1のアドレスを生成し、各交換周期で相応の前記第1のアドレスを前記第1のレジスタにそれぞれ記憶し、
前記第1のランダム数生成モジュールは、各交換周期における前記第2のアドレスを生成し、各交換周期において相応の前記第2のアドレスを前記第1のレジスタにそれぞれ記憶し、
前記第1のレジスタは各交換周期において相応の前記第1のアドレスを前記バッファ領域に出力し、前記第1の制御ロジックモジュールは各交換周期において、前記バッファ領域から相応の前記第1のアドレスに対応する第1のアドレスデータを読み出して、各交換周期において相応の前記第1のアドレスデータを前記第2のレジスタに記憶し、
前記第1のレジスタはさらに各交換周期において、前記第の2のアドレスを前記バッファ領域に出力し、前記第1の制御ロジックモジュールはさらに各交換周期において、前記第2のレジスタの相応の第1のアドレスデータを前記バッファ領域の相応の第2のアドレスに書き込むとともに、前記バッファ領域から相応の前記第2のアドレスの第2のアドレスデータを読み出し、相応の前記第2のアドレスデータを前記第2のレジスタに記憶し、
前記第1のレジスタはさらに各交換周期において、相応の前記第1のアドレスを前記バッファ領域にそれぞれ出力し、前記第1の制御ロジックモジュールはさらに各交換周期において、前記第2のレジスタの相応の第2のアドレスデータを前記バッファ領域の相応の前記第1のアドレスにそれぞれ書き込む
ことを特徴とする請求項16記載の装置。
【請求項18】
前記第1のランダム数生成モジュールは、線形フィードバックシフトレジスタ構造を用いる
ことを特徴とする請求項15~17のいずれか1項に記載の装置。
【請求項19】
前記バッファ領域は、
入力数値に基づいて、生成されるターゲットパルスシーケンスにおけるパルス生成の時刻の数n1とパルス非生成の時刻の数n2を確定するために用いられ、n1およびn2はいずれも0以上の整数であり、n1とn2は同時に0ではなく、
前記時刻の数n1と前記時刻の数n2に基づいてある期間において前記初期パルスシーケンスを形成するために用いられ、前記初期パルスシーケンスは連続パルス列と連続非パルス列のいずれか1つから選択され、
前記変更器は、
前記時刻の数n1と前記時刻の数n2に基づいて前記初期パルスシーケンスにおける現在の期間内にデータを変更する必要がある時刻の数n3を確定する第2のランダム数生成モジュールであって、さらに、前記バッファ領域に記憶された初期パルスシーケンスにおけるデータを変更する必要があるn3個の時刻の数をランダムに生成し、n3は0以上の整数である第2のランダム数生成モジュールと、
前記バッファ領域に記憶された初期パルスシーケンスの現在の期間のn3個の時刻に対応するデータを変更して前記ターゲットパルスシーケンスを形成する第2の制御ロジックモジュールと、を含む
ことを特徴とする請求項12に記載の装置。
【請求項20】
前記時刻の数n1が前記時刻の数n2以上である場合、前記バッファ領域は前記バッファ領域内の現在の期間の各時刻をc値に書き込み、連続パルス列を含む初期パルスシーケンスを形成し、そのうち、c =1であり、
前記時刻の数の数n1が前記時刻の数n2未満である場合、前記バッファ領域の現在の期間の各時刻にc値を書き込み、連続非パルス列を含む初期パルスシーケンスを形成し、そのうち、c =0である
請求項19に記載の装置。
【請求項21】
前記時刻の数n1が前記時刻の数n2以上、c=1である場合、前記第2のランダム数生成モジュールはn3がn2に等しいと確定し、
前記時刻の数n1が前記時刻の数n2未満、c=0である場合、前記第2のランダム数生成モジュールはn3がn1に等しいと確定する
請求項20に記載の装置。
【請求項22】
前記第2のランダム数生成モジュールは、各変更周期において前記バッファ領域で変更が必要となるデータの書き直し時刻を生成し、前記書き直し時刻の数はn3個である
請求項19に記載の装置。
【請求項23】
前記第2の制御ロジックモジュールは、
各変更周期において、前記バッファ領域の現在の期間の相応の書き直し時刻に1-c値を書き込み、前記バッファ領域における現在の期間におけるn3個の書き直し時刻のそれぞれに1-c値を書き込み、1-c値は0と1のいずれから選択され、n1とn2の大小関係に基づいて1-cの値を確定する
請求項22に記載の装置。
【請求項24】
前記時刻の数n1が前記時刻の数n2以上である場合、1-cが0であり、
前記時刻の数n1が前記時刻の数n2未満である場合、1-cが1である
請求項23に記載の装置。
【請求項25】
前記第2の制御ロジックモジュールによって変更されたデータの数をカウントし、前記第2の制御ロジックモジュールがデータを1つ変更するごとに、前記第2の制御ロジックモジュールが前記バッファ領域内の現在の期間のn3個の時刻に対応するデータを変更し終えるまで1ずつ減少させるサイクル制御カウンタをさらに含む
請求項19記載の装置。
【請求項26】
前記サイクル制御カウンタは、
前記バッファ領域の現在の期間におけるデータを判断する偽c判断モジュールと、
各変更周期において相応の残りの書き直し時刻の数を記憶し、前記偽c判断モジュールが前記バッファに全c値を書き込んだと判断し、前記第2の制御ロジックモジュールが前記バッファ領域における現在の期間の各変更周期に対応する書き直し時刻に1-c値を書き込んだ後、相応の残りの書き直し時刻の数を1ずつ減少させ、第1の変更周期に対応する残りの書き直し時刻の数がn3であるダウンカウントモジュールと、
前記ダウンカウントモジュールにおける残りの書き直し時刻の数が0であるか否かを判断する帰零判断モジュールと、を含む
請求項25記載の装置。
【請求項27】
前記第2のランダム数生成モジュールは線形フィードバックシフトレジスタ構造を採用する
請求項19~26のいずれか1項に記載の装置。
【請求項28】
メモリとプロセッサとを含む電子デバイスにおいて、
前記メモリは、1つ以上のコンピュータ指令を記憶し、前記1つ以上のコンピュータ指令は、請求項1~11のいずれか1項に記載の方法を実行するように前記プロセッサによって実行される
ことを特徴とする電子デバイス。
【請求項29】
コンピュータプログラムが記憶されたコンピュータ読み取り可能記憶媒体において、 前記コンピュータプログラムは、請求項1~11のいずれか1項に記載の方法を実行するようにプロセッサによって実行される
ことを特徴とするコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワーク技術分野に関し、具体的には、数値をパルスに変換する方法、数値をパルスに変換する装置、電子デバイスおよびコンピュータ読み取り可能記憶媒体に関する。
【背景技術】
【0002】
現在、ニューラルネットワークでは、nに期待されるポアソン分布を用いてランダムパルスシーケンスを生成することが一般的であり、ポアソン分布と生体特性は比較的一致するが、複雑度が高く、ハードウェア実現が不便であるため、パルス生成速度が遅く、消費電力効率が不十分である。
【発明の概要】
【0003】
【課題を解決するための手段】
【0004】
上記課題を解決するために本発明は、生物学的特性の適合性が高く、低コストのランダムパルスシーケンスを生成できる、数値をパルスに変換する方法、数値をパルスに変換する装置、電子デバイスおよびコンピュータ読み取り可能記憶媒体を提供することを目的とする。
【0005】
本開示の第1態様によれば、数値をパルスに変換する方法を提供し、前記方法は、入力数値をパルスニューラルネットワークのパルスシーケンスに変換し、
入力数値に基づいて初期パルスシーケンスを生成し、前記初期パルスシーケンスは少なくとも1つのデータ列を含み、前記データ列の各々が連続パルス列および連続非パルス列のうちの1つからそれぞれ独立して選択され、前記データ列のすべてにおけるパルスの数が、生成待ちのターゲットパルスシーケンスのパルス数の期待値に等しく、前記生成待ちのターゲットパルスシーケンスが、ある期間における前記パルスニューラルネットワークのパルスシーケンスであるステップと、
前記初期パルスシーケンスのデータをランダムに選択して変更し、前記ターゲットパルスシーケンスを形成するステップとを含む。
【0006】
本開示の第2の態様によれば、数値をパルスに変換する装置を提供し、前記装置は、入力数値をパルスニューラルネットワークのパルスシーケンスに変換し、
入力数値に基づいて初期パルスシーケンスを生成して、前記初期パルスシーケンスを記憶し、前記初期パルスシーケンスが少なくとも1つのデータ列を含み、前記データ列の各々が連続パルス列および連続非パルス列のうちの1つから独立して選択され、前記データ列のすべてにおけるパルスの数が、生成待ちのターゲットパルスシーケンスのパルス数の予期数値に等しく、前記生成待ちのターゲットパルスシーケンスが、ある期間内の前記パルスニューラルネットワークのパルスシーケンスであるバッファ領域と、
前記初期パルスシーケンスにおけるデータを変更して前記ターゲットパルスシーケンスを形成する変更器と、を含む。
【0007】
本開示の第3の態様によれば、メモリとプロセッサとを含み、前記メモリは、1つ以上のコンピュータ指令を記憶し、前記1つ以上のコンピュータ指令は、上記の方法を実行するようにプロセッサによって実行される電子デバイスを提供する。
【0008】
本開示の第4の態様によれば、コンピュータプログラムが記憶され、前記コンピュータプログラムは、上記の方法を実行するようにプロセッサによって実行されるコンピュータ読み取り可能記憶媒体を提供する。
【0009】
本発明の有益な効果は、
短時間の処理に適し、算出する時間領域における時刻の数を低減し、それによって演算量を低減することに寄与し、
生成されるパルスシーケンスはランダムなものであり、疎密が均一であり、生物学的特性の適合性が向上し、ハードウェアの複雑度を低減し、ハードウェア資源を節約してハードウェアの効率を向上させるというものである。
【0010】
本開示の実施例または従来技術における技術案をより明確に説明するために、以下では実施例または関連の技術的記述で用いる必要のある図面について簡単に説明する。当然のことながら、以下で説明する図面は本開示の幾つかの実施例に過ぎず、当業者は創造力を働かせることなく、これらの図面に基づいて他の図面を得ることができる。
【図面の簡単な説明】
【0011】
【
図1】本開示による数値をパルスに変換する方法の実施の形態のフローチャートである。
【
図2】本開示による数値をパルスに変換する方法の別の実施の形態におけるステップS110のフローチャートである。
【
図3】本開示による数値をパルスに変換する方法の別の実施の形態におけるステップS120における1つの交換周期のフローチャートである。
【
図4】ステップS122の実施の形態のフローチャートである。
【
図5】本開示の例示的な実施の形態によって生成された連続パルスシーケンスの概略図である。
【
図6】本開示の例示的な実施の形態による複数回データ交換プロセスの概略図である。
【
図7】本開示の例示的な実施の形態によって形成されたターゲットパルスシーケンスの概略図である。
【
図8】本開示による数値をパルスに変換する方法のさらに別の実施の形態のフローチャートである。
【
図9】ステップS120'の実施の形態のフローチャートである。
【
図10】帰零ステップの実施の形態のフローチャートである。
【
図11】1に設定するステップの実施の形態のフローチャートである。
【
図12】本開示による数値をパルスに変換する装置の実施の形態のモジュール概略図である。
【
図13】本開示による装置の別の実施の形態のモジュール概略図である。
【
図14】本開示による装置のさらに別の実施の形態のモジュール概略図である。
【発明を実施するための形態】
【0012】
以下に本開示の実施例における図面を組み合わせて、本開示の実施例における技術案について明瞭かつ完全に説明する。当然ながら、ここで説明する実施例は本開示の実施例の一部にすぎず、すべての実施例ではない。本開示の実施例に基づき、創造力を働かせずに当業者が得た他の実施例はいずれも本開示の請求範囲にある。
【0013】
なお、本開示の実施例において、上、下、左、右、前、後……といったように方向が指示されている場合、当該方向指示は、(図示のように)ある特定の姿勢における各部品間の相対的な位置関係、動作状況などを説明するためのものに過ぎず、当該特定の姿勢が変化した場合、それに伴って変化する。
【0014】
さらに、本開示の説明において、使用される用語は説明のみを目的し、本開示の範囲を限定することを意図していない。“含む”という用語は、要素、ステップ、操作及び/もしくは構成要素の存在を示すのに用いられるが、1つまたは複数のその他の要素、ステップ、操作及び/もしくは構成要素が存在するか又は追加されることを排除するものではない。用語「第1の」、「第2の」などは、様々な要素を説明するために使用される可能性があり、順序を示すものではなく、これらの要素を限定するものでもない。また、本開示の説明において、「複数」は、特に断りのない限り、2つ以上を意味する。これらの用語は1つの要素を別の要素から区別するためにのみ使用される。下図を組み合わせてこれらの態様および/またはその他の態様は明らかとなり、当業者は本開示の実施例の説明をより容易に理解できる。図面は説明のみを目的として本開示の実施例を説明するために使用される。当業者は、本開示に示される構造および方法の代替実施例が、本開示の原理から逸脱することをなく採用され得ることを以下の説明から容易に認識できる。
【0015】
パルス生成の複雑さを低減し、ハードウェア効率を向上させるために、選択可能な方法は、直接n個の連続パルスを生成し、その後、パルスを一切送信しないというものである。しかし、このようにして生成されたパルスシーケンスは疎密交互であり、十分ランダムではなく、生体特性との適合性が低く、パルスニューラルネットワークの性能に一定の影響を与える。
【0016】
これに鑑みて、本開示の第1の態様として、
図1に示すように、入力数値をパルスニューラルネットワークのパルスシーケンスに変換するための数値をパルスに変換する方法を提供し、当該方法は、
ステップS110において、入力数値に基づいて初期パルスシーケンスを生成し、前記初期パルスシーケンスは少なくとも1つのデータ列を含み、前記データ列の各々が連続パルス列および連続非パルス列のうちの1つからそれぞれ独立して選択され、前記データ列におけるパルスの数が、生成待ちのターゲットパルスシーケンスのパルス数の期待値に等しく、前記生成待ちのターゲットパルスシーケンスが、ある期間における前記パルスニューラルネットワークのパルスシーケンスであるステップと、
ステップS120では、前記初期パルスシーケンスのデータをランダムに選択して変更し、前記ターゲットパルスシーケンスを形成するステップと、を含む。
【0017】
ここで、パルスニューラルネットワークとは時間次元符号化情報を持つネットワークである。例えば、パルスニューラルネットワークの動作過程の最小時間単位は、1つの時刻である。各時刻において、パルスは出現する場合と出現しない場合があり、各時刻におけるパルス情報は、パルスの有無という2値変数である。例えば、1つの期間はT個の時刻を含む。パルスニューラルネットワークの符号化情報は、ランダムに発行されるパルス数の期待値で表すことができる。
【0018】
ここで、入力数値は、例えば、画像の画素数値、音声波形変換の数値、テキスト変換の数値、画像前処理後の計算結果などであってもよい。本開示は、入力数値を特に限定しない。
【0019】
入力数値が画像の画素数値である場合、ターゲットパルスシーケンスのパルス数の期待値(総パルス数)は、画像の画素値と正の相関を示し、ターゲットパルスシーケンスは、時間次元がランダムなパルスシーケンスであり、各画像の画素数値は、時間次元がランダムなターゲットパルスシーケンスに変換される。
【0020】
上文における「連続パルス列」は、連続する複数のデータが全てパルス(数値1で表される)であることを意味し、上文における「連続非パルス列」とは、連続した複数のデータが全て非パルス(数値0で表される)であることを意味する。
【0021】
本開示による数値をパルスに変換する方法では、ステップS110において、前記データ列は連続パルス、または連続非パルスであり、いずれのデータ列を生成する効率も比較的高い。さらに、ステップS120において、初期パルスシーケンスにおけるデータをランダムに変更することにより、初期パルスシーケンスにおける疎密に順序付けられたパルスシーケンスを崩し、ランダム性が高く、生体特性に合ったターゲットパルスシーケンスを得ることができる。つまり、本開示による数値をパルスに変換する方法は短時間に適応可能であり、時間領域時刻を計算する数を低減し、それによって演算量を低減することに寄与する。生成されたパルスシーケンスはランダムであり、疎密が均一であり、生物学的特性の適合性を改善することができ、ハードウェアの複雑度を低減し、ハードウェア資源を節約してハードウェアの効率を向上させる。
【0022】
本開示において、前記初期パルスシーケンスにおけるデータ列の数について特に限定しない。つまり前記初期パルスシーケンスは1つのデータ列を含んでもよく、複数のデータ列を含んでもよい。
【0023】
以下では図面を組み合わせて本発明の選択可能な実施の形態を説明する。当該実施の形態において、前記初期パルスシーケンスは複数のデータ列を含む。別の選択可能な実施の形態として、複数のデータ列はそれぞれ連続パルス列と連続非パルス列である。
【0024】
前記初期パルスシーケンスのデータをランダムに選択して変更することにより、前記ターゲットパルスシーケンスを形成するステップS120は、具体的に、
前記初期パルスシーケンスにおけるデータの位置をランダムに交換して前記ターゲットパルスシーケンスを形成することを含む。
【0025】
前記初期パルスシーケンスにおけるデータの位置をランダムに交換することにより、前記ターゲットパルスシーケンスが生物学的特性により適合するように、最終的に生成されるターゲットパルスシーケンスのランダム性を向上することができる。また、複雑なアルゴリズムを必要とせずにデータの位置交換を実現することができ、本開示による方法の効率を向上させる。
【0026】
本開示において、如何にして初期パルスシーケンスを生成するかについては特に限定しない。例えば、
図2に示すように、選択可能な実施の形態において、入力数値に基づいて初期パルスシーケンスを生成するステップS110は、
ステップS111において、前記入力数値に基づいて前記生成待ちのターゲットパルスシーケンスの時刻数Tとパルス生成頻度nを確定し、Tは0より大きい整数であり、nは0以上であり、nは1未満であるステップと、
ステップS112において、連続するn*T個のパルスを含む連続パルス列と、連続するT-n*T個の非パルスを含む連続非パルス列とを生成して、前記初期パルスシーケンスを形成するステップと、を含んでもよい。
【0027】
上述のように、ターゲットパルスシーケンスのパルス数の期待値は画像の画素数値と正の相関を示し、ターゲットパルスシーケンスは時間次元のランダムなパルスシーケンスであり、各画像の画素数値は時間次元のランダムなターゲットパルスシーケンスに変換される。例えば、ターゲットパルスシーケンスの時刻の数Tは12であり、パルス生成頻度nは67%であり、生成される初期パルスシーケンスは
図5に示すように、連続する8個のパルス(1数値)と連続する4個の非パルス(0数値)を含む。
【0028】
選択可能な実施の形態では、前記初期パルスシーケンスのデータの位置をランダムに交換して、前記ターゲットパルスシーケンスを形成するステップは、交換周期を含む。具体的には、
図3に示すように、各交換周期は、
ステップS121において、現在の周期で処理されるパルスシーケンスにおける2つのアドレスをランダムに生成し、
ステップS122では、現在の周期で処理されるパルスシーケンスにおける前記2つのアドレスに対応するデータを交換するステップを含んでもよい。
【0029】
ここで、前記2つのアドレスは互いに異なる。1回目の交換周期で処理されるパルスシーケンスは前記初期パルスシーケンスであり、i個回目の交換周期で処理されるパルスシーケンスはi-1回目の交換周期においてデータを交換した後に形成されるパルスシーケンスであり、iは2以上の自然数である。
【0030】
上記ステップS121とステップS122を繰り返して、複数回のデータ交換後に前記ターゲットパルスシーケンスを得る。
【0031】
ここで、前記交換周期において、ランダムに生成されるアドレスは有効アドレス区間[0,T)内に位置し、Tがターゲットパルスシーケンスの時刻の数である。任意の交換周期について言えば、現在の周期で処理されるパルスシーケンスにおける各アドレスに対応するデータはパルス(1数値)または非パルス(0値)であってよい。
【0032】
上文に記載の通り、連続パルスを生成することでパルス生成の速度を向上させ、ハードウェアの複雑度を低減し、ハードウェアの効率を向上させ、短時間に適応可能であり、時間領域時刻を算出する数を低減し、演算量を低減することに寄与する。複数回のデータ交換プロセスは、
図6に示すように、複数回のデータ交換後のパルスシーケンスがターゲットパルスシーケンスである。
図7に示すように、形成されたターゲットパルスシーケンスは、連続パルスシーケンスにおけるデータの位置をランダムに交換することによって新たに生成した連続パルスシーケンスはランダムであり、疎密が均一で、生物学的特性の適合性が高い。本開示は、データ交換の回数について制限しない。
【0033】
選択可能な実施の形態において、現在の周期で処理されるパルスシーケンスの2つのアドレスをランダムに生成するステップS121は、具体的には以下のように実行され、
第1のアドレスと第2のアドレスをランダムに生成する。
【0034】
それに伴い、
図4に示すように、現在の周期で処理されるパルスシーケンスにおける前記2つのアドレスに対応するデータを交換するステップS122は、具体的に、
ステップS122aにおいて、現在の周期で処理されるパルスシーケンスにおける前記第1のアドレスに対応する第1のアドレスデータを、現在の周期で処理されるパルスシーケンスにおける第2のアドレスに書き込んで、中間パルスシーケンスを取得することと、
ステップS122bにおいて、現在の周期で処理されるパルスシーケンスにおける前記第2のアドレスに対応する第2のアドレスデータを前記中間パルスシーケンスの第1のアドレスに書き込むことを含む。
【0035】
以下では、上記実施の形態を含めて例示的に説明する。1回のデータ交換過程(つまり、1つの交換周期)において2つのアドレスを生成する必要があり、一度に1つのアドレスをランダムに生成し、最初にアドレスaddrA(第1のアドレス)をランダムに生成してから、アドレスaddrB(第2のアドレス)をランダムに生成し、まずは、現在の周期で処理されるパルスシーケンスのアドレスaddrAに対応するデータdataA(第1のアドレスデータ)を連続パルスシーケンスにおけるアドレスaddrBに書き込んで、中間パルスシーケンスを取得し、同時に連続パルスシーケンスのアドレスaddrBに元々対応するデータdataB(第2のアドレスデータ)を出力し、データdataBを中間パルスシーケンスのaddrAに書きこむことで、1回のデータ交換過程を完了させる。
【0036】
選択可能な実施の形態において、一回のデータ交換過程においてランダムに生成された第1アドレスと第2のアドレスは異なる。
【0037】
選択可能な実施例において、連続パルスシーケンスにおける2つのアドレスをランダムに生成することは、有効アドレス区間[0,T )内に位置する2つのアドレスを同時に生成し、2つのアドレスに対応するデータを交換することであってもよく、本開示は、連続パルスシーケンスにおけるアドレスをランダムに生成する方式、データ交換の方式のいずれについても限定しない。
【0038】
以下では、図面を組み合わせて本開示の別の実施例を説明する。当該実施例において、前記初期パルスシーケンスはデータ列を含む。
【0039】
本実施の形態において、
図8に示すように、入力数値に基づいて初期パルスシーケンスを生成するステップS110は、
入力数値に基づいて、生成待ちのターゲットパルスシーケンスのパルスを生成する時刻の数n1とパルスを生成しない時刻の数n2を確定し、ここで、n1とn2は両方とも0以上の整数であり、n2とn2は同時に0ではなく、生成待ちのターゲットパルスシーケンスは同期間におけるパルスニューラルネットワークのパルスシーケンスであるステップS111'と、
時刻の数n1と時刻の数n2に応じて、現在の期間において前記初期パルスシーケンスを生成し、前記初期パルスシーケンスが連続パルス列と連続非パルス列のいずれかから選択されるステップS112'と、を含んでもよい。
【0040】
それに伴って、
図9に示すように、前記初期パルスシーケンスにおけるデータをランダムに選択することで前記ターゲットパルスシーケンスを形成するステップS120は、
前記時刻の数n1と前記時刻の数n2に基づいて前記初期パルスシーケンスにおける現在の期間内でデータ変更が必要となる時刻の数n3を確定し、n3は0以上の整数であるステップS121’と、
前記初期パルスシーケンスにおける現在の期間内のn3個の時刻に対応するデータをランダムに変更することで前記ターゲットパルスシーケンスを形成するステップS122'と、を含み。
【0041】
本実施例において、入力数値は、例えば、画像の画素数値、音声波形変換の数値、テキスト変換の数値、画像前処理後の演算結果などであってもよい。本開示は、入力数値を具体的に限定しない。データを変更する必要があるn3個の時刻は異なる時刻である。
【0042】
上文の記載の通り、パルスニューラルネットワークは時間次元符号化情報を持つネットワークである。本開示において、パルスニューラルネットワークの動作過程の最小時間単位を1つの時刻とする。各時刻において、パルスは出現する場合と出現しない場合があり、各時刻のパルス情報は、パルスの有無という2値変数である。例えば、1つの期間はR個の時刻を含む。R=n1+n2であり、n1個の時刻にパルスがあり、n2個の時刻にパルスがなく、かつその期間内でパルスの時刻位置はできるだけランダムである。変更を要するデータは、パルス(例えば、数値が1)または非パルス(例えば、数値が0)であってよい。
【0043】
ここで、生成待ちのターゲットパルスシーケンスの総パルス数n1は入力数値と正の相関を示し、ターゲットパルスシーケンスは時間次元がランダムなパルスシーケンスであり、各入力数値は、時間次元がランダムなターゲットパルスシーケンスに変換される。
【0044】
本開示において、前記初期パルスシーケンスに含まれるデータ列が連続パルスシーケンス列であるか、連続非パルスシーケンス列であるかについては特に限定しない。本開示では、n1とn2の大小関係に応じて初期パルスシーケンスにおけるデータ列の具体的な種類を確定することができる。
【0045】
選択可能な実施の形態において、時刻の数n1と時刻の数n2に応じて現在の期間において前記初期パルスシーケンスを形成するステップS112'は、
時刻の数n1が時刻の数n2以上の場合、現在の期間において各時刻に1つのパルスを生成させ、連続パルス列を含む前記パルスシーケンスを形成することを含んでよい。
【0046】
それに伴って、前記時刻の数n1と前記時刻の数n2に基づいて前記初期パルスシーケンスを確定するステップS121'において、n3とn2が等しいと確定する(つまり、n3= n2)。
【0047】
本開示において、ステップS122'を如何にして実行するかについて特に限定しない。上記のn3= n2の場合、ステップS122'は、具体的には、n3回の帰零ステップを実行することを含んでもよい。
図10に示すように、各帰零ステップは、
現在の帰零ステップにおけるパルスシーケンス内の帰零時刻をランダムに生成するステップS122' aと、
現在の帰零ステップで処理されたパルスシーケンスにおける前記帰零時刻に対応するデータが1である場合に、前記帰零時刻に対応するデータを帰零するステップS122' bと、を含んでもよい。
【0048】
ここで、前記帰零ステップが1回目に実行される場合、前記現在の帰零ステップで処理されるパルスシーケンスが前記初期パルスシーケンスであり、前記帰零ステップがj回目に実行される場合、前記現在の帰零ステップで処理されるパルスシーケンスがj-1回目に前記帰零ステップが実行された後のパルスシーケンスであり、最後の帰零ステップが終了して生成されたパルスシーケンスが前記ターゲットパルスシーケンスである。なお、jは自然数であり、j=2,……n3である。
【0049】
上文では、n1がn2以上である場合にステップS112とS120を如何にして具体的に実行するのかについて説明したが、下文では、n1がn2未満である場合にステップS112とS120を如何にして実行するかについて説明する。
【0050】
選択可能な実施の形態において、時刻の数n1と時刻の数n2に基づいて現在の期間に初期パルスシーケンスを形成するステップS112'は、
時刻の数n1が時刻の数n2より小さい場合は、現在の期間で各時刻にパルスを生成せず、連続非パルス列を含む前記初期パルスシーケンスを形成することを含んでよい。
【0051】
ステップS121'において、前記時刻の数n1と前記時刻の数n2に基づいて、前記初期パルスシーケンスにおいて現在の期間でデータ変更が必要な時刻の数n3を確定する際に、n3がn1と等しい(即ち、n3=n1)と確定する。
【0052】
上記のn3= n2の場合に対して、ステップS122'では具体的に、n3回の1に設定するステップを含んでもよい。
図11に示すように、毎回の1に設定するステップは、
現在の1に設定するステップで処理されるパルスシーケンスにおける1に設定する時刻をランダムに生成するステップS122' cと、
前記の現在の1に設定するステップで処理されるパルスシーケンスの1に設定する時刻に対応するデータが0である場合に、前記1に設定する時刻に対応するデータを1に設定するステップS122' dとを含んでもよい。
【0053】
初めて1に設定するステップを実行するとき、前記連続パルスシーケンスは前記初期パルスシーケンスであり、1に設定するステップをj回目実行するとき、1に設定するステップで処理されるパルスシーケンスはj-1回目の1に設定するステップを実行した後のパルスシーケンスであり、最後の1に設定するステップの終了後に生成されるパルスシーケンスは前記ターゲットパルスシーケンスである。なお、jは自然数であり、j = 2、...n3である。
【0054】
本実施例による方法はパルスニューラルネットワークに応用され、1つの期間は複数の時刻を含み、各時刻位置は1(パルス)または0(非パルス)とすることができ、1つの期間における全ての時刻が1つのターゲットパルスシーケンスを構成する。例えば、1つの期間の総時刻の数はRであり、R=n1+ n2であり、このうちn1個の時刻はパルスがあり、n2個の時刻はパルスなしであり、かつこの期間のパルスの時刻位置はできるだけランダムである。入力数値に基づいて時刻の数n1と時刻の数n2の数を予め判断することができ、時刻の数n1が時刻の数n2以上である場合、まず現在の期間の全ての時刻を1に設定し(つまり、パルスを生成させる)、そのうちのn2個の時刻に対応するパルスをランダムに削除し、時刻の数n2が時刻の数n1よりも大きい場合、まず全ての時刻を0に設定し(即ち、パルスを生成させない)、そのうちのn1個の時刻に対してランダムにパルスを生成させるようにしてもよい。
【0055】
本開示に記載の方法は、一方で、連続パルスを生成することによりパルス生成の速度を向上させ、ハードウェアの複雑度を低減してハードウェアの効率を向上させ、短時間に適合させ、時間領域時刻を算出する数を低減し、それによって演算量を低減することに寄与する。他方で、その内の一部のパルスをランダムに変更することにより生成されるパルスシーケンスがランダムで、疎密が均一となり、生体特性の適合性を向上させることができる。
【0056】
本開示の第2の態様として、
図12に示すように、入力数値をパルスニューラルネットワークのパルスシーケンスに変換する装置を提供し、当該装置は、
入力数値に基づいて初期パルスシーケンスを生成し、前記初期パルスシーケンスを記憶するバッファ領域110であって、前記初期パルスシーケンスは、連続パルス列および連続非パルス列のうちの1つから各々が独立して選択される少なくとも1つのデータ列を含み、各前記データ列のすべてにおけるパルスの数は、生成待ちのターゲットパルスシーケンスのパルス数の期待値に等しく、前記生成待ちのターゲットパルスシーケンスは、ある期間内の前記パルスニューラルネットワークのパルスシーケンスであるバッファ領域110と、
前記ターゲットパルスシーケンスを形成するため、前記初期パルスシーケンスにおけるデータを変更する変更器120と、含む。
【0057】
本開示による装置は、本開示の第1の態様によって提供される方法を実行する。
【0058】
ここで、パルスニューラルネットワークとは、時間次元符号化情報を持つネットワークである。例えば、パルスニューラルネットワークの動作過程の最小時間単位は、1つの時刻である。各時刻において、パルスは出現する場合と出現しない場合があり、各時刻におけるパルス情報は、パルスの有無という2値変数である。例えば、1つの期間はT個の時刻を含む。パルスニューラルネットワークの符号化情報は、ランダムに発行されるパルス数の期待値で表すことができる。
【0059】
上文で既に前記方法の原理および有益な効果について詳細に説明しており、ここでは改めて説明しない。
【0060】
選択可能な実施の形態では、バッファ領域110はさらに入力数値に基づいてターゲットパルスシーケンスの時刻の数Tとパルス生成頻度nを確定し、連続n*T個のパルスを含む連続パルス列と連続T-n*T個の非パルスを含む連続非パルス列とを生成することにより、前記初期パルスシーケンスを形成し、Tは0より大きい整数であり、nは0以上であり、nは1未満である。
【0061】
選択可能な実施の形態として、前記入力数値は画像の画素数値であってもよく、ターゲットパルスシーケンスのパルス数の期待値(総パルス数)は画像の画素数値と正の相関を示し、ターゲットパルスシーケンスは時間次元のランダムなパルスシーケンスであり、各画像の画素数値は時間次元のランダムなターゲットパルスシーケンスに変換される。例えば、ターゲットパルスシーケンスの時刻の数Tは12、パルス生成頻度nは67%であり、生成された連続したパルスシーケンスは、
図5に示すように、連続した8パルス(1数値)と4個の非パルス(0数値)を含む。
【0062】
選択可能な実施の形態において、
図13に示すように、変更器120は、
各交換周期の経過中に、相応の周期で処理されるパルスシーケンスにおける2つのアドレスをランダムに生成する第1のランダム数生成モジュール121と、
各交換周期において、相応の周期で処理されるパルスシーケンスにおける2つのアドレスに対応するデータを交換する第1の制御ロジックモジュール122と、を含んでもよい。
【0063】
ここで、前記2つのアドレスは互いに異なり、1回目の交換周期で処理されるパルスシーケンスは前記初期パルスシーケンスであり、i回目の交換周期で処理されるパルスシーケンスはi-1回目の交換周期でデータが交換された後に形成されるパルスシーケンスであり、iは2以上の自然数である。
【0064】
ランダムに生成されるアドレスは有効アドレス区間[0,T]内に位置し、Tはターゲットパルスシーケンスの時刻の数である。連続パルスを生成することでパルス生成の速度を向上させることができ、ハードウェアの複雑度を低減し、ハードウェアの効率を向上させ、短時間に適応でき、時間領域時刻を算出する数を低減し、演算量を低減することに寄与する。複数回のデータ交換過程は、
図6に示すように、複数回のデータ交換後のパルスシーケンスがターゲットパルスシーケンスである。形成されたターゲットパルスシーケンスは、
図7に示すように、各周期で処理されるパルスシーケンスにおけるパルスの位置をランダムに交換することにより、生成される新たなパルスシーケンスはランダムで疎密が均一で生体特性の適合性が高いものとなる。
【0065】
選択可能な実施の形態において、前記装置はさらに、
第1のランダム数生成モジュール121で生成された各アドレスを記憶する第1レジスタBであって、各アドレスはアドレス区間[0,T)内に位置し、Tはターゲットパルスシーケンスの時刻の数であり、Tは0より大きい第1のレジスタBと、
バッファ領域110から出力された各アドレスに対応するデータを記憶する第2のレジスタAと、を含む。
【0066】
選択可能な実施の形態において、前記2つのアドレスは第1のアドレスと第2のアドレスとを含む。
【0067】
第1のランダム数生成モジュール121は各交換周期における第1のアドレスを生成し、対応する第1アドレスを各交換周期において第1のレジスタBにそれぞれ記憶し、さらに第2のアドレスを各交換周期における第2のアドレスを生成し、対応する第2のアドレスを各交換周期において第1のレジスタBにそれぞれ記憶する。
【0068】
第1のレジスタBは各交換周期において、対応する第1のアドレスをバッファ領域110に出力し、第1の制御ロジックモジュール122は各交換周期において、バッファ領域から対応する第1のアドレスに対応する第1のアドレスデータを読み出し、対応する第1のアドレスデータを各交換周期において第2のレジスタAに記憶する。
【0069】
第1のレジスタBはさらに各交換周期において、第2のアドレスをバッファ領域110に出力し、第1の制御ロジックモジュール122は各交換周期において、第2のレジスタAの対応する第1のアドレスデータをバッファ領域110の対応する第2のアドレスに書き込み、同時に、バッファ領域110から対応する第2のアドレスの第2のアドレスデータを読み出し、対応する第2のアドレスデータを第2のレジスタAに記憶する。
【0070】
第1のレジスタBはさらに各交換周期において、それぞれ対応する第1のアドレスをバッファ領域110に出力し、第1の制御ロジックモジュール122はさらに各交換周期において、第2のレジスタA内の対応する第2のアドレスデータをそれぞれバッファ領域110における対応する第1のアドレスに書き込む。
【0071】
全ての交換周期が実行された後、第1の制御ロジックモジュール122は、複数回のデータを交換した後に得られた前記ターゲットパルスシーケンスをバッファ領域110から出力する。
【0072】
例を列挙して説明すると、一回のデータ交換過程において第1のランダム数発生モジュールは2つのアドレスを生成する必要があり、1つのアドレスが毎回ランダムに生成され、まずはアドレスaddrA(第1のアドレス)を生成し、次にアドレスaddrB(第2のアドレス)を生成する。第1の制御ロジックモジュールは、まずはバッファ領域110からアドレスaddrAに対応するデータdataA(第1のアドレスデータ)を読み出し、次にデータdataAをバッファ領域110のアドレスaddrBに書き込むと同時にアドレスaddrB に対応するデータdataB(第2のアドレス)をバッファ領域110から読み出し、最後にデータdataBをバッファ領域110におけるアドレスaddrAに書き込むことで一回のデータ交換過程を完了させる。
【0073】
ここで、1回のデータ交換過程において、ランダムに生成される第1のアドレスと第2のアドレスとは異なる。
【0074】
選択可能な実施の形態において、第1のランダム数発生モジュールは線形フィードバックシフトレジスタ(LFSR)構造を採用してハードウェアの消費電力を節減することができる。
【0075】
本開示による装置はバッファ領域110においてデータの初期化、つまり、初期パルスシーケンスの生成を完了させた後、第1の制御ロジックモジュール122によって交換周期への移行を制御し、各交換周期は、
第1の制御ロジックモジュール122によって更新許可信号を第1のランダム数発生モジュール121に送信し、バッファ領域110の書き込み許可をオフにするステップS1と、
第1のランダム数発生モジュール121によってアドレスaddrAを生成し、第1の制御ロジックモジュール122によって更新許可信号を第1のランダム数発生モジュール121に送信し、バッファ領域110の書き込み許可をオフにし、アドレスaddrAが同時に第1のレジスタBに記憶されるステップS2と、
第1のランダム数発生モジュール121によってアドレスaddrBを生成し、第1の制御ロジックモジュール122によってバッファ領域110にステップS2で生成したアドレスaddrA(このアドレスは第1レジスタBから出力される)を入力し、バッファ領域110からアドレスaddrAに対応するデータdataAを読み出し、第1の制御ロジックモジュール122によって更新許可信号を第1のランダム数発生モジュール121に送信せず、データdataAが第2レジスタAに同時に記憶されるステップS3と、
第1の制御ロジックモジュール122はバッファ領域110の書き込み許可をオンし、ステップS3で生成されたアドレスaddrB(このアドレスは第1のレジスタBから出力される)をバッファ領域110に入力し、第1の制御ロジックモジュール122は第2のレジスタAのデータdataAをバッファ領域110におけるアドレスaddrBに書き込み、同時に第1の制御ロジックモジュール122はアドレスaddrBに対応するデータdataBをバッファ領域から読み出し、データdataBを第2のレジスタAに記憶するステップS4と、
第1の制御ロジックモジュール122はバッファ領域110の書き込み許可をンし、ステップS2で生成されたアドレスaddrA(このアドレスは第1のレジスタBによって出力される)をバッファ領域110に入力し、第2レジスタAにおけるデータdataBをバッファ領域110におけるアドレスaddrAに書き込むステップS5と、を含む。
【0076】
ステップS1~S5を複数回(例えば、10回)繰り返した後、バッファ領域110における各アドレスのデータ、つまり、ターゲットパルスシーケンスを順次出力する。
【0077】
以下では、本開示の実施例による別の数値をパルスに変換する装置を提供し、前記装置において、バッファ領域110は、具体的に、
入力数値に基づいて、生成されるターゲットパルスにおけるパルスを生成する時刻の数n1とパルスを生成しない時刻の数n2によって形成される連続パルス列または連続非パルス列を確定し、n1とn2は0以外の整数であり、n1とn2は同時に0ではなく、
前記時刻の数n1と前記時刻の数n2に基づいて、前記初期パルスシーケンスを形成し、前記初期パルスシーケンスは連続パルス列および連続非パルス列のいずれかから選択される。
【0078】
図14に示すように、変更器120は、
時刻の数n1および時刻の数n2に基づいて初期パルスシーケンスの現在の期間でデータを変更する必要がある時刻の数n3を確定し、さらにバッファ領域110に記憶された初期パルスシーケンスのデータを変更する必要があるn3個の時刻をランダムに生成し、n3は、0以上の整数である第2のランダム数発生モジュール121'と、
バッファ領域110に記憶された初期パルスシーケンスが現在の期間内のn3個の時刻に対応するデータを変更して、ターゲットパルスシーケンスを形成する第2の制御ロジックモジュール122'と、を含む。
【0079】
ここで、上文に記載の通り、パルスニューラルネットワークとは、時間次元符号化情報を持つネットワークである。例えば、パルスニューラルネットワークの動作過程の最小時間単位は1つの時刻である。各時刻にパルスがある場合とない場合があり、各時刻のパルス情報は2値変数、つまりパルス有無である。例えば、1つの期間はR個の時刻を含む。R = n1+ n2であり、n1個の時刻にパルスがあり、n2個の時刻にパルスがなく、かつその期間内でパルスの時刻の位置はできるだけランダムである。
【0080】
生成待ちのターゲットパルスシーケンスの総パルス数n1は入力数値と正の相関があり、ターゲットパルスシーケンスは時間次元がランダムなパルスシーケンスであり、各入力数値は時間次元がランダムなターゲットパルスシーケンスに変換される。
【0081】
選択可能な実施の形態において、初期パルスシーケンスはターゲットパルスに従いパルスを生成した時刻の数n1とパルスを生成しない時刻の数n2によって形成される連続パルス列または連続非パルス列である。
【0082】
バッファ領域110は入力数値に基づいて、生成待ちのターゲットパルスシーケンスがパルスを生成する時刻の数n1と、パルスを生成しない時刻の数n2を確定することができる。
【0083】
時刻の数n1が時刻の数n2以上である場合、バッファ領域110は、当該バッファ領域110内の現在の期間の各時刻にc =1の値を書き込み、連続パルス列を含む初期パルスシーケンスを形成し、ここで、c=1である。
【0084】
前記時刻の数n1が時刻の数n2より小さい場合、バッファ領域110は、当該バッファ領域110内の現在の期間の各時刻にc数値を書き込み、連続非パルス列を含む初期パルスシーケンスを形成し、ここで、c=0である。
【0085】
ここで、c=1は現在の期間において各時刻に対しパルスを生成することを示し、c=0は現在の期間において各時刻に対しパルスを生成しないことを示す。
【0086】
ここで、入力数値は、例えば、画像の画素数値、音声波形変換の数値、テキスト変換の数値、画像前処理後の計算結果などであってもよい。本開示は、入力数値を特に限定しない。
【0087】
別の選択可能な実施の形態において、時刻の数n1が時刻の数n2以上であり、c=1である場合、第2のランダム数発生モジュール121'は、n3がn2と等しいと確定し、時刻の数n1が時刻の数n2より小さく、c=0である場合、第2のランダム数発生モジュール121'は、n3がn1と等しいと確定する。
【0088】
選択可能な実施の形態において、第2のランダム数発生モジュール121'は、それぞれの変更周期中にバッファ領域内のデータを変更する必要がある書き直し時刻を生成し、変更周期の数はn3である。つまり、書き直し時刻の数はn3個である。
【0089】
選択可能な実施の形態において、第2のランダム数発生モジュール121'も線形フィードバックシフトレジスタ(LFSR)構造を採用することができ、ハードウェアの消費電力を低減することができる。
【0090】
選択可能な実施の形態において、第2の制御ロジックモジュール122'は、
各変更周期において、バッファ領域110内の現在の期間における対応する書き直し時刻を1-cの値に書き込み、現在の期間におけるバッファ領域110内のn3個の書き直し時刻をすべて1-cの値に書き込むまで、n3個の書き直し時刻をトラバースし、ここで、1-cは0または1のいずれかであり、1-cの値はn1とn2との大小関係に基づいて確定する。
【0091】
具体的には、時刻の数n1が前記時刻の数n2以上であり、1-cが0である場合、バッファ領域110における現在の期間の書き直し時刻に対応するパルスを削除し、
時刻の数n1が時刻の数n2よりも小さい場合には、1-cが1であり、バッファ領域110の現在の期間の書き直し時刻にパルスを送信する。
【0092】
本開示に係る装置は、入力数値に基づいて時刻の数n1と時刻の数n2の数を予め判断し、時刻の数n1と時刻の数n2の数に基づいてバッファ領域110内の現在の期間における各時刻にcの値を書き込んでもよい。時刻の数n1が時刻の数n2以上である場合、バッファ領域内の現在の期間のすべての時刻にまず1(つまり、パルスを生成する)を書き込むことができ、第2の制御ロジックモジュール122'はそのうちn3個の時刻に0に書き込む、つまり、そのうちn3個の時刻に対応するパルスを削除する。時刻の数n2が時刻の数n1よりも大きい場合、バッファ領域110内の現在の期間のすべての時刻にまず0と書き込む(つまり、パルスを生成しない)場合、第2の制御ロジックモジュール122'は、n3個の時刻に対して1と書き込み、つまり、n3個の時刻に対してパルスを発行する。
【0093】
別の選択可能な実施の形態において、前記装置は、第2の制御ロジックモジュール122'によって変更されたデータの数をカウントするサイクル制御カウンタ130をさらに含み、第2の制御ロジックモジュール122'のデータが変更される毎に、第2の制御ロジックモジュール122'がバッファ領域110における現在の時間期間内のn3個の時刻に対応するデータを変更するまで、サイクル制御カウンタ130が1だけ減少すれる。
【0094】
選択可能な実施の形態として、サイクル制御カウンタ130は予め数値n3を設定する。第2の制御ロジックモジュール122'がデータを変更する毎に、サイクル制御カウンタに記憶されたデータを1ずつ減少する。第2の制御ロジックモジュール122'がn-3個のデータの変更を完了した後、サイクル制御カウンタ130内のデータは0に減少する。
【0095】
ランダム数発生モジュールが一つのランダム数を生成する毎に、当該ランダム数がデータを変更する必要がある時刻位置(即ち、書き直し時刻)であり、第2の制御ロジックモジュール122'は書き直し時刻がデータを既に変更したかをチェックし、変更した場合、第2の制御ロジックモジュール122'は第2のランダム数発生モジュール121'によってランダム数を新たに生成し、つまり、データが変更されていない時刻が決定されるまで、変更する必要があるデータの時刻位置を新たに確定する(つまり、書き直し時刻を新たに確定する)。第2のランダム数発生モジュール121’によって生成された書き直し時刻に対応するデータが変更されていない場合、第2の制御ロジックモジュール122'は当該書き直し時刻に対応するデータを変更した後、ランダム数を改めて生成するよう第2のランダム数発生モジュール121’に通知し、サイクル制御カウンタ130に変更されるデータの数を1ずつ減少するように通知し、データを変更する数が0になるまで繰り返して変更過程を終了させ、得られたパルスシーケンスを結果として出力する。
【0096】
選択可能な実施の形態において、
図14に示すように、サイクル制御カウンタ130は、
バッファ領域110の現在の期間におけるデータを判断する偽c判断モジュール131と、
各変更周期において対応する残りの書き直し時刻の数を記憶し、偽c判断モジュール131がバッファ領域110に全c値を書き込んだと判断し、第2の制御ロジックモジュール122’がバッファ領域110における現在の期間の各変更周期に対応する書き直し時刻に1-c値を書き込んだ後、対応する残りの書き直し時刻の数を1ずつ減少させ、第1の変更周期に対応する残りの書き直し時刻の数がn3であるダウンカウントモジュール132と、
ダウンカウントモジュール132における残りの書き直し時刻の数が0であるか否かを判断する帰零判断モジュール133と、を含む。
【0097】
図14に示すように、本開示に記載の装置には以下3つの状態があってもよい。
【0098】
状態1、ロード状態:
書き込みアドレス行は、すべてのアドレス(各期間のすべての時刻)をトラバースし、完全なc値をバッファ領域110に書き込み、変更する数n3を初期化数値としてダウンカウントモジュール132に書き込む。
【0099】
状態2、変更状態:
第2のランダム数発生モジュール121’によってランダムアドレスを生成し、このアドレスに基づいてバッファ領域110からアドレスデータを読み出し、偽c判断モジュール131による判断が、cである場合、ダウンカウントモジュール132に記憶された数値を1減少するよう通知し、書き込み許可をオンして、1-c数値をバッファ領域110のアドレス位置に書き込み、同時にダウンカウントモジュール132に記憶された数値が0にリセットされたか否かを判断し、0にすでにリセットされた場合、第2の制御ロジックモジュール122'が状態3に入るよう通知し、そうでない場合状態2を継続し、第2のランダム数発生モジュール121’は引き続き新たなアドレスの生成を繰り返す。
【0100】
状態3、出力状態:
読み出しアドレス線は全てのアドレスをトラバースし、バッファ領域におけるデータを出力する。
【0101】
本開示の第3の態様として、サーバ及び端末などを含む電子デバイスを提供する。当該電子デバイスは、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に接続されたメモリと、記憶媒体に通信可能に接続される通信コンポーネントとを含む。前記通信コンポーネントはプロエッサの制御下でデータを受送信する。ここで、メモリは、少なくとも1つのプロセッサによって実行可能な指令を記憶し、指令は、上記の実施例における画像をパルスに変換する方法を実行するために、少なくとも1つのプロセッサによって実行される。
【0102】
選択可能な実施の形態において、不揮発性のコンピュータ読み取り可能記憶媒体として、メモリは、不揮発性ソフトウェアプログラム、不揮発性コンピュータ実行可能プログラムおよびモジュールを記憶するために使用することができる。プロセッサは、メモリに記憶された不揮発性ソフトウェアプログラム、命令およびモジュールを実行することによりデバイスの様々な機能アプリケーションおよびデータ処理を実行し、つまり、数値をパルスに変換する方法を実現する。
【0103】
メモリは、プログラム記憶領域とデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステムおよび少なくとも1つの機能によって必要とされるアプリケーションプログラムを記憶してもよく、データ記憶領域はオプションリストなどを記憶してもよい。さらに、メモリは、高速ランダムアクセスメモリを含んでもよく、例えば、少なくとも1つのディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含んでもよい。幾つかの実施の形態では、メモリは、プロセッサから遠隔に配置されたメモリを任意選択で含んでよく、これら遠隔のメモリは、ネットワークを介して外部デバイスに接続することができる。上記ネットワークの例としては、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワークおよびそれらの組み合わせを含むが、これらに限定されない。
【0104】
1つまたは複数のモジュールがメモリに記憶され、1つまたは複数のプロセッサによって実行されるとき、上記の任意の方法実施例における画像をパルスに変換する方法が実行される。
【0105】
上記製品は本願の実施例による画像をパルスに変換する方法を実行することができ、実行方法に対応する機能モジュールおよび有益な効果を有し、本実施例で記述されていない技術詳細については、本願の実施例による画像をパルスに変換する方法を参照することができる。
【0106】
本開示の第4の態様として、コンピュータ可読記憶媒体を提供し、コンピュータプログラムを記憶し、前記コンピュータプログラムは、上記一部またはすべての画像をパルスに変換する方法実施例をコンピュータに実行させる。
【0107】
つまり、当業者は、上述の実施例を実現する方法のステップの全部または一部をプログラムによって関連のハードウエアで完了させるよう指令を出し、当該プログラムが記憶媒体に記憶され、本願における各実施例に記載の方法のステップの全部または一部を1つのデバイス(モノリシック、チップなどであってもよい)またはプロセッサ(processor)に実行させるための命令を含むことを理解すべきである。また、前記の記憶媒体は、USBメモリ、リムーバブルハードディスク、リードオンリーメモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク、光ディスクなどのプログラムコードを記憶可能な種々の媒体を含む。
【0108】
ここで提供する明細書では、多くの具体的な詳細が説明されている。しかし、本発明の実施例は、これらの具体的な詳細なしに実施可能であることが理解される。幾つかの実施例では、本明細書に対する理解を混乱させないよう、周知の方法、構造および技術について詳細に示されていない。
【0109】
さらに、当業者は、本明細書に記載の幾つかの実施例に、その他の特徴ではなく、その他の実施例に含まれているある特徴が含まれているが、異なる実施例の特徴の組み合わせは、本発明の範囲内であることに加えて、異なる実施例を形成することを意味することを理解すべきである。例えば、特許請求の範囲において、請求している実施例のいずれかは任意の組み合わせで使用することができる。
【0110】
例示的な実施例を参考にして本発明を説明したが、本発明の範囲から逸脱せずに、様々に改善することができ、均等物によりその要素を置き換えることができることが当業者には理解される。また、本発明の範囲から逸脱せずに、特定の状況または材料を本発明に適合させるために、多くの変更を行うことができることが教示されている。したがって、本発明は、開示された特定の実施例に限定されるものではなく、添付の特許請求の範囲に含まれる全ての実施例を含む。