平方根関数の微分|基本関数の微分の公式を定義から導出する #5
指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#4では分数関数の微分に関して取り扱いました。
以下、目次になります。
1. の微分の導出
2. の微分の導出
3. まとめ
1. の微分の導出
1節では定義に基づいたの微分の導出について取り扱います。
ここまでの議論により、が導出できます。
これはを満たしており、ここでの導出は公式が整数以外でも成立することを示す一つの例と見ることもできます。
2. の微分の導出
2節では定義に基づいたの微分の導出について取り扱います。
ここまでの議論により、が導出できます。
また、ここでの導出もを満たしていることが確認できます。
3. まとめ
#5では平方根関数の定義に基づく微分について確認しました。
乗根の計算は因数分解の公式を知っていないと導出は難しいですが、このような項を一つずつずらす発想は等比数列の和の計算でも出てくるので考え方を抑えておくと良いかと思います。
概要の把握と表記の確認|ベクトル解析を確認する #1
ベクトル解析(vector calculus)は応用的な視点から数学を用いる際によく出てくるトピックです。が、カリキュラムによって取り扱うタイミングが異なるようなので、基本的なトピックをまとめることとしました。
#1では簡単に概要の把握について行います。下記を主に参考にします。
以下が目次となります。
1. ベクトル解析の概要
2. 、、について
3. まとめ
1. ベクトル解析の概要
1節ではベクトル解析の概要について確認します。
主に上記を参考にしますが、「ベクトル解析」は主に多変数関数の微積分を取り扱う分野であると把握しておけば一旦十分だと思います。
具体的にも確認できればということで、あるスカラー関数を、、方向にそれぞれ微分を行うと考えます。
この微分は上記のように表せます。2節でも取り扱いますが、これはの勾配と呼ばれ、とも表されます。ここではスカラー関数のに関する偏微分です。
直感的なイメージがつかめるように具体的な関数についても確認します。を考えた際には下記のように計算できます。
これを元に関数を考えると、と同様に考えてを最下点とする下に凸な平面を構成していることがなんとなく想像できるかと思います。
大体のベクトル解析の概要と具体例について確認できたので1節はここまでとします。
2. 、、について
2節では1節で出てきたに関連して、同様に使われる表記であるやなどについて取り扱います。ここではスカラー関数をのように表すとします。
まず1節で取り扱った勾配のについては下記のように表します。
上記がで、基本的には1節で取り扱った内容と同様ですが、ここでという記号を導入したところは1節とは異なる点です。はを表す演算子であると抑えておけば十分だと思います。
次にについて取り扱います。はベクトルに作用する演算で、下記のように定義されます。
上記の演算は発散(divergence)の計算を意味しており、「ある点から流れ出す 粒子や場の束の和」を表しています。詳しくは下記などを参照いただけたらと思います。
についても取り扱います。はと同様にベクトルに作用する演算で、下記のように定義されます。
についてはここでは演算の定義の確認にとどめるので、詳しくは下記などを参照いただけたらと思います。
3. まとめ
#1ではベクトルの微分について概要の把握と表記の確認を行いました。
#2では2次形式の微分について取り扱います。
分数関数の微分|基本関数の微分の公式を定義から導出する #4
指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#1では指数関数の微分、#2では対数関数の微分、#3では三角関数の微分について取り扱いました。
#4では分数関数の微分に関して取り扱いたいと思います。
以下、目次になります。
1. の微分の導出
2. の微分の導出
3. まとめ
1. の微分の導出
1節では定義に基づいたの微分の導出について取り扱います。
ここまでの議論により、が導出できます。
2. の微分の導出
2節では定義に基づいたの微分の導出について取り扱います。
ここまでの議論により、が導出できます。
また、ここでとみて微分を行うと考えると、が成立しており、と同様に取り扱うことができることを示すこともできます。
3. まとめ
#4では分数関数の定義に基づく微分について確認しました。
#5では平方根関数の定義に基づく微分について確認します。
逆行列の計算について|行列〜線形代数の基本を確認する #2
当シリーズでは高校〜大学教養レベルの行列〜線形代数のトピックを簡単に取り扱います。#1では外積の定義とその活用について簡単に取り扱いました。
#2では逆行列の計算について取り扱います。行列は公式に沿って簡単に計算できますが、行列より大きい行列の逆行列は少々大変なのでなるべく簡単に抑えておくと良いのではと思います。
当記事では下記を主に参考にして確認していくことにします。
以下、目次になります。
1. 基本事項の確認、行列の行列の逆行列
2. 行列()の行列の逆行列
3. まとめ
1. 基本事項の確認、行列の行列の逆行列
1節では基本事項の確認を行ったのちに行列の行列の逆行列について確認します。
まず、逆行列を考える上での前提理解を基本事項にまとめます。
・次正方行列(ここではとおくことにします)に関して逆行列を考える
-> 正方行列は行列の行列のことです。正方行列や正則行列など色々と出てきてややこしいため、可能な限り間違えないように注意しておくと良いと思います。・行列が逆行列を持つときは正則(regular)であるという
-> 正方行列と正則行列、正規行列など似たような名称が多いので注意しておきましょう。基本的には定義を丁寧に何度も確認するようにすると良いと思います。・逆行列は一意に定まる
-> の逆行列のは一意に定まり、複数は存在しないことも抑えておくと良いです。・次の単位行列をとした際にかが成立すればは正則であり、はの逆行列となる。
-> がの逆行列であるとき、が成立することは抑えておきましょう。・が成立する
上記は行列に関して取り扱う際に知っておく方が望ましいと思います。
次に行列の行列の逆行列について簡単に確認します。行列の行列の逆行列はのとき下記のように計算することができます。
証明についてはを実際に計算すると、単位行列が得られることで確認できます。
また、このとき計算したが行列の行列式で、のように定義されることも知っておくと良いです。
2. 行列()の行列の逆行列
2節では行列の行列の逆行列について取り扱います。
上記の記載を確認します。
基本的には上記の定理1.1.7のように求めることができます。
具体例も簡単に確認しておきます。上記の流れを抑えておくのが良いかと思います。
かなりざっくりとした取り扱いになりましたので、詳しく確認したいは下記を参照いただけたらと思います。
外積の定義とその活用|行列〜線形代数の基本を確認する #1
行列〜線形代数の分野は高校〜大学教養レベルの数学で取り扱われますが、大学の教科書の記載は読むのが大変であることが多いです。そこで基本的な内容を簡単にまとめようということでこちらをシリーズ化します。
#1では外積の定義とその活用について簡単に取り扱います。基本的な内容の取り扱いだけできれば良いので、下記を参考に進めます。
線型代数学/行列と行列式/第三類/外積 - Wikibooks
以下、目次になります。
1. 外積の定義の確認
2. 外積の活用
3. まとめ
1. 外積の定義の確認
1節では外積の定義の確認を行います。基本の確認だけできれば十分なのでここでは3次元ベクトルの外積のみを確認します。、とおいた際に、外積のは下記のように定義します。
上記が外積の定義ですが、外積は下記が成立することも抑えておくと良いと思います。
(A)
(B)
(C)
(D)
上記の証明に関しては当記事では省略しますが、気になる方は下記を確認してみていただけたらと思います。
線型代数学/行列と行列式/第三類/外積 - Wikibooks
2. 外積の活用
2節では外積の活用について確認します。外積は下記が成立するので、活用にあたっては下記を元に考えていくのが良いと思います。
(A) はとの両方と直交する
(B) とが張る平行四辺形の面積はで計算できる
(C) 、、が張る平行六面体の面積はで計算できる
証明は当記事では省略しますが、気になる方は下記を確認してみてください。
線型代数学/行列と行列式/第三類/外積 - Wikibooks
ここまでの記載より、外積は2つのベクトルと直交するベクトルを計算したり、二つのベクトルのなす平行四辺形の面積を計算したりに活用できることがわかります。
gMLPの論文の概要を把握する
gMLPが話題のようなので、論文の概要を把握できればということで当記事にまとめます。
[2105.08050] Pay Attention to MLPs
以下、目次になります。
1. gMLPの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認(Section1)
2. 論文の重要なポイントの抜粋
2-1. Model(Section2)
2-2. Image Classification(Section3)
2-3. Masked Language Modeling with BERT(Section4)
2-4. Conclusion(Section5)
3. まとめ
1. gMLPの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-1節では論文のAbstractを確認します。
上記がgMLPの論文のAbstractです。以下、簡単に重要事項についてまとめます。
・Transformerはここ数年におけるDeepLearningの構造の中でも重要なトピックの一つである
・この研究におけるgMLPはgatingを使うMLPのみを用いることでTransformerと同等のパフォーマンスを実現した
・Vision-Transformerにおけるself-attentionはそれほど重要でない可能性がある
・BERTに関連するいくつかのdownstream tasksにおいて、gMLPはTransformerを上回った
・gMLPはTransformerと同様にスケールさせることができる
Abstractについて概ね把握できたので1-1節はここまでとします。
1-2 Introductionの確認(Section1)
1-2節ではIntroductionの記載を確認します。
第一、第二パラグラフでは、Transformer関連の研究のブレークスルーについて書かれた後に、Transformer構造の二つの重要なコンセプトについて紹介されています。それぞれ「(1)リカレント構造の必要ない構造」、「(2) トークン(単語など)間で空間的に情報の集約を行うmulti-head self-attentionブロック」の二つが挙げられています。一方でこの際に生じるinductive biasについて論じられており、それに関連してMLPでは任意の関数を表すことができるとされています。
inductive biasについては下記で確認したGraph Networkが大元になっていると思われるので、気になる方は下記も確認してみていただけたらと思います。
このinductive biasについて考えた際に「self-attentionはTransformerの著しい効率化について寄与しているか」がここでopen question(考察のテーマくらいの認識で良さそうです)になるとされています。
第三パラグラフでは、attentionを用いないMLP-basedのgMLPをTransformerの代替に考えると記載されており、続く第四パラグラフではImageNetなどの画像タスクに関する取り組みのDeiTやViTに比較してgMLPが同等のパフォーマンスを示したことが記載されています。
第五、第六パラグラフでは、gMLPのBERTへの適用について議論されており、第五パラグラフではpretrainingについて、第六パラグラフではfinetuningについてそれぞれ記載されています。
BERTのMLM(Masked Language Modeling)などについて知りたい方は下記の3章でまとめましたので、こちらも確認してみていただけたらと思います。
第七パラグラフでは、Introductionの総括も兼ねて、この研究で行った実験の結果を元に考えると「self-attentionはそれほど重要なモジュールではないのではないか」と問題提起が行われています。
2. 論文の重要なポイントの抜粋
2-1. Model(Section2)
2-1節ではSection2のModelの重要な点について確認します。
まず上記が冒頭部の記載ですが、(1)式〜(3)式でgMLPの大枠の数式について記載されています。が系列の長さ(とされることもあります)、が分散ベクトルの次元(Word2vecと同様です)を表すことは抑えておくと良いと思います。ここで(2)式が恒等写像(identity mapping)であればこの式はオーソドックスなFFN(Feed Forward Networkの意味ですが、Multi Layer Perceptronの意味もここでは含んでいると解釈する方が良いと思います)を表すとされています。また、(1)の式は Transformerのパラメータ演算(FFN)と同様であることも記載されています。
ここで(2)式の関数がトークン間の空間的な相互作用(spatial interactions across tokens)を表すとされており、ここの処理でTransformerのself-attentionを代替するというのがこの論文のテーマであると考えて良いかと思います。
また、処理の全容に関しては、下記のFigure1にまとめられています。
上記のグレーの四角形の中に(1)式〜(3)式の処理が記載されており、gMLPにおける特殊な処理である関数は黄色のSpatial Gating Unitで表されています。
Spatial Gating Unitに関してはSection2-1で詳しく記載されています。(5)式が関数の処理であり、ここで用いられているの定義については(4)式で示されています。ここではに対応するので行列、はトークン列の長さに対応して行列であることは抑えておくと良いと思います。
ここではattentionの処理のように、どのくらい他のトークンの値を参考にするかを表した行列と考えておくのが良さそうです。また安定化にあたってはの初期値を近辺、の初期値をにすると学習が安定したと記載されています。また、(5)式の代わりにを分割したとを用いた(6)式を用いると効率的だったことについても記載されています。
2-2. Image Classification(Section3)
2-3. Masked Language Modeling with BERT(Section4)
2-4. Conclusion(Section5)
この記事では省略します。
3. まとめ
この論文ではself-attentionを用いないとありましたが、「self-attentionを用いる用いない以上にinductive biasをどのように考慮して全体を設計するのかに今後の研究にあたっては重視されそうだ」と解釈する方が良いのではと思われました。
そのため考察にあたってはあまり細かい定義を気にし過ぎずに、以前の記事でも取り扱った"Relational inductive biases, deep learning, and graph networks"の研究などを元に統合的に整理しつつinductive biasの設計について考える方が良いのではないかと思います。
[1806.01261] Relational inductive biases, deep learning, and graph networks
この辺の構造に関しては色々とアイデアがあると思いますので、議論がある程度収束するまではあまり細かい構成を考え過ぎなくても良いのではという印象でした。
三角関数の微分|基本関数の微分の公式を定義から導出する #3
指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#1では指数関数の微分について、#2では対数関数の微分について取り扱いました。
以下、目次になります。
1. の微分の導出
2. の微分の導出
3. まとめ
1. の微分の導出
1節ではの微分の導出について取り扱います。こちらを考えるにあたって、加法定理と三角関数の極限の公式の下記は既知とし、こちらを導出にあたって用います。
ここでは上記は予めわかっているとし、以後に対して微分の定義に基づいて導出を行います。
ここで上記に対し、加法定理のを適用します。
上記において、を用いると、下記のようにできます。
ここまでの議論により、が導出できます。
2. の微分の導出
2節ではの微分の導出について確認します。基本的にはであることを利用します。
ここまでの議論により、が導出できます。
3. まとめ
#3では三角関数の定義に基づく微分について確認しました。
加法定理や三角関数の極限の公式は当記事では既知としましたが、この辺は公式の導出が多いので大変かもしれません。指数関数や対数関数と比較しても毎回全てを導出するのは大変なので、ある程度公式はそのまま覚える方が良いのではという印象です。
#4では分数関数の微分に関して取り扱います。