Posts
重み共有
· ☕ 1 min read
基本的にはsumを取れば良いらしい PyTorchだと普通に呼び出せばそのまま重みの共有になるらしい https://vasteelab.com/2022/01/31/post-1951/ http://neural.vision/blog/deep-learning/backpropagation-with-shared-weights/ ...


GemPooling
· ☕ 1 min read
初出 Fine-tuning CNN Image Retrieval with No Human Annotation そもそも, チャネルごとのPoolingがなぜうまく行くのか ...


Global Average Pooling
· ☕ 1 min read
例えばVGG-16を考えてみると, 最後の全結合って計算量やばいよね VGG-16だと, $7 \times 7 \times 512 → 1 \times 1 \times 4096 $ で全結合 パラメタ数は $(7 \times 7 \times 512) \times (1 \times 1 \times 4096) $ → エグい チャネル方向に平均をとって, そいつらをconcatしてあげればOKじゃない? → Global Average Pooling 性能は普通にflattenした場合とさほど変わらないらしい https://qiita.com/mine820/items/1e49bca6d215ce88594a ...


【論文メモ】CvT
· ☕ 1 min read
Convは高いロバスト性を持つ 例えば画像のシフトに強かったり ⇒ ViTにConvを導入 Conv自体はパッチ分割 & 線形変換と同じ CvTはパッチ同士が重なり合う Positional Encodingは行わない Convが同じことをやってるらしい … ? How Much Position Information Do Convolutional Neural Networks Encode? ...


intermediate fine-tuning
· ☕ 1 min read
普通にpre-train data-richなデータセットで学習 fine-tuning NLPにおいては, 結構よく使われる手法らしい by BeiT ...

linear probe
· ☕ 1 min read
linear probingだけでは, 有用だが非線形な特徴量は扱えない そこで, partial fine-tuningと呼ばれるものがある 最後の何層かだけを再び学習対象として, それら以外はfreezeさせる intermediate fine-tuning というものもある 結構よく使われる手法らしい ...


CLS
· ☕ 1 min read
普通のtransformerモデルだとCLSをそのままMLPに通して分類器を構築する 本当にそれで良いの?? BERT系だと CLSを使うパターン BERT / ViT の画像分類タスク 後続のトークンの先頭と最後だけ使うパターン BERTのQAタスク Global Average Poolingで全トークンを圧縮するパターン BeiT の画像分類 がある https://www.ai-shift.co.jp/techblog/2145 todo ...

alienware
· ☕ 1 min read
ls -l /sys/class/leds alienware::global_brightness /sys/class/leds/alienware::global_brightness/brightness https://forum.manjaro.org/t/keyboard-rgb-light-on-off/45028/25 ...

torch.view
· ☕ 1 min read
同じ順序でメモリ上に展開されてないとダメだから注意 1 2 3 4 >>> torch.t(x).view(-1, 2) Traceback (most recent call last): File "<stdin>", line 1, in <module> RuntimeError: invalid argument 2: view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Call .contiguous() before .view(). at /Users/soumith/code/builder/wheel/pytorch-src/aten/src/TH/generic/THTensor.cpp:237 1 2 3 4 5 6 x = torch.Tensor([[[ 1., 5., 9.], [ 2., 6., 10.], [ 3., 7., 11.], [ 4., 8., 12.]]]) x = x.unsqueeze(0) print(x.transpose(-1,-2).view(1,-1,2)) ↑ これだとメモリ上に展開されてないからダメ 1 2 3 x = torch.Tensor([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) x = x.unsqueeze(0).transpose(-1,-2) print(x.transpose(-1,-2).view(1,-1,2)) ↑こっちだとOK ...

Sparse Attention
· ☕ 1 min read
https://data-analytics.fun/2021/02/01/understanding-sparse-transformer/ todo ...