Skip to main content
QUICK REVIEW

[論文レビュー] Kymatio: Scattering Transforms in Python

Mathieu Andreux, Tomás Angles|arXiv (Cornell University)|Dec 28, 2018
Computational Physics and Python Applications参考文献 13被引用数 77
ひとこと要約

Kymatio は、1D、2D、および3D の散乱変換の、GPU サポートと PyTorch および TensorFlow/Keras との互換性を備えた、ユーザーフレンドリーで高性能な Python 実装を提供します。コード品質、ドキュメント、そして深さ優先計算を重視し、メモリ使用量を抑えつつ微分可能性を保ちます。

ABSTRACT

The wavelet scattering transform is an invariant signal representation\nsuitable for many signal processing and machine learning applications. We\npresent the Kymatio software package, an easy-to-use, high-performance Python\nimplementation of the scattering transform in 1D, 2D, and 3D that is compatible\nwith modern deep learning frameworks. All transforms may be executed on a GPU\n(in addition to CPU), offering a considerable speed up over CPU\nimplementations. The package also has a small memory footprint, resulting\ninefficient memory usage. The source code, documentation, and examples are\navailable undera BSD license at https://www.kymat.io/\n

研究の動機と目的

  • 使いやすく、よく文書化された Python 実装の散乱変換を導入する。
  • 人気のある深層学習フレームワークと互換性のある、GPU 加速でメモリ効率の高い 1D/2D/3D 散乱変換を提供する。
  • 現代の ML パイプラインへの組み込みを容易にする、統一 API とフロントエンドを提供する。
  • 深さ優先計算と微分可能性を示し、効率的な再構成および生成モデルのワークフローを可能にする。

提案手法

  • モジュラス非 linear性を持つウェーブレットおよび低域通過フィルタを用いて、ゼロ次・一次・二次散乱係数を定義する。
  • 1D/2D では Morlet ウェーブレット、3D ではソリッド調波ウェーブレットを、適切な非線形性(|t| またはその3D類似形式)とともに用いる。
  • 高速フーリエ変換による畳み込みを周期パディングで計算し、データ中間格納を削減するため深さ優先走査を適用する。
  • nn.Module の使用を模した PyTorch および TensorFlow/Keras フロントエンドを備えた Python 的インターフェースを提供し、CPU/GPU 実行をサポートする。
  • 精度と計算負荷のバランスを取るため、高次係数を二次までに制限する。
  • 現代の DL ワークフローと互換性を確保し、中間結果のダウンサンプリングによって小さなメモリフットプリントを維持する。

実験結果

リサーチクエスチョン

  • RQ11D/2D/3Dデータ全体で、散乱変換を Python で効率的に実装するにはどうすればよいか?
  • RQ2散乱変換を微分可能にし、PyTorch および TensorFlow/Keras のパイプラインに容易に統合できるようにできるか?
  • RQ3大規模または GPU 制限下の設定で、深さ優先計算などのどのようなアーキテクチャ上の決定がメモリ使用量を削減するか?
  • RQ4使いやすさ、GPU サポート、API 一貫性の観点から、既存の散乱実装と Kymatio はどう比較されるか?
  • RQ5Python 散乱ライブラリの有用性を示す実践的な応用例と例は何か?

主な発見

  • Kymatio は、1D、2D、および 3D データの散乱変換の Python ベースのエンドツーエンド実装を提供します。
  • このパッケージは CPU および GPU 実行をサポートし、GPU で顕著なスピードアップを実現します。
  • API は PyTorch および TensorFlow/Keras と互換性があり、ディープラーニングのワークフローへの容易な統合を実現します。
  • 本プロジェクトは、コード品質、広範なテスト、最小限の依存関係、包括的なドキュメントを強調しています。
  • 深さ優先計算はメモリのオーバーヘッドを削減し、GPU のようなメモリ制限環境で変換を実用的にします。
  • Kymatio は BSD ライセンスの下でオープンソースであり、チュートリアル、例、および実世界のアプリケーションデモを含みます。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。