さまざまな分野とフレームワーク、これはディープラーニングモデルの超完全なGitHubコレクションです

さまざまな分野とフレームワーク、これはディープラーニングモデルの超完全なGitHubコレクションです

研究者や開発者は常に GitHub リポジトリで興味深いプロジェクトや実装を検索してきましたが、特定のトピックが必要になり、フィルタリングを行う必要がある場合もあります。最近、開発者がモデル集約プラットフォームをリリースしました。このプラットフォームでは、最も人気のあるオープンソース モデルを分野別に検索できます。著者はこれらのモデルを GitHub プロジェクトコレクションの数、プロジェクトが属する分野、実装フレームワークなどに応じて分類しており、適切なモデルをすぐに見つけることができます。

プロジェクトアドレス: https://modelzoo.co/

ディープラーニングは、近年人気の機械学習のサブフィールドです。高次元データの強力なモデリング機能により、コンピュータービジョン、自然言語処理、インテリジェントエージェント学習など、さまざまなタスクや分野で活躍しています。ディープラーニングモデルは表現学習法であり、従来の機械学習のように表現を出力にマッピングするだけではなく、モデルに基づいて表現自体を学習します。

現在、ディープラーニングは主に、さまざまなレベルのニューロンを通じて生データから特徴を自動的に抽出します。学習した表現は、従来の ML の手動で設計された表現よりもパフォーマンスが優れていることがよくあります。現在、GitHub で人気のある ML 実装のほとんどはディープラーニング モデルであり、さまざまな階層構造とネットワーク アーキテクチャを使用して特定の問題を解決するためのモデルを構築します。たとえば、2D 畳み込み層を階層的に積み重ねると、単純なものから複雑なものまで 2 次元データ (画像など) の特徴を抽出できます。一方、再帰ユニットを積み重ねると、機械翻訳などのシーケンス ラベリング問題の処理に適しています。残余接続、ゲーティング メカニズム、注意メカニズムなどのモジュールと組み合わせることで、特定のタスクに関する特定の知識を学習できます。

最近、階層的表現のこれらの深層モデルに関する研究が盛んに行われており、多くの開発者や研究者がコードやアイデアを共有しています。 ModelZoo は、優れたディープ モデルを検索するための集中型プラットフォームを提供することを目指しており、論文の再現、複雑なニューラル ネットワークの構築、モデル コードの学習、事前トレーニング済みモデルの直接使用のためのリソースを提供したいと考えています。

Model Zoo は新しく構築されたプラットフォームであるため、そこに含まれるモデルのライブラリは今後も進化し続けます。読者が、ここに掲載されていない他の優れたモデルを見つけた場合は、ウェブサイトに投稿して著者に通知することができます。さらに、このウェブサイトの開発者は現在シンガポールの学部生です。彼は、このようなプラットフォームを利用して、より多くの学習者を支援したいと考えています。

Model Zoo が収集したすべてのモデルは GitHub で見つけることができます。著者の Jing Yu は、GitHub プロジェクト コレクションの数、プロジェクトが属する分野、実装フレームワークなどの特性に応じてモデルを整理しました。また、キーワード検索を使用して、必要なモデルを特定することもできます。各モデルでは、対応する GitHub プロジェクトの README ドキュメントがページに表示されるため、読者はプロジェクトの基本情報と要件をすぐに確認できます。さらに、著者は、毎月 1 回、その月の最新かつ重要なモデルを整理するためのニュースレター モジュールも構築しました。

現在、プロジェクト内のディープラーニング モデルには、コンピューター ビジョン、自然言語処理、生成モデル、強化学習、教師なし学習の 5 つの主要なカテゴリがあります。これらのカテゴリや分野は互いに重複しています。たとえば、多くの生成モデルは教師なし学習に分類できます。実際、多くのモデルは複数のカテゴリに分類されます。

現在含まれている実装フレームワークは、Tensorflow、Caffe、Caffe2、PyTorch、MXNet、Keras です。まだ含まれていないフレームワークはたくさんありますが、たとえば、CycleGAN の元の実装では、Lua 言語と Torch フレームワークが使用されています。プロジェクトには 6453 のコレクションがありますが、このプラットフォームにはまだ含まれていません。

上記のフレームワーク分類インターフェースとモデル分類インターフェースには、それぞれ「フレームワークの参照」と「カテゴリの参照」から入り、カテゴリ別に参照することができます。下の検索ボックスではモデル名による検索が可能です。

モデルは基本的に GitHub コレクションの数 (Magenta の 10164 個のスターなど) でソートされます。プレビュー インターフェイスには、プロジェクトの紹介、実装フレームワーク、分類などの情報も含まれています。クリックすると、プロジェクトの詳細 (つまり、対応する GitHub プロジェクトの README ドキュメント) が入力されます。以下では、各分野で最も人気のあるプロジェクトを簡単に紹介します。

1. コンピュータービジョン

  • GitHub スター: 10164
  • 実装フレームワーク: TensorFlow

Magenta は、芸術や音楽の創作における機械学習の役割を探求する研究プロジェクトです。その応用範囲が広いため、著者らはこれをコンピューター ビジョンと強化学習の分野に分けています。主に、歌、画像、スケッチなどを生成するための新しいディープラーニングおよび強化学習アルゴリズムの開発が含まれます。しかし同社はまた、アーティストやミュージシャンがこれらのモデルの使用方法を拡大できるように、スマートなツールやインターフェースの構築も試みています。 Magenta は Google Brain チームの研究者とエンジニア数名によって開始されましたが、他の多くの人々もこのプロジェクトに重要な貢献をしてきました。

現在、このプロジェクトには多くのアプリケーション実装とデモンストレーションがあり、読者は https://magenta.tensorflow.org/blog をチェックできます。

マスク-RCNN

  • GitHub スター: 6104
  • 実装フレームワーク: Keras

Mask R-CNN は 2 段階のフレームワークです。第 1 段階では画像をスキャンし、候補領域 (提案、つまりオブジェクトを含む可能性のある領域) を生成します。第 2 段階では候補領域を分類し、境界ボックスとマスクを生成します。 Mask R-CNN は、昨年同じ著者によって提案された Faster R-CNN の拡張です。 Faster R-CNN は一般的なオブジェクト検出フレームワークであり、Mask R-CNN はそれをインスタンス セグメンテーション フレームワークに拡張します。

このプロジェクトは、Python3、Keras、TensorFlow での Mask R-CNN の実装です。このモデルは、画像内のオブジェクト インスタンスの境界ボックスとセグメンテーション マスクを生成できます。そのアーキテクチャは、Feature Pyramid Network (FPN) と ResNet101 バックボーン ネットワークに基づいています。

リポジトリには、FPN と ResNet101 上に構築された Mask R-CNN のソース コード、MS COCO データセットのトレーニング コード、MS COCO の事前トレーニング済みの重み、検出プロセスの各ステップを視覚化する Jupyter ノートブック、マルチ GPU トレーニング用の ParallelModel クラス、MS COCO メトリック (AP) の評価、カスタム データセットのトレーニング例が含まれています。

2. 自然言語処理

1. ウェーブネット

  • GitHub スター: 3692
  • 実装フレームワーク: TensorFlow

下の図は、WaveNet の主な構造を示しています。これは、畳み込み層に異なる拡張係数を持つ完全な畳み込みニューラル ネットワークであり、これにより、受容野は層の深さに応じて指数関数的に拡大し、数千の時間ステップをカバーできます。さらに、Wave Net は因果畳み込みを提案した最初のモデルです。直感的には、畳み込み演算を半分に「分割」して、過去の時間ステップの入力のみを処理できるようにすることに似ています。実際、後に畳み込みネットワークを使用してシーケンスのラベル付けの問題を処理する多くのモデルは、WaveNet によって提案された 2 つの構造を借用しました。

DeepMind が提案する WaveNet ニューラル ネットワーク アーキテクチャは、新しいオーディオ波形を直接生成でき、テキストから音声への変換とオーディオ生成において優れたパフォーマンスを発揮します。トレーニング時の入力シーケンスは、人間の話者によって録音された実際の波形です。トレーニング後、このネットワークをサンプリングして合成発話を生成できます。サンプリングされた各時間ステップで、ネットワークによって計算された確率分布から値が取得されます。この値は入力にフィードバックされ、次のステップのための新しい予測が生成されます。このようにサンプルを 1 ステップずつ構築するのは計算コストがかかりますが、複雑でリアルなサウンドのオーディオを生成するには不可欠です。

2. CNNによる文章分類

  • GitHub スター: 3416
  • 実装フレームワーク: TensorFlow

論文「文の分類のための畳み込みニューラル ネットワーク」の簡略化された TensorFlow 実装。

3. 生成モデル

1. DCGAN-テンソルフロー

  • GitHub スター: 4263
  • 実装フレームワーク: TensorFlow

Goodfellow らが提案した GAN は、敵対的プロセスを通じて生成モデルを推定する新しいフレームワークです。このフレームワークでは、データ分布を捉えることができる生成モデル G と、データが実際のサンプルからのものである確率を推定できる識別モデル D の 2 つのモデルを同時にトレーニングする必要があります。ジェネレータ G のトレーニング プロセスは、識別器がエラーを起こす確率、つまり、識別器がデータがジェネレータによって生成された偽のサンプルではなく実際のサンプルであると誤って信じる確率を最大化することです。したがって、このフレームワークは 2 人のプレイヤーによるミニマックス ゲームに対応します。 DCGAN は、ジェネレーター G と識別器 D のアーキテクチャとして主に畳み込みニューラル ネットワークを使用するため、より鮮明で優れた画像を生成できます。

安定した生成的敵対的ネットワークである論文「Deep Convolutional Generative Adversarial Networks」の TensorFlow 実装。

上の図は、アップサンプリング、つまり 100 次元のランダム変数を画像に復元するために 4 つの転置畳み込みを使用するジェネレーター G のアーキテクチャを示しています。識別器ネットワークが急速に収束するのを防ぐために、このプロジェクトでは、識別器が 1 回反復するときにジェネレーター ネットワークを 2 回連続して反復します。これは元の論文とは異なります。

2. 条件付き敵対的ネットワークによる画像間の翻訳

  • GitHub スター: 4242
  • 実装フレームワーク: PyTorch

CycleGAN の元の実装は Lua で記述されていたため、多くの研究者がこのプロジェクトを使用して画像間の変換を再現しました。 CycleGAN の主なアイデアは、2 組のジェネレーターと識別器のモデルをトレーニングして、画像をあるドメインから別のドメインに変換することです。このプロセスでは、サイクルの一貫性が必要です。つまり、ジェネレーターを画像に適用した後、元の L1 損失に似た画像を取得する必要があります。したがって、ジェネレーターが画像をあるドメインから元の画像とはまったく関係のない別のドメインに変換しないようにする巡回損失関数が必要です。

このプロジェクトは、ペア画像間およびペアでない画像間変換の PyTorch 実装です。

4. 強化学習

1. Keras の深層強化学習

  • GitHub スター: 2639
  • 実装フレームワーク: Kera

s

keras-rl を使用すると、Keras を使用して実装され、OpenAI Gym と組み合わせてプロジェクトを構築できる、最も高度な深層強化学習アルゴリズムを簡単に使用できます。

現在、このプロジェクトでは次のアルゴリズムを実装しています。

  • ディープQラーニング(DQN)
  • ダブルDQN
  • ディープ デターミニスティック ポリシー グラディエント (DDPG)
  • 連続 DQN (CDQN または NAF)
  • クロスエントロピー法 (CEM)
  • 決闘ネットワークDQN(デュエリングDQN)
  • ディープサルサ

2. DQN-テンソルフロー

  • GitHub スター: 1610
  • 実装フレームワーク: TensorFlow

論文「深層強化学習による人間レベルの制御」の TensorFlow 実装。

実装には、ディープQネットワークとQ学習が含まれます。

  • リプレイメモリを体験する
  • 継続的な更新の関連性を減らす
  • Q学習目的で使用されるネットワークは、区間問題のために修正される。
  • ターゲットと予測Q値の相関を減らす

5. 教師なし学習

1. MUSE: 多言語の教師なしおよび教師あり埋め込み

  • GitHub スター: 1298
  • 実装フレームワーク: PyTorch

MUSE は多言語単語埋め込み Python ライブラリであり、最新の fastText ベースの多言語単語埋め込みと、トレーニングおよび評価用の大規模で高品質なバイリンガル辞書をコミュニティに提供することを目的としています。

このプロジェクトでは、バイリンガル辞書または同一の文字列を使用する教師ありアプローチと、並列データを使用しない教師なしアプローチの 2 つのアプローチが使用されました。

2. ドメイン転送ネットワーク (DTN)

  • GitHub スター: 654
  • 実装フレームワーク: TensorFlow

論文「教師なしクロスドメイン画像生成」の TensorFlow 実装。下の図は、そのモデル アーキテクチャの概要です。

上記は、各カテゴリの主な人気モデルの簡単な紹介です。紹介されていない優れたプロジェクトもまだたくさんあります。読者は、プラットフォームや特定のニーズに応じてモデルをフィルタリングできます。

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id: Almosthuman2014)」からのオリジナル記事です]

この著者の他の記事を読むにはここをクリックしてください

<<:  TensorFlow の動的グラフツール Eager の使い方は?これは非常に簡単なチュートリアルです

>>:  孫玄: Zhuanzhuan が AI エンジニアリング アーキテクチャ システムを構築する方法

ブログ    
ブログ    
ブログ    

推薦する

AIが作ったノアの箱舟はどこへ行くのでしょうか?

[[348542]]韓国の新人歌手ハヨンが10月8日、人工知能作曲ロボットEvoMがプロデュースし...

2024年のビッグデータと関連分野の予測

データ分析オムニチャネルコマースが拡大するにつれ、広告分析の状況は劇的に変化しようとしています。オン...

車が自動運転できるようになりました。運転免許試験はまだ半分しか終わっていません。引き続き試験を受ける必要がありますか?

自動運転は今とてもホットな話題です。一般の人々も自動車会社も自動運転に強い関心を持っています。現在、...

...

AIをやりたいなら高校でデータサイエンスを勉強するな:ウルトラマンとマスクがついに合意

AIの発展には基礎教育を強化しなければ手遅れになります。大規模モデル技術が急速に発展し、企業間の競争...

データサイエンスの面接で必ず知っておくべき 5 つの質問

同じ場所で二度失敗することがないように、そして他の人の役に立つために、私は自分の情熱に従ってデータ ...

農業生産の効率性を向上させるために、知能ロボットが力を発揮している

現在、知能ロボットは急速な発展期に入り、生活のあらゆる分野で非常に重要な役割を果たし、人類にとっての...

人工知能技術の到来。デジタル変革をどう理解するか?

科学技術の進歩により、人間は肉体的な力から機械の代替まで、自然を変革する能力を獲得し、現在では人工知...

あなたを飛び立たせる5つの迅速なフレームワークモデル

今日のデジタル化が進む世界では、人工知能は私たちの日常生活に欠かせないものとなっています。特に、プロ...

AI は従業員トレーニングにどのような革命をもたらすのでしょうか?

[[395608]]スキルギャップを埋めるプレッシャーの下、多くの組織が人工知能テクノロジーを導入...

ついに誰かがナレッジグラフをわかりやすく説明してくれた

[[382731]]この記事は、劉宇、趙紅宇らが執筆したWeChatパブリックアカウント「ビッグデー...

Google の社内機械学習プロジェクト「Project Ninja」の秘密を解明します。

すべての製品に人工知能を統合したい場合は、強力な機械学習チームを育成する必要があります。 Googl...

2021年には、人工知能が私たちの生活にさらに統合されるでしょう。これは何を意味するのでしょうか?

人工知能の歴史は、アラン・チューリングがチューリングテストを発明した 1950 年代にまで遡ります。...

...