タグ

*algorithmと生成に関するsh19910711のブックマーク (32)

  • GANを使わず画像を綺麗にしたい話(SRFlow) - Qiita

    はじめに ABEJA Advent Calendar 2021の8日目の記事です。 この記事では素晴らしい技術のはずなのになかなか日の目を浴びないFlowと呼ばれる技術を使った超解像について書こうと思います。 これを読んだ暁には「そうか、だから日の目を浴びないのか」となっていると思います。 そしてなぜこの人はこんなマニアックな記事を書いているんだろうと思うことでしょう。 超解像の概要 超解像とはざっくりいうと小さい画像を大きくする技術のことを指します。画素数の少ない低解像度な小さい画像を、画素数の多い高解像度の大きい画像にするということは、何かしらの方法で画素を補間してあげる必要があります。 非常にわかりやすいこちらの記事にもあるように、超解像とは不良設定問題です。 画像丸パクで大変恐縮ですが、1x3pixelの画像を2倍拡大して2x6pixelにする場合、以下のように様々なパターンが考え

    GANを使わず画像を綺麗にしたい話(SRFlow) - Qiita
    sh19910711
    sh19910711 2024/05/29
    "画像生成タスクといえばVAEかGANとなり、Flowなんて言葉は出てくることすらない / Normalizing Flow: 入力から、未知の値𝑦(超解像でいうところの新しい画素)を確率密度関数として表現する確率モデル" 2021
  • Unet, VAE+Unet, Dncnnを用いて、ガウスノイズ画像を復元してみた - Qiita

    はじめに ピンボケ画像の復元をしたいと思い、いくつか検証を行ったので記事にしました。 ピンボケ画像は、一般的にはガウシアンフィルタ(ぼかしフィルタ)に近似できるとのことで、当初はフーリエ変換を用いた方法(ウィーナフィルタ)を検討していました。しかし、撮影環境が変わったりピンボケの拡がり方が多様な場合は、汎化性能的に深層学習の方が優位性があるかなと思い、深層学習のモデルを用いた検証を行いました。 調べてみると、Dncnnなどノイズ除去目的のモデルがあったため、dncnn含め以前作成したUnetとVAE+Unetを用いました。 加えて、モデルは復元させる綺麗な画像自体を学習するよりもノイズを学習しやすい傾向があるとのことで、(stable diffusionも考え方は似ていますよね。こちらもノイズを正規分布として仮定しているため、考え方はほぼ同じな気がします。)Unetの出力をノイズを学習させ

    Unet, VAE+Unet, Dncnnを用いて、ガウスノイズ画像を復元してみた - Qiita
    sh19910711
    sh19910711 2024/05/29
    "ピンボケ画像の復元をしたい / DnCNN: 最後の層の出力をノイズと仮定し、入力とノイズの差分を最終的なモデルの出力とします / 出力と綺麗な画像を損失関数に与えることで、出力を綺麗な画像に寄せる" 2023
  • GRUとAutoencoderを用いた,動画の再構成手法の検証と実装 - Qiita

    概要 皆様,いかがお過ごしでしょうか. コロナウイルス感染症の拡大に伴い,自宅でお仕事や研究をされている方も多いのではないでしょうか. かくいう私も,ここ数か月はずっと自宅でPCとにらめっこの毎日です.さすがに疲れましたね笑 さて,今回は,生成モデルを活用した再構成タスクに着目してみたいと思います. 特に,「動画」の再構成にトライします. (当記事でご理解いただけるのは,動画の異常検知に拡張可能な,encoder-decoderベースの時系列モデルをかませた再構成手法の実験結果と考察であり,数式などの理論的背景までは追いません.) 巷でよく,「異常検知」分野などに応用されているのは,「画像」の再構成ですね. 画像をencoder-decoderモデルに入力して再構成し,入出力間の差分をとることで異常度を計算する手法です. 画像の再構成に活用できる生成モデルとして,VAEは特に有名ですし,最

    GRUとAutoencoderを用いた,動画の再構成手法の検証と実装 - Qiita
    sh19910711
    sh19910711 2024/05/26
    "画像の再構成に活用できる生成モデルとして,VAEは特に有名ですし,最近ではGANを活用した異常検知手法(AnoGAN,EfficientGANなど)なんかも登場 / GRUと,encoder-decoderモデルを組み合わせて,動画再構成モデルを実装" 2020
  • VAEによる画像検索システム - Qiita

    ※データセットの配布元: GitHubfashion-mnist/zalandoresearch」。The MIT License (MIT) Copyright © [2017] Zalando SE, https://tech.zalando.com ※出典: Fashion-MNIST: a Novel Image Dataset for Benchmarking Machine Learning Algorithms. Han Xiao, Kashif Rasul, Roland Vollgraf. arXiv:1708.07747 また、ネットワークは以下のようなものを用います。 エンコーダー デコーダー VAEの結果 作成したVAEモデルは以下のような結果になりました。 訓練結果 最初はテストデータの誤差が異常に大きくなっていましたが、正常に訓練できています。 再現画像 上段

    VAEによる画像検索システム - Qiita
    sh19910711
    sh19910711 2024/05/26
    "VAEにより次元圧縮をして、潜在空間上で距離が近いものを検索 / 最初はCIFAR-10でやろうとしていたのですが、カラー画像だとVAEの学習がどうしてもうまくいかないようだった" 2021
  • 拡散モデルのサンプリング性能の良さを体感してみる - VisasQ Dev Blog

    はじめに 検索チームの tumuzu です。 画像生成などの技術的進歩は凄まじいですね。簡単なプロンプトから綺麗で多様なデータが生成されていて驚きっぱなしです。そこで拡散モデルの理論的なところが気になったので勉強して記事にしてみました。 この記事では拡散モデルから生成されたデータの質の高さの大きな要因であるサンプリング性能について見ていきます。拡散モデルのサンプリング性能の良さを体感するために、一般的なサンプリング法での問題点を確認しそれが拡散モデルと同等のモデルでは解決できていることを簡単な2次元データを使って見ていきます。 ちなみに『拡散モデル データ生成技術の数理』という書籍を参考にしてます。わかりやすくてとてもいいでした。日語で書かれた詳しい説明が見たい方はおすすめです。 一部環境ではてなブログの数式が崩れて表示されるようです。 数式を右クリックし、Common HTML を選

    拡散モデルのサンプリング性能の良さを体感してみる - VisasQ Dev Blog
    sh19910711
    sh19910711 2024/05/23
    "真の分布や確率はわからないが、尤度関数なら学習できることがあり + 代表的なMCMC法であるメトロポリス・ヘイスティングス法を使ってサンプリングできます / 複数のノイズの強さを用いてスコアを学習"
  • 「拡散モデル データ生成技術の数理」を読みました(すごい) - xiangze's sparse blog

    www.iwanami.co.jp 内容 1章 生成モデルの一つとしての拡散モデル、拡散モデルとスコアマッチング法との関係について 2章 SBMとDDPMについて、学習対象の導出、統一的理解 3章 時間連続極限の場合と拡散モデルの高性能について 4章 条件付き生成、高解像度化、群不変、同変性 5章 アプリケーション 感想 他の 画像生成AIブームによって注目されるようになったアルゴリズムである拡散モデルのおそらく日語では最初の解説書です*1 拡散モデルの学習、生成手法はGANなど既存の生成型モデルとはかなり異なる部分が多く、理解が難しいところがあり、またその高性能を説明する理論は未だ完全ではないです。 書は各種関連論文に記載されている導出の計算式が順を追って丁寧に書かれているにも関わらず文が100ページくらいしかなく非常に密度の高いです。広範な既存研究を順を追って理解できるように

    「拡散モデル データ生成技術の数理」を読みました(すごい) - xiangze's sparse blog
    sh19910711
    sh19910711 2024/05/23
    "拡散モデル: 既存の生成型モデルとはかなり異なる部分が多く理解が難しい / ほとんどの生成モデル(VAE,自己回帰モデル)が尤度ベースモデルという分類がされる一方GANは暗黙的生成モデル呼ばれ ~" 2023
  • 驚くほどキレイな三次元シーン復元、「3D Gaussian Splatting」を徹底的に解説する - Qiita

    はじめに 最近、3D業界で大きな衝撃を与えた「3D Gaussian Splatting」1について、ご存知でしょうか?数少ない写真から、目を奪われるほど美しい三次元シーンを再構成できるデモを見て私も大感動しました。なぜこんなに美しいのか、どんな技術で実現したのか、興味が湧いています! "普通の3D物体ではなく、カメラの移動に合わせて、水面に映る景色も正確に表現しています。これはなかなか凄い..." 私も時間をかけて論文や公開されたコード2を勉強しました。家の実装はCUDA化されており、難解な部分が多く、論文に書かれていないこともあります。そのため、「3D Gaussian Splatting」を勉強したい人にむけ、わかりやすい解説記事を書こうと思いました。単に概念や考え方だけでなく、ゼロから再実装できるように、すべてのロジックを数式として整理し、徹底的に解説しようと思います。 「3D

    驚くほどキレイな三次元シーン復元、「3D Gaussian Splatting」を徹底的に解説する - Qiita
    sh19910711
    sh19910711 2024/05/22
    "3D Gaussian Splatting: ボクセルで空間を分割せず、かなり高密度なガウス分布に従う単位を使うことで、細かい物体の形状を表現 / カメラの姿勢に応じて、見えた3D Gaussianの色を計算"
  • 【機械学習】VITSでアニメ声へ変換できるボイスチェンジャー&読み上げ器を作った話 - Qiita

    はじめに DiscordVRChatなど、オンラインでの会話を楽しむプラットフォームが近年賑わいを見せています。 そんな中で「さまざまな声質の音声で会話ができたら面白いだろう」と思い立ち、音声間での声質の変換ができる機械学習モデルを実装してみました。例えば以下の紹介動画のように変換できます。 機械学習の一手法「VITS」でアニメ声(つくよみちゃん)へ変換できるボイスチェンジャーを実装しました。https://t.co/LX0TV13uAD pic.twitter.com/vVWcDbUSpn — zassou (@zassouEX) February 25, 2022 また、今回用いたモデルではテキストの読み上げを実行することもできます。 読み上げを行うこともできます。 (こちらに関してはもう少しファインチューニングが必要そうです。) pic.twitter.com/xKPhTL7A0E

    【機械学習】VITSでアニメ声へ変換できるボイスチェンジャー&読み上げ器を作った話 - Qiita
    sh19910711
    sh19910711 2024/05/18
    "pyopenjtalk: 日本語文章を合計40種類の音素からなる音素列へと分解 / VITS: テキストから音声の生成 + 音声の声質の変換 の2つが行えるモデル / Flow: 入力と出力が可逆という特徴を持つ種類のネットワーク" 2022
  • Aligned Variational Autoencoder で麻雀の配牌を生成する - taijestのブログ

    こんにちは。taijest です。 この記事は、Sansan Advent Calendar 2021 の 7日目の記事です。 はじめに 皆さんは、在宅期間なにをして過ごしていますか? 私は、AbemaTV で放送されている麻雀リーグ「Mリーグ」にハマっています。 リーグ戦は、各チームの選手の獲得スコア合計で競い合い、一定の試合数を消化すると下位チームが脱落していくという仕組みです。 ある程度セオリーがありつつも、選手のスタイルや得点状況、チーム順位によって選択が変わってくるところがとても面白いです。 さて、麻雀の勝敗を決する大きな要素の一つとして、配牌があります。配牌とは、開局時に各選手に与えられる牌のことです。配牌は、早さ (どれだけ早くあがれそうか) や高さ (あがった時にどれだけ高い点数になりそうか) の観点から、その局の勝敗に大きく影響します。 記事では、麻雀への理解を深めるた

    Aligned Variational Autoencoder で麻雀の配牌を生成する - taijestのブログ
    sh19910711
    sh19910711 2024/05/18
    "Aligned Variational Autoencoder: データと付与されたラベルで共通の潜在空間 + ラベルからもデータを生成しやすくなり、少ない学習データから画像を生成する Few-shot や Zero-shot な問題設定で有効" arXiv:1812.01784 2021
  • Adversarial Random ForestsによるテーブルデータのAugmentation・モックデータ生成

    はじめに こんにちは。株式会社アイデミーデータサイエンティストの中沢(@shnakazawa_ja)です。 記事ではAdversarial Random Forestsを使ったテーブルデータの生成について、RおよびPythonでの実装を紹介します。 Adversarial Random Forests (ARF) とは ARFは2023年にProceedings of The 26th International Conference on Artificial Intelligence and Statisticsに採択された論文で提案された、テーブルデータに対して密度推定と生成モデリングを行う高速な手法です[1]。 その名の通りGAN[2]とRandom Forestを組み合わせた手法で、生成と識別を交互に繰り返すことで元データの特性を学習し、元のテーブルデータと類似したデータを生成

    Adversarial Random ForestsによるテーブルデータのAugmentation・モックデータ生成
    sh19910711
    sh19910711 2024/05/10
    "ARF; Adversarial Random Forests: その名の通りGANとRandom Forestを組み合わせた手法 + 元のテーブルデータと類似したデータを生成 / 個人情報・秘匿情報をマスクしたモックデータの生成といった場面での活用可能性"
  • NIPS 2016 Adversarial Training Workshop 体験記 - Qiita

    去年参加したNIPS Adversarial Training Workshopについて書きます。 Advent Calendarに投稿するはずだったのですが忘れていました...すみません。 動画が全て上がっているので詳しく知りたい人はそれを見るといいと思います。 https://www.facebook.com/groups/675606912596390/ あとHuszarのBlogとかにももっといいまとめが上がっているのでそれもおすすめです。またGANは曖昧な部分が多かったり理解が甘くて、とんちんかんなことを書いていたりかもしれませんがそこは悪しからず。 Adversarial Training Workshopとは Generative Adversarial NetworksとAdversarial example関連 (virtual adversarial trainingと

    NIPS 2016 Adversarial Training Workshop 体験記 - Qiita
    sh19910711
    sh19910711 2024/04/29
    "2015年がVAEの年だとしたら2016年はやはりGANの年 / GAN: ミニマックス問題でかつバッチ学習してるせいで少なくともトレーニングしているときのlossを見るだけでは学習が進んだが判断できません" 2017
  • 拡散モデルと表データ生成①:【論文】TabDDPM

    TabDDPM: Modeling Tabulr Data with Diffusion Models (ICML2023) 拡散モデルを用いて表データ生成を行うTabDDPMの論文を読んだのでその内容をまとめました. 論文のmain paperの部分をまとめています. 図や表はことわりがない限り, 論文からの引用です. TabDDPMはarXiv版とICML版の2つがありますが, ICML版のまとめになります. arXiv版 ICML版 書籍情報 Kotelnikov, A., Baranchuk, D., Rubachev, I., and Babenko, A. TabDDPM: Modelling tabular data with diffusion models. In Krause, A., Brunskill, E., Cho, K., Engel- hardt, B.,

    拡散モデルと表データ生成①:【論文】TabDDPM
    sh19910711
    sh19910711 2024/04/27
    "TabDDPM: 拡散モデルを用いて表データ生成 + 「表データを生成して何がしたいの?」に沿った評価 / 評価: scikit-learnで提供されているMLモデルを用いた結果の平均値 / TVAEとCTABGAN+を上回るパフォーマンス" arXiv:2209.1542
  • GraphNVP: An Invertible Flow Model for Generating Molecular Graphsを読んだのでメモ - 機械学習とかコンピュータビジョンとか

    はじめに GraphNVP: An Invertible Flow Model for Generating Molecular Graphsを読んだのでメモ.Generative flowを使ってmolecular graphを生成する初めての試みとのこと. GraphNVP Generative Flowの一般的な話は何度か記事にしているのでここでは割愛. 今回は,molecular graphをgenerative flowを使って生成するのが目的.ここではグラフの生成を,ノードの隣接関係の記述とノードの表現(ラベル)の二つに分けて考える. 定義として,グラフをとし,をそれぞれ,adjacency tensorとfeature matrixとする.ただし,隣接関係の種類を,ノードのラベルの種類をとした.グラフが与えられた時にとなるようなモデルを作る.今回はモデルとしてGenerati

    GraphNVP: An Invertible Flow Model for Generating Molecular Graphsを読んだのでメモ - 機械学習とかコンピュータビジョンとか
    sh19910711
    sh19910711 2024/04/26
    "GraphNVP: molecular graphをgenerative flowを使って生成 + グラフGは離散的に表現 + 上で議論したモデルは連続な分布 + ギャップを埋めるためuniform noiseを加える (dequantization) " arXiv:1905.11600 2019
  • AnoGANの論文を読んでMNISTの異常検知をしてみた

    はじめに AnoGANというGANを使って正常データと異常データの分類をしよう!!的な論文を読みました.GANはデータを生成するものでは??と思っていましたがこの論文を読みGANはそもそも何をしているのかが理解できました. 開発環境 python3.6 macOS mojave 10.14 識別モデルと生成モデル 一般的に画像を分類しようとしたらVGG16などのCNNを使い画像を分類する識別モデルを作ると思います.しかし医療画像などの正常データと異常データで画像の枚数に偏りがあると識別モデルを作ることは難しいとされています.そもそも識別モデルと生成モデルの違いは、 識別モデル クラスとクラスの識別境界を決める 生成モデル それぞれのクラスがどのような分布をしてるのかを決める といった違いがあります(他にももっとあるとは思いますが).イメージは以下の図のようになります. なんで識別モデルは難

    AnoGANの論文を読んでMNISTの異常検知をしてみた
    sh19910711
    sh19910711 2024/04/24
    "AnoGAN: GANを使って正常データと異常データの分類 / 生成モデルではそれぞれクラスの分布を求める / 正常データの分布に従わないデータは全て異常であるとすれば正常と異常に2値分類はできそう" arXiv:1703.05921 2018
  • 【音声生成+機械学習】ポケモンの鳴き声をWaveGANで生成する - Qiita

    はじめに ゲーム「ポケットモンスター」シリーズにおいてはポケモンの鳴き声は電子音のようなSEとして表現されています。ほぼ全てのポケモンに固有の鳴き声が割り当てられており、編をプレイしたことがある方にとっては馴染み深いものも多いと思われます。以下の動画はそれらの例です。 これらの音声をデータセットにし、機械学習の手法の1つ"WaveGAN"でポケモンの鳴き声を生成しました。以下は生成例です。 機械学習で音声を生成する手法「WaveGAN」でポケモンの鳴き声を出力させてみましたhttps://t.co/Izt2nq9Q3e pic.twitter.com/fqzEFwSqoH — zassou (@zassouEX) March 12, 2021 記事ではこれに用いた手法を紹介していきます。 音声の生成にはWaveGANという手法を使っています。これはGAN(Generative adve

    【音声生成+機械学習】ポケモンの鳴き声をWaveGANで生成する - Qiita
    sh19910711
    sh19910711 2024/04/18
    "音声生成でもcheckerboard artifactsのようなパターンが生成されることがあり、ノイズのような形で知覚 / Discriminatorが意図しない学習をしてしまい、結果的にモデル全体がうまく機能しなくなることがある" 2021
  • DANet(Deep Attractor Network)の実装と解説 - Qiita

    はじめに 音声を任意の数に分離するモデルであるDANet(Deep Attractor Network)の実装と解説をします。 DANetは論文"DEEP ATTRACTOR NETWORK FOR SINGLE-MICROPHONE SPEAKER SEPARATION"で提案されているモデルです。 このモデルを環境音データセットのESC-50を使って学習させ、その分離音性能をGNSDR、GSAR、GSIRで測定しました。 実装にはTensorflowとKerasを用いました。 実装の全コードはGithubにあります。 また、それらを実行して学習やGNSDR等の測定ができるGoogle Colabのファイルもあります(GithubのDANet.ipynbをGoogle Colabで開いたもの)。 公式のPytorchを用いた実装もGithubに公開されています。 追記(2021/3/10

    DANet(Deep Attractor Network)の実装と解説 - Qiita
    sh19910711
    sh19910711 2024/04/18
    "DANet; Deep Attractor Network: 音声を任意の数に分離するモデル + 音声を双方向LSTMに入力 + 周波数方向とembedding空間方向に分離 / 推論時にはVをkmeansクラスタリングし、そのときの中心点を用いることでAtractorを生成" 2021
  • 【論文メモ】強化学習を用いないGANによる文生成モデル「LaTextGAN (latent-space GAN for text)」 - u++の備忘録

    Adversarial Text Generation Without Reinforcement Learning どんなもの? 強化学習を使用しないGANによる文生成モデル「LaTextGAN (latent-space GAN for text)」を提案 オートエンコーダを利用して文の低次元表現を学習させて生成器に伝播させることで、現実的なレベルでの文生成を実現 論文リンク https://arxiv.org/abs/1810.06640 著者/所属機関 David Donahue, Anna Rumshisky / University of Massachusetts Lowell 媒体 arxiv 投稿日付 [v1] Thu, 11 Oct 2018 22:50:38 GMT 先行研究と比べてどこがすごい? テキストのシーケンスが離散的で勾配が識別器から生成器に伝播できないため

    【論文メモ】強化学習を用いないGANによる文生成モデル「LaTextGAN (latent-space GAN for text)」 - u++の備忘録
    sh19910711
    sh19910711 2024/04/16
    "LaTextGAN: AEを利用して文の低次元表現を学習 + GANが独自のベクトルを生成するように訓練 / 文ベクトルを可視化することで、提案モデルがオートエンコーダーの潜在空間を正しく学習していると示した" arXiv:1810.06640 2018
  • 深層ニューラルネットワークの積分表現(Deepを定式化する数学)

    園田翔氏の博士論文を解説しました。 Integral Representation Theory of Deep Neural Networks 深層学習を数学的に定式化して解釈します。 3行でいうと、 ーニューラルネットワーク—(連続化)→双対リッジレット変換 ー双対リッジレット変換=輸送写像 ー輸送写像でNeural Networkを定式化し、解釈する。 目次 ー深層ニューラルネットワークの数学的定式化 ーリッジレット変換について ー輸送写像について

    深層ニューラルネットワークの積分表現(Deepを定式化する数学)
    sh19910711
    sh19910711 2024/04/15
    "深層ニューラルネットワーク: 万能関数近似機ではあるが、中間層が何かは諸説ある / 最適輸送が何の役に立つのか: Wassertein GAN + Generatorが本物と偽物のWasserstein距離を最小化 → 本物っぽい偽物ができる" 2018
  • PytorchによるAutoEncoder Familyの実装 - The End of the World

    はじめに AutoEncoder Deep AutoEncoder Stacked AutoEncoder Convolutional AutoEncoder まとめ はじめに AutoEncoderとはニューラルネットワークによる次元削減の手法で、日語では自己符号化器と呼ばれています。DeepLearningの手法の中では使い道がよくわからないこともあり比較的不人気な気がします。(個人的には教師なしで抽象的な情報を取り出すのはとても面白そうだと思います。) 今回は自分の勉強のためにPyTorchでAutoEncoderを実装します。コードはこちら。 AutoEncoder まずは3層MLPの一番簡単な奴。ネットワーク定義はこんな感じ。 class AutoEncoder(nn.Module): def __init__(self, input_size, embedding_dimen

    PytorchによるAutoEncoder Familyの実装 - The End of the World
    sh19910711
    sh19910711 2024/04/13
    "Deep AutoEncoder: 単に層を深くするだけでは学習がうまく行かない / Stacked AutoEncoder: 入力に近い層から1層ずつ学習する方法 + 両端の層から中心の層に向かって学習していく方法" 2018
  • モデルから学習データが復元される話 - Qiita

    はじめに こんにちは.NTTドコモ先進技術研究所2年目の田中です.ドコモ先進技術研究所Advent Calendarの発起人で,業務では こんなこと や こんなこと の研究をしています.ただ,この辺の業に関する技術的な事は大人の事情で簡単には記事にできないので,今回は全く別の(とは言っても機械学習に関する)話題で記事を書きたいと思います. 今回記事するのは,機械学習セキュリティに関する話です.「機械学習を使ってマルウェア検知をしましょう」とかではなく,「機械学習の」セキュリティです. 弊社も含めた多くの企業で,機械学習を使った多くのサービスが提供されていますが,この機械学習によって作られた classifier や regressor (以下,モデルと呼びます) そのものに,セキュリティ上の問題があるのではないかと指摘されています.今回は,こういったモデルのセキュリティ上の問題について

    モデルから学習データが復元される話 - Qiita
    sh19910711
    sh19910711 2024/04/13
    "Model Inversion: GANによる画像生成の技術が進歩してきたことによって,Model Inversionをより高精度で実現している研究もあり / ぼんやりと学習データらしきものが生成" doi:10.1145/2810103.2813677 2019