nomuyu

AIについての研究・開発をしています。

    TransformerのAttentionの線形化による計算量削減【Linear Transformer】

    TransformerとはGPTなど広く使われるAIモデルで、もともとは自然言語処理の機械翻訳の分野において提案されたEncoderとDecoderからなる深層学習モデルです。こちらの記事ではTransformerやMulti-Head Attentionに関する詳しい解説をしています。ぜひご覧ください。 Transformerは「Attention機構」を用いることで、入力系列中の遠距離にある各単語間の関連性を捉えることができます。 このような特性を実現させるのが「Scaled Dot-Product ...

    no image

    シンクホーンアルゴリズム

      最適輸送問題とシンクホーンアルゴリズム 最適輸送問題とは、物理学や経済学などの分野で長い歴史を持つ数理的な問題です。この問題は、ある場所に存在する物資を別の場所に運ぶ際の最適な方法を探求します。具体的には、物資を運ぶためのコストを最小化する方法を見つけることを目的としています。 この記事でも定式化していますが、最適輸送は重み付き点群を輸送コストをもとに比較するツールです。 点群Aと点群Bの違い、距離を求めるものです。これの定式化は以下です。 しかしこれにはいくつか短所があります。 中でも、問 ...

    合コンで分かるホールの結婚定理とその証明

      あるところに、これから合コンする予定の男子A,B,Cの3人がいました。 彼らは仲が良く、合コンで狙う女子が被って喧嘩にならないように事前にとある約束をしました。なぜならば合コン中に男子同士で喧嘩するのはみっともないからです。   ある程度場が進んだら、自分の箸を狙っている女子に向け、男子にだけその人が狙っている女の子がわかるようにしました。   そして、その時がやってきました。相対する女子はX,Y,Zの三人 C君はXちゃんに揃えた箸を向けました。 B君は決めかねたのか、Y ...

    林(森)な二部グラフで成り立つ不等式について

    二部グラフ \(G=(V, U, E)\) が森であるならぱ、 \(|E| \leq|V|+|U|-1\) という不等式が成り立つ理由を説明 します。ここで、森とは閉路を含まないグラフを指します。   まず、基本的なグラフ理論の概念について確認しましょう。   グラフ理論の確認 1. 木と森の定義: ・木: 閉路を持たない連結なグラフ。 ・森: 閉路を持たないグラフ(つまり、複数の木の集合)。 2. 二部グラフ: ・グラフ \(G=(V, U, E)\) が二部グラフである場合、頂点集 ...

    テンソル場の定義と性質 リーマン計量とは?

    テンソル場を理解するのに必要な知識は、 双対空間(双対基底) テンソル です。 ささっと復習してテンソル場の定義、性質をこの記事で理解します。   この線形空間\(V\)とその双対空間\(V^*\)をそれぞれ\(s\)個、\(r\)個ずつ直積してできるベクトル空間を\((r,s)\)型テンソル空間と呼びます。       テンソル場 多様体\(M\)の各点にテンソルを割り当てたテンソル場というものを考えましょう。 3つ以上のテンソル場のテンソル積も同様です。 &nb ...

    ワッサースタイン(Wasserstein)距離とは?距離の公理を満たすことの証明まで

    GANなどの生成モデルで使われるようになりたびたび聞くことも増えたワッサースタイン(Wasserstein)距離というものを解説します。 ワッサースタイン距離というのは一言でいうと、確率分布間を測る距離の一つです。 この記事では離散確率分布に対するワッサースタイン距離の定義とそれが距離の公理を満たすことを証明します。   最適輸送問題とは 最適輸送問題は、物理学や経済学などの分野で長い歴史を持つ数理的な問題です。この問題は、ある場所に存在する物資を別の場所に運ぶ際の最適な方法を探求します。具体的 ...

    曲面から導く多様体の基礎

    この記事では多様体とは何か、どうしてそんな概念が生まれたのかを考えていきます。   最初に多様体とは何なのかを一言で言うなら「なんだかよくわからないものを自分の土俵に持ち込み理解するための概念」です。 なのでこれからこの記事で展開されていく考え方は「宇宙」や「情報」など人類がその全貌を理解していない、認識できないようなものを人類がこれまで築いてきた数学を使っていろいろしたーい! という願いをかなえてくれる(かもしれない)ものの基礎です。   いきなり厳密にあれこれ考えるのではなく、まず ...

    サポートベクターマシン(SVM)徹底解説!マージン最大化とカーネル法、双対問題とは

    この記事ではできうる限り厳密にサポートベクターマシンの理論について解説を行っていく。   この記事を読めばSVMのおおよそすべてが分かる。 注意としては実装の仕方やコードなどの解説は一切行わない。理論的な部分に関しての解説をとことん行う。   サポートベクターマシン(SVM)とは サポートベクターマシン(SVM)とは、サポートベクトルマシンとも呼ばれ、分類問題でよく用いられる有名な機械学習の手法の一つである。 分類問題とは、入力されたデータを複数の特定のカテゴリーに分ける問題である。た ...

    サポートベクターマシン(SVM)の最適化

    この記事ではサポートベクターマシン(SVM)の最適化問題について特化して詳しく解説していく。 SVMのマージン最大化などの基本的な理論についてはこちらの記事を参考にしてほしい。むしろ順番としてはこちらの記事を読んでからこの記事を読んだほうが理解が深まると思う。   SVMの基本原理 SVMの基本的な目的は、データを分類する最適な超平面を見つけることである。この超平面は、異なるクラスに属するデータポイントを最も効果的に分離する。SVMでは、次の二つの主要な概念が用いられる。 マージン最大化: SV ...

    2023年の振り返り記事 月ごとに何をしたのかと、何の記事を書いたのかを振り返って反省

    2023年は僕にとって生活面で少し変化がある年で ブログとしてもかなり変化した。 具体的には迷走をしてふわふわしていたブログから、数学と機械学習の理論について深堀りしまくるガッチガチの難しそうなブログになった。 どちらがいいのかは一概には分からない。個人的にはもっと楽しめるブログにしたいと思っている   一月 試験三昧。かなりしんどかったのを覚えている。年始には帯状疱疹に罹患していた。   二月 何してたかあまり記憶も記録もない。 唯一覚えていることとしては Udemyをコツコツやって ...

    Positional Encoding徹底解説:Sinusoidal(絶対位置)から相対位置エンコーディング

    Transformerで使われているPositional EncodingであるSinusoidal Positional Encodingについて徹底的に解説して さらに、そこから相対位置エンコーディングへの橋渡しをこの記事では行う。 なるべく直感的に、なぜこのような手法がとられるのか、なぜうまくいくのか、現時点での僕ができうる限り解説する。   この記事を読めばInput Embeddingがどういう気持ちで何をやっているのかがわかることと思う。 必要な前提知識は三角関数だけである。(線形代 ...

    Multi-Head AttentionとScaled Dot-Product Attentionの全て:Transformerの核心を徹底解説

    この記事では、Transformerの中心的な役割を果たすMulti-Head Attentionについて解説する。   Transformerのほかの機構の詳細な解説はせず、完全にMulti-Head Attention特化の解説となるので、ほかの機構や全体観を掴みたい方はこちらの記事をご一読いただきたい。 この記事はまずはScaled Dot-Product AttentionというMulti-Head Attentionの中で使われている核心部分についてこれでもかと詳しく解説したのちに、本 ...

    Transformerとは?世界を変えた深層学習モデルの仕組みをわかりやすく徹底解説

    近年のAI技術の急激な発展には「Transformer」という深層学習モデルの存在が大きく関わっている。 この記事では、そのTrasformerについてその仕組みとそれがなぜ組み込まれているかを画像をふんだんに使用して徹底的に解説している。 必要な知識はなんと高校数学と行列の足し算、掛け算のみ! 今後のAI社会において理解しておいて絶対に損はないので、ぜひ読んでほしい。   Transformerってなに?? Transformerは、もともと機械翻訳の深層学習モデルとして2017年にGoogl ...

    ソフトマックス(Softmax)関数とは:定義、特性、実装方法まで徹底解説

    本記事は、Softmax関数に関する理解を深めたい方々を対象にしています。 必要な前提知識は以下の通りです。 基本的な数学知識(特に確率論と指数関数) ニューラルネットワークの基本概念 Pythonプログラミングの基礎 機械学習における一般的な用語の理解 この記事では、Softmax関数の定義からその性質、応用例、そして実際のコーディング方法に至るまでを段階的に解説しています。機械学習の分野における多クラス分類問題への理解を深めるための基礎的なガイドとして、本記事を活用いただければと思います。 &nbsp ...

    コサイン類似度とは?ベクトルの内積から見る類似度

    データ分析や機械学習の分野で広く用いられるコサイン類似度は、ベクトル間の類似性を測定する強力なツールである。   この記事では、コサイン類似度の基本原理から、高次元データでの振る舞い、そして次元の呪いに対処する方法までを詳細に解説する。 データサイエンティストや機械学習エンジニアにとって重要なこの問題を、わかりやすく、段階的に理解し、実践的な解決策を身につけるための一助となることを目指す。 【定義】コサイン類似度とは何か コサイン類似度は、特に二つのベクトル間の角度を利用して、それらがどれだけ似 ...