ディープラーニングの深層: モデリング知識とオープンソースツールのオプション

ディープラーニングの深層: モデリング知識とオープンソースツールのオプション

[51CTO.com クイック翻訳] この記事では、ディープラーニングアルゴリズムを使用してデータモデルを作成する方法に焦点を当てます。ここでは、人間の脳や人間の知能に関連する問題については議論しませんが、ディープラーニング技術がコンピューターサイエンスと初期の人工知能における主要な問題の解決にどのように役立つかを説明します。また、ディープラーニングの利点と応用についても説明し、ディープラーニング モデルの作成時に発生するいくつかの質問に回答します。参考資料、提案、ヒントを提供し、それらを他のフォローアップ トピックの開始点として使用します。

まず、私はディープラーニングの分野の専門家ではありません。それどころか、私もこの技術を学んでおり、この記事を通じて自分のアイデアや知識を共有し、より多くの友人が学習に参加するよう促したいと考えています。抜け漏れや誤り、補足すべき内容などございましたら、コメント欄にてご指摘ください。よろしくお願いいたします。

データサイエンスの専門家として、ディープラーニング技術の最も魅力的な点は、複数の分野に拡張して多数の実用的な問題を解決できる点です。ディープラーニングは昨今トレンドとなっており、大きな潜在的応用領域を秘めています。本当に興味深いのは、ディープラーニングがデータから隠れた特徴を抽出し、明示的にプログラムしたり(ルールベースのシステム)、手動で調整したり(他の機械学習アルゴリズムの中には、これを使用して独自の学習能力を向上させるものもある)することなく、デバイスがタスクを完了する方法を学習するのに役立つことです。

ディープラーニング ソリューションを使用することで、画像、音声、ビデオ認識の分野の研究者や実務者は優れた成果を達成しています。ディープラーニングは、AI がロボットの脳としてより効果的に機能するのに役立ち、急速に発展しているモノのインターネットの分野でも大きな役割を果たすことができます。企業にとって、ディープラーニングはすでに顧客サービスの効率化や手作業の多いタスクの自動化において効果を発揮し始めています。さらに、ディープラーニングを搭載したロボットを使用して、製品に関する相談の質問に答えたり、よくある質問を要約したりすることをすでに開始しているかもしれません。 AppleのSiriやMicrosoftのCortanaはどちらもディープラーニングをコアコンポーネントとして採用しており、医療やヘルスケアの分野におけるX線やMRIスキャンの診断も徐々にディープラーニングのアルゴリズムで解釈できるようになる。

ディープラーニング方式では、大量のデータを使用して非線形の関連性を確立するようにトレーニングしますが、この機能により、このファミリー内の多くの先行技術の中でも際立った特徴となっています。

標準的なディープラーニング アルゴリズムの基礎を理解するには、まずその前身であるニューラル ネットワークを理解する必要があります。ニューラル ネットワークは、入力層、隠れ層、出力層の 3 つの層で構成されます。

• 入力層は、入力値を受信する役割を果たすニューロンで構成されています。これらのニューロンの出力は入力予測と同じです。

• 出力層はニューラル ネットワークの最終層であり、結果をユーザー環境に返す役割を担います。ニューラル ネットワークの特定の設計に応じて、情報の内容をどのように理解するかを前の層に伝え、それに応じて前の層の実際の機能を改善することもできます。

• 隠れ層は入力層と出力層の間に配置されます。従来、隠し層の数は 1 から多数までの範囲で、隠し層は入力をノード出力にマッピングする中心的な計算層です。

ニューラル ネットワークからディープラーニングに移行する理由は何ですか?

  1. 「ディープ」アーキテクチャの導入により、複数の隠しレイヤーをサポートできます。これは、複数の表現レイヤーを実現したり、初期のニューラル ネットワークでは不可能だったより複雑な特徴構造を学習したりできることを意味します。
  2. さまざまな問題に適応するために、複数のアーキテクチャ (DBN、RBM、CNN、さらには RNN) をサポートするように改善および変更されました。
  3. 大規模なデータ計算タスクを処理するためのアルゴリズムを最適化できます。
  4. トレードオフを行うことでトレーニング データのサイズを縮小するなど、最適化および正規化パラメータを導入します。
  5. オープンソースのディープラーニング ソフトウェア パッケージを備えており、複数の主流プログラミング言語で利用できるため、特定の分野に革新的な成果をもたらします。

隠し層の数を増やすだけでは生産性を向上させるのに十分ではありません。では、ディープラーニングを実際に実用的なツールにするにはどうすればいいのでしょうか?

  • より多くのデータ: ディープラーニング アルゴリズムのトレーニングに使用されるデータが増えるほど、実際のパフォーマンスは向上します。さらに、アルゴリズムがさまざまな状況を区別し、対応する知識を獲得できるように、データ自体には肯定的な状況と否定的な状況の両方が含まれている必要があります。ディープラーニングの台頭と精度の向上は、ビッグデータの本格的な登場と密接に関係しています。デジタル化とビッグデータ処理フレームワークは、ディープラーニングがトレーニングに必要なデータリソースをより適切に取得するのに役立ちます。
  • モデルのチューニングは芸術です。ディープラーニング モデルでは、モデルのチューニングを実現するためにハイパーパラメータと知識が必要です。データセットに基づいてディープラーニングアルゴリズムのパフォーマンスを最適化し、精度を向上させることができます。このシリーズの次の投稿では、ディープラーニング モデルを作成するプロセスで H2O を使用して関連パラメータを決定する方法について説明します。

この時点で、私たちは新たな問題に直面しています。複雑なディープ ニューラル ネットワークのトレーニングには、大量の計算能力が必要です。この課題は、Nvidia や Intel などのメーカーの継続的な進歩により、手頃な価格で高性能な GPU によって解決されました。 GPU を使用したディープラーニング モデルは、CPU よりもはるかに高いトレーニング速度を実現できることがわかります。 Nvidia はブログで、ベンチマーク結果によると、GPU で加速されたニューラル ネットワークのトレーニングは CPU よりも 10 ~ 20 倍高速になる可能性があると指摘しました。つまり、かつては数週間、あるいは数日かかっていたトレーニングが、わずか数時間で完了できるようになったということです。

R ユーザーは、次のパッケージを使用してディープラーニング モデルを作成できます。次の記事でも、H2OとRを組み合わせてディープラーニングモデルを作成します。

  • h2o: H2O への R インターフェース。これは、クラスター環境での一般化ニアライン モデル、勾配誘導デバイス、ランダム フォレスト、ニューラル ネットワーク (ディープ ラーニング) などの並列分散機械学習アルゴリズムを計算するためのオープン ソース数学エンジンである H2O 用の R スクリプト機能を提供します。
  • mxnet: R 言語向けの柔軟で効率的な GPU コンピューティングと最先端のディープラーニング機能を提供します。
  • deepnet: R のディープラーニング ツールキット。
  • neuralnet: ニューラル ネットワークのトレーニングに使用されます。重みバックプロパゲーションの有無にかかわらず、弾性バックプロパゲーション、またはグローバル集約の修正バージョンを利用します。このパッケージを使用すると、エラーとアクティベーション関数の選択をカスタマイズして設定を調整できます。さらに、一般化された重み付けコンピューティング機能も実現できます。
  • rnn: リカレントニューラルネットワーク。 R 言語環境で再帰ニューラル ネットワークを実装します。
  • darch: ディープアーキテクチャと制限付きボルツマンマシン用のパッケージ。 darch パッケージは、GE Hinton と RR Salakhutdinov によって提供されたコードから構築されています。この方法には、GE Hinton によって公開された事前トレーニング済みのコントラスト ダイバージェンス法が含まれており、リリース前にバックプロパゲーションや共役勾配などのアルゴリズムを使用して事前トレーニングされています。さらに、ディープラーニングのきめ細かな調整効果を向上させるために、他の新しい技術も導入されています。
  • オートエンコーダー: ラベルなしデータの表現特徴を自動的に学習するためのスパースオートエンコーダー。

お気に入りのディープラーニング ソフトウェア パッケージをダウンロードしてプログラミングを開始できます。誰もがより良い出発点を見つけられるように、次の質問に基づいて実際の状況に適したディープラーニング モデルを構築できます。

  • 入力層で使用するニューロンの数はいくつ必要ですか?入力または機能の数を決定します。
  • 隠し層はいくつ使用すればよいでしょうか?使用する隠し層の正確な数を理解するには、標準的な機械学習プロトコルを使用した相互検証を使用する必要があります。
  • 各隠れ層にはいくつのニューロンが必要ですか?隠れ層のニューロンの正確な数は、既存の技術だけでは判断できません。隠れ層のニューロンの最も一般的な数は、入力層のニューロンの数と出力層のニューロンの数の間になります。あるいは、幾何学的ピラミッドルールを使用して、N 個の入力ニューロンと出力ニューロンを持つ 3 層ネットワークの大まかな近似値を計算することもでき、隠れ層のニューロン数は sqrt(n * m)sqrt(n * m) になります。
  • ディープラーニングネットワークは隠れ層なしで実装できますか?はい、ただしそれを「ディープ」学習ネットワークと呼ばないでください。数値を取り込み、データの線形分離を実行できます。
  • 出力層のニューロンはいくつ必要ですか? 当社が開催する対象クラスの数に相当します。

原題: Dive Deep Into Deep Learning原著者: Sibanjan Das

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  主要なソートアルゴリズムのパフォーマンス比較とデモンストレーション例

>>:  KDnuggets 調査 | データ サイエンティストが最もよく使用するアルゴリズム トップ 10

ブログ    
ブログ    
ブログ    

推薦する

このアルゴリズムチームは 2020 年に何をしましたか?

[[383980]]冒頭に書いた私自身、毎年まとめを書く習慣があります。2020年は、私の職務が垂...

...

今後5年間の人工知能における5つのブレークスルー

会話ができるスマートスピーカーであれ、自分で絵を描くことができるバーチャルアーティストであれ、農家が...

無料の Python 機械学習コース 5: 多クラス分類ロジスティック回帰

ロジスティック回帰の2つの方法:勾配降下法と最適化関数ロジスティック回帰は非常に人気のある機械学習手...

...

Google に行ったが、ディープラーニングはできなかった。Facebook の Tian Yuandong が人生の課題と選択について語る

初めての15分間のスピーチの準備に2か月を要し、卒業後すぐにGoogleに入社したものの歯車の一部に...

Google の自動運転車は「先​​天的な欠陥」があるが、その商品化は「中止」の運命を免れるだろうか?

[[248486]]グーグルの自動運転車開発会社ウェイモはすでに試験的な移動サービスの一部を有料化...

都市 AI アプリケーションの失敗事例: 善意の自治体 AI プロジェクトはなぜ失敗したのか?

編集者注: AI をどのように実装できるかを検討してきた私たちにとって、この Flint の事例は目...

人工知能と教育が出会うと、どのような火花が生まれるのでしょうか?

[[249507]]過去 1 か月間の教育業界のホットなキーワードを本当に選ぶとしたら、それは間違...

OpenAI も参入したいと考えている GPU とは一体何でしょうか?

ChatGPTなどの大規模言語モデルがAI変革の新たな波を引き起こすにつれ、AIチップの不足はます...

IDC: 2021 年の中国スマート デバイス市場に関するトップ 10 の予測

過去 10 年間、中国のスマート デバイス市場では、一連の技術的変化、エコシステムの変化、ユーザーの...

機械学習に必要なエンジニアリングの量は将来大幅に削減されるだろう

将来的には、ML 製品の構築がより楽しくなり、これらのシステムはより良く機能するようになります。 M...

2021年4月のドローン業界の重要な動向の概要

2021年3月に入り、ドローン業界では新製品の登場、用途の深化、大きな出来事の連続など、発展は活気に...

顔認識システムはすごいですね!チケット転売業者が体調を崩して入院、警戒を呼び起こす

最近、北京同仁病院の警報システムが作動し、職員は北京天壇病院で活動していたチケット転売業者が北京同仁...

...