ベクトル の 微分。 ベクトルとその微分

ベクトルの微分積分

ベクトル の 微分

数学をする前に:坂道と勾配のイメージ 微分やら何やらを扱う前に、まず身近な例として坂道を考え、勾配のイメージを身につける。 なぜベクトルになるか 坂道の前にいる人にとって、その坂道の勾配はもっとも急な方向を意味するはずだ。 今、絵では 軸方向を任意にとった。 この絵でいう坂道の勾配は、青色の 方向や 方向に沿って考えないことは簡単にわかるだろう。 つまり、最も急な傾き(勾配の方向)は 軸や 軸方向にあるとは限らない。 というわけで、勾配は 平面内のある方向を向いており、「 方向にどれだけ傾いているか」と「 方向にどれだけ傾いているか」によって決定される。 したがって、勾配はその方向を示すためにベクトル量となる。 まとめると、 勾配とは「どの方向にどれだけの大きさ傾いているか」を表すベクトルである。 1変数と2変数(直線と平面) 次に数学的な話をしよう。 平面に入る前にもっと簡単な直線から微分の意味を考えていこう。 直線の傾きと微分 まず直線の傾きを考えよう。 例えば の傾きは 3 である。 これは、 となり、 は の における接線の傾きに対応するためである。 直線なので の値にかかわらず接線の傾きは 3 である。 このことを基本にして、平面の傾きである「勾配」を求めていく。 ある方向の平面の傾きと偏微分 例として説明するため、平面の式を与えておく。 これは で なので原点を通る平面の式になる。 この平面をある面で縦にスパッと切れば直線になる。 ここでは、 など を 固定して、 平面に平行に切ろう。 すると図の右のように直線になる。 直線なので傾きは容易に求めることができる。 つまりは、 を で偏微分すれば良い。 ここでいう 「偏微分」とは を固定して だけで関数を微分するという意味である。 は定数であるとして普通に微分すれば良い。 次に、 など を 固定して、 平面に平行に切ろう。 同じようにして、直線の傾きは を で偏微分したものとなる。 それぞれの偏微分は、坂道の勾配の大きさを表すものではない。 それぞれの偏微分は、それぞれの方向に向かって進んだ時の傾きを表す。 つまり、• 坂道を 方向に 進めば だけ登る• 坂道を 方向に 進めば だけ登る ということである。 また、この結果は 方向より 方向に登ったほうが急であることを表す。 勾配の表し方 先に答えを書くと、この例の平面の勾配は となる。 偏微分したものを並べてベクトルを作れば良い。 一般には である。 平面の勾配の大きさは上のベクトルの大きさに等しく、 となる。 これは• 坂道を 最も急な方向に だけ進めば だけ登る ということを意味する。 平面の変化率からみる勾配 上の式でなぜ偏微分が現れたのかを説明していこう。 直線の場合は、傾きは であった。 で接線の傾きになる。 平面の場合も同様に表すことができるということを示す。 以下では、ベクトル量である関数 の勾配 gradient の• ベクトルの大きさ• ベクトルの方向 について考えていく。 ここからは数式が多くなる。 平面の変化率と勾配の大きさ 2変数の場合: まず を固定して だけでテイラー展開する。 の項は無視する。 次に についてテイラー展開する。 最後の行で、2次以上の微小項は無視した。 また最後の行を2つのベクトルの内積の形に表すと 結局、 であり、 の極限で となる。 この式は、平面で だけ変化したときに、 が だけ変化するということを表す。 すなわち、勾配である。 このことは、直線に関して だけ変化した時に が、傾きに対応する だけ変化することと同じように理解できる。 平面の最も急な向き 最後に、平面の最も急な向きがどのように決まるか説明する。 上のベクトルの内積を定義を用いて別の形で表す。 そのため、2ベクトル と のなす角を として どの方向に動くかは、 によって指定される。 また左辺の は平面で決まる正の定数である。 したがって、左辺は考えている方向に だけ動く時の傾きを表す。 この値を最大にするためには を最大にする、つまり、 を の方向にとれば傾きは最大になる。 この が勾配ベクトルの方向である。 そして、勾配ベクトルの大きさは である。 1変数と2変数(放物線) 直線と平面では微分した値は定数となった。 これは傾きや勾配が、至る所で一定であるという意味だ。 より一般的な場合を考えるために、放物線を例にとろう。 1変数関数 のある点 での微分は、図のように接線の傾きに対応する。

次の

ナブラ

ベクトル の 微分

はじめに ディープラーニング関連の書籍に出てくるベクトルや行列を含む微分の計算について思うところを書いてみました。 発端は、書籍の、リカレントニューラルネットワークの誤差逆伝播に関する式なのですが、最終結果も途中計算もおかしいと思い、計算し直したことです。 計算をやっているうちに思った以下のようなことをまとめました。 ベクトルをベクトルで微分したものを行列として定義するときの方法が一意でない• どちらの定義を選んでも、そこから導かれる各種公式が行列積の順序を意識したり、転置が入ったりして面倒。 右辺の各項はベクトルまたは行列であり、積は交換できません。 問題設定 冒頭に挙げた本の題材は、リカレントニューラルネットワークの Backpropagation through time BPTT の計算です。 第2の定義で計算する もう1つの定義を使っても、当然結果は同じになります。 ただし、途中経過が違います。 この手の計算に慣れている立場からすると、普通、こういう場合は、ベクトルや行列を添字を使った成分表記して計算を進めます。 テンソル表記と言っても良いです。 テンソル表記で微分を計算すると、合成関数微分の公式通りの計算をすれば良いだけであり、混乱は生じません。 注意 : ただし、微分対象となる関数が行列やベクトルを使った典型的な形(1次形式、2次形式、内積... など)になっているとき、ベクトルや行列の種々の微分公式が威力を発揮するのも確かです。 ニューラルネットの合成関数微分に関しては、合っていないと感じるということです。 少し解説 テンソル表記の計算は、テンソル表記特有の添字の多さや和の多さ、クロネッカーのデルタの計算や行列の積の成分表示などに慣れる必要があるので、初学者向けの本では敬遠されるのだろうと思います。 和記号と添字の多さについては、ダミー添字と縮約の概念を知っておくと惑わされなくなります。 あくまで全体として1階テンソルになるだけであり、右辺の和を取る前の各項を取り出すとそうとは限りません。 行列でいえば、対角行列に相当します。 3行目から4行目はクロネッカーのデルタと縮約和が組み合わさったときの変形です。 テンソル計算していて気持ち良い瞬間です。 最後の変形は、最終結果がベクトルと行列の積で表せるように転置をとっています。

次の

ベクトル解析:勾配と発散と回転

ベクトル の 微分

記号の定義 以下の記号で統一的に定義しておく。 ベクトルは原則として列ベクトル表示を標準とする。 1 2 3 4 5 6 ベクトル・行列をスカラーで微分 これらは素直にベクトル・行列の要素を微分すればよい。 7 8 スカラーをベクトルで微分 スカラーを のベクトルで微分すると、同じ次数のベクトルになる。 9 これは便宜的に以下のように考えるとよい。 10 スカラーを行列で微分 スカラーを の行列で微分すると、同じ次元・次数の行列になる。 11 これは便宜的に以下のように考えるとよい。 12 ベクトルをベクトルで微分 この場合、微分する変数側を行ベクトルとするか、微分される関数側を行ベクトルとするか2通りの表現があるが、ここでは変数側を行ベクトルとする。 13 これは便宜的に以下のように考えるとよい。 14 公式 一般形 単位行列 ベクトルを同じベクトルで微分すると、単位ベクトルではなく単位行列になる。 15 合成関数 スカラーの合成関数と似ているが、イメージと積の順番が逆で、この順番は変えられない。 16 これは以下のように確認できる。 17 積の微分 行列の積のスカラーによる微分 18 これは素直に次のように確認できる。 23 [証明] 24 25 投稿ナビゲーション.

次の