深層学習

Psuedo-LikelihoodをRBMの損失関数として使ったら学習はうまくいくのか

はじめに Psuedo-Likelihood (PL) はRBMの学習の進行を測定するための指標として使われている。scikit-learnの BernoulliRBM クラスには PLを計算するための score_samples メソッドが実装されている。 scikit-learn.org さてscikit-learnで計算可能ならば、…

RBMの学習アルゴリズムと損失関数について

はじめに 前回の記事でRBMを実装した。 tam5917.hatenablog.com この実装では、RBMの損失関数は Contrastive Divergence (CD) アルゴリズムを考慮すると,損失関数はvisible層v0から計算される自由エネルギー(F0)と、再構成されたvisible層vkから計算され…

Restricted Boltzmann Machine (RBM) をPyTorchで実装してみた

はじめに 先日、RBMの記事を見かけた。 zenn.dev RBM自体は昔からある有名なモデルであり実装の経験もあったのだが、PyTorchでキレイに書いたことはなかったので、書いてみたということ。 実装 以下に置いた。Enjoy! train_rbm.py · GitHub train_rbm2.py · …

『今更ながらVAEって(以下略)』におけるアフィン変換に対応した潜在変数の操作により画像生成を制御できた話

はじめに 以前の記事にて、PyTorch実装の公開および定式化を示していたのだった. 『今更ながらVAEってこんなに凄かったの?ってなった話』をPyTorchで実装して結果の再現に成功した話 - 備忘録 『今更ながらVAEって(以下略)』の定式化を清書する - 備忘録…

『今更ながらVAEって(以下略)』の有効性を評価するための実験計画について

はじめに 『今更ながらVAEって(以下略)』に関する記事を先日から書いていた.いち手法(いち生成モデル)としての「有効性」をきちんと検証したい場合,以下の観点で実験的評価を行えば良いのではないか. 生成画像の幾何学的な変動が、潜在空間上で意図通…

『今更ながらVAEって(以下略)』における幾何学的変動の正規化は普通のAEでも概ね実現できたという話

はじめに 最近VAEに関する記事を書いた。 tam5917.hatenablog.com 潜在変数の一部をアフィン変換のパラメタとして分離する話は、生成モデルではない普通のAE(オートエンコーダ)でも通用する。元記事の元記事を読めば、コンセプト自体はVAEに特有の道具を使…

『今更ながらVAEって(以下略)』の定式化を清書する

はじめに 先日、以下の記事を書いた。 tam5917.hatenablog.com 新年なので(?)、その定式化を清書しようというわけである。長くなってしまったので、急ぐ人は「8. 考察」からどうぞ。 はじめに 定式化 1. 問題設定:変分推論による生成モデル 2. 変分推論 …

『今更ながらVAEってこんなに凄かったの?ってなった話』をPyTorchで実装して結果の再現に成功した話

はじめに 下記の記事にて,VAEの興味深い応用が実装例と共に紹介されている. zenn.dev 要するにVAEの潜在変数からアフィン変換のパラメタを分離できる話である.(各画像で個別の)アフィン変換を施した状態でモデルが訓練されるので,訓練後にその変換を外…

音声の振幅スペクトル系列から位相スペクトル系列を深層学習で直接推定するときarctan(atan2)を経由するのも悪くないねという話

はじめに 実装 評価実験 実験条件 実験結果 考察 おわりに はじめに 音声の位相スペクトル系列を振幅スペクトル系列から復元する手法はいくつも提案されており,再現実装を試みた記事をこれまで書いてきた. von Mises分布DNNに基づく位相復元手法をPyTorch…

位相スペクトルの有理関数近似に基づく位相復元手法(のプロトタイプ)をPythonで実装した

はじめに お待ちかね(?)の位相復元シリーズである. 手法の説明 記法を簡単にするため,ある特定の音声フレームに固定して考える.このフレームに関して, 位相スペクトル \( \phi(\omega) \) が有理関数で近似できると仮定する. ここで \( \omega \) は…

『Online Phase Reconstruction via DNN-based Phase Differences Estimation』に基づく位相復元をLJ speech dataset上で行った話

はじめに 本記事は前回記事の続編である. tam5917.hatenablog.com 前回記事では実験がJSUTコーパス上で行われたが(basic5000 & onomatopee300),本記事ではオリジナルの論文と同じくLJ speech dataset上で実験を行ったときの結果を記録として残すものであ…

『Online Phase Reconstruction via DNN-based Phase Differences Estimation』(IEEE/ACM TASLP 2023)に基づく位相復元手法をPythonで実装した

はじめに Masuyama氏らによる位相復元の論文が出版されている. Y. Masuyama, K. Yatabe, K. Nagatomo and Y. Oikawa, "Online Phase Reconstruction via DNN-Based Phase Differences Estimation," in IEEE/ACM Transactions on Audio, Speech, and Languag…

重み付きRPUに基づく位相復元手法をPythonで実装した

はじめに 手法 実装 実験 音声の分析条件 実験結果 おわりに はじめに 前回の記事でRPUに基づく位相復元手法を実装した. tam5917.hatenablog.com 今回はRPUの後続手法「重み付きRPUに基づく位相復元手法」が提案されている下記の論文を参考に,Pythonで実装…

『Phase reconstruction based on recurrent phase unwrapping with deep neural networks』に基づく位相復元手法をPyTorchで実装した

はじめに 手法 実装 実験 音声の分析条件 実験結果 おわりに 追記 はじめに Masuyama氏らによる位相復元手法 "Phase reconstruction based on recurrent phase unwrapping with deep neural networks"が2020年に提案されている. https://ieeexplore.ieee.or…

von Mises分布DNNに基づく位相復元手法をPyTorchで実装した

はじめに 実装 実験 特徴抽出およびミニバッチ構築について 音声の分析条件 実験結果 おわりに 追記 はじめに 音声の位相復元という研究トピックが存在している.分野に不慣れな人はまず,矢田部先生の解説記事を読むことをおすすめする. www.jstage.jst.go…

PyTorch 版 Gated Linear Unit (GLU) のラッパー

はじめに PyTorchにもGated Linear Unit (GLU)は用意されているが,アフィン変換などの部分はGLUモジュールの外で書かないといけない."Linear" は一体どこへやら. pytorch.org なのでラッパーを書いたということ. ソースコード ここに置いた.畳み込みはC…

『深層学習からマルチモーダル情報処理へ』p.37におけるミニバッチ版確率的勾配の分散を導出している論文

この論文の付録を読めば導出が書いてある arxiv.org

Conv1d の後段にBatchNorm1dではなくLayerNormを置きたいとき

GroupNormを使う. nn.BatchNorm1d(out_channels) から nn.GroupNorm(1, out_channels) への置き換えでOK.GroupNormの第1引数はグループ数であり,ここを1に指定するとLayerNormと等価になる. discuss.pytorch.org

Deep Divergence Learning (ICML 2020) の論文に掲載された実験結果を検証する試み −分布クラスタリング 前編−

はじめに 論文の概要 応用可能性 −分布クラスタリング− 実験: Clustering Multivariate Gaussian Distributions 実験条件 データセット生成 比較手法 ネットワークアーキテクチャ および 損失関数 評価指標 その他の実験条件 補足:経験分布の構成 実験結果…

距離学習と深層距離学習の違い

距離学習と深層距離学習の違いについて備忘録を残しておく. 共通していること データセット中の2点 間の距離関数 が与えられる. 距離関数はクラス分類やクラスタリング・異常検知などのタスクで活用される道具である. それらタスクに有利になる形で特徴量…

日本語x-vectorから感情成分を分離するニューラルネットワークを構築してみた −感情分類に敵対的な損失関数の導入−

はじめに 本記事は前回記事の続編に相当する. 前回記事では声優統計コーパスの3話者・3感情の音声データに対してx-vector抽出器を適用し,UMAPで可視化を試みた. この可視化の実験を通じて,感情成分が分離できていない傾向が見られた.すなわち,本来は話…

日本語x-vector抽出器により声優統計コーパスからx-vectorを抽出してUMAPで可視化した話

はじめに 最近,日本語 x-vector 抽出器がPyPIに登録された旨がツイートされた. M1中田くんが,日本語 x-vector 抽出 (音声に含まれる話者特徴をベクトルで表現してくれるもの) を pip で入るようにしてくれました.ご活用下さい.学習済みモデルがあるので…

拡散モデルの勉強に役立つかもしれないリンク集

拡散モデルに関する備忘録として。 大量に関連リンクを集めてもそれだけで満足してしまいがちなので、この記事では少なめで。 書籍 解説論文 解説記事 解説動画 その他 実装 書籍 拡散モデル(岡野原 大輔 著) サポートページ 解説論文 [2208.11970] Unders…

AIミュージックバトル!『弁財天』スターターキットのPyTorch版Google Colabノートブックを作った話

はじめに AIミュージックバトル!『弁財天』が配布しているスターターキットについて、PyTorch版を作成した記事を以前書いたことがあった。 tam5917.hatenablog.com その記事の段階では、Google Colabのノートブックを用意していなかったので、今回作ってみ…

異常音検知関連の情報まとめ

異常音検知に関して、まとめてリストしておく。備忘録。 解説論文・スライド スライド 論文 ソフトウェア データセット 書籍 コンペティション 解説論文・スライド スライド 音響信号に対する異常音検知技術と応用 音響信号に対する異常音検知技術と応用 fro…

微分可能な複素正弦波オシレータを用いて日本語5母音を近似させてみた

はじめに 実装 実験 実験条件 実験結果 おわりに はじめに SNSにて、しゃをみん氏が興味深い記事をツイートされていた。 昨日書きました。「コンピューターは遂に「音の高低」を理解した」と言えるほどの大きな進歩です。【注目論文】Sinusoidal Frequency E…

AIミュージックバトル!『弁財天』のスターターキットをPyTorchに移植してアドリブメロディの自動生成を試してみた

はじめに スターターキットについて スターターキットが提供するモデルの概要 実装 必要なパッケージ 実装の概要 メロディ生成実験 実験条件 実験結果 実装の舞台裏やTIPS、TensorFlow版との違いなど おわりに はじめに 最近、下記のイベントが開催されるこ…

Transformerを用いてオノマトペから環境音を合成する手法をPyTorchで実装した(Transformer版 Onoma-to-Wave)

はじめに 事前準備 実装の概要 環境音合成実験 実験条件 実験結果 実装の舞台裏など おわりに はじめに 以前、Onoma-to-Waveを実装した記事を書いたことがあった: tam5917.hatenablog.com Onoma-to-Waveとはオノマトペ(文字列)を環境音(スペクトログラム…

Transformerの学習率を調整するSchedulerクラスをPyTorchで書いた

はじめに Attention is All You Needという論文で「warmup & ステップ数の逆平方根で学習率を減衰」させる学習率スケジューリングが提案されたが、そのようなスケジューリングを手軽に行うスケジューラを書いたということである。 ソースコード from torch.o…

オノマトペ(擬音語)から環境音を合成するニューラルネットワーク(Onoma-to-Wave)をPyTorchで実装した

はじめに 事前準備 ソースコード 実装の概要と動かし方 補助的に作成したモジュールの概要 おまけ:訓練済みモデルのリリース 環境音合成実験 音響イベントによる条件付けなし 音響イベントによる条件付けあり 実装の舞台裏とかTIPS おわりに 参考文献 はじ…