| 1-2-AXワーキングメモリ課題 | |
|---|---|
| 目的 | 長期短期記憶のワーキングメモリ能力 |
1-2 -AX ワーキングメモリタスクは、ワーキングメモリを解くこと を必要とする認知テストです。
これは、学習アルゴリズムのテストケースとして、古いデータを記憶する能力をテストするために使用できます。このタスクは、 PBWMや長短期記憶などのアルゴリズムのワーキングメモリ能力を実証するために使用できます。[ 1 ]
課題の入力は、1、2、A、X、B、Yの数字/文字のシーケンスと、3、C、Zの注意をそらすシーケンスです。これらのシーケンスは無視してください。シーケンス内の各入力文字に対して、被験者は左(L)または右(R)で応答する必要があります。
被験者が探している2つのターゲットシーケンスはAXとBYです。被験者は1に遭遇するとAXの探索に切り替え、 2に遭遇するとBYの探索に切り替える必要があります。
被験者がAXを探しているときに、以前にAを見た後にXに遭遇した場合(BYを探しているときにYに遭遇した場合も同様)、その前の文字が以前のシーケンスの一部ではなかった場合、被験者はそのシーケンスの終了を示すためにRと応答します。他のすべての文字に対してはLと応答する必要があります。[ 2 ]
| 入力 | 2 | 1 | あ | あ | X | X | はい | あ | X |
|---|---|---|---|---|---|---|---|---|---|
| 出力 | L | L | L | L | R | L | L | L | R |
| 入力 | 1 | 2 | あ | B | X | はい | あ | C | Z |
|---|---|---|---|---|---|---|---|---|---|
| 出力 | L | L | L | L | L | R | L | L | L |
この課題を解決するには、アルゴリズムは最後の数字1または2と最後の文字AまたはBの両方を独立して記憶できる必要があります。この記憶をワーキングメモリと呼びます。このメモリは、他のすべての入力に対して保持される必要があります。さらに、アルゴリズムは文字CとZを削除して無視できる必要があります。
従来のコンピュータモデルでは、どちらの要件も簡単に解決できます。以下に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-、1AX、2BYと呼ぶ) を持つ有限状態マシンによって簡単に解決できます。
このタスクはニューラルネットワークにとってはるかに困難です。単純なフィードフォワードニューラルネットワークでは、ワーキングメモリを持たないため、このタスクは解けません。ワーキングメモリをニューラルネットワークに組み込むことは困難な作業です。PBWMや長短期記憶など、ワーキングメモリを持つアプローチはいくつか存在し、どちらもこのタスクを解決できます。