BNE技術ブログ
このページでは、機械学習などの数理アルゴリズムを実装を交えながら解説しています。

YOLO11とは?
2024年9月に登場した最先端のリアルタイム・ビジョンモデルYOLO11のアーキテクチャ(C3k2, C2PSA)と、PyTorchを用いた簡易的なスクラッチ実装(MiniYOLO11Seg)、さらに公式ライブラリを用いた推論やAGPL-3.0ライセンスの注意点までをわかりやすく解説します。

Qwen2-VLとは?
歪みのない画像・動画理解を可能にするQwen2-VLのアーキテクチャ概要、トークンマージによる圧縮技術(PatchMerger)、および時空間3次元位置エンコーディング(M-RoPE)の仕組みを、PyTorchでの概念実装やデータセットを用いた検証を交えて解説します。

MRoPEとは?
トークンの特徴量ベクトルを回転させることで、時間・高さ・幅の多次元な相対位置情報を表現するMRoPE(Multi-dimensional Rotary Position Embedding)の仕組みを、複素数を用いた数式、1D/2Dとの比較シミュレーション、およびPyTorchでの動画適用コードを交えて解説します。

Chameleonとは?
最初から最後まで、画像とテキストを完全に「同じ扱い」で処理する、真の初期融合型(Early-fusion)マルチモーダル基礎モデルであるChameleonの概要、主要なアーキテクチャ改良技術、およびPyTorchによるスクラッチ実装から公式のChameleon-7Bモデルによる推論テストまでを解説します。

LLaVAとは?
画像とテキストを同時に理解するオープンソースの最先端大規模マルチモーダルモデル(VLM)であるLLaVAの概要、プロジェクタで接続するシンプルなアーキテクチャから、PyTorchを用いた簡易実装およびLLaVA 1.5公式モデルによる推論テストまでを解説します。

AnyDoorとは?
オブジェクトを別の画像に「テレポート」させるゼロショット画像合成モデルAnyDoorの概要、ID特徴と詳細特徴を分離して注入するアーキテクチャ、PyTorchでの概念実装から公式ライブラリを用いた実践的な推論までを解説します。

SAMとは?
指示プロンプト(点、ボックス、テキスト、マスク)を柔軟に受け入れ、未知のオブジェクトをもゼロショットでセグメンテーションできるMeta発表の基盤モデル「SAM(Segment Anything Model)」の非対称アーキテクチャや、PyTorchによる極小モデリング(MiniSAM)、さらにGrounded-SAMを用いた高精度推論までを解説します。

RT-DETRとは?
Vision Transformer(ViT)の圧倒的な精度を維持しつつ、NMSフリーの完全エンドツーエンド設計によってリアルタイム処理を初めて実現した、Baidu発表の物体検出モデル「RT-DETR」の主要技術(AIFI、CCFM、IoU-Aware Query Selection)と、PyTorchでの概念実装を解説します。

Grounding DINOとは?
事前定義されたカテゴリに依存せず、人間が入力したテキスト(指示表現など)を基に任意のオブジェクトをゼロショットで検出できる強力なオープンセット物体検出器「Grounding DINO」の概要、PyTorchを用いた簡易実装(MiniGroundingDINO)、さらにHugging Faceを用いた実践的な推論、ライセンス情報までを解説します。

2D RoPEとは?
1次元のRoPEを画像へ適用する際の課題を解決し、縦横の空間情報を正確に捉える2D RoPE(2次元Rotary Position Embedding)の仕組みを、数式やPyTorchによる適用コードを交えて解説します。

Flamingoとは?
凍結された強力なVisionエンコーダと言語モデル(LLM)を、Perceiver Resampler(視覚情報圧縮)とGated Cross-Attention(ゲート付き融合)で接続し、極めて少数の学習サンプル(Few-shot)から新しいマルチモーダルタスクに迅速に適応できる視覚言語モデル(VLM)のアーキテクチャと実装について解説します。

InstructGPTとは?
ChatGPTの基盤技術となったInstructGPT(RLHF)の仕組みについて、SFT、報酬モデリング(ペアワイズ損失)、PPO(事前学習データ混合項付き)の数理的背景から、PyTorchを用いた実践的な学習パイプラインの実装までを解説します。

RoPEとは?
ベクトルを回転させるという数学的なアプローチにより、手軽な絶対位置埋め込みの実装でありながら、アテンション計算時に自動的に相対位置情報を反映させ、長距離減衰性を実現するRoPE(Rotary Position Embedding)の仕組みを、PyTorchでの実装や可視化コードを交えて解説します。

SW-MSAのAttention Maskについて
Swin Transformer v1のSW-MSA(シフト窓アテンション)におけるAttention Maskの役割と計算ロジックについて、可視化コードを用いて解説します。

Instruction Tuning(SFT)とは?
言語モデルを「単なる単語の確率的予測器」から「人間の指示に正確に従うアシスタント」へと進化させるコア技術であるInstruction Tuningの仕組みを、PyTorchでのスクラッチ実装やHugging Face TRLを用いた実装を交えて解説します。

DDPM(拡散確率モデル)とは?
非平衡熱力学の概念を応用し、ノイズから高品質な画像を段階的に復元する「拡散確率モデル(DDPM)」の仕組みを、従来の生成モデル(VAE、GAN)との技術的比較や、マルコフ連鎖、ノイズ予測の数学的背景を交えてわかりやすく解説します。

DDPMの変分下界(ELBO)の導出とMSEへの帰着
DDPMにおける負の対数尤度最小化が、変分下界(ELBO)の項別分解、逆過程のガウス分布表示、そしてノイズ予測の二乗誤差(MSE)最小化へと奇跡的に帰着する一連の数学的プロセスを、数式を用いてステップ・バイ・ステップで詳細に解説します。

In-Context Learning (Few-Shot) とは?
事前学習済みの巨大な言語モデルに対してパラメータ更新を行わず、推論時の入力テキスト内に解答例を提示するだけで新しいタスクを解かせるIn-Context Learningの仕組みとスケーリング則を、PyTorchと日本語LLMを用いた検証を交えて解説します。

RAG (Retrieval-Augmented Generation) とは?
外部の知識ベースを検索し、大規模言語モデル(LLM)の回答に組み込む「RAG」の基礎概念から、RAG-SequenceとRAG-Tokenという2つの数学的な定式化の違いによる振る舞いの差、および現代のLLMにおけるアプローチまでを解説します。

PPO (Proximal Policy Optimization) とは?
TRPOの複雑な二次最適化を「クリップされたサロゲート目的関数」に置き換え、圧倒的な実装の簡潔さと優れたデータ効率を実現した現代のデファクトスタンダード強化学習アルゴリズム「PPO」の仕組みと、PyTorchを用いたスクラッチ実装について解説します。

A2C (Advantage Actor-Critic) とは?
DeepMind社が2016年に発表したA3Cの同期版。価値ベースと方策ベースを融合させたActor-Criticアーキテクチャの基本から、アドバンテージ関数を用いた分散抑制、複数ワーカーによる並列学習、およびPyTorchによる実装までを解説します。

Causal Impactとは?
「もし施策を行っていなかったらどうなっていたか」という「反事実」を、ベイズ構造時系列モデル(BSTS)によって高精度にシミュレーション・予測するCausal Impactの仕組みを、PyMCによるMCMCスクラッチ実装やライブラリの使い方を交えて解説します。

TRPO (Trust Region Policy Optimization) とは?
方策の急激な変化による学習の崩壊を防ぐため、KLダイバージェンスを用いた「信頼領域(Trust Region)」の制約内で方策を更新するTRPOの仕組みと、共役勾配法や直線探索を用いたPyTorchスクラッチ実装について解説します。

DiD(差の差法)とは?
介入群と統制群の施策前後の変化量を引き算する「差の差法(DiD)」の仕組みを、最重要前提である「平行トレンドの仮定」、回帰モデルを用いた効果推定、Python(statsmodels)による最小二乗法(OLS)の実装、およびCausalImpactとの使い分けまでを交えて解説します。

フィッシャー情報行列(Fisher Information Matrix)とは?
機械学習や強化学習の最適化において、確率分布空間の「地形の曲率」を表すフィッシャー情報行列と自然勾配法(Natural Gradient Descent)の仕組みを、KLダイバージェンスとの関係性やPythonでの可視化を交えて解説します。

タブー探索(Tabu Search)とは?
「記憶」の仕組みであるタブーリストを用いて局所解の罠を回避するメタヒューリスティクス「タブー探索」について、山登り法や焼きなまし法との違い、Pythonでの実装と探索軌跡の可視化を交えて解説します。

傾向スコアによる逆確率重みづけ(IPTW)とは?
傾向スコアの逆数を重みとして用いることで、データを捨てることなく観察データから集団全体への平均処置効果(ATE)を推定する「逆確率重みづけ(IPTW)」の仕組みを、PSMとの比較や有効サンプルサイズ(ESS)、ブートストラップ法を用いた標準誤差の算出を含めて解説します。

傾向スコアマッチング(PSM)とは?
セレクションバイアスを排除し、観察データから信頼性の高い因果推論を行うための強力な手法「傾向スコアマッチング(PSM)」について、傾向スコアの算出、マッチングの実装、およびPSMパラドックスの議論までをスクラッチ実装と共に解説します。

ランダム化比較試験(RCT)とは?
因果推論の「ゴールドスタンダード」と呼ばれるランダム化比較試験(RCT)の仕組みについて、交絡因子の影響を無効化するメカニズムや、Pythonを用いたシミュレーション、t検定やKS検定によるバランスチェック(SMD)までをわかりやすく解説します。

焼きなまし法(Simulated Annealing)とは?
組み合わせ最適化問題において、局所探索(山登り法)が陥りがちな「局所的最適解の罠」を、メトロポリス基準に基づく確率的な一時的改悪の許容と「温度」による探索制御によって克服する、物理現象を模倣した近似解法(メタヒューリスティクス)の仕組みを、Pythonでのシミュレーションや探索軌跡の可視化を交えて解説します。

局所探索(山登り法)とは?
組み合わせ最適化問題の基礎となる局所探索(山登り法)の仕組みを、全探索やランダム探索との比較、Pythonでのシミュレーション、そして「局所的最適解の罠」という弱点まで、探索軌跡の可視化を交えて初心者にもわかりやすく解説します。

直線探索(Line Search)とは?
最適化アルゴリズムにおいてステップサイズを動的に決定する「直線探索」の仕組みを、ジグザグ現象の可視化や、1966年に発表されたArmijo(アルミホ)条件を用いたバックトラッキング法の実装を交えて解説します。

共役勾配法(Conjugate Gradient)とは?
正定値対称行列を係数とする大規模な連立一次方程式を高速に解くための強力な反復法「共役勾配法(CG法)」について、最急降下法やニュートン法との違い、数学的な直交性の仕組みから、Pythonによるシミュレーション実装と探索軌跡の可視化までをわかりやすく解説します。

REINFORCEアルゴリズムとは?
価値ベースの限界を突破し、ニューラルネットワークを用いて方策(行動確率)を直接最適化する方策勾配法(Policy Gradient)の原点、REINFORCEアルゴリズムの数理的背景と実装を解説します。

DQN(Deep Q-Network)とは?
Google DeepMindが発表し、強化学習のQ学習にディープラーニングを組み合わせてAtariゲームで人間超えの精度を叩き出したDQNの仕組み、Experience Replayなどの重要技術を解説します。

Q学習(Q-Learning)とは?
強化学習の代表的な価値ベース(Value-based)アルゴリズムであるQ学習の仕組み、ベルマン方程式からQ値の更新則、そして行動価値を最大化するプロセスまでを解説します。

TD学習とは?
エピソードの終了を待たず、1歩先の予測を用いて現在の予測を更新(ブートストラップ)するTD学習(時間的差分学習)の仕組みを、TD誤差の数理的背景やPythonによるスクラッチ実装を交えて解説します。

モンテカルロ法(Monte Carlo Method)とは?
強化学習の基礎となる「モンテカルロ法」について、エピソードを最後までやり切って得られた実際の収益から状態価値を逆算する仕組みと、Pythonによるスクラッチ実装を交えて解説します。

強化学習(Reinforcement Learning)超入門
機械学習の主要なアプローチの一つである強化学習のコアコンセプトから、状態・行動・報酬からなる基本パイプライン、割引率、探索と利用のジレンマ、そしてPythonを用いたシミュレーション環境の動かし方までをゼロから解説します。




