ディープラーニングに関する神話を払拭する-ニューラルネットワークはどのように学習しますか?

コース「ディープラーニング」の開始前夜ベーシック」はあなたのために興味深い資料の翻訳を用意しました。








深い学習は、今日世界中で見られる人工知能の進歩と急増に大きく貢献しています。テキストと画像の分類、インスタンスのセグメンテーション、テキストデータに基づく質問への回答、読解力など、人工知能が現在処理しているタスクは、以前はサイエンスフィクションでしたが、現在ではより有用になり、ますます模倣されています。深い神経ネットワークの使用による人間。



ニューラルネットワークはこれらの複雑なタスクをどのように管理しますか?これらのネットワークを満たす数学的操作のビットの無限の層の下で何が起こりますか?





単純なニューラルネットワーク



もう少し深く掘り下げて、深いニューラルネットワークの基本を概念的に理解しましょう。



まず、トレーニングデータから学習するためにほとんどの(すべてではないにしても)ニューラルネットワークで使用されるアルゴリズムについて説明しましょう。トレーニングデータは、人間の注釈付きデータ、つまり、画像分類の場合はタグ付き画像、感情分析の場合はタグ付き感情にすぎません。



そして、それはエラー逆伝播アルゴリズムと呼ばれます。

以下は、ニューラルネットワークの構造の概要です。



ニューラルネットワークは、特定の方法で入力データを出力に変換します。入力データには、画像、テキストフラグメントなどがあります。入力データは数値表現に変換されます。たとえば、画像では、各ピクセルはその位置に応じた数値でエンコードされ、テキストでは、各単語は単語のベクトル表現である数値のベクトルです(このようなベクトルでは、各数値は単語の特定の特性の推定値です)または1次元ベクトル(n-1個のゼロと1個のゼロで構成されるn次元ベクトル。1つの位置は選択した単語を指します)。



次に、この数値入力はニューラルネットワークを通過します(エラーの逆伝播と呼ばれる手法を使用)。このネットワークの内部では、ネットワーク内の重みを乗算し、オフセットを追加し、非線形アクティベーション関数を通過するいくつかのステップがあります。この順方向伝搬ステップは、ラベル付けされたトレーニングデータの入力ごとに実行され、ネットワークの精度は、損失関数またはコスト関数と呼ばれる関数を使用して計算されます。ネットワークの目標は、損失関数を最小化すること、つまりその精度を最大化することです。最初に、ネットワークはパラメータ(重みとバイアス)のランダムな値で動作を開始し、その後徐々に精度を上げて損失を最小限に抑え、トレーニングデータを直接伝播することで各反復でこれらのパラメータを改善し続けます。重みとバイアス(大きさと正または負の方向)の更新は、逆伝播アルゴリズムによって決定されます。バックプロパゲーションアルゴリズムを見て、ニューラルネットワークがトレーニングデータの損失を学習して最小限に抑えるのにどのように役立つかを理解しましょう。





ディープニューラルネットワークでのフォワード



プロパゲーションエラーバックプロパゲーションの本質は、トレーニングデータをより適切に適合させるために(つまり、損失を最小限に抑え、予測精度を最大化するために)各パラメータをどのように変更するかを理解することです。これらの値を決定する方法は非常に簡単です:





上の図では、Yは損失関数であり、Xはネットワーク内のパラメータ(重み)です。極小値に達するには、重量の初期値を減らす必要があります。しかし、ネットワークは、これを行うために重量を減らす必要があることをどのように理解していますか?ネットワークは、開始点での関数の傾きに依存します。



どのように傾斜を取得しますか?数学を勉強したことがあるなら、ある点での関数の傾きはその導関数によって与えられることを知っています。出来上がり!これで、勾配、つまり重みの変化の方向(正または負)を計算できます。重みの値は繰り返し更新され、最終的に最小になります。



深いニューラルネットワークの場合のように、重みが損失関数に直接関係していない場合、問題が発生します。ここで、おなじみのチェーンルールが登場します。





たとえば、上の図では、結果Yが入力値Xに直接依存しないことを示していますが、XFを通過し、次にGを通過してから出力値Yを生成します。チェーンルールを使用すると、Xに関するGの導関数を記述できます。これは、GFに依存していることを示します。ここで、FXに依存します。..。このルールは、結果の導関数を持つ任意の長さのネットワークに適用できます。したがって、入力値が通過するすべてのステップの導関数の積として取得される、入力に対する任意の出力値の勾配。これがエラーの逆伝播の本質であり、各パラメーターに関する出力値の導関数/勾配は、パラメーターの直接導関数が見つかるまでネットワークを逆方向に通過する間に導関数を乗算することによって取得されます。そのため、この方法は逆伝播と呼ばれます。



それで全部です。コースの詳細については、以下のリンクからオープンデーにサインアップすることをお勧めします。






All Articles