18以上のSOTA GAN実装をカバーするこのライブラリは、画像生成の分野で人気があります。

18以上のSOTA GAN実装をカバーするこのライブラリは、画像生成の分野で人気があります。

GAN は提案されて以来、急速に幅広い注目を集めています。 GAN は、無条件生成と条件情報に基づく生成の 2 つのカテゴリに分類できます。最近、韓国の浦項工科大学の修士課程の学生が、条件付き/無条件画像生成のための代表的な敵対的生成ネットワーク (GAN) の実装を提供するプロジェクトを GitHub でオープンソース化しました。

最近、Machine Heart は GitHub 上で非常に有意義なプロジェクト PyTorch-StudioGAN を目にしました。これは、条件付き/無条件画像生成のための代表的な敵対的生成ネットワーク (GAN) の実装を提供する PyTorch ライブラリです。ホームページによると、このプロジェクトの目的は、機械学習分野の研究者が新しいアイデアや手法を迅速に比較・分析できるように、統一された最新のGANプラットフォームを提供することです。

このプロジェクトの作者は、韓国の浦項工科大学の修士課程の学生です。彼の研究対象は主に、ディープラーニング、機械学習、コンピュータービジョンです。

プロジェクトアドレス: https://github.com/POSTECH-CVLab/PyTorch-StudioGAN

具体的には、このプロジェクトには次のような注目すべき特徴があります。

  • PyTorch フレームワーク用の多数の GAN 実装を提供します。
  • CIFAR 10、Tiny ImageNet、ImageNet データセットに基づく GAN ベンチマーク。
  • 元の実装よりもパフォーマンスが向上し、メモリ消費量が少なくなります。
  • 完全に最新の PyTorch 環境で事前トレーニング済みのモデルを提供します。
  • マルチ GPU (DP、DDP、マルチノード DDP)、混合精度、同期バッチ正規化、LARS、Tensorboard 視覚化、その他の分析方法をサポートします。

この PyTorch GAN ライブラリについて、あるネットユーザーは「素晴らしいですね。top-k やさまざまな強化方法などの最新のトレーニング手法が提供されれば、さらに良くなるでしょう」とコメントしています。これに対して、プロジェクトの著者は、NeurIPS 論文提出期限後に、Sinha らの Tok-K トレーニングや Langevin サンプリング、SimCLR 強化などの改良された手法を追加すると述べました。

さらに、一部のネットユーザーは、このプロジェクトが画像処理以外の分野でも活用できるかどうかを尋ねた。著者は、一部のスタビライザー(diffaug、ada など)を使用できない場合でも、dataLoader を調整することで独自のモデルをトレーニングできると述べています。

18+ SOTA GAN 実装

下の図に示すように、プロジェクト作成者は、DCGAN、LSGAN、GGAN、WGAN-WC、WGAN-GP、WGAN-DRA、ACGAN、ProjGAN、SNGAN、SAGAN、BigGAN、BigGAN-Deep、CRGAN、ICRGAN、LOGAN、DiffAugGAN、ADAGAN、ContraGAN、FreezeD など、18 種類以上の SOTA GAN の実装を提供しています。

cBN: 条件付きバッチ正規化、AC: 補助分類器、PD: 投影識別器、CL: 対照学習。

その中でも、以下の点に留意する必要があります。

  • G/D_type は、ジェネレータまたは判別式にラベル情報を注入する方法を示します。
  • EMA は、ジェネレーターで更新を適用した後の指数移動平均を表します。
  • Tiny ImageNet データセットの実験では、CNN の代わりに ResNet アーキテクチャが使用されました。

下の図では、StyleGAN2 が実装される GAN ネットワークであり、AdaIN は Adaptive Instance Normalization の略です。

環境要件

  • アナコンダ
  • Python >= 3.6
  • 6.0.0 <= 枕 <= 7.0.0
  • scipy==1.1.0
  • 学習する
  • シーボーン
  • h5py
  • tqdm
  • トーチ >= 1.6.0
  • トーチビジョン >= 0.7.0
  • テンソルボード
  • 5.4.0 <= gcc <= 7.4.0
  • トーチラー

ユーザーは、次の方法で推奨環境をインストールできます。

  1. conda env 作成 -f 環境.yml -n studiogan

Docker では、次の方法も使用できます。

  1. docker pull mgkang/studiogan:最新

以下は、「studioGAN」という名前のコンテナを作成するコマンドです。ポート番号 6006 を使用して tensorboard に接続することもできます。

  1. docker run -it --gpus all --shm-size 128g -p 6006 : 6006 --name studioGAN -v /home/USER:/root/code --workdir /root/code mgkang/studiogan:latest /bin/bash

使い方

GPU 0 を使用する場合、モデルのトレーニング "-t" と評価 "-e" は CONFIG_PATH で定義されます。

  1. CUDA_VISIBLE_DEVICES= 0 python3 src/main.py -t -e -c CONFIG_PATH

GPU (0、1、2、3) および DataParallel を使用する場合、モデルのトレーニング "-t" と評価 "-e" は CONFIG_PATH で定義されます。

  1. CUDA_VISIBLE_DEVICES= 0123 python3 src/main.py -t -e -c CONFIG_PATH

python3 src/main.py プログラムで利用可能なオプションを表示します。Tensorboard を通じて、IS、FID、F_beta、信頼性の精度、最大特異値を監視できます。

  1. ~ PyTorch-StudioGAN/logs/RUN_NAME>>> tensorboard --logdir=./ --port ポート

生成された画像を視覚化して分析する

StudioGAN は、画像の視覚化、k 最近傍分析、線形補間、周波数分析をサポートしています。すべての結果は「./figures/RUN_NAME/*.png」に保存されます。

画像の視覚化のためのコードと例は次のとおりです。

  1. CUDA_VISIBLE_DEVICES= 0 ,...,N python3 src/main.py -iv -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH

k 最近傍分析、ここでは K=7 が固定され、最初の列は生成された画像です。

  1. CUDA_VISIBLE_DEVICES= 0 ,...,N python3 src/main.py -knn -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH

線形補間のコードと例(条件付き Big ResNet モデルにのみ適用可能)は次のとおりです。

  1. CUDA_VISIBLE_DEVICES= 0 ,...,N python3 src/main.py -itp -std_stat --standing_step STANDING_STEP -c CONFIG_PATH --checkpoint_folder CHECKPOINT_FOLDER --log_output_path LOG_OUTPUT_PATH

<<:  自動運転のゴールドラッシュ、このトラックの価値は少なくとも3000億ドル

>>:  人工知能とモノのインターネット – 5つの新たなユースケース

ブログ    
ブログ    
ブログ    

推薦する

グリーンロボットが環境の持続可能性にどのように貢献できるか

グリーンロボットは気候変動と闘い、より良い未来へと導くのに役立ちます。私たちは通常、ロボットが「環境...

...

ICCV'23論文表彰式は「神々の戦い」! Meta Split EverythingとControlNetが両方とも選出され、審査員を驚かせた記事がもう一つありました

たった今、コンピュータービジョンの最高峰カンファレンスである ICCV 2023 がフランスのパリで...

OpenAI のもう一つの「大ヒット作」: AI に芸術的創造性を与える

OpenAIがまた爆弾発言をしました。昨年夏に人気の言語モデルGPT-3を発表したOpenAIの研究...

OpenAIの創設者サム・アルトマンが解雇されてから24時間後

ChatGPTを開発するOpenAIは金曜日、CEO兼創設者のサム・アルトマン氏を解雇したが、彼の突...

人工知能の次の転換点: グラフニューラルネットワークが急速な爆発の時代を先導する

01 GNN: アーリーアダプターから急成長へ今年以来、グラフニューラルネットワーク (GNN) 技...

生成AIにおける新たな高収入の仕事

クラウドプロバイダーのサービスの需要は2024年まで増加すると予測しています。また、 AI生成技術と...

機械学習を使うべきタイミング

著者 | 杜家平なぜこのトピックを議論するのですか?このトピックを議論する本質的な理由は、顧客にデー...

2022年の5つの新しいテクノロジートレンド

今日、ビジネスに役立つ新たなテクノロジートレンドが数多く存在します。ビジネスマンとして、新しいトレン...

...

2018 年の人工知能の予測を振り返ってみると、どれが現実になったのでしょうか?

人工知能は非常に複雑であり、急速に発展しています。今後数年間でそれがどうなるかを正確に予測することは...

AI合成音声の潜在的な用途は何ですか?

AI Voice はディープラーニングを使用して、実際の人間の音声のピッチ、トーン、リズムをより正...

...