Microsoft Researchから、Retentive Network が提案された(2023年7月)。 興味深いので、その意義についてざっくり理解したことを、つらつらとメモしておく。 (諸々正確でない点は、ご容赦いただきたい。) [1] Yutao Sun et al., Retentive Network: A Succ…
Pythonでコマンドラインパーサと言ったら何を思い浮かべるだろう。 標準ライブラリ argparse の他、clickやfire などいろいろ選択肢があるが、私は docopt をずっと気に入って使っている。 で、docoptの(元祖)サイトを見に行くと、更新が止まっていてどうし…
100や1000などのキリの良い数を、「それプラスちょっと」の数で割る、という手計算を迫られる場面が、 少なからず(少なからず?)ある。 ぱっと浮かぶ例としては、税込金額における税別金額の比率を求める、とか。 100 / 108 = ? (※食品テイクアウトは、い…
TensorFlow(2系)の、 tf.keras.applicationsの学習済みモデルに、L2等の正規化を加える方法。 次の記事[1]で解決した。簡単にその要約を記す。 [1] Silva TS. How to Add Regularization to Keras Pre-trained Models the Right Way. 2019. sthalles.github.…
自然言語処理でお馴染み、他の分野も席巻しつつあるTransformerについて、 やっと自分の理解が追いついてきた。 Transformerとは何か、については、良い記事がたくさんあるのでそちらを参照されたい。 念のため、最小限の説明をすると、次のような感じ。 入…
Transformerに使われるAttentionと、FFN(Position-wise Dense)、全結合(Dense)、畳み込み(Convolution)の 関係を俯瞰するために、お絵描きを試みたので、ここに載せる。 もしかしたら不正確な表現があるかもしれないが、ご容赦いただきたい。 なお、図…
2021.7.16 書き直しました。新しい記事の方を参照ください。
指数移動平均(Exponential Moving Average; EMA)を得るためのテクニックの話。 以前、確か、Temporal Ensembling [1]の論文を読んだときに、なるほどー、と思ったときのメモ書きが出てきたので、文字に起こしておく。 [1] Laine S, Aila T. Temporal Ensembl…
それぞれどちらを使うべきか、時々混乱するので、整理する。 分散と不偏分散の定義 以下、手元に$n$個のサンプル $x _ i$ があって、その平均が $ m $ であるとする。 (通常の)分散: $ σ ^ 2 _ P = \frac {1}{n} \sum _ i {(x _ i - m)} $ 不偏分散: $ σ ^…
UMAPの記事で、距離ではなく「近さ」という言葉を使った。 単純に「距離」を当てはめるのでは上手くいかない理由の1つが、混雑問題(Crowding Problem)である。 混雑問題とは、「高次元で"同じ距離"を表せる範囲が、低次元では極端に狭くなる」(という解釈…
1. はじめに 非線形の高次元データを低次元化して可視化する道具として、t-SNEに代わってUMAPが主流になってきている。 McInnes L, Healy J, Melville J. UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. 2018. UMAPの仕組み…
katexで数式を表示してみるテスト。 7shiさんの参考記事、ありがたや。 https://7shi.hateblo.jp/entry/2018/07/28/231859 スカラー: $f _ n (\alpha)$、ベクトル: $\mathbf{b _ f}$. \left|\int_α^β (x-α)(x-β) dx\right| = \frac{1}{6}|β-α|^3
アウトプットしたいものが出来たので、諸々の理由でここにアカウント作るかー、と思ったら、6年前に既に作ってた。 記憶から消失していたし、しっかり三日坊主してる。
boost::program_optionsの operator()の使い方に触発されて、 CSVパーサを実装。 #include <fstream> #include <boost/tokenizer.hpp> #include <boost/algorithm/string.hpp> #include <boost/lexical_cast.hpp> typedef boost::char_separator<char> separator; typedef boost::tokenizer<separator> tokenizer; // CSVパーサクラス class CsvParse…</separator></char></boost/lexical_cast.hpp></boost/algorithm/string.hpp></boost/tokenizer.hpp></fstream>
気になるコードや技術などを、メモしていく、かもしれません。