機械学習
残差接続
· ☕ 1 min read
残差の何がうれしいか? そのモジュールが特徴量変換器として必要なければスキップすることができる 言い換えれば, 恒等変換が起点となるので, 恒等写像が簡単に実現できる ...

【論文メモ】CLIP
· ☕ 1 min read
CLIPによって, image↔textの特徴量変換が容易になったと言える → ViLD: Open-vocabulary Object Detection via Vision and Language Knowledge Distillation ...


AIC (赤池情報量基準)
· ☕ 1 min read
真の分布 $g$と得られた分布 $f$のKLダイバージェンスを最小化したい → ( $f$と $g$の交差エントロピー) - ( $g$のエントロピー) を最小化したい で, 真の分布 $g$が得られないので, 色々と強い仮定を連ねると, 例のあの式が導出されるみたい 割とAICの導出は難しい https://gyazo.com/fdf004f02bebf52589f0be3e740535f7 ...

Matterport3DSimulatorをCUDA11.1で動かす
· ☕ 1 min read
Matterport3DSimulatorをCUDA11.1で動かすDockerfile 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 44 FROMnvcr.io/nvidia/pytorch:19.05-py3FROMphp:7.1.9-apacheFROMnvidia/cuda:11.1-cudnn8-devel-ubuntu18.04RUN rm /etc/apt/sources.list.d/cuda.listRUN rm /etc/apt/sources.list.d/nvidia-ml.listRUN apt-key del 7fa2af80RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pubRUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pubRUN apt-get updateRUN apt-get -y upgradeRUN apt-get -y install nano wget curl# ONNX Runtime Training Module for PyTorch# Copyright (c) Microsoft Corporation. All rights reserved.# Licensed under the MIT License.ARG TORCH_CUDA_VERSION=cu111 ARG TORCH_VERSION=1.8.1ARG TORCHVISION_VERSION=0.9.1# Install and update tools to minimize security vulnerabilitiesRUN apt-get updateRUN apt-get install -y software-properties-common wget apt-utils patchelf git libprotobuf-dev protobuf-compiler cmake RUN unattended-upgradeRUN ...

Data-centric AI
· ☕ 1 min read
モデルやアルゴリズムではなく, データセットそのものをどうにかしましょう的なやつ モデル・アルゴリズムを固定し, データセット自体を改良していくことで, 目標値を達成する 例えば, ラベルの一貫性を目指したり, アノテータ間の差異をへらす方向に努めるイメージ ノイズの削減 ラベルミスの修正 サブクラスのクラスタリング 問題は, systema ...

問題を如何に見つけるか
· ☕ 3 min read
はじめに モデルを取っ替えるだけが"“研究"“なら, 研究はただの博打に過ぎない 重要なのは分析と評価である しかし, わかりやすい分析だけでは研究にならない(気がする) したがって, まずは分析手法を徹底的にカテゴライズする必要がある できればこれらのメトリクスを常に表示できるようにしたい ...


Stochastic Depth
· ☕ 1 min read
SwinTransformerでは有効活用されてるらしい DeiTなどにも Dropoutがネットワークの幅を調整するのに対して, Stochastic Depth ではネットワークの深さを調節する 層のとても深いResNetといったモデルはBackpropagation時の勾配消失や,各パラメータが有効に学習しない,学習時間の増大などが問題点として上げら ...


【論文メモ】Decoupling Representation and Classifier for Long-Tailed Recognition
· ☕ 1 min read
クラス間の分布が違う=クラス間不均衡による影響についての論文 一般にモデルは「特徴量抽出器」と「クラス分類器」で構成されている クラス間の分布が違う場合, 「特徴量抽出器」と「クラス分類器」のどちらに悪影響か? 答えは「クラス分類器」 特徴量の抽出においては, そこまで悪い影響はないらしい クラス分類器 : 写像された特徴空間において, ...


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


ReLUは如何に関数を近似するか?
· ☕ 2 min read
#* 関数近似 NNは基本的に関数近似器 活性化関数があることで非線形なものも近似することができる 活性化関数がなければ, ただの線形変換にしかならない + 層を重ねる意味がない ReLUはほとんど線形関数と変わらないけど, どのように関数を近似するのか? 大前提 : ReLUは折りたたみを表現できる なので, カクカクで任意の関数を近似できる $$f(x) = ...


共変量シフト
· ☕ 1 min read
BatchNormによって減らすことができる BNは学習対象のパラメタを持つので注意 共変量シフトを抑えながら, レイヤの表現量を維持するためにパラメタ $\gamma, \beta$ が使われる https://gyazo.com/b54205f667854ac7219c5f7eb002c761 後で読む https://zenn.dev/takoroy/scraps/b26c76a9f94069 ...

重みの初期化
· ☕ 1 min read
nn.init.hogehoge() で初期化できる 例 nn.init.xavier_uniform_(ln.weight) # Xavierの初期値 PyTorchの場合, デフォルトはHe ...