1-2-AXワーキングメモリ課題

1-2-AXワーキングメモリ課題
目的長期短期記憶のワーキングメモリ能力

1-2 -AX ワーキングメモリタスクは、ワーキングメモリを解くこと を必要とする認知テストです。

これは、学習アルゴリズムのテストケースとして、古いデータを記憶する能力をテストするために使用できます。このタスクは、 PBWM長短期記憶などのアルゴリズムのワーキングメモリ能力を実証するために使用できます。[ 1 ]

説明

課題の入力は、1、2AXBYの数字/文字のシーケンスと、3、C、Zの注意をそらすシーケンスですこれらシーケンス無視してください。シーケンス内の各入力文字に対して、被験者は左(L)または右(R)で応答する必要があります。

被験者が探している2つのターゲットシーケンスはAXBYです。被験者は1に遭遇するとAXの探索に切り替え、 2に遭遇するとBYの探索に切り替える必要があります。

被験者がAXを探しているときに、以前にAを見た後にXに遭遇した場合(BYを探しているときにYに遭遇した場合も同様)、その前の文字が以前のシーケンスの一部ではなかった場合、被験者はそのシーケンスの終了を示すためにRと応答します。他のすべての文字に対してはLと応答する必要があります。[ 2 ]

入力 21XXはいX
出力 LLLLRLLLR
入力 12BXはいCZ
出力 LLLLLRLLL

アルゴリズムの要件

この課題を解決するには、アルゴリズムは最後の数字1または2と最後の文字AまたはBの両方を独立して記憶できる必要があります。この記憶をワーキングメモリと呼びます。このメモリは、他のすべての入力に対して保持される必要があります。さらに、アルゴリズムは文字CZを削除して無視できる必要があります。

ソリューション

擬似コード

従来のコンピュータモデルでは、どちらの要件も簡単に解決できます。以下にPythonコード(擬似コードのようなものですが、動作します)を示します。このコードでは、next_output関数が単一の数字または文字を入力として受け取り、文字を返すか何も返さないかのいずれかを返します。next_outputs は、シーケンス全体を処理するための利便性のために用意されています。

最後の数字= ""最後の文字= ""def next_output ( next_input : str ) -> str | None : """ 引数:  next_input: 1文字を含む文字列。 戻り値: 文字「L」、「R」、または None を含む文字列。 例:  >>> next_output("2")  'L'  """ global last_num , last_letter if next_input in [ "1" , "2" ]: last_num = next_input last_letter = "" return "L" elif next_input in [ "A" , "B" ]: last_letter = next_input return "L" elif next_input in [ "X" , "Y" ]: seq = last_num + last_letter + next_input last_letter = next_input if seq in [ "1AX" , "2BY" ]: return "R" return "L" return Nonedef next_outputs ( next_inputs : str ) -> list [ str ]: """ 引数:  next_input: 文字列。 戻り値: 文字「L」または「R」を含む文字列のリスト。 例:  >>> next_outputs("21AAXBYAX")  ["L", "L", "L", "L", "R", "L", "L", "L", "R"]  """ return [ next_output ( c ) for c in next_inputs ]

例:

>>> next_outputs ( "21AAXBYAX" ) ['L', 'L', 'L', 'L', 'R', 'L', 'L', 'L', 'R'] >>> next_outputs ( "12CBZY" ) ['L', 'L', なし, 'L', なし, 'R']

有限状態機械

同様に、このタスクは、7 つの状態 ( ---1--2--1A-2B-1AX2BYと呼ぶ) を持つ有限状態マシンによって簡単に解決できます。

ニューラルネットワーク

このタスクはニューラルネットワークにとってはるかに困難です。単純なフィードフォワードニューラルネットワークでは、ワーキングメモリを持たないため、このタスクは解けません。ワーキングメモリをニューラルネットワークに組み込むことは困難な作業です。PBWMや長短期記憶などワーキングメモリを持つアプローチはいくつか存在し、どちらもこのタスクを解決できます。

参考文献

  1. ^ O'Reilly, RC & Frank, MJ (2006). 「ワーキングメモリの活用:前頭皮質と基底核における学習の計算モデル.Neural」 . Neural Computation . 18 (2): 283– 328. doi : 10.1162/089976606775093909 . PMID  16378516. S2CID  8912485. 2010年5月30閲覧.
  2. ^ O'Reilly, Randall C.; Frank, Michael J. (2006年2月1日). 「ワーキングメモリの活用:前頭皮質と基底核における学習の計算モデル」 . Neural Computation . 18 (2): 283– 328. doi : 10.1162/089976606775093909 . PMID 16378516. S2CID 8912485. 2023年1月28閲覧.