Up モデルの設計
──テンプレートを埋める
作成: 2026-02-28
更新: 2026-03-03


    「設計」は,テンプレートに「部品」を埋め込んで,具体的なニューラルネットワークの構造を作る工程。


    テンプレートは,つぎのようなコードでつくられた:
      python template = { "num_layers": 6, "layer_type": ["conv", "pool", "fc"], "kernel_size": [3, 5, 7], "activation": ["relu", "tanh"] }
    このテンプレートは,
      6層のネットワーク
    で,各層に
      layer_type, kernel_size, activation
    の3つの穴がある。

    「穴」を意味は:
穴の名前 意味 選択肢(値の候補)
layer_type レイヤーの数 3〜10
num_layers 各レイヤーの種類 "conv", "pool", "fc"
kernel_size 畳み込みやプーリングの
カーネルサイズ
3, 5, 7
activation 活性化関数 "relu", "tanh"


    コントローラは,このテンプレートの各穴に対して,順番に値を選んで埋めていく。
    たとえば,RNNベースのコントローラなら,次のような流れになる:
      最初のレイヤー (層1) で
         layer_type を選ぶ(例:conv)
        次に kernel_size を選ぶ(例:3)
        次に activation を選ぶ(例:relu)
      次のレイヤー (層2) に進む
      (繰り返し)

    このようにして,テンプレートの「穴」をすべて埋めたとき,1つの具体的なニューラルネットワークの設計図の完成となる。

    穴埋めの例
layer_type kernel_size activation
1 conv 3 relu
2 conv 5 tanh
3 pool 3 -
4 conv 7 relu
5 fc - relu
6 fc - tanh
    ※ pool や fc には kernel_size が不要な場合もあるので,
      穴の「有効性」も条件付きになる。