タグ

ブックマーク / blog.shikoan.com (7)

  • Arxiv RAGによる論文サーベイの自動生成 | Shikoan's ML Blog

    複数のLLM(GPT/Claude3)とArxivの検索APIをRAGで統合し、論文サーベイの自動生成を作りました。検索結果の前処理や、サーベイ特有のプロンプトエンジニアリングやソートが重要で、最適化手法として古くからある巡回セールスマン問題(TSP)が有効に機能しました。また、生成部分ではGPTよりClaude3の明確な有効性を確認できました。 できたもの Arxivの検索APIを使って検索拡張生成(RAG)したらサーベイを自動生成できた やっていること Arxivの検索ワードをGPT-4-Turboで生成 ArxivのAPIを叩いてヒューリスティックでフィルタリング OpenAIEmbedding APIを叩く Embeddingに対して巡回セールスマン問題(TSP)を解いてソートをかける 論文の要旨をGPT-3.5-Turboで要約 ソートした要約結果をClaude3 Sonnet

    Arxiv RAGによる論文サーベイの自動生成 | Shikoan's ML Blog
    xiangze
    xiangze 2024/04/27
  • PyTorchでSliced Wasserstein Distance (SWD)を実装した

    PyTorchでSliced Wasserstein Distance (SWD)を実装してみました。オリジナルの実装はNumpyですが、これはPyTorchで実装しているので、GPU上で計算することができます。来はGANの生成画像を評価するためのものですが、画像の分布不一致を見るためにも使うことができます。 コード こちらのリポジトリにあります。 https://github.com/koshian2/swd-pytorch SWDとは PGGANの論文で使われている画像類似度の評価指標です。GANの評価指標の多く(Inception scoreやFID)が訓練済みInceptionモデルベースであるのに対し、SWDはInception依存ではありません。訓練済みInceptionモデルは大抵ImageNetベースなので、特徴量抽出がドメインによって得意だったり不得意だったりします。し

    PyTorchでSliced Wasserstein Distance (SWD)を実装した
  • DockerでGPU版ONNXを使ってみる | Shikoan's ML Blog

    見てわかる通り、GPUありにすると明らかに速くなっています。NanoやTinyは動画の読み込みがボトルネックになって、速度がサチっているので、参考程度です。 CPUの場合は、Flopsと反比例した速度になっていますが、GPUの場合は線形な関係になっていないのが面白かったです。GPUありのYOLOX-Xは20fpsぐらい出ているのが驚き。 このようにすればDocker上でも、GPUありのONNXを使えることがわかりました。ONNXなら環境を統一できますし、いろいろ便利そうですね。 コード main.py import argparse import onnxruntime as ort import cv2 import time import numpy as np from tqdm import tqdm from yolox_utils import preproc, multicl

    DockerでGPU版ONNXを使ってみる | Shikoan's ML Blog
  • 論文まとめ:(DALL・E 2論文)Hierarchical Text-Conditional Image Generation with CLIP Latents

    タイトル:Hierarchical Text-Conditional Image Generation with CLIP Latents リンク:https://cdn.openai.com/papers/dall-e-2.pdf 所属:OpenAI コード:DALL・E 2の前の段階のGLIDEは公開されているが、これは非公開(2022年4月時点) ざっくりいうと 訓練済みCLIPと拡散モデルを使った、テキスト→画像による生成モデル CLIPの画像埋め込み特徴を生成するような、拡散モデルベースの事前分布モデルを開発 先行研究のGLIDEの改良という位置づけだが、多様性に富む画像生成に成功 要旨 2段階のモデルを提案 テキストキャプションを与えてCLIP画像埋め込みを生成する事前処理 画像埋め込みを条件として画像を生成するデコーダ 画像表現を明示的に生成することで、写実性とキャプションの

    論文まとめ:(DALL・E 2論文)Hierarchical Text-Conditional Image Generation with CLIP Latents
    xiangze
    xiangze 2022/10/10
  • SA-GANの実装から見る画像のSelf attention

    自然言語処理でよく使われるSelf-attentionは画像処理においてもたびたび使われることがあります。自然言語処理のは出てきても、画像のはあまり情報が出てこなかったので、SAGANの実装から画像におけるSelf attentionを見ていきます。 Self attention GANの略語。論文はこちら。GANの生成画像のクォリティーを上げる手法の一つにSelf attention機構を使っています(ただし、Self attentionだけがこの論文のポイントではない)。 たびたび引用される図ですが、わかりやすいです。ちなみに公式実装では以下のコードにあたります。 https://github.com/brain-research/self-attention-gan/blob/master/non_local.py#L48 ここの「sn_non_local_block_sim」という

    SA-GANの実装から見る画像のSelf attention
  • TensorFlow/Kerasでの分散共分散行列・相関行列、テンソル主成分分析の実装

    TensorFlowでは分散共分散行列や主成分分析用の関数が用意されていません。訓練を一切せずにTensorFlowとKeras関数だけを使って、分散共分散行列、相関行列、主成分分析を実装します。最終的にはカテゴリー別のテンソル主成分分析を作れるようにします。 何らかの論文でこれらのテクニックを使うことがあるかもしれません。 これまでのまとめ 今回の内容はこれまでの内容のまとめです。TensorFlowでのグラム行列の導出や、グラム行列の期待値と分散共分散行列・相関行列の関係を理解した上で進めます。 TensorFlow/Kerasでグラム行列(テンソル)を計算する方法 https://blog.shikoan.com/tensorflow-gram-matrix/ 統計学や機械学習で使われる分散共分散行列、相関行列とグラム行列の関係 https://blog.shikoan.com/co

    TensorFlow/Kerasでの分散共分散行列・相関行列、テンソル主成分分析の実装
  • Google ColabのTPUでResNetのベンチマークを取ってみた

    TPUを使った場合は精度がかなり落ちていますが、これは精度向上に寄与していたLearningRateScheduler(keras.callbacks)がTPUでは機能していないためです。Callback内で学習率変化させても効果がなかったので、TensorFlowの低レベルAPIでどうにかするか、バグ直されるまで待つしかなかと思います。TPU(上)とGPU(下)のエラーの推移です。どちらもKerasの例です。 リアルなデータで学習率調整することはあまりないのですが、CIFARの場合は学習率調整が重要なのでここだけは注意が必要です。 ちなみに速度はむちゃくちゃ速いです。GPUでは層を深くすればするほど遅くなっている自然な結果となっているのに対し、TPUではほぼ定数時間で処理できています。おそらく層が浅い場合は、TPUでは何か別の要素がボトルネックとなっていて、体の計算性能が出せていないと

    Google ColabのTPUでResNetのベンチマークを取ってみた
    xiangze
    xiangze 2018/11/15
  • 1