Zennの「ディープラーニング」のフィード
フィード

モデル反転攻撃について [AIセキュリティ]
Zennの「ディープラーニング」のフィード
モデル反転攻撃とはなにかモデル反転攻撃とは、機械学習モデルが持つパラメータ・出力・勾配などの情報から、学習データの特徴を逆算して復元する攻撃のことです。特に深刻なのは、顔認識モデル→学習に使われた人物の顔画像を復元医療モデル→患者の特徴量を推定LLM→学習データの一部を再構成といったケースです。 なぜ「反転」が可能なのか機械学習モデルは、学習データの統計的特徴を内部に保持します。特に 過学習(overfitting) や 高容量モデル では、データの特徴がパラメータに強く刻み込まれます。例えば分類モデルf_{\theta }(x)があるとします。学...
1日前

Grokkingを10分で再現する — モデルが"突然目覚める"瞬間を可視化で追う
Zennの「ディープラーニング」のフィード
1. はじめに2022年、OpenAIの研究者たちは奇妙な現象に気づきました。小さなTransformerモデルを算術タスクで訓練し、そのまま放置して旅行に出かけた。帰ってきてログを確認すると、とっくに過学習していたはずのモデルが、いつの間にか完璧な汎化性能を獲得していたのです。Train Lossが0になった後も学習を続けると、ある瞬間に突然Test Accuracyが急上昇する。この現象は Grokking(グロッキング) と名付けられました。「過学習したら学習を止めるべき」というEarly Stoppingは深層学習の常識でしたが、Grokkingはこの常識を真っ向から覆...
2日前

ディープラーニングの異常検知ライブラリ「Anomalib v2.2.0」の環境構築でハマった話
Zennの「ディープラーニング」のフィード
はじめに監視カメラ画像の異常検知処理の実装に、軽量なディープラーニングアルゴリズムを使おうと、Anomalib を動かそうとしたら、やたらエラーがでたので、その内容と解決策を共有しつつ、環境構築の手順、簡単なサンプルコード、実行結果を紹介したいと思います。 1. Anomalib って?Anomalibは、Intelが開発を主導している、オープンソースのディープラーニングアルゴリズムのうち、異常検知を目的としたものを集めたライブラリです。https://anomalib.readthedocs.io/en/v2.2.0/index.htmlライブラリには、異常検知を行うモ...
2日前

自力でaiを作る!!!【python】
Zennの「ディープラーニング」のフィード
はじめにこんにちは今回はnumpyを主軸にtorchなどを使わずに自力で気温予測ai(深層学習)を作ったのでそれについて書きます(数式が出ても逃げないでね) まずai(深層学習)の仕組みとは深層学習のaiは基本的に複数のニューロン(変換装置みたいなもの)によって作られています↓イメージ図 丸いのがニューロンこのニューロンは入力層、隠れ層、出力層の3つ種類に分けられますそしてこのニューロンとニューロンの間の線には一つ一つ重みとバイアスという数値があります(重みとバイアスの初期値はランダムに設定されていることが多い)流れとしてはデータを入力層のニューロンに入れる↓...
3日前

SimCLR 論文解説 & PyTorch 実装(Contrastive Learning / 自己教師あり学習)
Zennの「ディープラーニング」のフィード
SimCLR 論文解説 & PyTorch 実装(Contrastive Learning / 自己教師あり学習)本稿では、視覚表現のコントラスト学習のためのシンプルな枠組みである SimCLR (Simple Framework for Contrastive Learning ) を紹介する。SimCLRは、近年提案されているコントラスト型の自己教師あり学習アルゴリズムを、 特別なアーキテクチャ や メモリバンク を必要とせずに簡素化した手法である。引用元:https://research.google/blog/advancing-self-supervised-an...
5日前

数式とPythonで理解するTransformerのAttention機構
Zennの「ディープラーニング」のフィード
はじめにChatGPT Claude Geminiなどの大規模言語モデルを支える「Transformer」。その中核を担うのがAttention(アテンション)機構です。一見すると複雑な魔法のように思えるAttentionですが、その正体は「入力されたデータのどの部分に『注目(Attention)』すべきかを動的に計算する」 ための、非常にシンプルな行列計算の組み合わせです。本記事では、Attentionの概念を数式を交えて紐解きながら、それをそのままPythonコードとして実装することで、仕組みを根本から理解することを目指します。 1. 埋め込み表現としての入力N ...
6日前

LoRA・QLoRA完全マニュアル ─ 2026年のLLMファインチューニング実装ガイド
Zennの「ディープラーニング」のフィード
ファインチューニング戦国時代の2026年2024年時点では、LLMのファインチューニングは「高コスト・高技術」でした。2026年現在、状況は大きく変わっています。個人開発者でもノートパソコンで、わずか数千円のGPUレンタル費でエンタープライズ品質のカスタムLLMを作れるようになったのです。本記事では、実装レベルで検証したLoRA・QLoRA・完全ファインチューニングの3手法を、数学的背景から実装、デプロイまで解説します。 ファインチューニングが必要な理由:3つのシナリオ シナリオ1:業界特有の知識・文体例:医療関連企業- 医学用語が豊富- 症例研究の事例多数- 規...
6日前

時系列異常検知:NASA SMAP / MSL を使った 4 モデル比較(コード解説)
Zennの「ディープラーニング」のフィード
対象読者: 時系列異常検知に興味があるエンジニア/研究者。PyTorch の基本が分かれば読みやすいと思います。 初めにNASA の SMAP / MSL データセット(多変量時系列)のごく一部のデータを使い、再構成/次時刻予測ベースで異常検知を行いました。比較したモデルは NGRC (次世代リザバー) / ESN (Echo State Network) / RNN / LSTM の 4 種類。評価指標は点ごとの Precision / Recall / PR-AUC、平均検出遅延など。実装は Jupyter Notebook(https://github.com/Isk...
8日前

第9回: NN基礎&変分推論&ELBO — Python地獄からRust救済へ 【前編】理論編
Zennの「ディープラーニング」のフィード
🎯 この記事で得られるものNN基礎(MLP/CNN/RNN)の数学的理解 — 順伝播・逆伝播・勾配消失の完全導出変分推論の動機とELBO導出(3視点: Jensen / KL分解 / 重点サンプリング)ELBO分解(再構成項 + KL正則化項)の直感とRate-Distortion視点勾配推定量(REINFORCE vs Reparameterization)の理論と分散の桁違いの差Amortized Inferenceの概念(VAEへの布石)とAmortization Gap 第9回: NN基礎(MLP/CNN/RNN)& 変分推論 & ELBO...
8日前

画像 自己学習モデルの道具について (ViT, Swin, Mamba)
Zennの「ディープラーニング」のフィード
前回の記事では、SAR(合成開口レーダ)など地球観測衛星データの基盤モデルが、膨大なラベルなしデータを活用して進化しているという学習フレームワーク(MAE,DINO,SatDINO)についての潮流を解説しました。学習の適用で重要になるのが、「自己学習フレームワーク(レシピ)」と「バックボーン(計算エンジン)」 の組み合わせです。 今回は、この2つの関係を整理し、最新の3大バックボーン(ViT, Swin, Mamba)の特徴をエンジニア視点で解説します。画像を使った自己学習が(衛星に限らず)どのように行われるのか、概要を理解したい方もどうぞ読んでみてください。 1. 衛星撮像画像...
10日前

第6回: 情報理論・最適化理論: 30秒の驚き→数式修行→実装マスター 【後編】実装編
Zennの「ディープラーニング」のフィード
理論編は 【前編】第6回: 情報理論・最適化理論 をご覧ください。 🎯 学習目標 Shannon エントロピー・KL・Cross-Entropy を PyTorch で実装し、恒等式 H(p,q) = H(p) + D_{KL} を数値検証できる AdamW の更新則と重み減衰の分離を説明できる Triton で行ごとの log-softmax カーネルを実装し、数値安定化の仕組みを説明できる VAE の KL 正則化項 -0.5(1 + \log\sigma^2 - \mu^2 - \sigma^2) を導出・実装できる F.cross_entropy ...
10日前

第6回: 情報理論・最適化理論: 30秒の驚き→数式修行→実装マスター 【前編】理論編
Zennの「ディープラーニング」のフィード
第6回: 情報理論・最適化理論 — KLダイバージェンスとSGDで武装する分布の"距離"を測り、パラメータの"谷"を下る。この2つの武器なしに、生成モデルの戦場には立てない。第5回で測度論的確率論の基盤を整えた。確率空間 (\Omega, \mathcal{F}, P) の上で確率密度関数が定義され、期待値が Lebesgue 積分として厳密に意味を持つことを学んだ。だが、ここで素朴な疑問が浮かぶ。「2つの確率分布がどれだけ"違う"かを、どう測ればいい?」そして「パラメータをどう動かせば、モデルの分布をデータの分布に近づけられる?」この2つの問いに答えるのが、情報理論と最適...
11日前

第5回: 測度論的確率論・確率過程入門: 30秒の驚き→数式修行→実装マスター 【後編】実装編
Zennの「ディープラーニング」のフィード
理論編は 【前編】第5回: 測度論・確率過程 をご覧ください。 Learning Objectivesこの後編を修了すると、以下のスキルが身につきます: Monte Carlo積分を実装し、 O(1/\sqrt{N}) の収束レートを確認できる 分散低減法(重点サンプリング、層化サンプリング、制御変量法)を使いこなせる Kernel Density Estimationを実装し、Radon-Nikodym導関数として理解できる Metropolis-Hastings法でMCMCサンプリングを実装できる Brown運動の5つの性質をコードで検証できる E...
11日前

AI開発部 画像認識 1day ハッカソン活動記録 ~ Kaggle Paddy Doctor
Zennの「ディープラーニング」のフィード
はじめにこんにちは、セーフィー株式会社 AI開発部でテックリードを務めます橋本です。先日、AI開発部において、技術力の向上およびメンバー間の連携強化を目的とした1日完結型のハッカソンを開催いたしました。私たちAI開発部は普段から画像を用いたアルゴリズム開発を行っていることもあり、今回のテーマには画像分類タスクを選定しました。具体的には、Kaggleのコンペティション「Paddy Doctor: Paddy Disease Classification」を題材とし、水田の稲の画像から9種類の病気と正常な状態を分類するモデルを作成しました。当日は13名のメンバーが3つのチームに分か...
12日前

深層学習―基礎と概念― 第3章(3.20から3.38まで)解答例
Zennの「ディープラーニング」のフィード
3.20 (★★)線形代数で非常に有用なWoodburyの公式(Woodbury identity)は次式で与えられる.(\mathbf{A}+\mathbf{B C D})^{-1}=\mathbf{A}^{-1}-\mathbf{A}^{-1} \mathbf{B}\left(\mathbf{C}^{-1}+\mathbf{D} \mathbf{A}^{-1} \mathbf{B}\right)^{-1} \mathbf{D} \mathbf{A}^{-1} \tag{3.210}この両辺に(\mathbf{A}+\mathbf{B C D})を掛けて, この公式が正し...
13日前

第5回: 測度論的確率論・確率過程入門【前編】理論編 — 確率の「文法」を手に入れる
Zennの「ディープラーニング」のフィード
第5回: 測度論的確率論・確率過程入門【前編】— 確率の「文法」を手に入れるLebesgue積分なくして確率密度なし。測度を知らずに生成モデルを語れるか?第4回で確率分布を「使える」ようになった。ベイズの定理で事後分布を計算し、MLEでパラメータを推定し、CLTで収束を保証した。だが、1つの根本的な問いを棚上げにしてきた — 確率密度関数とは、厳密に何なのか?f(x) = \frac{1}{\sqrt{2\pi}} e^{-x^2/2} を「確率密度関数」と呼んだ。だが f(0) \approx 0.399 は「x=0 の確率」ではない。連続確率変数の場合、任意の1点の確率...
14日前

GPTの本質を、200行前後のコードで“分解して見せる
Zennの「ディープラーニング」のフィード
以下の解説記事です。GitHub:MicroGPT — 200行のPythonで理解するGPTの本質microgpt.py 0. この記事でわかることこの MicroGPT のコードでは、GPTの中でも特に大事な流れを、最小構成でつかめます。文字を数字(トークン)に変換して扱う考え方「次の1文字」を予測しながら生成する仕組み(自己回帰生成)学習の流れ(予測 → 誤差(loss) → 逆伝播 → パラメータ更新)Attention / MLP / 正規化など、GPTを構成する主要部品の役割temperature による出力の変化(安定 vs 多様)!ポ...
16日前

第3回: 線形代数 II: SVD・行列微分・テンソル — 万能ナイフSVDと逆伝播の数学 【後編】実装編
Zennの「ディープラーニング」のフィード
第3回: 線形代数 II — SVD・行列微分・テンソル【後編:実装編】理論編は 【前編】第3回: 線形代数 II をご覧ください。 Learning Objectives truncated SVD の shape contract を破らずに実装し、誤差が「捨てた特異値のエネルギー」に等しいことを数値検証できる Randomized SVD のアルゴリズムを追いかけ、なぜランダム射影で正確な部分空間が取れるのかを説明できる LoRA の行列初期化戦略(Kaiming normal + ゼロ初期化)の数学的根拠を述べられる einsum の添字ルールをパ...
16日前

深層学習―基礎と概念― 第3章(3.1から3.19まで)解答例
Zennの「ディープラーニング」のフィード
3.1 (★)ベルヌーイ分布\operatorname{Bern}(x \mid \mu)=\mu^x(1-\mu)^{1-x} \tag{3.2}には次の特性があることを検証せよ.\begin{align*}\sum_{x=0}^1 p(x \mid \mu) & =1 \tag{3.191}\\\mathbb{E}[x] & =\mu \tag{3.192}\\\operatorname{var}[x] & =\mu(1-\mu) \tag{3.193}\end{align*}ベルヌーイ分布に従う二値確率変数xのエントロピー\ma...
16日前

【論文解説】Denoising Diffusion GANs:拡散モデルとGANの異端なる融合、そして「生成のトリレンマ」への挑戦
Zennの「ディープラーニング」のフィード
はじめに生成AIの界隈には、長らく解決が困難とされてきた「生成学習のトリレンマ(Generative Learning Trilemma)」が存在します。高品質なサンプリング (High Sample Quality)モードカバレッジ / 多様性 (Mode Coverage / Diversity)高速なサンプリング (Fast Sampling)生成学習のトリレンマこれまでの主役たちは、常に何かを犠牲にしてきました。GAN: 高速で高品質だが、多様性が低い(モード崩壊)。VAE / Normalizing Flows: 多様性は高いが、品質がG...
16日前