たれぱんのびぼーろく

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

生成モデルは過剰なのか?

生成モデル: サンプル分布全体を学習 生成モデルはかなり高等なモデル. ごく稀なサンプルのバラエティを含め、全てをモデリングしようとする. 生成モデルの実用時には分布の細部を無視したほうが結果が良いことが多々ある. => 生成モデルと"温度"パラメータ:…

生成モデルと"温度"パラメータ: レアなサンプルはぽいっ

生成モデルにはしばしば temperature パラメータが設定される. こいつが何で、何をして、どう便利なのかを解説する. tempered softmax Dahl, et al. (2017). Pixel Recursive Super Resolution. Parmar, et al. (2018). Image Transformer. "truncation tric…

Lockファイル生成と動かせない依存性

Lockファイルは依存性のバージョンを厳密に指定することで動作を保証することを目的とする. 依存性の中にはハードウェアとの兼ね合いで(動作は同じ)ハードウェア固有バージョンを要求する場合がある. この2つは噛み合わせが悪い. Lockで厳密に縛るとハード…

DNNのCPU推論実装

BLAS: Intel MKL, OpenBLAS PyTorchは pip install時のCMakeでBLASライブラリを自動検出して利用. MKL-DNN

Makefileの存在意義: 依存性に基づく実行管理

Makefileの目的はファイル更新日とファイル依存木に基づいた無駄のないレシピ/コマンド実行である. (Target, Prerequisites, Recipe) の3つ組を考える. make Target すると Prerequisites ファイルの更新を確認し、更新があれば Recipe を実行し、なければパ…

OmegaConf まとめ

API docs がないので、全体を見通せるリストとして. config <=> others I/O from empty (.create()) dictionary (.create({"key": "value"})) list (.create([1, 2, 3])) YAML string (.create("k1: v1 /n k2: v2")) YAML file (.load(path)) dot-list (.fro…

OmegaConf で validation

Pythonは型ヒントを持っていても実行時validationを持たない. ただしPythonは型ヒントをアノテーションとして実行時まで抱えている. なのでカスタムvalidationを仕込むことができる. OmegaConf は Structured config の利用時にvalidationを提供する.

Pythonにおける型: 基本的な役割と応用方法

基本: 「Python ランタイムは、関数や変数の型アノテーションを強制しません。」 by Python Docs 基礎的な用途は型チェック・IDE/Linterサポート Pythonはアノテーションを手軽に取得できる(X.__annotations__)ので、ランタイムでこの型を利用できる. つま…

HydraとOmegaConf

Hydraの特徴: 実行時のconfig差し替えユーティリティが充実. Defaults List: yaml内からの他yamlの呼び出し/composeを可能にする Config Group: CLI引数でディレクトリ構造に基づいた他のyamlの呼び出し 要素ごとにConfigファイルを分割し、ディレクトリでグ…

サブバンド

例: 125 ms長のFIRフィルタ 125 msに含まれるサンプル数はsrに依存. sr=16kHzだと2000サンプル、sr=8kHzだと1000サンプル. 帯域を2分割すると 16kHz/2000サンプル => 8kHz/1000サンプルx2 になる. 新しいサンプルが来るたびにFIRフィルタをかけるため、フル…

Multiband-WaveRNN

Multiband-WaveRNN は「WaveRNNは表現力を余らせてる」という仮説の下で、サイズを変えていないWaveRNNへサブバンドN個の同時予測を課したモデル1. なんと実際にMOS差無しでNバンド予測に成功. 動作周波数を1/NにできるのでRTFが大幅に改善. 背景・モデル Wa…

Gated Activation Unit; tanh出力をsigmoidでゲーティング

Gated Activation Unit は活性化関数/ユニットの一種. output = tanh(Wfilter ∗ input) ⦿ σ(Wgate ∗ input) tanh(conv(input))で非線形変換した出力に対し、sigmoid(conv'(input)) で出てくる 0~1 を用いたGatingをかけているとみなせる. Gated PixelRNNにお…

DNN tips: Conv+FCをConvだけで表現

全結合をConvで表現できる. チャネルのこと深く考えなくて済むので楽. やり方: kernelサイズを最大、出力channel数を希望出力次元にするだけ 理由: 全面を覆ったらスライドも何も無くなり、単に要素にweight掛けてsumするだけになり、スカラ値が出てくる. ch…

音声合成器と特性: タスクごとに要件は違う

特性一覧 quality latency ↓ stream latency: サンプル出力時 - サンプル受信時 ↓ realtime factor; RTF: 処理時間/信号長 ↓ performance: リソース要求量/使用量 CPU/GPU/メモリ タスクと特性; 要件 音声素材検証 文章や補助入力を考えながら打って「よしこ…

仕様の軽視と見栄

意味を感じないのに納得したフリをして仕様化すると、後々仕様を無視するようになる. 仕様の無視はすなわち、客観的な詐欺である. https://www.mitsubishielectric.co.jp/news/2021/1001-b.html 公的な規格と整合しないことや顧客との契約で合意した仕様(顧…

BackwardとOptimizer

「誤差はいくつか」と「誤差をどう重みに反映するか」の役割分担. 特定の層だけ学習無しにしたい場合(例: Encoder-FixNet-Decoder)、誤差逆伝播をFixNetで止めるのはNG. なぜならEncoderへ誤差が伝わらないから. Backwardは通常通り計算して、OptimizerをE…

最適化時のNegativeLog処理

Negative: 最大化と最小化の逆転 Log: 単調性は守りつつ分数を差に変換 確率変数の場合、分配関数Zで割ってる場合が多い Zによる正規化で0に張り付くの防止

Libri-light

Libri-light: LibriVoxのサブセット. 16kHz, En speech. This dataset was obtained by extracting audio files for English speech from the LibriVox repository Kahn, et al. (2019-2020). LIBRI-LIGHT: A BENCHMARK FOR ASR WITH LIMITED OR NO SUPERVIS…

FairSeqのGSLMレポ解析

gslm/speech2unit: Speech2連続特徴量2離散特徴量. モデルと学習済みパラメータが配布. /pretrained: Speech2連続特徴量の部分 /cpc_feature_reader.py: PCP Speech-to-unitモデルの色々 CPCEncoder: [Conv-CN-ReLU]x5だけ. 超シンプル. CPCAR: ただのLSTM. …

prediction in 機械学習

PredictionとReconstruction prediction: 対応する特徴量無しに対象の観測値を推定すること reconstruction: 対応する特徴量から対象の観測値を生成すること Predictionの場合、contextを基に観測値を推定する. イメージとしては、1枚だけ裏返しで他が全部表…

論文解説: Speech Resynthesis from Discrete Disentangled Self-Supervised Representations

ニューラルな音響特徴量(content, fo, speaker)からneural vocoderで音声合成/変換/圧縮できるかなチャレンジ. 表現学習とボコーダ学習は完全分離 (表現モデルをpretraining -> fix). fixされたモデル出力からボコーダ学習. content表現モデルはCPC, HuBER…

UX=クチコミ

AmazonのレビューみればどれもこれもUX. ユーザーが自分の体験を自分の目線で自分の言葉で書いてるんだから.

専門家・キャリア

feature専門家 technical専門家 の2パス 特定分野のUXをポンと渡されたら、実装スタックの候補をガーッと出せるのがfeature専門家 ある技術について、理論から実務、新規研究までできるのがtechnical専門家 組織構造で出てくるfunctional/featureと同じ構造 …

規模と構造

大規模スクラムや階層構造が詰むやつ. 現場の知見を重視して作られる良くある構造: 密なチーム→全チーム共通ヘッド→スケールしない 密なチーム→スケールしない→多チーム自律→feature単位の部分最適化 密なチーム→スケールしない→代議階層構造→チーム密にする…

意思決定の情報源

前提: 1エージェントが捌ける情報量には上限がある 世界でたった1人だけ正解を見出していて、それを拾いたい 「これが正解だ!」って100万人主張してたら、100万件を総当たり精査するしかない? たった1人しか正解を見出していないので、この段階で(精査なし…

アジャイルなやつ

私たちは、価値提供の実践 あるいは実践を手助けをする活動を通じて、 よりよい価値提供方法を見つけだそうとしている。 この活動を通して、私たちは以下の価値観に至った。 作業 (work) よりも価値 (value) を、 予測 (prediction) よりも適応 (adaption) …

マーケティング: 存在を製品に変える

人が絶滅してもリンゴは木になる. 人が絶滅してもiPhoneの在庫はそこにある. 人が絶滅してもビックサンダーマウンテンは走る. それが使われまいがなんだろうが、存在は存在として存在する. 存在は人が利用を認識することで製品/プロダクトと見做され、人に価…

価値提供仮説

「価値提供仮説」 value proposition hypothesis これをユーザーが価値あると感じてくれると思う (valueそのものの仮説) proposition過程 (needs/dissatisfaction-> UX -> value) UXを引き起こす提供方法/ソリューション 3つセットに対する仮説. 仮説は計画…

スクラムで気になってるところ

whatの適応は素晴らしい (そこらじゅうに埋め込まれたPBIリファイメントへの誘導) whyの適応は誘導が甘くない…? プロダクトゴールを定期的に見直すことは肝要なのに、それをencourageする仕組みが明示されてない. スタートアップの殆どは「価値のない問題」…

流れを誘導する

バイアスを掛ける インセンティブを働かせる 水は低きにながれる 水はひび割れを見つける encouragement 状態Xになって欲しいとして 「君が沢山やってるYはけしからん!禁止!」ってしても今度はZになって希望のXにはならない (c.f. ゲーム規制) 「状態Xにな…