近年様々なタスクに用いられるTransformer処理では活性化関数にGELU(Gaussian Error Linear Unit)が用いられることが多いです。当記事ではGELUの数式の確認と、Pythonを用いたグラ…
Hello Statisticians!
近年様々なタスクに用いられるTransformer処理では活性化関数にGELU(Gaussian Error Linear Unit)が用いられることが多いです。当記事ではGELUの数式の確認と、Pythonを用いたグラ…
ウォリスの公式は円周率の近似などにあたって役立つ公式で、ウォリス積分(Wallis integral)の式から導出を行うことができます。当記事ではウォリス積分に基づくウォリスの公式の導出とPythonを用いた円周率の近似…
自動微分(Automatic Differentiation)は大規模なニューラルネットワークであるDeepLearningの学習における誤差逆伝播などに用いられる手法です。当記事ではAffine変換の自動微分とニューラ…
自動微分(Automatic Differentiation)は大規模なニューラルネットワークであるDeepLearningの学習における誤差逆伝播などに用いられる手法です。当記事では自動微分の仕組みとPythonを用い…
DeepLearningにおける分散処理ではSPMDに基づいてバッチ分割を行うことが多い一方で、大規模モデルを取り扱うにあたってはメモリの制約などの課題があります。当記事では上記の解決にあたって用いられるModel-Pa…
確率分布の類似度を計算するにあたってKLダイバージェンスが用いられることが多いですが、式の解釈は抽象的で理解が難しいです。当記事ではKLダイバージェンスの概略が把握できるように通常の確率化とSoftmax関数による確率化…
Transformerに基づくLLMの学習にあたっては多くの文書を用いる一方で、単語をそのまま取り扱うとEmbedding処理のパラメータ数が増大します。当記事ではこの解決にあたって用いられる手法の$1$つであるBPE(…
最適化問題を解く際に勾配法などがよく用いられますが、多次元空間上における勾配法などを用いる際には取り得る範囲内でどのステップ幅が良いかを検討する場合があります。この際によく用いられるのが直線探索(line search)…
共役勾配法(Conjugate Gradient Method)は等高線が同心楕円で表される場合の最適化にあたって有用な手法です。当記事では具体的な二次形式に対して共役勾配法を元に最適化を行う流れをPythonを用いて計…
プログラミングを学んだり、自分で何かしらのコードを書こうと思った際に、開発環境の構築に手間取るケースは意外と多いと思います。また、ある程度プログラミング慣れてくると、利用しているライブラリのバージョン不整合でつまづくケー…