情報系の手考ノート

数学とか情報系の技術とか調べたり勉強したりしてメモしていきます.

次元を意識した数式の見方

物理現象に関連する数式では各変数に長さや重さ等が対応しています. これらをうまく使えば式変形等の正当性の確認や,逆に始めて見た式の理解の助けに役立ったりします. ここで長さや重さ等は次元と呼ばれており,この次元を意識して数式を読む方法につい…

TeX のすゝめ

研究だったりなんだったりで tex を使うことがあると思います. 今までほとんど tex を使わなかったのに tex を使うとなると,いろいろとわからないことがあって大変だと思います. 中には普段のノートに tex を使っちゃうなんていう危篤な方もいらっしゃる…

研究でも Git は使える

git というソフトウェアがあります. 昨今のソフトウェア開発で多用されるヤツです. branch をわけて,commit して push だ merge だとかいろいろやって使うというアレです. そんな git ですが研究でも十分使えます. 実際私は修論や,論文読解やゼミ用の…

GPUメモリ不足時超初歩的トラブルシューティング:PyTorch

2023年現在,PyTorch や TensorFlow があるおかげで,かなり簡単にニューラルネットワーク関連のプログラムが作れるようになっています. 特に PyTorch はカスタマイズ性が高く,研究用途等で非常に有用です. しかし研究で使うぞとなっても,なんとなくの仕…

研究で使うなら PyTorch? TensorFlow?

機械学習,というよりニューラルネットワークを用いた研究を行う場合,おそらく PyTorch か TensorFlow のどちらかを使うことになるでしょう. この2つは機械学習関連では2大巨頭であり,多くの研究で使われています. そのため先行研究のプログラムが PyT…

自作の TeX 用 Dockerfile

修論を書く時に TeX を使ったのですが,この TeX の環境構築,結構面倒臭いという印象が強いです. なにせバージョンだったり必要なパッケージだったりといろいろ考えないといけないことが多いです. さらに日本語を含むソースコードを扱おうとすると jlisti…

TeX って何という話

tex

先日(一年前)に TeX のセットアップを手伝ったのですが,そもそも TeX をよく知らない状態だとどう使うのかわからないという問題があるなということを強く感じました. そこで私がわかる範囲で TeX について簡単にまとめておくことで,原因不明な自体への…

研究用のプログラムでやっておくといいこと

修士の研究を通じて,研究用のプログラム作成時に意識したりやっておくと良いことというのが,自分の中である程度確立されてきました. この記事ではそのノウハウのようなものを共有することを目的として,なにをすれば良いのか,どうしてそれをすると良いの…

発表資料と発表練習のコツ

自分が思う発表資料作成や発表練習におけるコツだったり意識しておくと良い点について書きます. とは言っても発表のコツなどは調べれば腐るほど出てくるので,特別重要だと私が思う内容や,あまり目にしない内容について言及します. また自分への戒めも込…

我が研究室の後輩へ向けた遺言

これはなに 今年度で修士課程を修了し,学部時からお世話になってきた研究室から離れることとなりました. で,問題なのは私しか持っていない知識や技術があったり,研究で培ったノウハウ等を共有する仕組みがなかったりするという点です. いかんせん私が変…

自分流・英語論文を読むコツ

修士の研究を通じてそれなりに英語論文を読んできた私ですが,さすがに学部から修士にかけて論文を読んでいるとある程度ノウハウのようなものがたまってきたかなと感じています. というかニューラルネットワーク関係の研究だと日本語の論文なんてほとんど見…

GAN の損失関数と二値交差エントロピー

概要 先日,GAN の学習時に妙な実装を目にしました. 実際にその実装が一般的なのかは知らないですが,導出過程が謎であったため自分なりに行間を埋めるという作業を行いました. これで正しい!と言いきれる結果にはなっていませんが,とりあえずのメモとい…

TeX のパッケージ読み込み順序

tex

TeX でパッケージの読み込みにおいて互換性や依存の関係で読み込む順序に制限がある場合が多々存在します. 例えば hyperref パッケージの後に読み込まれるべき cleveref パッケージ等があります. この順序に従ってパッケージを読み込もうとすると,同じよ…

自分用latexチートシート

論文とか自分用のまとめとかでちょくちょくlatexを使うのですが、いかんせん使いづらいところが大く感じます。 ですが数式をよく書くのでその点においてlatexが非常に優秀なのもたしかです(というかtexがあるから他のソフトウェアが表われない...?)。 そのた…

tex形式で書かれた数式の画像化

Texの数式を画像にできるアプリやサービスはそれなりに存在しています。 ですが私が普段使いしているlinuxで動かせるコマンドとしては見つかりませんでした。 少し調べたら簡単にスクリプトを組むだけで実現できたのでその内容をメモとして書きます。 必要コ…

ある特定の剰余環上での2の羃倍を計算する

多倍長演算のアルゴリズムに Schönhage-Strassen Algorithm というものがあります。 これは、n桁の数同士の積が畳み込み演算で表わされることから、畳み込み定理を用いて乗算を高速化するアルゴリズムです。 畳み込み定理を利用するために剰余環上で離散フー…

任意の型の値と参照値の両方を保持できるクラス(C++17)

あるプログラムが下のようになっていたとする。 int a = 10; value A = a; value B = 20; cout << A << endl; cout << B << endl; a = 30; cout << A << endl; このとき実行結果が 10 20 30 のようになるようなクラスを作れないかと考えたことがあった。 考…

FFTを実装してみた (C++)

前にFFTの式を導いたので,C++で実装してみました。 前準備 前の記事から,をデータ数としてDFTした結果は と書くことができます。 なお,,です。 このまま実装してもいいですが,これだと少しわかりにくいしやりにくいので少し式を書き換えます。 まず,2…

FFTを数式で書いてみた

FFTについてgoogle先生にお聞きしてみると,実装できるところまで解説したらおしまい,という形をとってるものが多い気がします。 実際,実装できればいいというのはそのとおりだと思いますが,やはりアルゴリズムの理解という意味では自分で手を動かして計…