ディープラーニングの3つの主なステップ!

ディープラーニングの3つの主なステップ!

[[418456]]

この記事は、Lee Hongyi によるチーム スタディ ブック「LeeML-Notes」からの抜粋であり、ディープラーニング テクノロジを使用する 3 つの主な手順を詳しく説明しています。

チュートリアルアドレス: https://github.com/datawhalechina/leeml-notes

ディープラーニングの 3 つのステップ:

ステップ1: ニューラルネットワーク

ステップ2: モデル評価(機能の良さ)

ステップ3: 最適な機能を選択する

ステップ1: ニューラルネットワーク

ニューラル ネットワークは、ニューロンと呼ばれる多数の接続されたユニットで構成されています。

ニューラル ネットワークは人間の神経細胞に似ています。ニューロン上の電気信号の伝達は、ニューラル ネットワークで数値を伝達するプロセスに似ています。

このニューラル ネットワークでは、ニューロンはロジスティック回帰関数に相当するため、上図には多数のロジスティック回帰関数があり、それぞれに独自の重みと独自のバイアスがあります。これらの重みとバイアスがパラメーターです。

図の赤い四角はニューロンを表しています。複数のニューロンがさまざまな方法で接続されると、さまざまな構造のニューラル ネットワークが形成されます。ニューロンの接続方法は人工的に設計されています。

  • ニューロン: 図に示すニューロンの構造

  1. 入力に対応する重みを掛けて結果を合計すると次のようになります。

  2. と を活性化関数に代入して結果を取得します。

完全接続フィードフォワードニューラルネットワーク

完全接続: 各ニューロンの出力は次の層のすべてのニューロンに接続され、各ニューロンの入力は前の層のすべてのニューロンから取得されます。

フィードフォワード:フィードフォワードはフォワードとも呼ばれます。信号フローの観点から見ると、入力信号がネットワークに入った後、信号フローは単方向です。つまり、信号は前の層から次の層、そして出力層まで流れ、任意の 2 つの層間の接続にはフィードバックがありません。つまり、信号は次の層から前の層に戻りません。

  • 完全に接続されたフィードフォワードニューラルネットワークの例:

図に示すように、これは 4 層の全結合ニューラル ネットワークです。各層には 2 つのニューロンがあり、各ニューロンの活性化関数はシグモイドです。

  • ネットワーク入力は(1, -1)であり、活性化関数はシグモイドです。

  • ネットワーク入力は(0, 0)で、活性化関数はシグモイドです。

ニューラルネットワーク構造:

入力層: ネットワークの入力層。層のサイズは実際の入力サイズと一致します。

隠し層: 入力層と出力層の間にあるネットワーク層。

出力層: ネットワークの最後の層。ニューロン計算の結果がモデルの出力として直接出力されます。

いくつかの質問

  • なぜ「フル接続」と呼ばれるのでしょうか?

    ネットワーク内の第 1 層と第 2 層のニューロンのすべてのニューロン間が接続されているため、完全に接続されていると呼ばれます。

  • なぜ「フィードフォワード」と呼ばれるのでしょうか?

    ネットワーク内の値の伝達方向が前方から後方(入力層から出力層)であるため、フィードフォワードと呼ばれます。

  • ディープラーニング、「ディープ」はどこに反映されるのか?

ニューラルネットワークの接続方法は人工的に設計されているため、多くの層のニューロンを積み重ねて非常に「深い」ネットワークを形成できます。上の図に示すように、2015年に提案されたResNetの深さは152層です。

ディープニューラルネットワークには特別なトレーニング技術が必要

レイヤーの数が増えると、ネットワーク パラメータの数も増え、それに応じて計算量も増加し、通常は数十億回の計算を超えます。このような複雑な構造の場合、1 つずつ計算することは絶対にありません。数十億の計算の場合、ループを使用するのは非常に非効率的です。

ネットワークの動作プロセスを図に示します。

上図では、ネットワーク操作プロセスはマトリックス操作として考えることができます。

ネットワークの計算方法はネストのようなもので、ニューラル ネットワーク全体の操作は一連の行列操作と同等になります。

構造的には、各レイヤーでの計算は同じです。つまり、コンピューターを使用して並列行列演算を実行します。行列演算として記述する利点は、GPU アクセラレーションを使用できることです。GPU には多数のコアがあり、多数の行列演算を並列に実行できます。

ニューラルネットワークの本質: 隠れ層を通じた特徴変換

隠れ層は、ネットワーク入力層の入力特徴に対する特徴処理とみなすことができ、出力は最後の隠れ層で行われます。このときの出力は、新しい特徴セットとみなすことができ、出力層に出力され、出力層はこの新しい特徴セットを分類します。

例: 手書き数字認識

手書きの数字認識の例を次に示します。

入力: 16*16=256 次元のベクトル。各ピクセルは次元に対応します。色 (インク) は 1 で表され、色なし (インクなし) は 0 で表されます。画像は、ネットワーク入力として 256 次元のベクトルに平坦化されます。

出力: 10 次元、各次元は数値の信頼度を表します (数値の確率として理解できます)

出力結果から判断すると、各次元は数値の出力に対応しており、モデル出力が現在の分類番号である確率を表します。つまり、この絵が2である可能性が最も高いということになります。

この問題で確実なのは、入力が 256 次元ベクトルであり、出力が 10 次元ベクトルであるということだけです。見つける必要のある関数は、入力と出力の間のニューラル ネットワーク関数です。

上図から、ニューラルネットワークの構造が機能セットを決定することがわかります。一般的に、機能セット内の機能が複雑になるほど、ネットワークの表現空間が広くなり、複雑なパターンを処理できるようになります。したがって、ネットワーク構造は非常に重要です。

いくつか質問があります:

  • 何階ですか?各層にはニューロンがいくつありますか?この問題では、試行錯誤と直感を使ってデバッグする必要があります。機械学習関連の問題では、通常、特徴エンジニアリングを使用して特徴を抽出しますが、ディープラーニングの場合は、それを実行するためのニューラル ネットワーク モデルを設計するだけで済みます。特徴エンジニアリングを通じて特徴を抽出するのは簡単ではないため、ディープラーニングは音声認識や画像認識に適した方法です。

  • 構造は自動的に決定できますか?進化型人工ニューラルネットワークなど、機械がニューラルネットワークの構造を自動的に見つけられるようにする設計方法は数多くありますが、これらの方法はあまり普及していません。

  • ネットワーク構造を設計できますか?はい、CNN畳み込みニューラルネットワークなど

ステップ2: モデルの評価

損失の例

モデル評価では、通常、モデルの品質を反映するために損失関数を使用します。したがって、ニューラル ネットワークの場合、クロス エントロピー関数を使用して、および ̂ の損失を計算できます。次に、クロス エントロピーが可能な限り小さくなるようにパラメーターを調整します。

全体的な損失

損失については、単一のデータの損失を計算するだけでなく、すべてのトレーニング データ全体の損失を計算し、すべてのトレーニング データの損失を合計して全体の損失を取得する必要があります。次のステップは、全体的な損失を最小限に抑えることができる関数セット内の関数のセットを見つけるか、全体的な損失を最小限に抑えるニューラル ネットワーク パラメーターのセットを見つけることです。

ステップ3: 最適な機能を選択する

最適な機能と最適なパラメータセットを見つけるにはどうすればよいでしょうか?

—勾配降下法を使用します。

具体的なプロセス: 重みとバイアスを含むパラメータのセットです。ランダムに初期値を見つけ、各パラメータに対応する偏微分を計算します。偏微分のセット ∇ は勾配です。これらの偏微分を使用して、勾配を更新して新しいパラメータを取得できます。このプロセスを継続的に繰り返すことで、損失関数の値を最小化するパラメータのセットを取得できます。

バックプロパゲーション

ニューラル ネットワークのトレーニングでは、計算された損失を転送して、各ニューロン接続の重みが損失に与える影響を計算する必要があります。ここで使用される方法はバックプロパゲーションです。 TensorFlow、Pytorch、theano など、多くのフレームワークを使用して損失を計算できます。

検討すべき質問

なぜディープラーニングを使用するのでしょうか? ディープアーキテクチャはどのような利点をもたらすのでしょうか?つまり、隠し層が多いほど良いということでしょうか?

隠し層が多いほど良いのでしょうか?

図に示した結果から判断すると、理論的にはネットワークが深いほど効果が高くなることは間違いありませんが、現実はどうでしょうか。

普遍性定理

より多くのパラメータを持つモデルの方がデータに適合するのは当然です。

一般的な理論があります。つまり、任意の連続関数は、十分な数のニューロンで表現できるということです。では、なぜディープ ニューラル ネットワーク構造が必要なのでしょうか? 多数のニューロン (Fat) を含むネットワーク層を使用してそれを表現できるのでしょうか?

<<:  道路が車両を制御することが自動運転の新たな方向性となるのでしょうか?

>>:  ドローンが上海の歴史的建造物の保護を主導

ブログ    
ブログ    
ブログ    

推薦する

人工知能が世界を席巻し、人類はサイボーグへと向かう必要がある

テスラのCEOイーロン・マスク氏はドバイでのイベントで人工知能の将来について語った。同氏は、人間より...

...

不正行為防止スパムテキスト認識のためのZhihuのディープラーニング実践の詳細な説明

背景今年8月時点で、知乎の登録ユーザー数は2億人を突破した。私たちはスパムの管理において、より大きな...

ホテルは機械学習を使ってどのゲストが立ち上がるかを予測する

現在、主要なOTA(オンライン旅行代理店)プラットフォームは人々の旅行を大幅に容易にしています。ホテ...

ディープラーニングの将来の発展に向けた3つの学習パラダイム:ハイブリッド学習、コンポーネント学習、簡易学習

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

意見:AI主導のテクノロジーが新たな道を切り開く

AI は、通常は人間の知能を必要とする活動を実行できるアルゴリズムを研究および開発するコンピュータ...

さまざまな業界がエッジAIから得られるメリット

ご存知のとおり、人工知能は計算能力を消費し、多数のデータセンターを必要とします。 しかし、適切な状況...

ダボにおけるタイムホイールアルゴリズムの応用

[[346568]] 1 スケジュールされたタスクNetty、Quartz、Kafka、Linux ...

自動監視、リアルタイム警報AI防水システムが安全ネットを構築

暑い夏には、スーパーマーケットにちょっとしたおやつを買いに行くだけでも大量の汗をかきます。扇風機を使...

プログラマーを夢中にさせるソートアルゴリズムに関するビデオ

ルーマニア人はダンスが大好きな国民です。古いルーマニア映画「チプリアン・ボロンベスク」をご覧になった...

米宇宙軍、データセキュリティ上の懸念から生成AIツールを禁止

10月12日、新たに流出したメモの中で、米国宇宙軍は、データセキュリティなどの懸念を理由に、ウェブベ...

...

OpenAI の公式チュートリアル: GPT-4 で議事録生成 AI を作成する方法

このチュートリアルでは、OpenAI の Whisper と GPT-4 モデルを使用して自動会議議...

...

まだ気づいていないかもしれませんが、AIが人間を助けているアプリケーショントップ10

人工知能 (AI) 技術を使用すると多くのメリットがもたらされますが、その 1 つは、社会問題を別の...