本リポジトリは,中部大学 MPRG (Machine Perception & Robotics Group) が公開している画像認識・深層学習を実践的に学ぶための Jupyter Notebook コレクションです.
各ノートブックは以下の2通りの方法で実行できます.
- Google Colaboratory で実行する:各ノートブックの
Open in Colabバッジをクリックすると,ブラウザ上ですぐに実行できます. - ローカル環境で実行する:Docker を用いた開発環境を用意しています.詳細は
containers/README.mdを参照してください.
本リポジトリは,MPRGの教員および学生が有志で作成したものです.そのため,バグやミス,ライブラリ等のバージョンアップに伴う動作不具合などが含まれている場合があります.できるだけ修正対応するように努めていますが,修正等の対応が間に合わない場合があることをご了承ください.
旧MPRG Deep Learning Lecture Notebook(v1)から,情報の古くなったノートブックや未完成だったノートブックなどは削除しています.古いノートブックを参照したい場合は,release/v1.0ブランチを参照してください.
- MPRG Deep Learning Lecture Notebook
ノートブックのプログラムを実行する際に使用するGoogle Colaboratoryや,Python, Numpy, PyTorchなどのプログラミングに関する基本的な使い方をまとめたノートブックです.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | Google Colaboratoryの動作確認 | |
| 2 | PythonプログミングとNumPy | |
| 3 | PyTorchの基本操作 | |
| 4 | PyTorchにおけるCPUとGPU(CUDA)の使い方 |
スクラッチで基本的なニューラルネットワークモデルや学習スクリプトを記述したノートブックです. PyTorchなどの深層学習フレームワークを使用せず,Numpyを使用して実装しています.
PyTorchを使用して基本的な多層パーセプトロンや畳み込みニューラルネットワークなどのモデル構築・学習を記述したノートブックです. また,モデルの学習に関連するデータ拡張やPyTorchのクラスなども実装しています.
CNNをベースとした様々なネットワーク構造・学習法を扱ったノートブック群です.画像分類・可視化・物体検出・セグメンテーション・マルチタスク学習・モデルの効率化・半教師あり/自己教師あり学習・転移学習といったテーマ別に分類しています.
CIFAR100を用いて,代表的な画像分類モデルをスクラッチ実装したノートブック群です.基本的な分類モデル,軽量なモデル,自動探索(NAS)に基づくモデルの順に構成しています.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | AlexNet | |
| 2 | VGG | |
| 3 | GoogLeNet | |
| 4 | ResNet | |
| 5 | WideResNet | |
| 6 | ResNeXt | |
| 7 | DenseNet | |
| 8 | SENet | |
| 9 | MobileNet V1 | |
| 10 | MobileNet V2 | |
| 11 | MobileNet V3 | |
| 12 | SqueezeNet | |
| 13 | EfficientNet | |
| 14 | EfficientNetV2 | |
| 15 | MnasNet | |
| 16 | RegNet |
torchvisionとTIMM (PyTorch Image Models) モジュールに実装されている代表的なネットワークモデルとその事前学習モデルの呼び出し方,またそれらを用いた転移学習やファインチューニングの方法についてまとめています.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | torchvisionによるモデル呼び出しと事前学習モデルの利用 | |
| 2 | timmによるモデル呼び出しと事前学習モデルの利用 | |
| 3 | 事前学習モデルを用いた転移学習・ファインチューニング |
画像分類モデルが予測した結果に対する判断根拠をアテンションマップ(Attention map, Saliency map, Attribution map)として可視化する手法についてまとめています.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | CAM(Class Activation Mapping) | |
| 2 | pytorch-grad-camによる各種可視化手法(GradCAM, ScoreCAM, EigenCAMなど) | |
| 3 | Attention Branch Network(ABN) |
PASCAL VOC 2007を用いて,two-stage・one-stage・anchor-free・keypointベースなど,代表的な物体検出モデルをスクラッチ実装したノートブック群です.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | SSD | |
| 2 | Faster R-CNN | |
| 3 | FPN(Feature Pyramid Network) | |
| 4 | RetinaNet(Focal Loss) | |
| 5 | CornerNet | |
| 6 | CenterNet | |
| 7 | EfficientDet | |
| 8 | FCOS(Anchor-Free) | |
| 9 | YOLOv1 | |
| 10 | YOLOv3 |
PASCAL VOC 2007を用いて,encoder-decoder型やAtrous Convolutionを用いた手法など,代表的なセマンティックセグメンテーションモデルをスクラッチ実装したノートブック群です.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | FCN(Fully Convolutional Network) | |
| 2 | SegNet | |
| 3 | U-Net | |
| 4 | U-Net++ | |
| 5 | PSPNet | |
| 6 | RefineNet | |
| 7 | DeepLab v1 | |
| 8 | DeepLab v3 | |
| 9 | DeepLab v3+ | |
| 10 | HRNet |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | マルチタスク基礎(分類+回帰) | |
| 2 | マルチタスク応用(検出+セグメンテーション) |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | Knowledge Distillation | |
| 2 | Deep Mutual Learning | |
| 3 | 枝刈り |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | 半教師付き学習 | |
| 2 | 自己教師付き学習 |
AutoencoderとVariational Autoencoder,それらを活用した応用例や発展手法についてまとめています.
敵対的生成ネットワーク (GAN) とその発展手法についてまとめています.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | 強化学習(Q学習とQ-Network)によるCart Pole制御 | |
| 2 | Deep Q-Network(DQN) | |
| 3 | Policy Gradient(REINFORCE) | |
| 4 | Actor-Critic | |
| 5 | Mask-Attention Actor-Critic | |
| 6 | DQNの応用例(波形フィッティング) |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | グラフ表現 | |
| 2 | GCNによるノード分類 | |
| 3 | ST-GCNによる動作認識 | |
| 4 | STA-GCNによる動作認識 | |
| 5 | グラフ生成 |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | Transformerによる計算機作成 | |
| 2 | BERTによるテキスト分類 (Banking77) |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | ViTの教師あり学習(フルスクラッチ・fine-tuning) | |
| 2 | Masked Autoencoders (MAE) |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | CLIPによる画像のゼロショットクラス分類 | |
| 2 | CLIPと言語モデルを組み合わせたMLLM |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | Denoising Diffusion Probabilistic Model (DDPM) | |
| 2 | Diffusion Model(Cosineスケジュール・FID評価) | |
| 3 | Latent Diffusion Model (LDM) |
ネットワークの学習に用いるハイパーパラメータの探索方法についてまとめたノートブックです.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | ハイパーパラメータの探索と検証データ | |
| 2 | Optunaによるハイパーパラメータ探索 |
深層学習以前の機械学習手法について使い方をまとめたノートブックです. 主にscikit-learnを使用して実装しています.
| No. | ノートブック | Colab |
|---|---|---|
| 1 | グラフを描画する | |
| 2 | ユークリッド距離を用いたクラス識別 | |
| 3 | マハラノビス距離を用いたクラス識別 | |
| 4 | k最近傍法による教師あり学習 | |
| 5 | 線形SVMによる教師あり学習 | |
| 6 | 非線形SVMによる教師あり学習 | |
| 7 | AdaBoostによる教師あり学習 | |
| 8 | RandomForestによる教師あり学習 | |
| 9 | マテリアルズインフォマティクス |
| No. | ノートブック | Colab |
|---|---|---|
| 1 | プログラム練習帳:画像認識 | |
| 2 | プログラム練習帳:CSVファイル |
© 2026 Machine Perception and Robotics Group, Chubu University. All rights reserved.