5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

YakiUdonNN 〜ご注文はVRChatでPyTorchを書くことですか?〜(構想)

Last updated at Posted at 2022-07-29

注意: これはあくまでノリで構想したものであり、実装される保証はありません。

YakiUdonNNとは

VRChat内で積み木のようにモデルを組み、PyTorchモデルにエクスポートするツールです。
このツールを使うことで視覚的にモデルを作成することが可能になり、より多くのぶいちゃ民に
機械学習(NN関係のみ)を布教できるようになります。

ベースとなる技術

VRChat上で動的にシェーダを組めるGraphiliaというツールを参考に作っていこうと思います。

名称の由来

Torch🔥Udon Neural Network の略称です。
Torch → 松明 → 炎 → 焼く → やきうどん!
という流れです。
VRChat上で実装するのでもちろんUdonを用います。

開発フェーズ

やきうどんは理想が高いです。なのでフェーズを分けて着実に開発していきます。

1st, "Layers"

最初はただレイヤーの名称を書いた箱を用意するだけです。これだけでも人に説明するのに役立ちます。
各レイヤー間の繋がりや関係は QvPenというVRChat上で空中にかけるペンを用いて記述します。一番最初なのでこれくらい簡単にします。

懸念としては、レイヤーブロックのスポーン数でどれだけ重くなるかですね。

  • イメージ画像
    image.png

2nd, "Flows"

1stフェーズで実装したブロックを今度はつなげられるようにします。Graphiliaのような形がベストです。実装頑張ります。

  • イメージ画像
    image.png

3rd, "Hyper Parameters"

ここまで作ってきて、まだレイヤーのハイパーパラメータ(kernel_sizein_featuresなど)を調整することができません。なので、実装します。調整したパラメータはグローバルに同期するようにしましょう。

  • イメージ画像
    image.png

4th, "Run"

第3フェーズまででおそらく実装したレイヤーの数によってはいくつかモデルを組めるようになったのではないでしょうか。ここでそのモデルをPyTorchを使用した際のモデル形式でエクスポートします。と言ってもローカル環境に.pyファイルを生成するだけですが。こんなファイルを生成したいですね。

"""
This files was generated by `Yaki Udon NN v0.0.0`!
"""

import torch
import torch.nn as nn
import yakiudon.nn as yknn

class Model(nn.Module):
    def __init__(self):
        super().__init__():
        self.layer1 = nn.Linear(100,200)
        self.layer2 = yknn.Reshape((200,), (20,10))

    def forward(self, x):
        h = x
        h = self.layer1(h)
        h = self.layer2(h)
        o = h
        return o

そしてMNIST分類問題でも解くテンプレートノートブックを作成して、そこのレイヤー定義の部分をこの生成されたファイルで置き換えれば良いのです!

最後に

とりあえず構想だけまとめたので、実装するかは怪しいです。強化学習とかでよくシミュレーターを扱うのでVRChatなどのメタバース環境とAIは深い関係を持つことになりそうです。そうなると思いますし、機械学習は知能の真髄に迫るメチャクチャ面白い分野なので多くの人に関心を持っていただけるようにしたい限りです。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?