MLP-Mixerの論文の概要を把握する

f:id:lib-arts:20210608191012p:plain

MLP-MixerなどのMLPを用いたとされる論文が話題のようなので、MLP-Mixer論文の概要を把握できればということで当記事にまとめます。

[2105.01601] MLP-Mixer: An all-MLP Architecture for Vision

以下、目次になります。
1. MLP-Mixerの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-2 Introductionの確認(Section1)
2. 論文の重要なポイントの抜粋
2-1. Mixer Architecture(Section2)
2-2. Experiments(Section3)
2-3. Related Work(Section4)
2-4. Conclusions(Section5)
3. まとめ


1. MLP-Mixerの概要(Abstract、Introductionの確認)
1-1 Abstractの確認
1-1節では論文のAbstractを確認します。

f:id:lib-arts:20210608191104p:plain

上記がMLP-Mixerの論文のAbstractです。以下、簡単に内容についてまとめます。

・コンピュータビジョンの分野においてCNNやViT(Vision Transformer)は様々な研究で用いられている
・この研究ではMLP(Multi-Layer Perceptron)に基づくMLP-Mixerを導入し、CNNやViTと同様のパフォーマンスを実現できることを示す
MLP-Mixerのモジュールは「1. パッチ(tokenと同義)毎の局所特徴量の計算」と「2. パッチ間の大域的な特徴量の計算」の二つのモジュールからなる
・大規模に学習した際にMLP-Mixerは画像分類(image classification)においてSotAと同様の成果を示した
・この結果がCNNやTransformerの更なる研究に対して指針になるかもしれない

Abstractについて概ね把握できたので1-1節はここまでとします。


1-2 Introductionの確認(Section1)
1-2節ではIntroductionの記載を確認します。

f:id:lib-arts:20210608192719p:plain

第一パラグラフでは、先行研究の紹介にあたってCNN(Convolutional Neural Network)やViT(Vision Transformer)が挙げられています。ViTについては下記の記事などで取り扱いましたのでここでは流します。

f:id:lib-arts:20210608193218p:plain
第二パラグラフではこの論文で提唱するMLP-Mixerの構成について簡単に記載されています。ここで"either spatial locations or feature channels"と表現されているのがこの論文での主題となります(CNNを元に考えるならMobile Netなどに発想は近いと思います)。

f:id:lib-arts:20210608193700p:plain

f:id:lib-arts:20210608193737p:plain

第三パラグラフでは第二パラグラフの内容が少し詳しく記載されています。基本的にpatchesとchannelsが元で、channel-mixing MLP(同じtoken内の計算)とtoken-mixing MLP(違うtokenとの計算)の二つのモジュールが紹介されています。何度か同様の内容を表現を変えて記載されているので、それに気づけばスムーズに把握できるのではないかと思います。また、Figure.1にMLP-Mixerの全体の構成を図示したとされているので、Figure.1も確認します。

f:id:lib-arts:20210608194322p:plain

上記のFigure.1の上の図ではMixer layersの詳細の確認にあたって、token-mixing MLP(左)とchannel-mixing MLP(右)の二つが主に図示されています。全体構成は左下ですが、基本的にMixer layer以外はViTとそれほど変わらない構成と理解しておけば概ね問題なさそうです。

f:id:lib-arts:20210608194811p:plain

第四パラグラフでは、depth-wise convolutionsに関する記載があり、Mobile Netなどを思い浮かべながら確認すると良いのではと思います。また、第五パラグラフではMLP-Mixerがシンプルな構成であるにも関わらずSotAと同等のパフォーマンスを示したことについて記載されています。

 

2. 論文の重要なポイントの抜粋
2-1. Mixer Architecture(Section2)

f:id:lib-arts:20210608200031p:plain

冒頭部の記載では「(i)特定の空間的位置(spatial location)における計算」と「(ⅱ)異なる空間的位置間での計算」の二つをどのように取り扱うかについて記載されています。CNNやViTでは処理における(i)と(ⅱ)の区別が曖昧になりがちな一方でMLPでは明確に区別した(clearly separate)と記載されています。

この話はなかなか興味深く、CNNではMobileNetの畳み込みの分解、TransformerではFFNの計算のところは確かに明確な役割があると思われますが、MLP-Mixerの計算ほど明確に切り分けていないので非常にシンプルな処理と見ることができると思います。


2-2. Experiments(Section3)
2-3. Related Work(Section4)
2-4. Conclusions(Section5)
この記事では省略します。


3. まとめ
当記事ではMLP-Mixerについて取り扱いました。確認した記載のようにCNNやTransformerと比較した際にさらにシンプルになったと考えて良いと思います。
一方で、Transformerにおいてはtoken間の類似度に基づいてtoken間の参照構造のInductive biasについて取り扱っていたのが、MLP-Mixerではパラメータによってtoken間の参照構造を取り扱っていることは抑えておくと良いと思います。どちらが良いかを判断するというよりはそれぞれの処理の前提に何が置かれているかを正確に把握することが重要なのではないかと思います。
Inductive biasについては下記にまとめましたので、詳しく確認したい方は下記も合わせてご確認いただけたらと思います。

固有値・固有ベクトル①(固有値・固有ベクトルの計算)|行列〜線形代数の基本を確認する #3

f:id:lib-arts:20210213195311p:plain

当シリーズでは高校〜大学教養レベルの行列〜線形代数のトピックを簡単に取り扱います。#1では外積の定義とその活用について、#2では逆行列の計算について簡単に取り扱いました。

#3から何度かに分けて固有値固有ベクトルについて取り扱います。#3では2行2列の行列Aに対して固有値固有ベクトルの導出について取り扱います。
当記事では下記を主に参考にして確認していくことにします。

線型代数学/固有値と固有ベクトル - Wikibooks

以下、目次になります。
1. 固有値(eigenvalue)の計算
2. 固有ベクトル(eigenvector)の計算
3. まとめ


1. 固有値(eigenvalue)の計算

1節では2行2列の行列\displaystyle A=\left(\begin{array}{rr} a_{11} a_{12} \\ a_{21} a_{22} \\ \end{array} \right)固有値(eigenvalue)の計算について取り扱います。固有値\displaystyle Ax = \lambda xを満たすスカラー\lambdaのことです。

計算にあたって、Aの具体的な値がわかっている方がイメージがつきやすいと思いますので、\displaystyle A=\left(\begin{array}{rr} 2 1 \\ 1 2 \\ \end{array} \right)固有値を求めるとします。固有値は下記の方程式の解と一致します。

\displaystyle det(A-\lambda E) = 0

上記において、det行列式E単位行列E=\displaystyle A=\left(\begin{array}{rr} 1 0 \\ 0 1 \\ \end{array} \right)を表すものとします。よって、\displaystyle A-\lambda E=\left(\begin{array}{rr} 2-\lambda 1 \\ 1 2-\lambda \\ \end{array} \right)行列式0となるときの\lambdaを求めれば良いということになります。

det(A-\lambda E) = (2-\lambda)^2 - 1^2 = 0
(2-\lambda+1)(2-\lambda-1) = 0
(3-\lambda)(1-\lambda) = 0

上記より、\lambda=1,3が成立し、これが行列\displaystyle A=\left(\begin{array}{rr} 2 1 \\ 1 2 \\ \end{array} \right)固有値となります。

また、固有値の導出の際の計算でa^2-b^2=(a+b)(a-b)を用いましたが、Aが対称行列である際は基本的にこの因数分解の式が使えるので抑えておくと良いかと思います。

固有値の計算について簡単に認できたので1節はここまでとします。


2. 固有ベクトル(eigenvector)の計算

2節では固有ベクトル(eigenvector)の計算について取り扱います。1節と同様に\displaystyle A=\left(\begin{array}{rr} 2 1 \\ 1 2 \\ \end{array} \right)固有ベクトルを求めることとします。

固有ベクトルの計算にあたっては、\displaystyle Ax = \lambda xに求めた固有値\lambdaを代入することでxを求めます。1節で\lambda=1,3を求めたので、以下それぞれについて固有ベクトルを求めます。
\lambda=1のとき

\displaystyle \left(\begin{array}{rr} 2 1 \\ 1 2 \\ \end{array} \right)\left(\begin{array}{c} x \\ y \\ \end{array} \right) = \left(\begin{array}{c} x \\ y \\ \end{array} \right)
より、y=-xが得られます。これによって固有ベクトル\displaystyle t\left(\begin{array}{c} 1 \\ -1 \\ \end{array} \right)tは任意の実数)が得られます。

\lambda=3のとき

\displaystyle \left(\begin{array}{rr} 2 1 \\ 1 2 \\ \end{array} \right)\left(\begin{array}{c} x \\ y \\ \end{array} \right) = 3\left(\begin{array}{c} x \\ y \\ \end{array} \right)
より、y=xが得られます。これによって固有ベクトル\displaystyle t\left(\begin{array}{c} 1 \\ 1 \\ \end{array} \right)tは任意の実数)が得られます。

ここまでの導出により、\displaystyle A=\left(\begin{array}{rr} 2 1 \\ 1 2 \\ \end{array} \right)固有値\lambda=1に対応する固有ベクトル\displaystyle t\left(\begin{array}{c} 1 \\ -1 \\ \end{array} \right)tは任意の実数)、固有値\lambda=3に対応する固有ベクトル\displaystyle t\left(\begin{array}{c} 1 \\ 1 \\ \end{array} \right)tは任意の実数)であることがわかります。


3. まとめ
#3では固有値固有ベクトルの計算について取り扱いました。
#4では固有値固有ベクトルを用いた行列のn乗について取り扱います。

二次形式の微分|ベクトル解析を確認する #2

f:id:lib-arts:20210213195311p:plain

ベクトル解析(vector calculus)の基本的なトピックを確認するシリーズです。
#1では簡単に概要の把握について確認しました。

#2では二次形式(quadratic form)の微分について取り扱います。(二次形式の微分をベクトル解析で取り扱うのが良いのかについては明示的な記載がすぐに見つかりませんでしたが、二次形式の微分については把握しておく方が様々なところで役に立つのでこちらで取り扱うこととしました。)

以下が目次となります。
1. 二次形式(quadratic form)とは
2. 二次形式の微分
3. まとめ


1. 二次形式(quadratic form)とは
1節では二次形式(quadratic form)について簡単に確認します。下記の記載を主に参考にします。

線型代数学/二次形式 - Wikibooks

上記によると、「二次形式とはすべての項の次数が2である多項式のこと」であり、一般に下記の数式で表されるとされています。

\displaystyle \sum_{i,j=1}^{n} a_{ij}x_ix_j = \sum_{i=1}^{n}\sum_{j=1}^{n} a_{ij}x_ix_j

少々上記の式だけだとわかりにくいため、n=2とした上で具体的に考えてみようと思います。まず、n=2の状況では、ij12の値を取るため、x_1x_2a_{11}a_{21}a_{12}a_{22}がここで存在することになります。

ここで\displaystyle A=\left(\begin{array}{rr} a_{11} a_{12} \\ a_{21} a_{22} \\ \end{array} \right)\displaystyle x=\left(\begin{array}{c} x_{1} \\ x_{2} \\ \end{array} \right)とすると下記が成立します。

\displaystyle \sum_{i,j=1}^{2} a_{ij}x_ix_j = \sum_{i=1}^{2}\sum_{j=1}^{2} a_{ij}x_ix_j
   \displaystyle = a_{11}x_1x_1 + a_{12}x_1x_2 + a_{21}x_2x_1 + a_{22}x_2x_2
   \displaystyle = a_{11}x_1^2 + a_{12}x_1x_2 + a_{21}x_2x_1 + a_{22}x_2^2
   \displaystyle = \left(\begin{array}{r} a_{11}x_1+a_{21}x_2 a_{12}x_1+a_{22}x_2 \\ \end{array} \right)\left(\begin{array}{c} x_{1} \\ x_{2} \\ \end{array} \right)
   \displaystyle = \left(\begin{array}{r} x_1 x_2 \\ \end{array} \right)\left(\begin{array}{rr} a_{11} a_{12} \\ a_{21} a_{22} \\ \end{array} \right)\left(\begin{array}{c} x_{1} \\ x_{2} \\ \end{array} \right)
   \displaystyle = x^{T}Ax

上記のように二次形式を\displaystyle x^{T}Axの式で導出することができます。ここで注意が必要なのが式が与えられた際にx_1x_2=x_2x_1が成立するため、a_{12}+a_{21}は和が一定であれば良いということです。そのため、x_1x_2=x_2x_1が成立する状況では二次形式の対角成分はそれぞれ和が一定であれば一意とはならないことは把握しておく方が良いかと思います。これはnが3以上でも同様です。
逆に値を一意に設定したい場合は行列の対称性を設定すればa_{ij}+a_{ji}=Consta_{ij}=a_{ji}より、\displaystyle a_{ij} = a_{ji} = \frac{Const}{2}が成立します。この辺は分散・共分散行列のように二次形式を考える際の行列は対称な行列を取り扱うことが多いので、一意に定まることが多いと把握しておくのが良さそうです。

二次形式の概要について取り扱えたので1節はここまでとします。


2. 二次形式の微分
2節では対称行列Aの二次形式 \displaystyle = x^{T}Ax微分について取り扱います。

\displaystyle f(x_1, x_2) = \sum_{i,j=1}^{2} a_{ij}x_ix_j = \sum_{i=1}^{2}\sum_{j=1}^{2} a_{ij}x_ix_j
   \displaystyle = a_{11}x_1^2 + a_{12}x_1x_2 + a_{21}x_2x_1 + a_{22}x_2^2

上記に対し、\displaystyle \nabla=\left(\begin{array}{c} \frac{\delta}{\delta x_{1}} \\ \frac{\delta}{\delta x_{2}} \\ \end{array} \right)とした際に、二次形式の微分(勾配)をgrad f(x_1,x_2) = \nabla f(x_1, x_2)のように定義します。この際に\nabla f(x_1, x_2)は下記のようになります。

\displaystyle \nabla f(x_1, x_2) = \left(\begin{array}{c} \frac{\delta f(x_1, x_2)}{\delta x_{1}} \\ \frac{\delta f(x_1, x_2)}{\delta x_{2}} \\ \end{array} \right)
  \displaystyle = \left(\begin{array}{c} 2a_{11}x_1+(a_{12}+a_{21})x_2 \\ (a_{12}+a_{21})x_1+2a_{22}x_2 \\ \end{array} \right)
  \displaystyle = \left(\begin{array}{rr} 2a_{11} a_{12}+a_{21} \\ a_{21}+a_{12} 2a_{22} \\ \end{array} \right) \left(\begin{array}{c} x_1 \\ x_2 \\ \end{array} \right)

上記において、a_{12}=a_{21}より、下記が成立します。

\displaystyle = \left(\begin{array}{rr} 2a_{11} a_{12}+a_{21} \\ a_{21}+a_{12} 2a_{22} \\ \end{array} \right) \left(\begin{array}{c} x_1 \\ x_2 \\ \end{array} \right)
  \displaystyle = \left(\begin{array}{rr} 2a_{11} 2a_{12} \\ 2a_{21} 2a_{22} \\ \end{array} \right) \left(\begin{array}{c} x_1 \\ x_2 \\ \end{array} \right)
  \displaystyle = 2\left(\begin{array}{rr} a_{11} a_{12} \\ a_{21} a_{22} \\ \end{array} \right) \left(\begin{array}{c} x_1 \\ x_2 \\ \end{array} \right)
  \displaystyle = 2Ax

ここまでの計算により、対称行列Aの二次形式 \displaystyle x^{T}Ax2Axとできることがわかります。

2次形式の微分は行列表記だけ見てはわからなくなる際もあるため、本来の式と行列表記の対応を常に考えながら取り扱うのが良いのではと思います。


3. まとめ
#2では二次形式の微分について概要の把握と表記の確認を行いました。
#3では回帰分析によく用いられるデザイン行列における二次形式の微分について取り扱います。

平方根関数の微分|基本関数の微分の公式を定義から導出する #5

f:id:lib-arts:20210213195311p:plain

指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#4では分数関数の微分に関して取り扱いました。

#5では平方根関数の微分に関して取り扱いたいと思います。

以下、目次になります。
1. f(x)=\sqrt{x}微分の導出
2. f(x)={}^n\sqrt{x}微分の導出
3. まとめ


1. f(x)=\sqrt{x}微分の導出
1節では定義に基づいたf(x)=\sqrt{x}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{\sqrt{x+h}-\sqrt{x}}{h}
  \displaystyle = \lim_{h \to 0} \frac{(\sqrt{x+h}-\sqrt{x})(\sqrt{x+h}+\sqrt{x})}{h(\sqrt{x+h}+\sqrt{x})}
  \displaystyle = \lim_{h \to 0} \frac{x+h-x}{h(\sqrt{x+h}+\sqrt{x})}
  \displaystyle = \lim_{h \to 0} \frac{h}{h(\sqrt{x+h}+\sqrt{x})}
  \displaystyle = \lim_{h \to 0} \frac{1}{\sqrt{x+h}+\sqrt{x}}
  \displaystyle = \frac{1}{\sqrt{x}+\sqrt{x}}
  \displaystyle = \frac{1}{2\sqrt{x}}

ここまでの議論により、\displaystyle (\sqrt{x})' = \frac{1}{2\sqrt{x}}が導出できます。

これは(x^{\alpha})' = \alpha x^{\alpha-1}を満たしており、ここでの導出は公式が整数以外でも成立することを示す一つの例と見ることもできます。

 

2. f(x)={}^n\sqrt{x}微分の導出
2節では定義に基づいたf(x)={}^n\sqrt{x}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{{}^n\sqrt{x+h}-{}^n\sqrt{x}}{h}
  \displaystyle = \lim_{h \to 0} \frac{({}^n\sqrt{x+h}-{}^n\sqrt{x})(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}{h(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}
  \displaystyle = \lim_{h \to 0} \frac{x+h-x}{h(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}
  \displaystyle = \lim_{h \to 0} \frac{h}{h(({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1})}
  \displaystyle = \lim_{h \to 0} \frac{1}{({}^n\sqrt{x+h})^{n-1}+({}^n\sqrt{x+h})^{n-2}({}^n\sqrt{x})+...+({}^n\sqrt{x})^{n-1}}
  \displaystyle = \frac{1}{n({}^n\sqrt{x})^{n-1}}

ここまでの議論により、\displaystyle ({}^n\sqrt{x})' = \frac{1}{n({}^n\sqrt{x})^{n-1}}が導出できます。

また、ここでの導出も(x^{\alpha})' = \alpha x^{\alpha-1}を満たしていることが確認できます。

 

3. まとめ
#5では平方根関数の定義に基づく微分について確認しました。
n乗根の計算は因数分解の公式を知っていないと導出は難しいですが、このような項を一つずつずらす発想は等比数列の和の計算でも出てくるので考え方を抑えておくと良いかと思います。

概要の把握と表記の確認|ベクトル解析を確認する #1

f:id:lib-arts:20210213195311p:plain

ベクトル解析(vector calculus)は応用的な視点から数学を用いる際によく出てくるトピックです。が、カリキュラムによって取り扱うタイミングが異なるようなので、基本的なトピックをまとめることとしました。
#1では簡単に概要の把握について行います。下記を主に参考にします。

物理数学I ベクトル解析 - Wikibooks

以下が目次となります。
1. ベクトル解析の概要
2. graddivrotについて
3. まとめ


1. ベクトル解析の概要
1節ではベクトル解析の概要について確認します。

物理数学I ベクトル解析 - Wikibooks

主に上記を参考にしますが、「ベクトル解析」は主に多変数関数の微積分を取り扱う分野であると把握しておけば一旦十分だと思います。
具体的にも確認できればということで、あるスカラー関数f(x,y,z)xyz方向にそれぞれ微分を行うと考えます。

\displaystyle \left(\begin{array}{c} \frac{\delta f(x,y,z)}{\delta x} \\ \frac{\delta f(x,y,z)}{\delta y} \\ \frac{\delta f(x,y,z)}{\delta z} \\ \end{array} \right)

この微分は上記のように表せます。2節でも取り扱いますが、これはfの勾配と呼ばれ、grad fとも表されます。ここで\displaystyle \frac{\delta f(x,y,z)}{\delta x}スカラー関数f(x,y,z)xに関する偏微分です。

直感的なイメージがつかめるように具体的な関数についても確認します。f(x,y) = x^2+y^2を考えた際にgrad fは下記のように計算できます。

\displaystyle grad f = \left(\begin{array}{c} \frac{\delta f(x,y)}{\delta x} \\ \frac{\delta f(x,y)}{\delta y} \\ \end{array} \right)
  \displaystyle = \left(\begin{array}{c} 2x \\ 2y \\ \end{array} \right)

これを元に関数f(x,y)を考えると、f(x)=x^2と同様に考えて(0,0)を最下点とする下に凸な平面を構成していることがなんとなく想像できるかと思います。

大体のベクトル解析の概要と具体例について確認できたので1節はここまでとします。


2. graddivrotについて
2節では1節で出てきたgradに関連して、同様に使われる表記であるdivrotなどについて取り扱います。ここではスカラー関数をf(x,y,z)のように表すとします。
まず1節で取り扱った勾配のgrad fについては下記のように表します。

\displaystyle grad f = \nabla f = \left(\begin{array}{c} \frac{\delta f(x,y,z)}{\delta x} \\ \frac{\delta f(x,y,z)}{\delta y} \\ \frac{\delta f(x,y,z)}{\delta z} \\ \end{array} \right)

上記がgrad fで、基本的には1節で取り扱った内容と同様ですが、ここで\nablaという記号を導入したところは1節とは異なる点です。\nabla\displaystyle \nabla = \left(\begin{array}{c} \frac{\delta}{\delta x} \\ \frac{\delta}{\delta y} \\ \frac{\delta}{\delta z} \\ \end{array} \right)を表す演算子であると抑えておけば十分だと思います。

次にdivについて取り扱います。divはベクトル\displaystyle \vec{a} = \left(\begin{array}{c} a_x \\ a_y \\ a_z \\ \end{array} \right)に作用する演算で、下記のように定義されます。

\displaystyle div \vec{a} = \nabla \cdot \vec{a}
  \displaystyle = \frac{\delta a_x}{\delta x} + \frac{\delta a_y}{\delta y} + \frac{\delta a_z}{\delta z}

上記の演算は発散(divergence)の計算を意味しており、「ある点から流れ出す 粒子や場の束の和」を表しています。詳しくは下記などを参照いただけたらと思います。

物理数学I ベクトル解析 - Wikibooks

rotについても取り扱います。rotdivと同様にベクトル\displaystyle \vec{a} = \left(\begin{array}{c} a_x \\ a_y \\ a_z \\ \end{array} \right)に作用する演算で、下記のように定義されます。

\displaystyle rot \vec{a} = \nabla \times \vec{a}
  \displaystyle = \left(\begin{array}{c} \frac{\delta a_z}{\delta y}-\frac{\delta a_y}{\delta z} \\ \frac{\delta a_x}{\delta z}-\frac{\delta a_z}{\delta x} \\ \frac{\delta a_y}{\delta x}-\frac{\delta a_x}{\delta y} \\ \end{array} \right)

rotについてはここでは演算の定義の確認にとどめるので、詳しくは下記などを参照いただけたらと思います。

物理数学I ベクトル解析 - Wikibooks


3. まとめ
#1ではベクトルの微分について概要の把握と表記の確認を行いました。
#2では2次形式の微分について取り扱います。

分数関数の微分|基本関数の微分の公式を定義から導出する #4

f:id:lib-arts:20210213195311p:plain

指数関数、対数関数、三角関数などの微分の公式を定義から導出を行うシリーズです。#1では指数関数の微分、#2では対数関数の微分、#3では三角関数微分について取り扱いました。

#4では分数関数の微分に関して取り扱いたいと思います。

以下、目次になります。
1. \displaystyle f(x) = \frac{1}{x}微分の導出
2. \displaystyle f(x) = \frac{1}{x^n}微分の導出
3. まとめ


1. \displaystyle f(x) = \frac{1}{x}微分の導出
1節では定義に基づいた\displaystyle f(x) = \frac{1}{x}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{\frac{1}{x+h}-\frac{1}{x}}{(x+h)-x}
  \displaystyle = \lim_{h \to 0} \frac{\frac{1}{x+h}-\frac{1}{x}}{h}
  \displaystyle = \lim_{h \to 0} \frac{x-(x+h)}{hx(x+h)}
  \displaystyle = \lim_{h \to 0} \frac{x-(x+h)}{hx(x+h)}
  \displaystyle = \lim_{h \to 0} \frac{-h}{hx(x+h)}
  \displaystyle = \lim_{h \to 0} \frac{-1}{x(x+h)}
  \displaystyle = -\frac{1}{x^2}

ここまでの議論により、\displaystyle \left( \frac{1}{x} \right)' = -\frac{1}{x^2}が導出できます。

 

2. \displaystyle f(x) = \frac{1}{x^n}微分の導出
2節では定義に基づいた\displaystyle f(x) = \frac{1}{x^n}微分の導出について取り扱います。

\displaystyle f'(x) = \lim_{h \to 0} \frac{\frac{1}{(x+h)^n}-\frac{1}{x^n}}{(x+h)-x}
  \displaystyle = \lim_{h \to 0} \frac{\frac{1}{(x+h)^n}-\frac{1}{x^n}}{h}
  \displaystyle = \lim_{h \to 0} \frac{x^n-(x+h)^n}{hx^n(x+h)^n}
  \displaystyle = \lim_{h \to 0} \frac{-h({}_n C_1 x^{n-1} + {}_n C_2 x^{n-2}h+...)}{hx^n(x+h)^n}
  \displaystyle = \lim_{h \to 0} \frac{-({}_n C_1 x^{n-1} + {}_n C_2 x^{n-2}h+...)}{x^n(x+h)^n}
  \displaystyle = \lim_{h \to 0} \frac{-{}_n C_1 x^{n-1} - h({}_n C_2 x^{n-2} + {}_n C_3 x^{n-3}h...)}{x^n(x+h)^n}
  \displaystyle = \frac{-{}_n C_1 x^{n-1}}{x^{2n}}
  \displaystyle = \frac{-n x^{n-1}}{x^{2n}}
  \displaystyle = \frac{-n}{x^{n+1}}

ここまでの議論により、\displaystyle \left( \frac{1}{x^n} \right)' = -\frac{n}{x^{n+1}}が導出できます。

また、ここで\displaystyle \frac{1}{x^n} = x^{-n}とみて微分を行うと考えると、\displaystyle (x^{-n})' = -nx^{-n-1}が成立しており、(x^n)' = nx^{n-1}と同様に取り扱うことができることを示すこともできます。

 

3. まとめ
#4では分数関数の定義に基づく微分について確認しました。
#5では平方根関数の定義に基づく微分について確認します。

逆行列の計算について|行列〜線形代数の基本を確認する #2

f:id:lib-arts:20210213195311p:plain

当シリーズでは高校〜大学教養レベルの行列〜線形代数のトピックを簡単に取り扱います。#1では外積の定義とその活用について簡単に取り扱いました。

 #2では逆行列の計算について取り扱います。22列は公式に沿って簡単に計算できますが、33列より大きい行列の逆行列は少々大変なのでなるべく簡単に抑えておくと良いのではと思います。
当記事では下記を主に参考にして確認していくことにします。

線型代数学/逆行列 - Wikibooks

以下、目次になります。
1. 基本事項の確認、22列の行列の逆行列
2. nn列(n \geq 3)の行列の逆行列
3. まとめ


1. 基本事項の確認、22列の行列の逆行列
1節では基本事項の確認を行ったのちに22列の行列の逆行列について確認します。
まず、逆行列を考える上での前提理解を基本事項にまとめます。

n次正方行列(ここではAとおくことにします)に関して逆行列を考える
-> 正方行列はnn列の行列のことです。正方行列や正則行列など色々と出てきてややこしいため、可能な限り間違えないように注意しておくと良いと思います。

・行列A逆行列を持つときAは正則(regular)であるという
-> 正方行列と正則行列、正規行列など似たような名称が多いので注意しておきましょう。基本的には定義を丁寧に何度も確認するようにすると良いと思います。

逆行列は一意に定まる
-> A逆行列A^{-1}は一意に定まり、複数は存在しないことも抑えておくと良いです。

n次の単位行列I_nとした際にAX=I_nXA=I_nが成立すればAは正則であり、XA逆行列となる。
-> XA逆行列であるとき、AX=XA=I_nが成立することは抑えておきましょう。

({}^t A)^{-1} = {}^t(A^{-1})が成立する

上記は行列に関して取り扱う際に知っておく方が望ましいと思います。

次に22列の行列の逆行列について簡単に確認します。22\displaystyle A = \left(\begin{array}{rr} a b \\ c d \\ \end{array} \right)の行列の逆行列ad-bc \neq 0のとき下記のように計算することができます。

\displaystyle A^{-1} = \frac{1}{ad-bc} \left(\begin{array}{rr} d -b \\ -c a \\ \end{array} \right)

証明についてはAA^{-1}を実際に計算すると、単位行列\displaystyle I_2 = \left(\begin{array}{rr} 1 0 \\ 0 1 \\ \end{array} \right)が得られることで確認できます。

また、このとき計算したad-bcが行列A行列式で、det A = |A|のように定義されることも知っておくと良いです。


2. nn列(n \geq 3)の行列の逆行列
2節ではnn列の行列の逆行列について取り扱います。

線型代数学/逆行列 - Wikibooks

上記の記載を確認します。

f:id:lib-arts:20210603152517p:plain

基本的には上記の定理1.1.7のように求めることができます。

f:id:lib-arts:20210603152556p:plain

具体例も簡単に確認しておきます。上記の流れを抑えておくのが良いかと思います。
かなりざっくりとした取り扱いになりましたので、詳しく確認したいは下記を参照いただけたらと思います。

線型代数学/逆行列 - Wikibooks


3. まとめ
#2では逆行列の計算について取り扱いました。
#3では固有値固有ベクトルについて取り扱います。