NanoNets: データが限られている場合にディープラーニングを適用するにはどうすればよいでしょうか? (優れた)

NanoNets: データが限られている場合にディープラーニングを適用するにはどうすればよいでしょうか? (優れた)

私は AI をロケット船の建造に例えています。巨大なエンジンと大量の燃料が必要です。エンジンが大きくても燃料が足りなければ、ロケットを軌道に乗せることはできません。また、エンジンが小さくても燃料が多ければ、離陸に成功しない可能性もあります。したがって、ロケット船を建造するには、巨大なエンジンと大量の燃料が必要になります。

ディープラーニング(人工知能を作成するための重要なプロセスの 1 つ)についても同じことが言えます。ロケット エンジンはディープラーニング モデルであり、燃料はアルゴリズムを適用できる膨大な量のデータです。 ——アンドリュー・ン

ディープラーニングを使用して問題を解決する際の一般的な障壁は、モデルのトレーニングに必要なデータの量です。ビッグデータの必要性は、学習する必要があるモデル内のパラメータの数が多いことから生じます。

以下に、最近のモデルに必要なパラメータの数を示す例をいくつか示します。


ディープラーニングモデルの詳細

ニューラルネットワークはディープラーニングとも呼ばれ、積み重ねることができる階層構造です(レゴを想像してください)

ディープラーニングは、データが一方から入力され、推論や知識が他方から出力されるフローチャートとして考えることができる、大規模なニューラル ネットワークに他なりません。

ニューラル ネットワークを分解し、切り離し、好きな場所から推論を取り出すことができます。そこから何か意味のあることは得られないかもしれませんが、Google DeepDream のように実行することは可能です。

モデルサイズ ∝ データサイズ ∝ 問題の複雑さ

必要なデータの量とモデルのサイズの間には、興味深いほぼ直線的な関係があります。 基本的な考え方は、モデルは、データ内の関係 (画像のテクスチャや形状、テキストの文法、音声の音素など) と問題の具体的な詳細 (カテゴリの数など) の両方をキャプチャできるほど十分に大きくする必要があるということです。モデルの初期レイヤーは、入力のさまざまな部分間の高レベルの関係 (エッジやパターンなど) をキャプチャします。後のレイヤーは、最終的な決定を下すのに役立つ情報をキャプチャし、多くの場合、望ましい出力を区別するのに役立ちます。そのため、問題の複雑度が高い場合(画像分類など)、必要なパラメータの数とデータの量も非常に多くなります。


AlexNetが各ステップで見るもの

転移学習が救いの手となる!

特定のドメインの問題に取り組む場合、このサイズのモデルを構築するために必要なデータ量を見つけることができないことがよくあります。 ただし、1 つのタスク用にトレーニングされたモデルは、データ タイプ間の関係をキャプチャし、同じドメイン内のさまざまな問題に簡単に再利用できます。 この技術は転移学習と呼ばれます。

転移学習は、誰も守ろうとしない最高の秘密のようなものです。 業界内の誰もがそれを知っていましたが、外部の誰も知りませんでした。


Google トレンド 機械学習 vs ディープラーニング vs 転移学習

ディープラーニングのトップ論文を確認するには、「Awesome — Most Cited Deep Learning Papers」を参照してください。最も引用されているディープラーニング論文のうち、50% 以上が何らかの形の転移学習または事前トレーニングを使用しています。 転移学習は、リソース(データとコンピューティング)が限られている人々にもますます適用できるようになっていますが、残念ながら、このアイデアはそれにふさわしい社会化を受けていません。 それを最も必要としている人々はまだそれを知りません。

ディープラーニングが聖杯であるならば、データは門番であり、転移学習が鍵となります。

転移学習を使用すると、すぐに利用できる大規模なデータセットでトレーニングされた事前トレーニング済みモデルを取得し、同じ入力で異なる出力を持つまったく異なるタスクでトレーニングすることができます。 次に、再利用可能な機能を出力するレイヤーを探します。 このレイヤーの出力を入力機能として使用し、必要なパラメータが少ない、はるかに小さなネットワークをトレーニングします。 この小規模なネットワークは、事前トレーニング済みモデルからのデータ内のパターンをすでに学習しており、現在はそれが特定の問題にどのように関連するかを学習するだけです。 このようにして、ゴッホの作品を再現するために再利用できる猫検出モデルをトレーニングすることができます。

転移学習を使用するもう一つの大きな利点は、モデルが非常によく一般化されることです。 大規模なモデルはデータに過剰適合する傾向があり(つまり、基礎となる現象ではなくデータをモデル化する)、未知のデータでテストするとパフォーマンスが低下します。 転移学習により、モデルはさまざまな種類のデータを確認できるようになるため、世界の根本的なルールをより良く学習できるようになります。

オーバーフィッティングは学習ではなく記憶であると考えてください。 ——ジェームズ・ファグモス

転移学習によるデータ削減

青と黒のドレス対白と金のドレスの論争を終わらせたいとしましょう。青と黒のドレスと白と金のドレスの検証済み画像を収集し始めます。上記のような正確なモデル(1億4000万個のパラメータを持つ)を自分で構築したい場合。このモデルをトレーニングするには、120 万枚の画像を見つける必要がありますが、これは不可能な作業です。 そこで転移学習を試すことができます。

転移学習を使用してこの問題を解決するために必要なパラメータの数を計算します。

  • パラメータ数 = [入力サイズ + 1] * [出力サイズ + 1]
  • = [2048+1]*[1+1]~ 4098パラメータ

パラメータの数が 1.4×10⁸ から 4×10³ に 5 桁減少していることがわかります。 そこで、ドレスの画像を 100 枚未満収集することになりますが、これで十分でしょう。ふう!

ドレスの実際の色を知るのが待ちきれず、待ちきれない場合は、下にスクロールして、自分のドレスをモデル化する方法を確認してください。

· · ·

感情分析に関連する例を使用した転移学習のステップバイステップガイド

この例では、72件の映画レビューがあります

  1. 62には感情が割り当てられていないため、これらはプレモデルに使用されます。
  2. 8つには感情が割り当てられており、モデルのトレーニングに使用されます。
  3. 2つには感情が割り当てられており、モデルのテストに使用されます。

ラベル付けされた文(感情が関連付けられているもの)は 8 つしかないため、最初にコンテキストを予測するモデルを直接トレーニングします。 8 つの文だけでモデルをトレーニングすると、精度は 50% になります (50% はコインを投げて決定を下すようなものです)。

この問題を解決するために、転移学習を使用して、まず 62 個の文でモデルをトレーニングします。 次に、最初のモデルの一部を使用して、その上で感情分類器をトレーニングします。 8 つの文を使用してトレーニングし、残りの 2 つの文でテストすると、モデルは 100% の精度を生成します。

ステップ1

単語間の関係をモデル化するためのネットワークをトレーニングします。文中の単語を渡し、その単語が同じ文のどこに現れるかを予測してみてください。次のコードでは、埋め込み行列のサイズは vocabulary xembedding_size であり、各単語を表すベクトルを格納します (ここではサイズは「4」です)。

Github アドレス: https://gist.github.com/sjain07/98266a854d19e01608fa13d1ae9962e3#file-pretraining_model-py

ステップ2

同じコンテキストで表示される単語が同様のベクトル表現を取得できるように、このアイコンをトレーニングします。これらの文を前処理して、ストップワードをすべて削除し、トークン化します。次に、単語を 1 つずつ渡して、その単語ベクトルと周囲の単語との距離を短くし、その単語ベクトルとコンテキストに含まれていないランダムな単語との距離を最大化しようとします。

Github アドレス: https://gist.github.com/sjain07/3e9ef53a462a9fc065511aeecdfc22fd#file-training_the_pretrained_model-py

ステップ3

次に、その文章が表現しようとしている感情を予測します。現在、肯定ラベルと否定ラベルが付いた文が 10 個 (トレーニング用に 8 個、テスト用に 2 個) あります。前のステップで得られたモデルにはすでにすべての単語から学習されたベクトルが含まれており、これらのベクトルの数値属性は単語のコンテキストを表すことができるため、感情の予測をさらに簡素化できます。

このとき、文を直接使用するのではなく、文ベクトルをその文に含まれるすべての単語の平均値に設定します (このタスクは、実際には LSTM に似た技術によって実現されます)。文ベクトルは入力としてネットワークに渡され、出力はコンテンツが肯定的であるか否定的であるかのスコアになります。隠れた中間層を使用し、ラベル付きの文でモデルをトレーニングしました。ご覧のとおり、毎回 10 個のサンプルのみが使用されたにもかかわらず、モデルは 100% の精度を達成しました。

Github アドレス: https://gist.github.com/sjain07/a45ef4ff088e01abbcc89e91b030b380#file-training_the_sentiment_model-py

これは単なる一例ですが、転移学習技術の助けにより、精度が 50% から 100% に急速に向上したことがわかります。完全な例とコードを表示するには、次のアドレスにアクセスしてください。

https://gist.github.com/prats226/9fffe8ba08e378e3d027610921c51a78

転移学習の実際の例

  • 画像認識: 画像強化、スタイル転送、物体検出、皮膚がん検出。
  • テキスト認識: ゼロショット翻訳、感情分類。

転移学習の実装の難しさ

モデルは少量のデータでトレーニングできますが、このテクノロジーを使用するには高度なスキルが必要です。上記の例でハードコードされたパラメータの数を見て、モデルをトレーニングする前にこれらのパラメータを常に調整する必要がある場合、転移学習技術を使用することがいかに難しいか想像してみてください。

  1. 転移学習技術が現在直面している問題は次のとおりです。
  2. 事前トレーニングに必要な大規模なデータセットを見つける
  3. 事前トレーニングに使用するモデルの決定
  4. どちらかのモデルが期待どおりに動作しない場合は、デバッグが困難になります。
  5. モデルをトレーニングするのにどれだけの追加データが必要か不明
  6. 事前学習済みモデルを使用する際にどこで停止するかを決めるのが難しい
  7. 事前トレーニング済みモデルに基づいて、モデルに必要なレイヤー数とパラメータを決定する
  8. 統合モデルをホストして提供する
  9. より多くのデータやより優れたテクノロジーが利用可能になったら、事前トレーニング済みのモデルを更新します。

データサイエンティストを見つけるのは困難です。データ サイエンティストを発見できる人を見つけるのも同じくらい難しいのです。 --Krzysztof Zawadzki

転移学習をより簡単に

私たちは、こうした問題を身をもって体験した後、転移学習技術に対応したクラウドベースのディープラーニングサービスを構築し、この使いやすいサービスを通じてこれらの問題を解決しようと試みました。このサービスには、何百万ものパラメータにトレーニングされた事前トレーニング済みモデルのコレクションが含まれています。独自のデータをアップロードする(またはインターネットでデータを検索する)だけで、サービスが特定のタスクに最適なモデルを選択し、既存の事前トレーニング済みモデルに基づいて新しい NanoNet を構築し、データを NanoNet に入力して処理します。


NanoNets の転移学習技術 (このアーキテクチャは基本的なプレゼンテーションのみです)

独自の NanoNet (画像分類) を構築する

1. ここで処理したいカテゴリを選択します。

2. ワンクリックで Web の検索とモデルの構築を開始します (独自の画像をアップロードすることもできます)。

3. 青と金のドレスをめぐる論争を解決します(モデルの準備ができたら、シンプルで使いやすい Web インターフェースを通じてテスト画像をアップロードできるようにし、特定の言語に依存しない API も提供します)。


<<:  データ拡張: データが限られている場合にディープラーニングをどのように使用するか? (下)

>>:  50 以上の実用的な機械学習および予測 API (2018 年版)

ブログ    

推薦する

テスト効率が2倍になりました!第2回NCTS中国クラウドテストサミットがAIテストの新たなパラダイムを切り開く

テスト効率が2倍になりました!第2回NCTS中国クラウドテストサミットがAIテストの新たなパラダイム...

新しいヘルスケアソリューション: ヘルスケアにおける AI と IoT が認知症患者をどのように支援できるか

年齢を重ねるにつれて、私たちの体はさまざまな病気や障害に悩まされるようになります。それはまるで逆方向...

「中関村スマートAIパートナープログラム」の登録受付が開始

「中関村スマート人工知能パートナープログラム」(以下、プログラム)の登録は2021年3月1日に正式に...

...

2024年の人工知能の6つの主要な発展トレンド

テクノロジーが支配する急速に進化する世界では、人間の創造性と人工知能 (AI) の魅力的な融合が中心...

AIサポートにより、Kiteはインテリジェントなコード補完機能を追加し、操作を半分に減らし、リアルタイムで補完します。

コード補完ツール Kite は最近最新バージョンに更新され、「インテリジェント スニペット」と呼ばれ...

...

...

人工知能はディープラーニングへと移行しており、強力なコンピューティングパワーの構築は重要な指標となっている

報告によると、人工知能の最大の課題の 1 つは、認識率と精度が低いことです。精度を向上させるには、モ...

市場レポートの予測: 2027年には世界の生体認証市場は1,000億ドルに近づく

近年、人工知能の継続的な成熟に伴い、生体認証技術は生活のあらゆる分野に浸透し、コストが削減され、効率...

スマート製品はどこにでもあります。人工知能と通常の知能の違いは何でしょうか?

多くの一般消費者にとって、どれが本物の人工知能でどれが単なる普通の知能なのかを区別することは不可能で...

李菲菲のチームはロボット用の「模擬キッチン」を作った。洗浄、カット、調理のワンストップトレーニングである。

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIがサイバーセキュリティに革命を起こす: フィッシング攻撃の防止

テクノロジーが私たちの日常生活を支配する時代において、サイバー脅威はますます巧妙かつ危険なものになっ...

Transformer ではまだ注意が必要ですか?

ここ数週間、AI コミュニティでは、注意を必要としないアーキテクチャを使用して言語モデルを実装すると...

AIロボットがCESを席巻! OpenAI は ChatGPT の軍事アプリケーションに対する制限を秘密裏に解除しました。Skynet は来るのでしょうか?

少し前にスタンフォード大学の「エビ揚げロボット」が数え切れないほどの人々をため息まじりにさせた。20...