慎重なソート - よく使われる 10 のディープラーニング アルゴリズム

慎重なソート - よく使われる 10 のディープラーニング アルゴリズム

過去 10 年間で、機械学習への関心は爆発的に高まりました。機械学習は、コンピューター プログラム、業界カンファレンス、メディアなどでほぼ毎日目にするようになりました。機械学習に関する多くの議論では、機械学習で何ができるかと、人間が機械学習に何をしてほしいかが混同されています。基本的に、機械学習とは、アルゴリズムを使用して生データから情報を抽出し、何らかのモデルを使用してそれを表現し、そのモデルを使用して、まだモデルによって表現されていない他のデータについて推論を行うことです。

ニューラル ネットワークは機械学習モデルの一種であり、少なくとも 50 年前から存在しています。ニューラル ネットワークの基本単位はノードであり、これは哺乳類の脳内の生物学的ニューロンに大まかに基づいています。生物学的脳内のニューロン ノード間の接続は時間の経過とともに進化し、ニューラル ネットワーク内のニューロン ノード間の接続もこの原理に従って進化し続けます (「トレーニング」を通じて)。

ニューラル ネットワークにおける多くの重要なフレームワークは、1980 年代半ばから 1990 年代初頭にかけて確立され、改善されました。しかし、良い結果を得るには多くの時間とデータが必要であり、当時のコンピューターの能力が限られていたため、ニューラルネットワークの開発はある程度妨げられ、人々の注目もそれに応じて低下しました。 21 世紀初頭、コンピューターの計算能力は飛躍的に向上し、業界ではコンピューター技術の発展における「カンブリア爆発」が起こりました。これは以前には想像もできなかったことです。ディープラーニングは、コンピューティング能力が爆発的に成長したこの 10 年間で有力候補として登場し、多くの重要な機械学習コンテストで優勝してきました。 2017年もその人気は衰えを知りません。最近では、機械学習が登場するところならどこでもディープラーニングを見ることができます。

これは私が自分で作成した小さな例で、単語ベクトルの t-SNE 投影、類似性によるクラスタリングです。

最近、ディープラーニングに関する学術論文を読み始めました。私の個人的な研究によると、以下の記事がこの分野の発展に大きな影響を与えました。

  • 1998 年のニューヨーク大学の論文「文書認識への勾配ベース学習の応用」では、機械学習における畳み込みニューラル ネットワークの応用が紹介されました。
  • トロントの 2009 年の論文「Deep Boltzmann Machines」では、多くの隠れ層を含むボルツマン マシンの新しい学習アルゴリズムが提案されました。
  • 2012 年のスタンフォード大学と Google の論文「大規模な教師なし学習を使用した高レベルの特徴の構築」では、ラベルなしデータのみを使用して、クラス固有の高レベルの特徴検出器を構築する問題が取り上げられています。
  • バークレーの 2013 年の論文「汎用視覚認識のための深層畳み込み活性化機能」では、DeCAF と呼ばれるアルゴリズムが公開されました。これは、深層畳み込み活性化機能のオープンソース実装で、関連するネットワーク パラメーターを備えており、視覚研究者がさまざまな視覚概念学習パラダイムを使用して詳細な実験を実施できるようになりました。
  • DeepMind の 2016 年の論文「Playing Atari with Deep Reinforcement Learning」では、強化学習を介して高次元の感覚入力から直接制御ポリシーを学習できる最初のディープラーニング モデルが提案されました。

AI エンジニアが機械学習の問題を解決するために使用する強力なディープラーニング手法を 10 個まとめました。ただし、まずディープラーニングとは何かを定義する必要があります。

ディープラーニングの形態は過去 10 年間で徐々に変化してきたため、ディープラーニングをどのように定義するかは多くの人にとって課題となっています。下の図は、人工知能、機械学習、ディープラーニングの関係を視覚的に示しています。

人工知能の分野は幅広く、長い間存在してきました。ディープラーニングは機械学習の分野のサブセットであり、機械学習は人工知能の分野のサブセットです。ディープラーニング ネットワークは、一般的に、次の点で「典型的な」フィードフォワード多層ネットワークと区別されます。

  • ディープラーニングネットワークはフィードフォワードネットワークよりも多くのニューロンを持つ
  • ディープラーニングネットワークは、より複雑な方法で層を接続します
  • ディープラーニングネットワークを訓練するには、カンブリア爆発的な計算能力が必要となる。
  • ディープラーニングネットワークは特徴を自動的に抽出できる

上記の「ニューロン数の増加」とは、近年ニューロン数が増加しており、より複雑なモデルで表現できるようになったことを指しています。レイヤーは、多層ネットワークの完全接続レイヤーから、畳み込みニューラル ネットワークのニューロン セグメントへのローカル接続、および再帰型ニューラル ネットワークの同じニューロンへの再帰接続 (前のレイヤーへの接続に加えて) へと進化してきました。

したがって、ディープラーニングは、次の 4 つの基本的なネットワーク フレームワーク内の多数のパラメーターとレイヤーを持つニューラル ネットワークとして定義できます。

  • 教師なし事前学習ネットワーク
  • 畳み込みニューラルネットワーク
  • リカレントニューラルネットワーク
  • リカレントニューラルネットワーク

この記事では、次の 3 つのフレームワークに焦点を当てます。

  • 畳み込みニューラル ネットワークは、基本的に、共有重みを使用して空間的に拡張された標準的なニューラル ネットワークです。畳み込みニューラル ネットワークは主に内部畳み込みを通じて画像を認識し、画像内の認識されたオブジェクトのエッジを見ることができます。
  • リカレント ニューラル ネットワークは、基本的に時間的に拡張された標準的なニューラル ネットワークであり、同時に次のレイヤーに移動するのではなく、次のタイム ステップに移動するエッジを抽出します。リカレントニューラルネットワークは主に、音声信号やテキストなどのシーケンスを認識するために使用されます。内部のループは、ネットワーク内に短期記憶があることを意味します。
  • 再帰型ニューラル ネットワークは階層型ネットワークに似ており、入力シーケンスには実際の時間的側面はありませんが、ツリーのような方法で階層的に処理する必要があります。これらの各フレームワークには、次の 10 の方法を適用できます。

1. バックプロパゲーション

バックプロパゲーションは、関数の合成形式(ニューラル ネットワークなど)で関数の偏導関数(または勾配)を計算する簡単な方法です。勾配ベースの方法 (勾配降下法もその 1 つです) を使用して最適化問題を解決する場合、関数の勾配を各反復で計算する必要があります。

ニューラル ネットワークの場合、その目的関数は形式の組み合わせです。では、勾配はどのように計算すればよいのでしょうか?一般的な方法は 2 つあります。

  • (1)差分解析法関数形式がわかっている場合は、連鎖律(基本的な微積分)を使用して導関数を計算するだけで済みます。
  • (2)微分を近似する差分法このアプローチは、関数の評価が O(N) のオーダー (N はパラメータの数) であるため、計算コストが高くなります。微分解析法と比較すると、この方法は計算負荷が高くなりますが、デバッグ中にバックプロパゲーションの効果を確認するために有限差分がよく使用されます。

2. 確率的勾配降下法

勾配降下法を直感的に理解するには、山の頂上から流れ出る川を想像するといいでしょう。川は山の方向に沿って山のふもとの最低地点まで流れますが、これがまさに勾配降下法の目的です。

私たちが望める最善のことは、川が最終目的地(最低地点)に到達する前に止まらないことです。機械学習では、これは、最初のポイント (山の頂上) から始まる歩行のグローバル最小値 (または最適値) を見つけたと言うことと同じです。しかし、地形のせいか、川の流路には多くの穴があり、川の流れが滞る原因となっている。機械学習の用語では、このような落とし穴は局所最適と呼ばれ、私たちが望むものではありません。局所最適問題を解決する方法はたくさんあります。

したがって、地形の制限 (つまり、関数の性質) により、勾配降下アルゴリズムは簡単に局所的最小値に陥る可能性があります。ただし、丘の特殊な形状 (ボウルなど、技術的には凸関数と呼ばれる) が見つかる場合、アルゴリズムは常に最適なポイントを見つけます。最適化を実行する場合、当然ながら、これらの特殊な地形(凸関数)に遭遇することが最善です。また、山頂の初期位置(つまり関数の初期値)が異なり、山の底までの最終的な経路もまったく異なります。同様に、異なるフロー レート (つまり、勾配降下アルゴリズムの学習率またはステップ サイズ) によっても、目的地に到達する方法が異なります。ポットホール(局所的最小値)が捕捉されるか回避されるかは、これら 2 つの要因によって影響を受けます。

3. 学習率の低下

確率的勾配降下法最適化アルゴリズムの学習率を調整すると、パフォーマンスが向上し、トレーニング時間が短縮されます。これは学習率アニーリングまたは適応学習率と呼ばれます。トレーニングで最も単純かつ一般的に使用される学習率適応方法は、学習率を徐々に下げていくことです。トレーニングの初期段階で大きな学習率を使用すると、学習率を大幅に調整できます。トレーニングの後半の段階では、学習率を下げて、重みをより小さなレートで更新します。この方法では、初期段階で適切な重みを取得することを迅速に学習し、後期段階で重みを微調整することができます。

2 つの一般的なシンプルな学習率減衰法は次のとおりです。

  • 学習率を段階的に直線的に下げる
  • 特定の時点で学習率を大幅に下げる

4. ドロップアウト

多数のパラメータを持つディープニューラルネットワークは、非常に強力な機械学習システムです。しかし、このようなネットワークでは、過剰適合が深刻な問題となります。また、大規模なネットワークは実行速度が遅いため、複数の異なる大規模なニューラル ネットワークの予測を組み合わせてテスト中に過剰適合に対処することが困難になります。 Dropout メソッドはこの問題を解決できます。

主なアイデアは、トレーニング中にニューラル ネットワークからユニット (および対応する接続​​) をランダムに削除し、ユニットの過剰適応を防ぐことです。トレーニング中、指数関数的に異なる「スパース性」を持つサンプルがネットワークから削除されます。テスト中は、重みの小さい単一の非絡みネットワークを使用してこれらのスパース ネットワークの予測を平均化することで、これを近似するのは簡単です。これにより、過剰適合を効果的に回避し、他の正規化方法と比較してパフォーマンスの大幅な向上を実現できます。ドロップアウト技術は、コンピューター ビジョン、音声認識、テキスト分類、計算生物学における教師あり学習タスクにおけるニューラル ネットワークのパフォーマンスを向上させることが示されており、複数のベンチマーク データセットで最先端の結果を達成しています。

5. 最大プーリング

最大プーリングはサンプルベースの離散化手法です。目標は、入力表現 (画像、隠れ層の出力行列など) をダウンサンプリングして次元を減らし、サブ領域内の特徴について仮定を行えるようにすることです。

このアプローチは、抽象的な表現形式を提供することで、過剰適合の問題をある程度解決できます。同様に、学習したパラメータの数を減らし、重要な内部表現の変換不変性を提供することで、計算量を削減します。最大プーリングは、通常は重複しない初期表現のサブ領域に最大フィルターを適用することによって実行されます。

6. バッチ正規化

もちろん、ディープ ネットワークを含むニューラル ネットワークでは、重みの初期化と学習パラメータを慎重に調整する必要があります。バッチ正規化を使用すると、このプロセスが簡単になります。

体重の問題:

  • ランダムに設定するか経験に基づいて設定するかなど、初期の重みをどのように設定しても、初期の重みと学習した重みの差は非常に大きくなります。重みの小さなバッチを検討すると、最初は目的の機能のアクティベーションに対して多くの外れ値が存在する可能性があります。
  • ディープ ニューラル ネットワークは本質的に病的であり、最初の層での小さな変更が後の層での大きな変更につながる可能性があります。

バックプロパゲーション中に、これらの現象によって勾配にシフトが発生する可能性があります。つまり、目的の出力を生成するために重みを学習する前に、勾配で外れ値を補正する必要があります。これにより、収束に必要な時間がさらに長くなります。

バッチ正規化は、これらの勾配を外れ値から正常値に正規化し、ミニバッチ範囲にわたって共通の目標に収束させます(正規化によって)。

学習率の問題:

  • 通常、学習率は小さいため、異常なアクティベーションの勾配は既に学習された重みに影響を与えないため、勾配のごく一部のみが重みの修正に使用されます。
  • バッチ正規化を使用すると、これらの異常なアクティベーションの可能性が低減され、より大きな学習率を使用して学習プロセスを高速化できるようになります。電動フォークリフト用タイヤ

7. 長期記憶と短期記憶

LSTM ネットワークのニューロンと他の再帰型ニューラル ネットワークのニューロンには 3 つの違いがあります。

  • 入力がニューロンに入ることを許可するタイミングを決定します。
  • 前回のタイムステップで計算された内容をいつ記憶するかを決定できる
  • 出力を次のタイムスタンプに渡すタイミングを決定できます。 LSTM の強みは、現在の入力のみに基づいて上記のすべてを決定できることです。下のグラフをご覧ください。

現在のタイムスタンプにおける入力信号 x(t) によって、上記の 3 つのポイントが決定されます。

  • 入力ゲートによって最初のポイントが決定されます。
  • 忘却ゲートは2番目のポイントを決定します。
  • 出力ゲートは 3 番目のポイントを決定します。 これら 3 つの決定は、入力のみに基づいて行うことができます。これは、入力に基づいて突然のコンテキストの切り替えを処理できる脳の仕組みにヒントを得たものです。

8. スキップグラム

単語埋め込みモデルの目標は、各単語の高次元の密な表現を学習することです。埋め込みベクトル間の類似性は、対応する単語間の意味的または構文的な類似性を示します。 Skip-gram は、単語埋め込みアルゴリズムを学習するためのモデルです。スキップグラム モデル (および他の多くの単語埋め込みモデル) の背後にある主な考え方は、2 つの語彙項目が類似したコンテキストを持つ場合、それらは類似しているというものです。

言い換えれば、「猫は哺乳類である」という文がある場合、「猫」を「犬」に置き換えても、その文は意味を成します。したがって、この例では、「犬」と「猫」は同様のコンテキスト(つまり、「哺乳類である」)を持ちます。

上記の仮定に基づいて、コンテキスト ウィンドウ (K 個の連続した項目を含む) を検討できます。次に、単語の 1 つをスキップし、スキップした単語を除くすべての用語を取得し、スキップした単語を予測できるニューラル ネットワークを学習してみます。したがって、大規模なコーパス内で 2 つの単語が類似したコンテキストを複数回持つ場合、これらの単語の埋め込みベクトルは類似したものになります。

9. 連続バッグオブワードモデル

自然言語処理では、文書内の各単語を数値ベクトルとして表現し、類似のコンテキストに出現する単語が類似または近いベクトル表現を持つようにします。連続バッグオブワードモデルでは、コンテキストを使用して特定の単語を予測することが目標です。

まず、大規模なコーパスから大量の文を抽出し、単語が現れるたびにその文脈を抽出します。次に、コンテキストの単語をニューラル ネットワークに入力し、このコンテキストの中心となる単語を予測します。

このようなコンテキスト単語と中心単語が何千個もある場合、ニューラル ネットワーク データセットのインスタンスが得られます。このニューラル ネットワークはトレーニングされ、エンコードされた隠し層の最終出力で特定の単語の埋め込み表現が得られます。多数の文をトレーニングすると、類似したコンテキスト内の単語は類似したベクトルを取得する可能性があることもわかります。

10. 転移学習

畳み込みニューラル ネットワークがどのように画像を処理するかを考えてみましょう。画像を検討し、それに畳み込みを適用して、ピクセルの組み合わせを出力として取得します。これらの出力がエッジであると仮定して、再度畳み込みを適用すると、出力はエッジまたはラインの組み合わせになります。次に畳み込みが再度適用され、今度は出力は線の組み合わせになります。各レイヤーで特定のパターンを探すと考えてください。ニューラル ネットワークの最後の層は、通常、非常に特別なものになります。

ImageNet でトレーニングした場合、ニューラル ネットワークの最後の層は、たとえば子供、犬、飛行機などの完全な画像を探すことになります。数層前に戻ると、ニューラル ネットワークが目、耳、口、車輪などのコンポーネントを探していることがわかります。

深層畳み込みニューラル ネットワークの各層は、徐々に高レベルの特徴表現を構築し、最後の数層は通常、入力データに特化しています。一方、初期のレイヤーはより一般的であり、主に大規模なクラスの画像全体にわたって多くの単純なパターンを見つけるように設計されています。

転移学習とは、あるデータセットで畳み込みニューラル ネットワークをトレーニングするときに最後のレイヤーを削除し、別のデータセットでモデルの最後のレイヤーを再トレーニングすることです。直感的に言えば、これはモデルを再トレーニングして、さまざまな高レベルの特徴を認識することを意味します。そのため、トレーニング時間が大幅に短縮されるため、データが十分でない場合やリソースが多すぎる場合に転移学習は便利なツールとなります。

要約:

ディープラーニングでは技術的な実践が非常に重視されますが、「実践は見るより大切」ということわざにあるように、もちろん、ここで述べたことはまだ非常に表面的なものです。ディープラーニングへの興味を喚起することができれば非常に嬉しいです。

<<:  ビジネスアナリストにとってAIが意味するもの

>>:  機械学習モデルの解釈可能性について

ブログ    
ブログ    
ブログ    

推薦する

これら5つのコアテクノロジーを理解すれば、人工知能はもうあなたの身近な存在に

人工知能は現在最も注目されている産業であり、将来的にはロボット、スマートセンサー、ウェアラブルデバイ...

AIによる朗読がオーディオブック市場に影響、声優の仕事が脅かされる

6月19日のニュース:テクノロジーの進歩に伴い、人工知能(AI)が徐々に出版業界に参入し、特にオーデ...

15年以内に恐竜を繁殖させる、マスクは恐竜を​​月に送りたいのか?

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

人工知能の登場により、一人暮らしの高齢者の介護は難しくなくなり、高齢者介護はテクノロジーの時代に入った

[[389635]]私の国では高齢化が進み、高齢者介護は長い間、社会全体で広く関心を集めるテーマとな...

データだけ? 2018 年の AI 予測トップ 5

[[213487]] 2017年、人工知能(AI)は職場でも家庭でも、ほとんどの人々の日常生活の一...

組み込み物流ロボットの用途は何ですか?

ネットワーク技術やグリッドコンピューティングの発展により、組み込み型モバイル機器を中核とした「ユビキ...

人工知能技術が人の流れにおける個々の感染リスクを迅速に特定し、同済は伝染病予防・制御識別システムを開発

[[315277]]校門に設置されたカメラの前に立つと、システムは顔認識技術と現場での体温検知を組み...

MIUI 10の最後の開発バージョンが間もなくリリースされます。MIUI 11も間もなく登場します。

8月22日、MIUIは、より良い最適化効果を実現し、Miファンに優れたシステム体験をもたらすために...

...

確率的隠れ層モデルに基づくショッピングペアリングプッシュ:アリババが新しいユーザー嗜好予測モデルを提案

論文:混合モデルアプローチによる電子商取引プッシュ通知での補完製品の推奨論文リンク: https:/...

潜在能力を解き放つ: 人工知能がパーソナライズされた学習に与える影響

急速に進化する今日の教育環境では、テクノロジーの統合がかつてないほど普及しています。さまざまな技術の...

...

具現化された知能の新時代! VLAは、UIナビゲーションとロボット操作を備えた最強の基本モデルMagmaを歓迎します

既存の大規模言語モデル、画像生成モデルなどは、少数のモーダルデータに対してのみ動作し、人間のように物...

ユーザー投票に基づくランキングアルゴリズム: Delicious と Hacker News

インターネットの出現は「情報爆発」を意味します。ユーザーが心配するのは、もはや情報量が少なすぎること...