Open2

遺伝的プログラミングとその他黒魔術で最高にえっちでエシカル(倫理的)な画像生成モデルを作ろう!!プロジェクト

あるある

主に目的はkeik.orgのための話題作り
某・国産LLM氏の炎上の流れ弾をわざと喰らった上で、実際きちんと動くモデルを提供するという上手な炎上商法をやりたい。

その上で今の画像生成界隈は、Stable Diffusionが完成系とみなされそれ以上の探求がろくに行われていないため、結果としてブルーオーシャンであると考えられるので新しいモデルを試そう。「モデル内部に溶け込んでカンニングされているかもしれない(というか、ほぼ確実)」というのが絵師のAI絵への拒否感だとするなら、どう足掻いてもモデル内に何も記録できない、カンニングもできない、文字通りの意味での学習をしなければ(Grokkingしなければ)何も生成できないモデルを作ってしまえばいい。
単なるウケ狙いだが、うまくいけば画像版DeepSeekになるかもしれない。

主な内容はCGPの強化(単純化)
スカラー・行列・画像を同列の「値」とみなし、画像処理や行列演算の基本的動作を全て2値関数として一絡げにまとめた上で、n, m個前の出力を[任意の2値関数]に通すことで今回の出力を行う …という1次元の配列として処理を表現する
最初の4画像を入力、最後の4画像を出力とする


いくつ前の関数の出力のペアを参照するか、どの関数を使うか、という形で3つの整数列のタプルとして遺伝子を表現する。
ただし:表現力の高い関数を前提とするため、Spatialな変換(FFT, Affine変換, Raster変換など)を適応できるものを主に増やす。単純な四則演算や非線形の特殊関数はあくまで程々にする。

また、突然変異に「値列の一部を切り出して、前後移動する」「値列の一部に1を足したり引く」などを加える
エリート選択も用意する

あとはDiffusion Modelの容量で、損失関数(評価関数)は普通のDiffusionと同じMAEと、Dicriminator(MLP-mixer, ConvNeXT)を使ったものを用意して事前学習
その上でイロレーティングもしくはTrueSkillによる投票を行うサービスを作ろう
事前学習にはWikiArtとCOCO Datasetを使う(できる限り透明性の高いデータセットを使うことでクリーンにした)

あとさすがにこのモデルだけでは表現力に不安があるので、次元削減の部分としてmadebyollin/taesdxlを使う
https://huggingface.co/madebyollin/taesdxl

あるある

机上の空論を練る作業はいいから、とりあえず実装して実験しよう
MNIST、STL-10(96x96のカラー画像の10値分類)での認識タスクでの精度はある程度検証できているのであとは実際にやるだけだ