Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

TensorFlow : 画像分類 : ResNet, Inception-v3, Xception 比較

Posted on 05/15/2017 by Sales Information

TenosorFlow : 画像分類 : ResNet, Inception-v3, Xception 比較

作成 : (株)クラスキャット セールスインフォメーション
日時 : 05/17/2017

 

序

ImageNet のような現実的なサイズのデータセットに対して既存の CNN モデルを利用する場合、Inception を利用するか ResNet を利用するか選択に迷うことも多いでしょう。更には Xception も選択肢に入れることが可能になりました。

そこで比較的モデルの規模感が類似している Inception-v3, ResNet-50 そして Xception を定番の2つのデータセットで訓練して損失と精度グラフを比較してみました。(参考のために AlexNet も試しています。)

* Inception-v4 (Inception-ResNet) についてはまたいずれ試す予定です。

Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke, Alex Alemi
(Submitted on 23 Feb 2016 (v1), last revised 23 Aug 2016 (this version, v2))

 

Xcetpion 概要

Inception や ResNet は良く知られていますのでここでは Xception についてのみ簡単に補足説明しておきます。Xception は François Chollet 氏が考案したモデルですが “Xception” は “Extreme Inception” を意味するそうです :

Xception: Deep Learning with Depthwise Separable Convolutions
François Chollet
(Submitted on 7 Oct 2016 (v1), last revised 4 Apr 2017 (this version, v3))

ここでは Abstract の翻訳のみを掲載しておきます :

畳込みニューラルネットワークの Inception モジュールの標準的な畳込みと depthwise separable convolution 演算 (pointwise convolution が追随する depthwise convolution) の間の中間的なステップとしての解釈を提案します。この観点からは、depthwise separable convolution は最大限の数のタワーを持つ Inception モジュールとして理解されます。この観察は Inception によりインスパイアされた新しい深層畳込みニューラルネットワーク・アーキテクチャの提案へと導かれ、そこでは Inception モジュールは depthwise separable convolutions に置き換えられます。Xception と呼称する、このアーキテクチャは (Inception V3 がそのために設計された) ImageNet データセット上で Inception V3 より僅かに優れた性能で、そして 350 million 画像と 17,000 クラスから成るより大きな画像分類データセット上では本質的に優れた性能であることを示します。Xception アーキテクチャは Inception V3 と同じ数のパラメータを持つので、パフォーマンス・ゲインは増加したキャパシティによるものではなくモデル・パラメータのより効率的な使用によるものです。

Xception はパラメータ削減によるモデル軽量化を目指す方向性を取っていますが、簡単に言えば Inception の改良版です。Inception モジュールも包括するアーキテクチャとして提案されています。

具体的には、Inception モジュールを全体的に depthwise separable convolution 層をベースに置き換えた線形スタックですが、前提条件として、畳込みニューラルネットワークの特徴マップにおける cross-channels correlations と spatial correlations のマッピングは完全に切り離すことができるという仮説を採用しています。

 

ImageNet : 5 flowers synsets

最初に(TensorFlow と一緒に提供されている、)ImageNet の5つの flowers synsets – daisy, dandelion, roses, sunflowers, tulips – を題材として、ResNet-50, Inception-v3, Xception モデルを訓練してみました。比較参考のために AlexNet も併せて訓練しています。

細かいハイパーパラメータは省きますが、AlexNet は(短時間で訓練可能なので)500 epochs 訓練し、他は 200 epochs 訓練しました。

損失比較

どれもきれいに損失は減少しますが、強いて言えば、AlexNet は振動が大きく、また ResNet-50 は減少が比較的緩やかです。

AlexNet

ResNet-50

Inception-v3

Xception

テスト精度比較

テスト精度は(損失から推測できるように)AlexNet は振動が激しく、ResNet-50 は緩やかに上昇します。
最後の 10 epochs のテスト精度としてはおおよそ : AlexNet : 81 %; ResNet-50 : 82 %; Inception-v3 : 87 %; Xception : 90 % が得られました。

AlexNet

ResNet-50

Inception-v3

Xception

 

University of Oxford: 17 Category Flower Dataset

続いて、University of Oxford が提供している古典的な題材を使用しました。データセットの詳細は 17 Category Flower Dataset を参照してください。

損失比較

損失はいずれもきれいに減少しますが、Xception は訓練中に損失 0 を叩き出しました。

AlexNet

ResNet-50

Inception-v3

Xception

テスト精度比較

AlexNet と Inception-v3 については明らかに over-fitting が見られました。 
(over-fitting 前の) 最後の 10 epochs のテスト精度としてはおおよそ : AlexNet : 79 %; ResNet-50 : 80 %; Inception-v3 : 79 – 80 %; Xception : 89 – 90 % が得られました。

AlexNet

ResNet-50

Inception-v3

Xception

 

以上



クラスキャット

最近の投稿

  • Agno : MAS 構築用フルスタック・フレームワーク
  • LangGraph 0.5 : エージェント開発 : エージェント・アーキテクチャ
  • LangGraph 0.5 : エージェント開発 : ワークフローとエージェント
  • LangGraph 0.5 : エージェント開発 : エージェントの実行
  • LangGraph 0.5 : エージェント開発 : prebuilt コンポーネントを使用したエージェント開発

タグ

AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (24) LangGraph 0.5 (9) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Get Started (7) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2017年5月
月 火 水 木 金 土 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 4月   6月 »
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme