{"notes":[{"id":"lightweight/starnet","category":"lightweight","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"StarNet","subtitle":"ひとつの星印","author":"Z. Yuan","paperDate":"2024-03-29","publishedOn":"2026-02-04","world":"external/starnet","paperTitle":"Rewrite the Stars","paperUrl":"https://arxiv.org/abs/2403.19967","bibliography":{"title":"Rewrite the Stars","authors":["Xu Ma","Xiyang Dai","Yue Bai","Yizhou Wang","Yun Fu"],"url":"https://arxiv.org/abs/2403.19967","pdfUrl":"https://arxiv.org/pdf/2403.19967v1","codeUrl":"https://github.com/ma-xu/Rewrite-the-Stars","preprint":{"id":"2403.19967","submittedOn":"2024-03-29","url":"https://arxiv.org/abs/2403.19967"},"publication":{"venue":"CVPR","year":2024,"kind":"conference","url":"https://openaccess.thecvf.com/content/CVPR2024/html/Ma_Rewrite_the_Stars_CVPR_2024_paper.html"},"citation":"@misc{lightweightstarnet2024,\n  title = {{Rewrite the Stars}},\n  author = {Xu Ma and Xiyang Dai and Yue Bai and Yizhou Wang and Yun Fu},\n  year = {2024},\n  eprint = {2403.19967},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2403.19967}\n}\n","citationPath":"/content/papers/citations/lightweight/starnet.11711ddcb0cd.bib"},"thumbnail":{"src":"/content/papers/assets/57e0e49bab986c607a82db36bbc0a45a49e42732719480f1afed603ca4c3e48a.png","width":1011,"height":588},"locale":"ja","path":"/content/papers/ja/lightweight/starnet.a7ac99cd7bbb.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"加算と乗算の差","text":"加算と乗算の差","depth":3},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"乗算を展開する","text":"乗算を展開する","depth":3},{"id":"活性化関数を除いても動く","text":"活性化関数を除いても動く","depth":3},{"id":"starnet","text":"StarNet","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"imagenet","text":"ImageNet","depth":3},{"id":"乗算をどこに置くか","text":"乗算をどこに置くか","depth":3},{"id":"速度上の代償","text":"速度上の代償","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"lightweight/mobilenet-v2","relation":"referenced","topic":""},{"id":"lightweight/fasternet","relation":"referenced","topic":""}]},{"id":"lightweight/mobilenet-v2","category":"lightweight","legacyPath":"lightweight/1801-mobilenet-v2","legacySlug":"1801-mobilenet-v2","legacyPaths":[],"title":"MobileNet-V2","subtitle":"ボトルネック内の鍛錬","author":"Z. Yuan","paperDate":"2018-01-13","publishedOn":"2024-06-27","paperTitle":"MobileNetV2: Inverted Residuals and Linear Bottlenecks","paperUrl":"https://arxiv.org/abs/1801.04381","bibliography":{"title":"MobileNetV2: Inverted Residuals and Linear Bottlenecks","authors":["Mark Sandler","Andrew Howard","Menglong Zhu","Andrey Zhmoginov","Liang-Chieh Chen"],"url":"https://arxiv.org/abs/1801.04381","pdfUrl":"https://arxiv.org/pdf/1801.04381","codeUrl":null,"preprint":{"id":"1801.04381","submittedOn":"2018-01-13","url":"https://arxiv.org/abs/1801.04381"},"publication":{"venue":"CVPR","year":2018,"kind":"conference","url":"https://arxiv.org/abs/1801.04381"},"citation":"@misc{lightweightmobilenetv22018,\n  title = {{MobileNetV2: Inverted Residuals and Linear Bottlenecks}},\n  author = {Mark Sandler and Andrew Howard and Menglong Zhu and Andrey Zhmoginov and Liang-Chieh Chen},\n  year = {2018},\n  eprint = {1801.04381},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/1801.04381}\n}\n","citationPath":"/content/papers/citations/lightweight/mobilenet-v2.a882707cbaa2.bib"},"thumbnail":{"src":"/content/papers/assets/e6bbfb346bb449f83897d76b69c3711d2e9937d40320a7aab0f3843653a688c0.jpg","width":2332,"height":1324},"locale":"ja","path":"/content/papers/ja/lightweight/mobilenet-v2.eeba5dab1f42.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"線形ボトルネック","text":"線形ボトルネック","depth":3},{"id":"残差ネットワーク","text":"残差ネットワーク","depth":3},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"逆向残差","text":"逆向残差","depth":3},{"id":"拡張ボトルネック論文付録-a","text":"拡張ボトルネック（論文付録 A）","depth":3},{"id":"モデルアーキテクチャ","text":"モデルアーキテクチャ","depth":3},{"id":"討論","text":"討論","depth":2},{"id":"画像分類性能","text":"画像分類性能","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"lightweight/mobilenet-v1","relation":"background","topic":"モバイル向けの効率的な畳み込み"},{"id":"lightweight/mobilenet-v3","relation":"next","topic":"モバイル向けの効率的な畳み込み"}]},{"id":"lightweight/fasternet","category":"lightweight","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"FasterNet","subtitle":"FLOPsは嘘をつく","author":"Z. Yuan","paperDate":"2023-03-07","publishedOn":"2025-10-23","world":"external/fasternet","paperTitle":"Run, Don't Walk: Chasing Higher FLOPS for Faster Neural Networks","paperUrl":"https://arxiv.org/abs/2303.03667","bibliography":{"title":"Run, Don't Walk: Chasing Higher FLOPS for Faster Neural Networks","authors":["Jierun Chen","Shiu-hong Kao","Hao He","Weipeng Zhuo","Song Wen","Chul-Ho Lee","S.-H. Gary Chan"],"url":"https://arxiv.org/abs/2303.03667","pdfUrl":"https://arxiv.org/pdf/2303.03667v3","codeUrl":null,"preprint":{"id":"2303.03667","submittedOn":"2023-03-07","url":"https://arxiv.org/abs/2303.03667"},"publication":{"venue":"CVPR","year":2023,"kind":"conference","url":"https://openaccess.thecvf.com/content/CVPR2023/html/Chen_Run_Dont_Walk_Chasing_Higher_FLOPS_for_Faster_Neural_Networks_CVPR_2023_paper.html"},"citation":"@misc{lightweightfasternet2023,\n  title = {{Run, Don't Walk: Chasing Higher FLOPS for Faster Neural Networks}},\n  author = {Jierun Chen and Shiu-hong Kao and Hao He and Weipeng Zhuo and Song Wen and Chul-Ho Lee and S.-H. Gary Chan},\n  year = {2023},\n  eprint = {2303.03667},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2303.03667}\n}\n","citationPath":"/content/papers/citations/lightweight/fasternet.7a313d25fdbe.bib"},"thumbnail":{"src":"/content/papers/assets/f7b24b9388f5bb090f5420a96d640e9f851fd40becb24e6bb9b31ba1ebee4b71.png","width":1012,"height":500},"locale":"ja","path":"/content/papers/ja/lightweight/fasternet.578c1f43f6a3.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"遅延はflopsをflopsで割ったもの","text":"遅延はFLOPsをFLOPSで割ったもの","depth":3},{"id":"depthwise畳み込みはどこが遅いのか","text":"depthwise畳み込みはどこが遅いのか","depth":3},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"部分畳み込みpconv","text":"部分畳み込みPConv","depth":3},{"id":"さらに11畳み込みをつなぐ","text":"さらに1×1畳み込みをつなぐ","depth":3},{"id":"fasternet","text":"FasterNet","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"imagenet","text":"ImageNet","depth":3},{"id":"検出とセグメンテーション","text":"検出とセグメンテーション","depth":3},{"id":"アブレーション","text":"アブレーション","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"lightweight/mobilenet-v2","relation":"referenced","topic":""},{"id":"lightweight/shufflenet","relation":"referenced","topic":""},{"id":"lightweight/ghostnet","relation":"referenced","topic":""}]}],"text":"近年の新しい構造には、要素ごとの乗算がよく隠れています。\n\nTransformerのFFNをGLUに替えると2分岐を掛け合わせ、Mambaのブロックにはゲート分岐があります。視覚側のFocalNet、HorNet、VANも乗算を使います。記号`*`が星に見えるので、この論文は「star operation」と呼びます。\n\n各論文は乗算が有効だと述べますが、説明はさまざまです。FocalNetは変調やゲート、HorNetは高次特徴、VANは畳み込み型注意として捉えます。この研究はNortheastern UniversityとMicrosoftによるもので、著者はその仕組みを明らかにしようとします。2本の線形分岐を掛けると、何が増えるのでしょうか。\n\n## 問題の定義\n\n### 加算と乗算の差\n\n著者は単純なブロックを作りました。入力をLayerNormとdepthwise畳み込みに通し、2つの全結合分岐へ分けます。片方にGELUを置き、加算か乗算で合流させ、最後に全結合層と残差接続を置きます。\n\n[![原論文Figure 1。左はデモ用ブロックで、上からLayer Norm、DW-Conv、2つのFC分岐へ進み、左分岐にGELUがある。赤い疑問符の位置で合流し、sum or starと記され、さらにFCと残差加算へ進む。右は横軸が幅96〜448の棒グラフで、水色はsumのImageNet top-1、淡い橙色はstar。赤い三角形の破線は差を示し、幅96の約6.5ポイントから448の約2.5ポイントへ下がる。](/content/papers/assets/57e0e49bab986c607a82db36bbc0a45a49e42732719480f1afed603ca4c3e48a.png)](/content/papers/assets/57e0e49bab986c607a82db36bbc0a45a49e42732719480f1afed603ca4c3e48a.png)\n\n*Maらの原論文Figure 1。[**PDF 1ページ**](https://arxiv.org/pdf/2403.19967v1#page=1)より。原図のキャプションは省略。*\n\nこのブロックを12層積んだDemoNetで、合流方法だけを変えてImageNetを比較します。\n\n| ネットワークの幅 | 96 | 128 | 160 | 192 | 224 | 256 | 288 |\n| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |\n| 加算 | 51.1% | 58.5% | 62.7% | 66.2% | 69.6% | 71.4% | 72.5% |\n| 乗算 | **57.6%** | **64.0%** | **68.2%** | **71.7%** | **73.9%** | **75.3%** | **76.1%** |\n\n*表：原論文Table 2より。深さは12層に固定。*\n\nすべての幅で乗算が勝ち、細いほど差が大きくなります。幅96では6.5ポイント、288では3.6ポイントです。幅を固定して深さを変えた場合も、差は4〜6.5ポイントを保ち、深くしても縮まりません。\n\n乗算は細いネットワークで特に有効です。後でこの性質を使います。\n\n## 問題の解決\n\n### 乗算を展開する\n\n出力1チャネルを考えます。入力$x$は$d$チャネルで、末尾に1を加え、バイアスも重みに含めます。2分岐の積は\n\n$$\n(w_1^\\top x)(w_2^\\top x)=\\Big(\\sum_{i=1}^{d+1} w_1^i x_i\\Big)\\Big(\\sum_{j=1}^{d+1} w_2^j x_j\\Big)=\\sum_{i=1}^{d+1}\\sum_{j=1}^{d+1} w_1^i w_2^j\\, x_i x_j .\n$$\n\n展開すると、すべての$x_i x_j$の線形結合です。$x_i x_j$と$x_j x_i$は同じ項なので、まとめると$(d+2)(d+1)/2$項、およそ$d^2/2$になります。計算自体は$d$次元ですが、約$d^2/2$次元の空間で線形演算をしたような結果になり、各次元は入力の2次項です。\n\n$d=4$で確かめます。\n\n```python\nimport numpy as np\n\nrng = np.random.default_rng(0)\nd = 4\nx = np.append(rng.normal(size=d), 1.0)        # 末尾に1を加え、バイアスを重みに含める\nw1, w2 = rng.normal(size=d + 1), rng.normal(size=d + 1)\n\nstar = (w1 @ x) * (w2 @ x)                    # 2つの線形分岐を要素ごとに掛ける\n\n# すべてのx_i x_jの線形結合へ展開\nA = np.outer(w1, w2)\nterms = {(i, j): (A[i, i] if i == j else A[i, j] + A[j, i]) for i in range(d + 1) for j in range(i, d + 1)}\nexpanded = sum(a * x[i] * x[j] for (i, j), a in terms.items())\n\nprint(f\"直接の乗算：{star:.6f}\")\nprint(f\"2次項への展開：{expanded:.6f}\")\nprint(\"入力次元\", d, \"、展開後の項数\", len(terms))\nsym = (A + A.T) / 2                           # 15個の係数は対称行列から生まれる\nprint(\"係数行列のランク：\", np.linalg.matrix_rank(sym))\n```\n\n```text\n直接の乗算：-0.059305\n2次項への展開：-0.059305\n入力次元 4 、展開後の項数 15\n係数行列のランク： 2\n```\n\n入力4チャネルが15個の2次項へ展開されます。幅128なら8385項です。\n\n機械学習の多項式カーネルに似ています。多項式カーネル$k(x_1,x_2)=(\\gamma\\, x_1\\cdot x_2+c)^d$は、特徴を明示的に展開せず、高次元の多項式特徴空間で計算できます。star operationも低次元で計算し、高次元の表現を得ます。\n\nさらに層を積むと、次元は引き続き倍々に増えます。2層目で1層目の2次項を再び掛けると4次項になります。著者の計算では、幅128、10層の暗黙的な次元数は約$90^{1024}$で、無限大とみなせるほどです。\n\nただし最後の出力には注目が必要です。15個の係数は多く見えますが、すべて$w_1$と$w_2$の2ベクトルから作られ、係数行列のランクは2だけです。1出力チャネルが任意の2次項を自由に選べるわけではなく、次元は高くても係数には強い制約があります。著者も考察で、暗黙的な次元の係数分布は通常のネットワークの重みほど自由に調整できず、非常に高い暗黙次元に対して改善が中程度にとどまる原因かもしれないと述べています。\n\n[![原論文Figure 2。4つの2次元散布図に、橙色と緑色の点が交互にかみ合う2つの三日月形で並ぶ。上段はニューラルネットワークで、左のsum operationの境界は斜めの直線、右のstar operationは三日月に沿う曲線。下段はSVMで、左のGaussian Kernelの緑色領域は丸みがあり、右のPolynomial Kernelの境界は上段のstar operationに近い形。](/content/papers/assets/b55872c7135a393362fc7046bb8e6019d674440f9d2e201f4eae032c743d3b02.png)](/content/papers/assets/b55872c7135a393362fc7046bb8e6019d674440f9d2e201f4eae032c743d3b02.png)\n\n*Maらの原論文Figure 2。[**PDF 5ページ**](https://arxiv.org/pdf/2403.19967v1#page=5)より。原図のキャプションは省略。*\n\n著者はtwo moonsデータで決定境界を描きました。加算ネットワークは直線、乗算ネットワークは曲線を描き、その形はガウスカーネルより多項式カーネルのSVMに近くなります。\n\n### 活性化関数を除いても動く\n\n乗算自体が非線形性を生むなら、活性化関数をまったく置かなければどうなるでしょうか。小さなネットワークでXORを試します。第1・第3象限と第2・第4象限を分ける問題で、どんな1本の直線でも分離できません。\n\n```python\nimport torch\n\ntorch.manual_seed(0)\nx = torch.rand(2000, 2) * 2 - 1                # 座標が-1〜1の平面上の点\ny = (x[:, 0] * x[:, 1] > 0).float()           # 第1・第3象限は1、第2・第4象限は0（XOR）\n\ndef train(combine, width=4):\n    W1, W2 = torch.nn.Linear(2, width), torch.nn.Linear(2, width)\n    head = torch.nn.Linear(width, 1)\n    params = [*W1.parameters(), *W2.parameters(), *head.parameters()]\n    opt = torch.optim.Adam(params, lr=0.05)\n    for _ in range(1000):\n        logit = head(combine(W1(x), W2(x))).squeeze(1)\n        loss = torch.nn.functional.binary_cross_entropy_with_logits(logit, y)\n        opt.zero_grad()\n        loss.backward()\n        opt.step()\n    return ((logit > 0).float() == y).float().mean().item()\n\nprint(f\"2分岐の加算：精度 {train(lambda a, b: a + b):.1%}\")\nprint(f\"2分岐の乗算：精度 {train(lambda a, b: a * b):.1%}\")\n```\n\n```text\n2分岐の加算：精度 53.6%\n2分岐の乗算：精度 100.0%\n```\n\n加算版は最初から最後まで線形関数なので、半分程度しか当たりません。乗算版は$x_1x_2$の項を持ち、そのまま解けます。\n\n論文は幅192、深さ12のDemoNetでも同じ実験を行います。すべての活性化関数を除くと、加算は66.2%から32.4%へ下がりますが、乗算は71.7%から70.5%へ下がるだけです。\n\n### StarNet\n\n細いネットワークで最も有効なので、著者は軽量ネットワークStarNetを作りました。\n\n[![原論文Figure 3。上段はStarNet全体で、星空画像をConv（BN、ReLU6）へ通し、stage1〜stage4へ進む。各stageはConvとStar Blocksの積層で、チャネルはd〜8d、解像度はH/4〜H/32となり、GAPとFCで終わる。左下のstar blockはDW-Conv、BNから2つのFCへ分かれ、dを4dへ拡張する。片方にReLU6があり、星印で掛け、FCでdへ戻し、BN、DW-Convを通る。外側には残差接続。右下の凡例はConvがks=3・stride=2、DW-Convがks=7・stride=1、星が要素ごとの乗算を示す。](/content/papers/assets/55ab4184389c408d6a5688d8bb59a97d8b20245cb9681ca5344bd295116806f6.png)](/content/papers/assets/55ab4184389c408d6a5688d8bb59a97d8b20245cb9681ca5344bd295116806f6.png)\n\n*Maらの原論文Figure 3。[**PDF 6ページ**](https://arxiv.org/pdf/2403.19967v1#page=6)より。原図のキャプションは省略。*\n\n構造は意図的に単純です。4ステージあり、各冒頭でstride 2の3×3畳み込みを使い、解像度を下げ、チャネルを倍にします。ブロックはDemoNetから数か所変えます。LayerNormをBatchNormへ替えてdepthwise畳み込みの後に置き、推論時に融合できるようにします。GELUをMobileNetV2のReLU6へ替え、末尾にdepthwise畳み込みを追加し、2分岐ともチャネルを4倍へ拡張します。\n\n再パラメータ化、注意、SEなどの定番の工夫は使いません。star operation自体の寄与を隠したくなかったと著者は述べます。4サイズは最初のステージのチャネル数と各ステージのブロック数だけを変えます。最小のS1は2.9Mパラメータ、425M FLOPs、最大のS4は7.5M、1075Mです。\n\n\n> [!TIP]\n> \n> ReLU6と倒立残差はMobileNetV2を、実測速度を重視する軽量ネットワークはFasterNetを参照してください。\n> \n> - **[[18.01] MobileNet-V2：ボトルネック内の鍛錬](/blog/papers/lightweight/mobilenet-v2)**\n> - **[[23.03] FasterNet：FLOPsは嘘をつく](/blog/papers/lightweight/fasternet)**\n\n\n## 考察\n\n### ImageNet\n\nDeiTのレシピで300 epoch学習します。遅延はiPhone 13、P100 GPU、Intel E5-2680 CPUでバッチ1を測定します。\n\n| モデル | top-1 | パラメータ数 | FLOPs | iPhone 13 | GPU | CPU |\n| --- | ---: | ---: | ---: | ---: | ---: | ---: |\n| MobileOne-S0 | 71.4% | 2.1M | 275M | 0.7 ms | 1.1 ms | 2.2 ms |\n| FasterNet-T0 | 71.9% | 3.9M | 338M | 0.7 ms | 2.5 ms | 5.7 ms |\n| StarNet-S1 | **73.5%** | 2.9M | 425M | 0.7 ms | 2.3 ms | 4.3 ms |\n| MobileOne-S1 | 75.9% | 4.8M | 825M | 0.9 ms | 1.5 ms | 6.0 ms |\n| EfficientNet-B0 | 77.1% | 5.3M | 390M | 1.6 ms | 3.4 ms | 8.8 ms |\n| StarNet-S3 | **77.3%** | 5.8M | 757M | 0.9 ms | 2.7 ms | 6.7 ms |\n| MobileOne-S2 | 77.4% | 7.8M | 1299M | 1.0 ms | 2.0 ms | 8.9 ms |\n| EdgeViT-XS | 77.5% | 6.8M | 1166M | 3.5 ms | 12.1 ms | 18.3 ms |\n| StarNet-S4 | **78.4%** | 7.5M | 1075M | 1.0 ms | 3.7 ms | 9.4 ms |\n\n*表：原論文Table 6の一部の行を抜粋。*\n\niPhone 13では見事な結果です。同じ0.7 msでS1はMobileOne-S0より2.1ポイント高く、S4はEdgeViT-XSより0.9ポイント高く、3.5倍速くなります。\n\nGPUとCPUでは少し状況が違います。P100でStarNet-S4は3.7 ms、MobileOne-S2は2.0 msです。CPUでも9.4対8.9でMobileOneが少し速くなります。StarNetの強みはスマートフォンです。EdgeViTのような混合構造には3装置すべてで大きく勝ちますが、MobileOneとの比較は装置によります。\n\n### 乗算をどこに置くか\n\n著者はStarNet-S4の乗算を、ステージごとに加算へ戻します。\n\n| 第1ステージ | 第2ステージ | 第3ステージ | 第4ステージ | top-1 |\n| --- | --- | --- | --- | ---: |\n| 加算 | 加算 | 加算 | 加算 | 75.3% |\n| 乗算 | 乗算 | 加算 | 加算 | 75.2% |\n| 乗算 | 乗算 | 乗算 | 加算 | 76.8% |\n| 加算 | 加算 | 乗算 | 乗算 | **78.4%** |\n| 乗算 | 乗算 | 乗算 | 乗算 | **78.4%** |\n\n*表：原論文Table 7の一部の行を抜粋。*\n\nすべて加算にすると3.1ポイント下がります。しかし最初の2ステージでは乗算の有無にほとんど差がなく、後半2つだけで全体を乗算した場合と同じです。著者は、前半は細すぎてReLU6が多くの特徴を0にし、積の2次項も0になるため、高次元の利点が生きないと説明します。\n\n活性化関数の位置も試します。まったく置かないと75.6%、片方の分岐だけなら78.4%、両方なら78.0%、乗算後なら77.0%です。片方だけを変えるのが最良です。\n\n片方だけを変換し、もう片方を入力$x$のままにして$(W_2\\,\\mathrm{act}(W_1 x)) * x$とすると、計算量をそろえても74.4%へ下がります。展開後の2次項を十分増やすには、両分岐に線形変換が必要です。\n\n### 速度上の代償\n\n理論上、乗算は加算より少し高価です。実測ではiPhoneとGPUは同速度、CPUでは乗算がやや遅く、StarNet-S4は9.4対8.4 msです。\n\n論文で扱っていない問題もあります。GitHubで[量子化への質問](https://github.com/ma-xu/Rewrite-the-Stars/issues/10)があり、著者は未検証と回答しています。別の利用者は、2つの特徴を掛けるとINT8で表せる範囲を超えやすいと指摘しています。スマートフォンへ配置する前に、自分で検証する必要があります。\n\n## 結論\n\nこの論文は、皆が使いながら説明が分かれていた演算を、理解しやすい1行の展開式へ書き換えました。2本の線形分岐の積は、約$d^2/2$個の2次項の線形結合に等しく、層を積むと暗黙的な次元は急増します。細いネットワークほど乗算の効果が大きい理由も説明できます。最も足りないのが次元だからです。\n\nランク2の係数行列は限界も示します。展開される項は多くても、自由に調整できる係数は少なく、「ほぼ無限次元」から得た改善はDemoNetとStarNetで3〜6.5ポイントです。\n\ntimmには`starnet_s1`〜`starnet_s4`の事前学習済み重みがあります。軽量モデルの精度が足りなければ、まずブロック内の加算を探し、乗算へ替えて試してみるのもよいでしょう。\n","imageSizes":{"/content/papers/assets/57e0e49bab986c607a82db36bbc0a45a49e42732719480f1afed603ca4c3e48a.png":{"width":1011,"height":588},"/content/papers/assets/b55872c7135a393362fc7046bb8e6019d674440f9d2e201f4eae032c743d3b02.png":{"width":978,"height":609},"/content/papers/assets/55ab4184389c408d6a5688d8bb59a97d8b20245cb9681ca5344bd295116806f6.png":{"width":1011,"height":693}}}
