【論文メモ】Lifting the Curse of Multilinguality by Pre-training Modular Transformers
· ☕ 1 min read
NACCL22 多言語を扱うモデルにおいて, 言語の数を増やせば増やすほど精度が下がる「the curse of multilinguality」(多言語の呪い)という現象が存在する この「多言語の呪い」を対処するモデルとしてX-MODを提案 概略 言語ごとにbottleneck型のモジュールを用意し, 言語ごとにスイッチさせる それ故, 拡張は容易で, 学習・推 ...


【摩訶不思議】azcopyはなぜ速い?
· ☕ 3 min read
TL;DR azcopyとは, Azure内のblobを操作するためのツールなのだが, これを使えば摩訶不思議. なぜかwgetよりも快適にblobをダウンロードできる. azcopyがなぜこんなにも速いのか誰か教えてくれ 仮説: azcopyはコネクションを大量に張る + サーバを分散させている 導入: wgetが遅い問題 ORTの再現実験のため, ...

日本語版Image Captioningの学習・推論コードを提供する
· ☕ 1 min read
ひょんなことから最近Image Captioning(画像キャプション生成)を触っている だが, ググってもググっても日本語でImage Captioningしてる人があまりに居ない… コードを検索してもヒットしたのはこの子だけ…🤔 (しかもChainer …) https://github.com/yuyay/chainer_nic 日本語での画像キャプション生成界隈はプレイヤ ...


【論文メモ】Can Neural Nets Learn the Same Model Twice? Investigating Reproducibility and Double Descent from the Decision Boundary Perspective
· ☕ 4 min read
はじめに CVPR22 決定境界を描画し, 再現性と汎化性について定量的に考察した論文 決定境界の描画 (領域の決定) 如何に決定境界を描画するかが重要になってくる その上でまず, データ多様体 $\mathcal{M}$の近傍(on-manifold)を取るのか, $\mathcal{M}$から離れた領域(off-manifold)を取るのかを考 ...


【相関係数】Pearson・Spearman・Kendallの使い分け
· ☕ 1 min read
ピアソン $$ r_{xy} = \frac{{\displaystyle \sum_{i = 1}^n (x_i - \overline{x}) (y_i - \overline{y})}}{\sqrt{{\displaystyle \sum_{i = 1}^n (x_i - \overline{x})^2}} \sqrt{{\displaystyle \sum_{i = 1}^n (y_i - \overline{y})^2}}} = \frac{s_{xy}}{s_xs_y} $$ データ(X,Y)が連続で正規分布に従っていることが前提 なので外れ値に弱い スピアマン $$ \rho_{xy} = \frac{\sum_{i=1}^{n}(R(x_i) - \overline{R(x)})(R(y_i) - \overline{R(y)})} {\sqrt{\sum_{i=1}^{n}(R(x_i) - \overline{R(x)})^{2}\cdot\sum_{i=1}^{n}(R(y_i)-\overline{R(y)})^{2}}} = 1 - \frac{6\sum_{i=1}^{n}(R(x_i) - R(y_i))^{2}}{n(n^{2} - 1)} $$ $R(x)$は $x$の順位 順位をそのままピアソンの式に当てはめるイメージ 正規分布・連続という仮定がない分使い勝手が良い ケンドール $$ \tau_{xy} ...

【論文メモ】Test-Time Training with Self-Supervision for Generalization under Distribution Shifts
· ☕ 2 min read
PMLR20 trainとtestで分布が違う場合の再学習手法TTT(Test-Time Training)を提案 まずは普通に学習 次にモデルを前半(A)と後半(B)に分けて, 元のA + 新しいB’ のモデルで自己教師あり学習を行う headを取っ替えるイメージ (B→B') このとき, testサンプルを使用して自己教師あり学習を行う ...

【論文メモ】Energy-Based Learning for Scene Graph Generation
· ☕ 3 min read
はじめに Energy Based Modelを用いて画像からscene graphを生成する手法(フレームワーク)を提案 既存手法は次のようにクロスエントロピーでscene graphを生成する $$\log p(SG|I) = \sum_{i \in O} \log p(o_i| I) + \sum_{j \in R} \log p(r_j | I).$$ このとき, object $O$とrelation $R$が互いに独立に計算されている ここが問題で, 本来なら互いに弱い依存性があるはず し ...


【TeamViewer】sshでパスワードを変更する
· ☕ 1 min read
TeamViewerでパスワードがわからなくなった どうやらsshで入れるならパスワードを変更できるらしい sudo teamviewer passwd [password] で任意のパスワード[password]に変更可 1 2 3 teamviewer info sudo teamviewer passwd [password] teamviewer info ...

【ray】@remoteがメモリを大量に食う時はray.put()を使おう
· ☕ 2 min read
はじめに rayとは → https://github.com/ray-project/ray 分散並列処理を簡単に書けるフレームワーク ray.remoteは怖い @ray.remoteが付された関数が使用するオブジェクトは, 呼び出される都度内部でray.put()が呼ばれ, データがメモリ上に展開される 若干この仕様が厄介で, ray.get()なんかを使うと, 同じオブジェクトを何度もメモリ上に展 ...

pycocoevalcapのMETEORがバグる (self.meteor_p.stdin.flush)
· ☕ 1 min read
なぜかpycocoevalcapでMETEORの計算が止まる問題 どうやらself.meteor_p.stdin.flush() あたりで止まっているらしい 結論から言えば, 俺の場合キャプションに\nが入っていたせいだった そもそもCOCO captions のキャプション自体結構汚いので注意 変な改行入ってたり, キャプションがなぜか6つあったり ...


Stochastic Gradient Langevin Dynamicsを理解する
· ☕ 4 min read
はじめに MCMCの一種 目標: ある分布 $\pi(x)$からのサンプリングを行いたい Metropolis-Hastingsアルゴリズム (MH) Hamiltonian Monte Carlo (HMC) Langevin Dynamics (Metropolis-adjusted Langevin Algorithm) Stochastic Gradient Langevin Dynamics (SGLD) の順に見ていくと理解しやすい Metropolis-Hastings Metropolis-Hastingsについては既知のもとする 提案分布 $q(z)$を元に判定関数を用いて受容・棄却を行うMCMC cf. ...

ハミルトニアン
· ☕ 1 min read
解析力学において, ハミルトニアンとは「系のエネルギーを座標と運動量で表したもの」 系のエネルギー自体を表すため, 時間変化せず時間 $t$に依存しない $\mathcal{K}$を運動エネルギー、 $\mathcal{U}$をポテンシャルエネルギーとして $$H := H(q,p;t) =\mathcal{K}(p)+\mathcal{U}(q)$$ ハミルトニアンの正準方程式 運動ベクトル $p_r$と座標ベクトル $q_ ...

必要なものだけpip freezeする方法
· ☕ 1 min read
pipreqsという非常に便利なライブラリが存在する pipreqs . だけでimportされているライブラリだけを出力してくれる マジで便利 例 pipreqsを使えばこれが出力される 1 2 3 4 5 6 7 8 9 10 11 12 ❯ pipreqs . && cat requirements.txt colored_traceback==0.3.0 h5py==3.7.0 matplotlib==3.5.3 nltk==3.7 numpy==1.23.2 Pillow==9.2.0 pycocoevalcap==1.2 skimage==0.0 torch==1.8.2+cu111 torchvision==0.9.2+cu111 tqdm==4.64.0 pip freeze だとこれ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 ...