DeepCoder追実装記録 (1)
Livedoorブログからの移動
はてなブログからの移動
DeepCoder概略
[(Input, Output)] => Map[関数, 出現確率]
の関数をディープラーニングで学習し,それを利用してプログラム空間を探索・プログラム合成をする.
詳しくは論文.
追実装について
レポジトリ: ここ
データセットの生成
深さ優先探索でプログラムを列挙しながら,適当に入出力の組を生成する.同じ挙動をするプログラムを排除する部分の処理が重く,時間がかかっている.
高速化の手段としては,
- 並列化(入力の型が違えば独立に扱えるので)
- 削除する部分が遅いようなので,その処理の見直し
あたりが思いついている.恐らく1は重要だと思う.
学習
恐らく過学習してしまっている.原因は不明だけど,データセットの生成の仕方が偏っている気がしないでもない. とりあえずデータセットの生成を高速化して,ちゃんとデータセット作ってもう一度やり直す.