最近、カリフォルニア大学サンタクルーズ校 (UCSC) の Stewart 研究室の博士研究員である Pablo Cordero 氏が、自身の個人ブログに初の記事「ディープラーニングを使用しない場合」を公開し、ディープラーニングの現状と先入観について議論し、その限界を分析しました。 ブログのタイトルに使うには奇妙な言葉だとは思いますが、先日、私が今考えている疑問のいくつかにまさに当てはまる議論が活発に行われました。すべては、小規模なサンプル範囲でのディープラーニングの使用を説明した Jeff Leek の記事から始まりました。つまり、サンプルが小さい場合(生物学では一般的)、パラメータの少ない線形モデルは、層と隠れユニットの数が少ない深層ネットワークよりも優れたパフォーマンスを発揮できると彼は主張しています。彼はさらに、10 個の有益な特徴を持つ非常に単純な線形予測子が、約 80 個の例を使用して MNIST データセット内の 0 と 1 を分類する際に単純なディープ ネットワークよりも優れていることを示しています。これを受けてアンドリュー・ビームは反論を書き、適切に訓練されたディープネットワークは訓練例が非常に少ない場合でも単純な線形モデルよりも優れた性能を発揮できると書いた。議論が進む中、ますます多くの生物医学情報学の研究者が、さまざまな問題に取り組むためにディープラーニングを採用し始めました。誇大宣伝は現実のものか、それとも線形モデルだけが必要なのでしょうか? いつものように、答えは状況によって異なります。この記事では、ディープラーニングを適用する意味があまりない機械学習のユースケースをいくつか紹介し、特に初心者にとってディープラーニングの適用を妨げると思われる先入観に対処します。 ディープラーニングに関する先入観 まず、一般の人が半分真実だと誤解しているいくつかの先入観について説明しましょう。 2 つの大きな先入観と、もう 1 つの技術的な先入観があります。これは、Andrew Beam の「誤った先入観」の延長線上にあるものです。 ディープラーニングは小さなデータサンプルにも適用できる ディープラーニングの評判は、大量のデータ(たとえば、Google の Brain プロジェクトでは、大量の YouTube 動画をディープ ネットワークに入力しました)に基づいており、大量のデータで実行される複雑なアルゴリズムとして宣伝されてきました。残念ながら、ビッグデータとディープラーニングの関係は逆になる場合があり、ディープラーニングは小さなデータサンプルには適用できないという誤解があります。ニューラル ネットワークのサンプル データが非常に少なく、パラメーターとサンプルの比率が高い場合は、過剰適合しているように見えることがあります。しかし、教師あり学習か教師なし学習かにかかわらず、特定の問題のサンプル サイズと次元のみを考慮すると、コンテキストのない真空状態でデータをモデル化することになります。問題に関連するデータ リソースがあるか、ドメインの専門家が強力な事前情報を提供できるか、データが特殊な構造で整理されている可能性があります。これらすべてのケースにおいて、ディープラーニングは、たとえば、より大規模で関連のあるデータセットの有用な表現をエンコードし、それを問題に適用するなど、効果的なアプローチになる可能性があります。この典型的な例は自然言語処理では非常に一般的であり、大規模なコーパスの単語埋め込みを学習し、それをより小さく、より狭いコーパスの埋め込みとして使用して、教師あり学習タスクを実行します。極端に言えば、ニューラル ネットワークのアンサンブルを組み合わせて表現を学習し、その表現を小さな例のセットで効率的に再利用することもできます。これはワンショット学習と呼ばれ、コンピュータービジョンや創薬など、多くの高次元データ分野で効果的に使用されてきました。 Altae-Tran らによる創薬のためのワンショット学習ACS Cent. 科学 2017. ディープラーニングはすべての答えではない 私が最もよく耳にする2番目の先入観は誇大広告です。多くの実践者志望者は、ニューラル ネットワークが他の分野でうまく機能しているという理由だけで、ディープ ネットワークによってパフォーマンスが不思議と向上することを期待しています。他の人たちは、画像、音楽、言語のモデリングと操作の仕事からインスピレーションを得て、新しい GAN アーキテクチャのトレーニングを試みることでこの分野に飛び込みました。誇大宣伝は、いろいろな意味で本物です。ディープラーニングは機械学習の中でも際立っており、データモデリングの重要なツールとなっています。ディープラーニングの人気により、TensorFlow や PyTorch などのコア フレームワークがいくつか誕生しました。これらはディープラーニング以外でも驚くほど便利です。弱小スーパースターの物語は、進化戦略や強化学習など、これまで忘れ去られていた手法を再発見するきっかけを研究者たちに与えた。しかし、これは決して万能薬ではありません。それにもかかわらず、ただで手に入るものは何もなく、ディープラーニング モデルは非常に微妙なため、慎重で、時には費用のかかるハイパーパラメータの検索、デバッグ、テストが必要になります (これについては後で詳しく説明します)。さらに、多くの場合、ディープラーニングには実用的な価値はあまりありませんが、より単純なモデルの方が効率的です。 ディープラーニングは単なる.fit() ではない 機械学習の他の分野からの翻訳により、ディープラーニングの 1 つの側面がやや不明瞭になっています。多くのチュートリアルや入門資料では、ディープラーニング モデルは階層的に相互接続されたレイヤー (ノードで構成) で構成され、最初のレイヤーが入力レイヤーで最後のレイヤーが出力レイヤーであると説明されています。確率的勾配降下法を使用してトレーニングすることができます。確率的勾配降下法の仕組みとバックプロパゲーションについて簡単に触れた後、説明の大部分はニューラル ネットワークの豊富な種類に焦点を当てています。最適化方法自体には追加の注意はほとんど必要ありませんが、ディープラーニングが機能する理由の大部分はこれらの特定の方法によるものである可能性が高いため、残念なことです。また、パラメータを最適化する方法や、それらを効果的に使用するためにデータを分割する方法に関するガイダンスは、妥当な時間枠内で適切なカールを得るために重要です。確率的勾配がなぜそれほど重要なのかはまだ不明ですが、あちこちから手がかりが浮かび上がってきています。私のお気に入りの 1 つは、ベイズ推論を実行する一環としてこの方法を示しています。本質的には、何らかの形の算術演算を行うたびに、特定の仮定と事前確率を使用してベイズ推論を実行していることになります。 確率的勾配降下法は難しくなく、最近の研究では、このステップは実際には特定の仮定の下で定常分布を持つマルコフ連鎖であり、事後分布の変分近似として見ることができることが示されています。したがって、SGD を停止して最適なパラメータを取得すると、基本的にこの近似分布からサンプリングすることになります。オプティマイザーのパラメータがこのように大きな役割を果たすため、このアイデアは非常に刺激的だと思いました。たとえば、SGD の学習パラメータを増やすことができるため、マルコフ連鎖は、広い領域をサンプリングする局所最小値を見つけるまで不安定になる可能性があります。つまり、ステップの分散を増やすことになります。一方、学習パラメータを減らすと、マルコフ連鎖は狭い領域内に収束するまでゆっくりと狭い最小値に近づきます。つまり、特定の領域での分散が増加します。 SGD のバッチ サイズという別のパラメータも、アルゴリズムが収束する領域のタイプを制御します。少量バッチの場合は広い領域、大量バッチの場合は狭い領域。 SGD は、学習率またはバッチ サイズに応じて、広い最小値または狭い最小値を優先します。 この複雑さは、ディープ ネットワークのオプティマイザーがトップレベルになることを意味します。つまり、オプティマイザーはモデルの中核部分であり、レイヤー アーキテクチャと同じくらい重要です。これは他の多くの機械学習モデルでは一般的ではありません。線形モデルとサポートベクターマシンは凸最適化問題であり、実際にはそれほど違いはなく、真の答えは 1 つしかありません。このため、他の分野の人や scikit-learn などのツールを使用している人は、.fit() を使用した非常にシンプルな API が見つからないと混乱します。 ディープラーニングの限界 では、ディープラーニングがタスクに本当に適さないのはどのような場合でしょうか? 私の意見では、ディープラーニングが適さない主なシナリオはいくつかあります。 予算が少ない、またはコミットメントが低い問題 ディープラーニング モデルは非常に柔軟性が高く、多数のアーキテクチャとノード タイプ、オプティマイザー、正規化戦略を備えています。アプリケーションに応じて、モデルには畳み込み層や再帰構造が含まれる場合があります。また、非常に深い場合もあれば、隠し層が少数しかない場合もあります。さらに、正規化線形ユニットやその他の活性化関数が使用される場合もあります。ドロップアウトがある場合とない場合があり、重みが正規化されている場合もあります。これは単なる部分的なリストであり、他にも多くの種類のノード、リンク、さらには損失関数を試すことができます。大規模なニューラル ネットワークのトレーニングには非常に時間がかかりますが、微調整できるハイパーパラメータや探索できるアーキテクチャは数多くあります。 Google は最近、AutoML パイプラインが最適なアーキテクチャを自動的に見つけることができると宣伝しましたが、それには 800 台以上の GPU を数週間にわたってフル稼働させる必要があり、すべての人に適しているわけではありません。重要なのは、ディープ ネットワークのトレーニングは計算とデバッグの点でコストがかかり、日常的な予測問題の多くでは意味のない費用であり、小規模なネットワークの調整でさえ時間がかかりすぎるということです。十分な予算とコミットメントがある場合でも、ベンチマークとして最初に他のアプローチを試さない理由はありません。線形サポート ベクター マシンだけで十分だということがわかれば、きっと驚くことでしょう。 モデルのパラメータや特徴の重要性を一般の人々に説明し、伝える ディープ ネットワークは、強力な予測機能を持ちながら説明能力がないブラック ボックスであることで有名です。最近、いくつかの分野で多くのツールが目立つようになってきましたが、すべてのアプリケーションに完全に移行されるわけではありません。これらのツールは、ネットワークがユーザーを騙していないことを確認したい場合に適しています。これは主に、データセットを保存したり、特定の偽の特徴に焦点を当てたりすることで実現されます。しかし、ディープ ネットワークの全体的な決定に対する特徴の重要性を説明するのは、まだ難しいのでしょうか? この分野では、学習した係数と応答の間に直接的な関係があるため、線形モデルに勝るものはありません。これは、これらの解釈を一般の聴衆に伝えるときに特に重要です。たとえば、医師は診断を行うために、あらゆる種類の異なるデータを統合する必要があります。変数と結果の関係がより単純で直接的であればあるほど、医師はそれをより有効に活用し、その価値を過小評価/過大評価する可能性が低くなります。さらに、多くの場合、モデルの精度は理論的な解釈ほど重要ではありません。たとえば、政策立案者は人口統計変数が死亡率に与える影響を知りたいと考えており、予測精度よりも関係の直接的な近似値に関心がある可能性が高いです。どちらの場合も、ディープラーニングは、より単純でより深い方法に比べて不利です。 因果メカニズムの確立 モデル解釈の極端な例は、メカニズムモデル、つまりデータの背後にある現象を実際に捉えるモデルを構築しようとすることです。良い例としては、2 つの分子が特定の細胞環境で相互作用するかどうかを推測することや、特定のマーケティング戦略が実際に売上にどのような影響を与えるかを仮説することなどが挙げられます。この分野の専門家は、昔ながらのベイズアプローチに代わるものはなく、因果関係の表現と推論にはこれが最善の方法だと考えています。 Vicarious は最近、この点に関して素晴らしい研究を行い、このより原理的なアプローチがビデオゲームのタスクにおいてディープラーニングよりも一般化しやすい理由を実証しました。 「非構造的」特徴から学ぶ これは議論の余地があります。ディープラーニングが優れていると私が感じた領域の 1 つは、特定のタスクに役立つデータの表現を見つけることです。良い例は、上で述べた単語の埋め込みです。自然言語は、「コンテキスト認識型」ネットワークによって近似できる豊かで複雑な構造を持っています。つまり、各単語は、最も頻繁に使用されるコンテキストをエンコードするベクトルとして表現できます。大規模なコーパスで学習した単語埋め込みを自然言語処理タスクに使用すると、別のコーパスの特定のタスクが改善されることがあります。しかし、問題のコーパスが完全に構造化されていない場合、ディープラーニングは役に立ちません。たとえば、構造化されていないキーワードのリストを見て分類をターゲットにしているとします。キーワードは特定の構造では使用されていないため、単語の埋め込みはあまり役に立ちません。この場合、データは真の単語の集まりであり、その表現はタスクに十分です。反論としては、単語埋め込みは実際にはそれほど高価ではなく、事前にトレーニングされた単語埋め込みを使用すれば、キーワードの類似性をより適切に捉えることができる可能性がある、という意見があるかもしれません。ただし、私としては、まずは bag-of-words 表現から始めて、適切な予測が得られるか確認したいと思います。結局のところ、単語のバッグの各次元は、対応する単語埋め込みスロットよりも解釈が容易です。 深みは未来 ディープラーニングは注目されており、資金も豊富で、急速に成長しています。会議でディープラーニングの論文を読むと、それは 2 回または 3 回の反復の結果である可能性があります。これは、私が上で述べたことの多くにつながります。つまり、ディープラーニングは近い将来、いくつかのシナリオで依然として非常に役立つ可能性があるということです。ディープラーニングを解釈するためのツールはますます良くなってきています。最近のソフトウェア (Edward など) は、ベイズモデリングとディープ ネットワーク フレームワークを組み合わせ、確率的プログラミングと自動変分推論を利用して、ニューラル ネットワーク パラメーターの不確実性と単純なベイズ推論を定量化します。長期的には、深層ネットワークが持つ顕著な特性を明らかにする簡略化されたモデリング語彙があり、それによってテストする必要のあるもののパラメータ空間が削減されます。したがって、arXiv を引き続きチェックしてください。おそらくこの記事は 1 か月か 2 か月以内に更新されるでしょう。 Edward は TensorFlow に確率的プログラミングを組み込んでおり、ディープラーニングとベイズモデルの両方に使用できます。 Tran らによる ICLR 2017 論文から改変。 |
<<: 女の子とのいちゃつきを例にとると、5分でディープラーニングが理解できます!
>>: 浅いモデルから深いモデルへ: 機械学習最適化アルゴリズムの概要
データサイエンスはデータに関するものです。これは、あらゆるデータ サイエンスや機械学習プロジェクトの...
1. 新しいユーザーシナリオでの実験が直面する問題1. UGパノラマUGのパノラマビューです。 U...
効果的な IT 組織は、ハイパフォーマンス コンピューティング (HPC) から教訓を得て、システム...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
作者は長い間ブログを更新していませんでした。その理由の一つは、開発したプロジェクトで使用されている技...
2020年が終わり、2021年が始まりました!私たちは最近、人工知能の専門家たちにインタビューし、2...
12月24日、グーグルが社内の効率化のために人工知能(AI)ツールの導入を検討していると報じられた。...
海外で流行が猛威を振るう中、多くの企業は従業員にリモートワークをさせざるを得ない状況となっている。そ...
年末が近づくにつれ、多くの研究機関が2020年のトレンド予測を発表しています。これらの予測の多くは、...
[[406953]]自動車メーカー、自動運転企業、バッテリーおよびエネルギー貯蔵企業として、テスラは...
[[329146]]この記事では、「アルゴリズム」という単語を非常に簡略化して使用し、単一のアルゴリ...