たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

ウォッチャーが沈む仕組み: 知られれば布教される

自分と異なる人々を監視する者(ウォッチャー)はしばしば向こう側へと堕ちる/沈む。 芸能人アンチ、ゲームチーター、新興宗教1、そういう事例はそこらじゅうにある。 ではなぜ「ウォッチャー = 批判的な監視者」がそちら側に堕ちてしまうのだろうか。 知ら…

麻雀: 王牌とその特性

終局時に少なくとも14枚の牌が自模られずに残っている、これが王牌。 完全ランダムで選択され、最小1枚、最大5枚まで開示される(ドラ表示牌)。 牌の総数は34種136枚なので、王牌率は 14/136 = 10.2% 同じ牌が王牌に現れる確率は 91.2%1、なのでほとんどの…

Conv受容野サイズを計算する

Wikipedia/畳み込みニューラルネットワーク#受容野へ移行。

論文解説: Wang (2021) fairseq S^2: A Scalable and Integrable Speech Synthesis Toolkit

様々な音声合成の公開実装と評価をしました論文 by Fairseqチーム1。 文字/音素/Unit-to-MelとvocoderでSpeech Synthesisをして、Fairseqお得意の指標群で客観評価。 Models models Implemented by Fairseq S2 Text-to-Mel: Tacotron 2, Transformer TTS, Fa…

ニューラルネットワーク要素比較の難しさ

AI

まとめ: 要素の本質的な影響よりハイパラの影響が大きいため、要素入れ替えによる影響評価には向かない(不可能ではない。向かないだけ)。 要素入れ替え評価 特定コンポーネントの価値を評価する手法として、そのコンポーネント以外を固定にしてそのコンポ…

ブラックリスト/BAN基準の作り方

ダメなパターン 「おもんないからBAN」 曖昧な基準 (面白さは人それぞれ) 萎縮の原因 結果論 (同じ行為がどっちにもなり得る) 浄化主義 (おもんないものを消せば面白くなると思ってる)

フレーム化とパディングの規則性

信号長 L, ウィンドウサイズ w, ホップ長 h, フレーム数 n とする。 最初にウィンドウ分を使ったあと、以降のフレームでホップ長分追加で利用するので、必要な信号長は w * 1 + h * (n-1) パディング無しの場合、 L >= w * 1 + h * (n-1) <=> (L-w)/h + 1 >=…

全体の解像度を揃えて進む

「理解に曖昧さが残る状態でも手を動かし前に進めながら理解していこう」というスタイルがある。 このスタイルで気を付けるべきことは「全体の解像度を揃えて進む」こと。 解像度 解像度とは理解の緻密さ。 知っている概念の数、詳細度、関係性。 何がはまり…

麻雀: 攻撃力と牌

状況と点数 風牌鳴き 役牌: 1飜~ ドラ・赤 対々和: 2飜 チャンタ: 1飜 混老頭: 2飜 一気通貫: 1飜 三色同順: 1飜 三色同刻: 2飜 小三元: 1飜 三槓子: 2飜 混一色: 2飜 役満系 赤ドラ無しだとチャンタ・一通・三色・混一色・対々和あたりが現実的 (計2飜 or 3…

Just Do it な例

"Wanna be" が "Just Do it" の反対。 「彼氏欲しいなぁー」 ボヤかないで合コンしてる 「プロゲーマーで食ってきたい」 プレイ見直してランク回してる 「こんな小説家になりたい!」 手を動かして書いてる 「事業興して世界を変えてみせる」 小さく作って売…

モデル解説: LPCNet系

LPCNet系とは、線形予測にNN残差予測を組み合わせたLPCNetを起源とするモデルクラス。線形予測符号化とWaveRNNが祖先。モデル効率の良さからくる高速性とオープンソースのC実装がウリ。 要素解釈 Excitation/Residual - 単なる非線形補完 古典的ソース・フィ…

論文解説: Tian (2020) FeatherWave: An efficient high-fidelity neural vocoder with multi-band linear prediction

提案モデル: mel-spec input (pitch-less), multiband LPCNet1 デモ 中国語デモ wavecoder.github.io ConditioningNetwork 入力にmel-specをそのまま利用2, 3, 4(pitch無し5, 80 dim6)。 Mel2LPcoeff LP係数はmel-specから計算7。各バンドではmel-specのう…

論文解説: Valin (2022) Neural Speech Synthesis on a Shoestring: Improving the Efficiency of LPCNet

LPCNet、効率化しました (x2.5~)。 背景 - ボトルネックはわかっている、観念しろ LPCNetはモバイルCPUリアルタイム推論ができるほど速い。 巨大化すれば品質も良い。 しかし速度制約を満たす中での品質には改善の余地があり1、一層の効率化が求められている…

PyTorchでLSTMCellをONNXにエクスポートする: こいつ、ばらけるぞ

PyTorchでnn.LSTMCellをONNXにエクスポートすると、LSTM operatorになるでもなく、LSTMCell operatorになるでもなく、プリミティブ opsの集まりとして出力される。 gist.github.com まず、ONNXにはRecurrentCellに相当するoperatorがない(参考: wikipedia/O…

僕が考えたさいきょうのPyTorch Linting rules

命名規則: saveされる変数はexposedとして扱う モデル状態は state_dict() で保存され、後日loadされる。 state_dict()はパラメータ(例: nn.Module) とバッファを変数名に基づいて保存し、load時は変数名に基づいて状態がrestoreされる。 なのでモジュール…

機動戦の要諦: 塹壕は機動できない

塹壕やトーチカは現代戦においても重要な施設である。 そしてこれらは未だに歩けない (塹壕が歩く日は来るのだろうか)。 ゆえにそれらを回避できる機動戦もまた、現代戦においても重要な戦術足りうる。

パディング/padding in PyTorch

幅のある入力をスライドさせながら処理していくとき、左右端をどうするかという問題がでてくる。 端を何かしらの値で埋める(入力をちょっと大きくしておく)処理をパディングという。 特にPyTorchにおけるパディング実装のまとめ。 F.pad torch.nn.function…

ディレクション/ビジョンと透明性

「見えなければ目指せない」「知らなければ議論できない」 当たり前の、本質。 我々の会社はどう進んでいくべきか議論しようにも、方向性を知らなければ空論に終わる。 あまりに当たり前だが「方向性は社長の頭の中にあるよ」なんてのはザラ。 方向性を口に…

NeRFの問題設定: queryとvalue

query-Model-value-Consumer-outcome/teacher の教師あり学習。 NeRFでは query: 視線 model: MLP value: 座標RGBA consumer: 微分可能ボリュームレンダラ outcome: 2Dカラー画像 になってる。 学習時はoutcomeからbackpropしてmodel weightを更新。 Continu…

ヒトは論理に焦がれる動物である

「ヒトは論理に焦がれる動物である」 ヒトは論理的でありたいと望みつづける、論理的でない動物である。 望みを追う余裕があるときは論理的たろうと振る舞い、そのような振る舞いを賞賛する。 しかしその本質は動物であり、論理性に非ず。 怒りや悲しみ、憎…

ソフトウェア産業の特徴

ソフトウェア産業には特徴がある。それをハッキリさせると、この産業に有効な技能を導入しやすくなる。なので特徴を知ることは大切。 量産がゼロコスト 量産の定義: 全く等価な製品を複数生産すること ソフトウェアの量産コストはゼロである。言い換えれば製…

概念: force

日本語の「強制力」が一番近い. 「力」「権力」とは微妙に違って、こちらの意思を強制できるだけの能力、みたいなニュアンスがある.

librosa `amplitude_to_db` の最小dB

librosa.amplitude_to_db の最小dBは aminパラメータで規定される. デフォルト値は amin=1e-05 、これはdBとしていくつになるか. import librosa import numpy as np mel = np.array([[1.01*10**-5, 1.0*10**-5, 1.0*10**-6]]) dB = librosa.amplitude_to_db…

悪の栄え方: 秘密の逆分配

集団から支持を得る悪なやり方として、少数から秘密裏に奪って多数派に配る逆分配がある. 実態は搾取を原資としたバラ撒き政策. しかし奪われる側は少数なので口止めが効きやすい (「収容所に入れてしまえ」). この口止めにより搾取が見えなくなるので、多数…

librosaの`amplitude_to_db`は扱い注意

librosa.amplitude_to_db は linear-amplitude spec を log-power spec へ変換する関数1. linear-ampをlog-ampにするのではない, 注意. この用途で楽をしたい場合、librosa.power_to_db へ linear-ampを突っ込めばいい. # 300/3 = 100 = 10^2 = 2B = 20dB S …

潰れた業態

短くない人生を生きた結果、昔すごく利用してた店 (業態)に関して、自分含め足が遠のき、行きつけが潰れたと聞き、気づいたら業態ごと壊滅した、という事例に複数出会ってる. いわば業態の栄枯盛衰・盛者必衰なので、意識して記憶しとくと商売人としてgood …

インスタンス状態の保存と復元

引数で初期化され内部状態を持つインスタンスがあったとき、それをいかに保存し、のちに復元するか. 問題整理 class A: def __init__(self, arg1): parts = SubA(arg1) self.var = 1 def add(self): self.var += 5 def save(self): pass def from_snapshot(s…

選民思想の芽吹き

自分の (高い) 水準に満たないことに対して何かと理由をつけて文句言う. 本人的の感情はつまるところ「ミーハー・本質見えてない奴お断り」なんだろうが、それこそまさに選民思想. 例 「盛り上げようとしてくれるのは良いんだけど、予選は見もせず、本戦から…

フレーム問題の根底: 無謬性

フレーム問題 「有限の計算能力をもつ知能体を、ある環境に置き、目的を与えて、『思考行動し、間違えずに目標を達成せよ』と命ずる」 この命令を下すと知性体は思考ロックを起こして行動が出来なくなる. これがフレーム問題. 対比として、思考能力を持たな…

意思決定

何に基づくか 意思決定の素材 事実/インテリジェンス 経験/勘 リスク: 「時代が違うのよおじいちゃん」 知識 リスク: 「そのテンプレ古いっす」 目標 ないと: 「事実に変化無しなので前回同様で」 見通し 啓示「神のお告げでこうせよと」 ランダム「サイコロ…