NISHIO Hirokazu[Translate]
不定個の結果を返す
ケース1: 固定のN個の中から、不定個を、重複なし、順序なしで返す場合
N個から1個を返すSoftmaxをN個の「選択するかどうか」の二値識別にすれば良い
ケース2: 固定のN個の中から、不定個を、重複あり、順序ありで返す場合
EOSを示すN+1番目を導入
RNN構成にしてEOSが出るまで繰り返す
ケース3: 不定個のA次元ベクトルN個の中から、不定個を、重複なし、順序なしで返す場合
A次元からD次元への写像を学習する
不定個のD次元の出力を出すRNNをケース2の方法で構成する
D次元の出力同士の内積で「選択するかどうか」の二値識別
ケース4: ある集合の部分集合を選ぶ
これはその集合の要素の中から不定個を重複なし順序なしで返すことに相当する
つまりそれぞれに対して「選択するかどうか」の二値識別
集合のサイズが固定ならケース1、固定でないならケース3
ケース5: ある集合から不定個の部分集合を選びたい時には?
集合が十分小さいなら部分集合を列挙すればケース1に帰着する
2^N個の列挙になる
集合のサイズが固定で部分集合の列に順序があるならケース1をケース2のRNN構成にすれば良い
ケース1はN次元のベクトルを出す構成なので、それをSoftmaxするのをやめたRNNにすれば良い
部分集合の列に順序がない場合は?
うーん、難しめ
順序を定義して教師データをソートするのが妥当な選択肢か
ケース6: 「ある集合からの不定個、重複あり、順序あり」の列を不定個選ぶには
要素の区切りを表現するN+2番目を導入してRNNにすれば良い
順序なしの場合
順序を導入するのが良いのでは

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]