ディープラーニングの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) を含むネットワーク層を使用してそれを表現できるのでしょうか?

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

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

ブログ    
ブログ    

推薦する

...

人工知能の時代が到来した今、子どもたちはどんな仕事に就くことができるのでしょうか?

昨年11月には世界インターネット会議が開催され、その期間中、人工知能が私たちの生活にどのような変化を...

...

人工知能と教育や指導が出会うと、どんな火花が散るでしょうか?

人工知能は世界第4次産業革命であり、工業、医療などの分野での応用が拡大しています。オンライン教育の普...

...

インテリジェントAIのサポートにより、Xiaomi YoupinはYESOUL Wild Beast高反発腹筋ホイールをクラウドファンディング

YESOUL高反発腹筋ローラーは、1月7日よりXiaomi Youpinでクラウドファンディングで販...

パラメータ調整器、ここを見てください!ディープラーニングのトレーニング効率を向上させる2つのコツ

[[343402]] 1. トレーニングのボトルネックはどこですか? GPU 使用率が低い: モデル...

...

人工知能が水力発電の持続可能な開発にどのように役立つか

水力発電ダムの壁は川の流れを制限し、川をよどんだ水たまりに変えてしまいます。これらの貯水池が古くなる...

eMule プロトコルの DHT アルゴリズム

BT プロトコルと eMule プロトコルのアルゴリズムにはいくつかの違いがあり、この 2 つを併用...

警察が採用したボストン・ダイナミクスの犬たちは、感情のない「監視ツール」になるのだろうか?

[[384524]]ニューヨークのマンハッタン北部のアパートで男性2人が人質に取られている。その数...

神経科学者の探求:機械が意識を獲得する方法

アレックス・ガーランド監督の2015年大ヒット作『エクス・マキナ』では、監督が意図したように、機械の...

人工知能はリモートセンシングデータの大きな可能性を解き放ち、国勢調査の手作業が置き換えられるかもしれない

畳み込みニューラルネットワーク(CNN)と衛星画像データを使用して地域の所得レベルを予測する手法がま...

人工知能はプライバシー侵害につながり、人々は顔スキャンが安全を奪うのではないかと心配している

データの蓄積、コンピュータの計算能力の飛躍的向上、アルゴリズムの最適化により、人工知能は生活をより効...

...