t_wの輪郭

あれ

2023/6/24 16:42:00

遺伝的アルゴリズムにしろ、遺伝的プログラミングにしろ、与えられた課題に有利なバグがあったら徹底活用してくるし、不利なバグがあったら徹底回避してくるので、バグの発見が難しい。内部で乱数が使われているのも輪をかけてバグの発見を難しくしてくる。

なので自動テストで一個づつ動いているか確認しようと思ったのだが、ちゃんと動いてるはずだったのに自動テスト書いたらpanicで全然動かへん。

なんで動いてるんだこいつ……

いや、なんかgo runで動かすとバグんないんだけど、go testするとバグる。なんだこれ、goroutine分からん。


やっぱりgoroutineというか並列処理みたいなことを再帰関数でやるってのは辞めた方が良い予感。ワシには難しすぎる問題になる。

func node_exec(node *Node, program Program, inputs *[constant.EMBEDDING_LENGTH + 1]int, input_map *map[int]int) int {
	if node.Executed {
		return node.Value
	}
	if node.Function < program.Static_functions_index_max {
		node.Executed = true
		node.Value = program.Functions[node.Function](inputs, input_map, &program.Queue, &program.Stack, 0, 0)
		return node.Value
	}

	wg := sync.WaitGroup{}
	node.Executed = true
	arg1 := 0
	arg2 := 0
	wg.Add(2)
	go func() {
		arg1 = node_exec(&program.Nodes[node.Index1], program, inputs, input_map)
		defer wg.Done()
	}()
	go func() {
		arg2 = node_exec(&program.Nodes[node.Index2], program, inputs, input_map)
		defer wg.Done()
	}()
	wg.Wait()
	node.Value = program.Functions[node.Function](inputs, input_map, &program.Queue, &program.Stack, arg1, arg2)
	return node.Value
}

あれ

2023/6/18 14:59:00

GO言語で並列処理させてCPUぶん回してるから廃熱で暑い。
機械学習とか夏にやるもんじゃない。

あれ

2023/6/18 14:57:00

ボロボロの研究成果です

遺伝的プログラミング、精度出ねぇんだわ。

でも、モデルのサイズは小さいぞ!!
812KBや。
一般的な大規模言語モデルというかディイイイイイプラーニングはGBとかサクッと行く


食事の文章に関してはいい感じに類似判定されているのは、データ元の人格が出てますねぇ。

あれ

2023/9/18 20:25:00

ほげええええええええ
バグっとったやんけええええ絵

そりゃ学習しませんぜ旦那って案件だった

人工知能のプログラムコードのバグを発見するのはすごく大変

3日かけて学習させて出したスコアを5分の学習で上回ってきて「こいつ……いけるのでは……!?」となってる

とはいえまだスタートラインに立ったばかりだ。

あれ

2023/6/28 21:38:00

帰ったら遺伝的プログラミングのチューニングをする。残念ながら望む学習結果には未だ至っていない。むしろ学習させるほどに望む結果から離れてしまう。何かが間違っているのは間違いない。

データ量が足りてないのだろうか?いや、むしろ少データで学習のテストをすべきだろう。段階的にデータの規模を大きくしたい。

あれ

2023/7/3 9:02:00

末尾の「だ、である」調と「です、ます」調 で Sentence Embeddingが極端に変わってしまって、類似度が低くなるのは、学習データの偏りもありそう。私t_wがデライトに投稿した文章から学習させているので、「だ、である」の文章が偏って多い。

あれ

2023/7/2 14:39:00

遺伝的プログラミングで生成したプログラムの入力データとして、単語ベクトルを遺伝的アルゴリズムで学習させていた。単語ベクトルの変化量を乱数で決めているつもりだったが、定数の固定値になってしまっていた。つまり常に単語ベクトルの値が線形増加/線形減少していたのだった。そりゃ学習しませんぜ旦那。

それはそれとして、このバグを修正してもいまだ学習しないのである。