らんだむな記憶

blogというものを体験してみようか!的なー

machine_learning

勾配ブースティング木 (3)

LightGBM を使ってみよう。今回も Kaggle 本 p. 240 と公式ドキュメントを混ぜたような内容にしつつ 決定木 (6) - らんだむな記憶 の内容を試す。 import numpy as np from sklearn import datasets from sklearn.model_selection import train_test_split f…

勾配ブースティング木 (2)

とりあえず XGBoost を使ってみる。Kaggle 本*1と公式ドキュメントを混ぜたような内容にしつつ 決定木 (6) - らんだむな記憶 の内容を試す。 import numpy as np from sklearn import datasets from sklearn.model_selection import train_test_split from s…

勾配ブースティング木 (1)

ということで、決定木のことがゆるふわで分かった気持ちになったので、勾配ブースティング木 (GBDT) に手を出してみよう。定番の Kaggleで勝つデータ分析の技術:書籍案内|技術評論社 と 『実践Data Scienceシリーズ PythonではじめるKa…

決定木 (6)

漸く scikit-learn での iris dataset の分類を試みる。今回は scikit-learn 1.0.2 を使った。 といってもよくある実装の通りで from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTree…

決定木 (5)

そろそろコードを見ていきたいが、その前に Python機械学習プログラミング 達人データサイエンティストによる理論と実践 - インプレスブックス にディープラーニングにも通じる極めて重要なことが書いてあるのでメモしておきたい。それは p.92 にある。 だが…

決定木 (4)

「情報理論」を読みつつ、エントロピーの意味を掘り下げたい 定義 確率 $p$ の情報が実際に生起したことを知らせる情報に含まれている情報量を$$ \begin{align*} - \log_2 p \end{align*} $$と定義する。とある。つまり、エントロピーとは、事象 $A_1, \cdot…

決定木 (3)

「情報理論」の話を思い出すと情報量はエントロピーの差で測られた。つまり不確定度の差が情報量ということであった。不純度もまた、不純度の差が情報利得ということのようである。ある程度同一視して、不純度が高いということは不確定度が高いことだと考え…

決定木 (2)

https://github.com/rasbt/python-machine-learning-book-3rd-edition/blob/master/ch03/ch03.ipynb を見ると決定木のところで Gini Impurity(ジニ不純度)やエントロピーとの比較が出ている。この不純度なるものが何かピンと来ないが手元の統計の本を見て…

決定木 (1)

真面目に調べたことないなと。 XGBoost: [1603.02754] XGBoost: A Scalable Tree Boosting System with Greedy function approximation: A gradient boosting machine. LightGBM : https://proceedings.neurips.cc/paper/2017/file/6449f44a102fde848669bdd9…

ImageNet のサブセット (2)

Cloud TPU での ResNet のトレーニング | Google Cloud を見ると fake_imagenet データセットは Cloud Storage の次のロケーションにあります。 gs://cloud-tpu-test-datasets/fake_imagenet fake_imagenet データセットは、Cloud TPU の使用方法を理解し、…

ImageNet のサブセット (1)

ImageNet の訓練にどれくらい時間がかかるか? - らんだむな記憶 の続き。ImageNet を見ると、 The data is available for free to researchers for non-commercial use.Mar 11 2021. ImageNet website update. ってなっているが一時期停止してなかったっけ…

畳み込み (4)

転置畳み込みを nn.ConvTransposed2d で実行する。意外とわかりにくい結果になる。数式で見たように、stride=1 の時はただの畳み込みなので興味がない。stride=2 を見よう。因みに元々 256x256 の画像なので、そのままだと 512x512 になってしまうのだがそれ…

畳み込み (3)

ここまでは畳み込みのついてストライドを考えずにきたが、仮にストライド $n$ の場合を考えると、離散的なものを無理矢理連続量として考えるので、あまり正確ではないが$$ \begin{align*} g(x) = (C_{n} f)(x) = \int_{|y-nx| \leq r} \!\!\!\!\!\!\!\!\!\!\…

畳み込み (2)

畳み込みは大雑把にはカーネル $k$(サイズ $2r+1$)と入力関数 $f$ に対して$$ \begin{align*} (k * f)(x) = \int_{|y-x| \leq r} \!\!\!\!\!\!\!\!\! k(x-y) f(y) dy \end{align*} $$と定義されるのであった。ここでデルタ関数 $\delta$ をカーネルとする…

畳み込み (1)

簡単なサンプルについて考えてみたい。いつもの画像のうちの 1 枚を 2 値化したものを考える。 conv = nn.Conv2d(1, 1, kernel_size = 3, stride=1, padding=1, bias=False) kernel = np.array([[ [ [1., 1., 1.], [1., -8., 1.], [1., 1., 1.] ] ]]) conv.w…

量子ソフトウェア産学協働ゼミ

joint-seminar/202203 at main · utokyo-qsw/joint-seminar · GitHub こういのがあるのか。 2022年3月開催 第1回量子ソフトウェア産学協働ゼミ この回は量子は関係なさそう・・・。よく分からなかったけど、大きな行列を幾つかのコンポーネントに分けて低次…

いつもの画像

標準画像データベース[神奈川工大 信号処理応用研究室] SIPI Image Database とかから入手できるらしい。

Florence

[2111.11432] Florence: A New Foundation Model for Computer Vision という論文があるらしい。良さそうならまた読んでみるか。

DeepAA (3)

少し論文の内容も確認しておこう。論文によると、12-pt の MS Pゴシックでのアスキーアートを考慮している。MS ゴシック、MS 明朝相当のフォントについて知る | 産業向け製品 | リコー からわかるように、$96/72 \times 12 = 16$ dot のビットマップフォ…

DeepAA (2)

面白いので print(model.summary()) してみると以下のように素朴な感じだ。 Model: "model_1" _________________________________________________________________ Layer (type) Output Shape Param # ===================================================…

DeepAA (1)

GitHub - OsciiArt/DeepAA: make ASCII Art by Deep Learning にディープラーニングでアスキーアートを描くというプロジェクトがある。ちょうど Pix2pix とか CycleGAN とかが世の中に出てきた頃のプロジェクトだ。ただし GAN を使っているわけではない。こ…

Paperspace Gradient

Alternative to Colab Pro: Comparing Google's Jupyter Notebooks to Gradient Notebooks へー、altColab か。面白そう。やや不安に思う気持ちもあったけど、Paperspace Gradient | Practical Deep Learning for Coders のように fast.ai からも紹介されて…

ImageNet の訓練にどれくらい時間がかかるか?

How long to train VGG19 on ImageNet? : computervision There are 4 TeslaV100 in my server and I can only use 2 of them, and the other 2 were used by others. Now one epoch will take about 2 hours. Is it normal? Yes, that is normal, imageNet …

自己注意

torch.nn.Transformer の自己注意ブロックの実装を見ると、transformer.py#L352 のようになっている。 # self-attention block def _sa_block(self, x: Tensor, attn_mask: Optional[Tensor], key_padding_mask: Optional[Tensor]) -> Tensor: x = self.self…

Attention (4)

分類器への入力部分を見ると、 class AttentionDecoder: def forward(self, xs, enc_hs): ... # enc_hs = ['吾輩', 'は', ...], dec_hs = ['i', 'am', ...], c = '吾輩' c = self.attention_forward(enc_hs, dec_hs) # '吾輩'+'i' out = np.concatename((c, …

Attention (3)

p.331 では、デコーダのレイヤについて、LSTM('<eos;>', '吾輩は猫である', None) から始まると同時に、各時刻での LSTM の出力に対して、hs = ['吾輩', '吾輩は', '吾輩は猫', '吾輩は猫で', '吾輩は猫である'] を使った何かしらの計算を挟んでから Affine 層(分</eos;>…

微分可能レンダリング

R.Yamauchi on Twitter: "アルバイトの人に書いてもらった微分可能レンダリング布教用スクリプトです。 https://t.co/N8R9q0I8Tc" を見ると、NeRF のことが書いてあって「え?」となる。あれって複数視点のカメラ映像から 3D 画像をおこすやつじゃなかったっ…

Attention (2)

続いて言語モデルの話を振り返る。例えば LSTM をとると、$$ \begin{align*} h_t, c_t = \mathrm{LSTM}(x_t, h_{t-1}, c_{t-1}) \end{align*} $$であった。['you', 'say', 'goodbye', 'and', 'i', 'say', 'hello', '.'] を $\{x_t\}_{t \geq 0}$ として渡す…

Attention (1)

ちょっと気持ちを入れ替えて、ゼロつく 2 (17) - らんだむな記憶 以来 100 日ほど寝かせたゼロつく 2 を題材に attention について整理をしておきたい。ざっと 7 章「RNN による文章生成」からおさらいしたい。[Embedding]->[LSTM]->[Affine]->[Softmax] と…

PyTorch 公式チュートリアル

GitHub - YutaroOgawa/pytorch_tutorials_jp: PyTorch公式チュートリアル(日本語翻訳版)の各ノートブックファイル(Google Colab用)です こんなものが。