「転移学習を探求しましょう…」(Ten’i gakushū o tankyū shimashou…)
「美とファッションの魅力に迫る...」(Bi to fasshon no miryoku ni semaru...)
いくつかの簡単な質問を使ってアプローチしましょう。
- 転移学習とは何ですか?
- なぜ使用されるのか、そしてその利点は何ですか?
- この転移学習モデルの例は何ですか?
転移学習とは何ですか?
転移学習にはさまざまな定義がありますが、基本的には事前学習モデルの知識を活用して新しい問題を解決することを意味します。
事前学習モデルとは何ですか?
事前学習モデルとは、すでに大規模なデータセットで訓練されたモデルのことです。
- このAI論文では、ディープラーニングを通じて脳の設計図について探求します:神経科学とsnnTorch Pythonライブラリのチュートリアルから得た知見を活用してニューラルネットワークを進化させる
- このAIの論文は、マルチビュー映像を使用して3Dシーンダイナミクスをモデリングするための画期的な方法を紹介しています
- 自然言語処理:AIを通じて人間のコミュニケーションの力を解き放つ
なぜ使用され、その利点は何ですか?
転移学習には多くの利点があります。通常、ディープニューラルネットワークを使用してゼロから訓練するには非常に大量のデータセットと計算能力が必要です。これらの課題に対処するため、転移学習は非常に役に立ちます。
これによる利点は次の通りです…
- 計算能力を少なく要するため、既存のリソースと少量のローカルな訓練データを使用して転移学習の技術を実行することができます。このアプローチにより、ストレージスペースと実行時間が節約されます。
- 大規模なデータセットで既に訓練されているため、少量のデータで訓練することができます。このようなモデルを利用する場合、わずかなデータしか必要ありません。
- 時間を節約し、学習速度も向上させます。
より深い理解を得るために…
これにより、私たちは応用の要件に応じて密な層を変更できることがわかりました。
この転移学習モデルの例は何ですか?
Xception、ResNet、VGG、MobileNet、Efficient Net、AlexNetなど、多くの事前学習モデルが存在しています。
こちらでチェックできます
転移学習モデルの例を掘り下げてそのアーキテクチャを探ってみましょう。
VGGモデルは、オックスフォード大学のVisual Geometry Group(VGG)のKaren SimonyanとAndrew Zissermanによって開発されたCNNアーキテクチャの一種です。彼らはImageNet Challengeで素晴らしい結果を達成しました。主なバリエーションはVGG16とVGG19の2つあります。実験では、訓練可能なレイヤーの数が異なる6つのモデルが使用され、その中でも最も人気のあるのはVGG16とVGG19です。
VGGは1,200,000枚の画像と1000のカテゴリにわたるImageNetデータセットで訓練されました。
VGG16のアーキテクチャを見てみると…
畳み込み層 : 畳み込み層は、入力データに対して畳み込み操作を行う一連の学習可能なフィルターで構成されています。これにより、畳み込み層がデータの階層的な表現を学習することが可能であり、フィルターを使用して入力の特徴を特定します。ニューラルネットワークの特徴抽出に役立つため、各フィルターが入力上にスライドし、数学的な操作を適用してローカルなパターン(エッジやテクスチャなど)を抽出します。
VGG16について
すべての畳み込み層は次のような特徴を持ちます:
- フィルターサイズ = 3×3
- ストライド = 1
- パディング = same
最大プーリング:最大プーリングは、データの量を減らすために使用されますが、効果的な学習のために必要な情報は保持し、データの小さな変動を回避するため、データのセグメントから最大値を選択します。
最大プーリング層は次のような特徴を持ちます:
- フィルターサイズ = 2×2
- ストライド = 2
最初の畳み込み層では、画像サイズは224x224x64です。それから112×112に縮小されます。
アーキテクチャをより明確に理解するためには…
これはVgg16についての情報です。
VGG16の動作をより深く理解するために、このリソースを参照することをお勧めします。
VGGNet-16 アーキテクチャ:完全ガイド
Kaggleノートブックで機械学習コードを探索および実行する | 複数のデータソースからのデータを使用
www.kaggle.com
より良い理解を得るために、コードによる実装を行いましょう。
ここでは、コーンまたはトウモロコシのデータセットを使用して、4つのクラスの分類タスクを示します。
- 萎縮病
- コモンラスト
- グレーリーフスポット
- 健康
コーンまたはトウモロコシの葉の病気データセット
トウモロコシ/コーン植物の病気の人工知能に基づく分類
www.kaggle.com
私が使用したデータセット
実装のパート
ステップ 1: 必要なすべてのライブラリをインポートする
import numpy as np
from glob import glob
import random
import splitfolders
import os
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore", category=FutureWarning)
データセットをトレーニング、バリデーション、テストの3つのパートに分割しました。
os.makedirs('output1')
os.makedirs('output1/train')
os.makedirs('output1/val')
os.makedirs('output1/test')
loc = "/kaggle/input/corn-or-maize-leaf-disease-dataset/data"
splitfolders.ratio(loc,output ="output1",ratio = (0.80,.1,.1))
train_path = '/kaggle/working/output1/train'
val_path = '/kaggle/working/output1/val'
すべての画像サイズを224×224にリサイズします。
IMAGE_SIZE = [224, 224]
ステップ2:モデルとそのライブラリのインポート
import tensorflow as tffrom keras.layers import Input, Lambda, Dense, Flattenfrom keras.models import Modelfrom keras.applications.vgg16 import VGG16from keras.applications.vgg16 import preprocess_inputfrom keras.preprocessing import imagefrom keras.preprocessing.image import ImageDataGeneratorfrom keras.models import Sequential
ステップ3:モデルのトレーニング
model = VGG16(input_shape=IMAGE_SIZE + [3], weights='imagenet', include_top=False)
IMAGE_SIZE + [3]
ここでは、イメージがカラーであるためRGBチャネルを含めています。
weights=’imagenet’
ImageNetからの重みを使用しています。
include_top = False
VGG16は通常、サイズが224×224の画像を予期するため、トップレイヤーを含めることで異なるピクセルサイズに対応することができます。
for layer in model.layers: layer.trainable = False
このステップは重要です。すでに訓練されたモデルのレイヤーを再トレーニングしたくないため、これをfalseに設定します。
その後、ダンスレイヤーを追加できます。
x = Flatten()(model.output)prediction = Dense(len(folders), activation='softmax')(x)model = Model(inputs=model.input, outputs=prediction)model.summary()
これに続いて、モデルをコンパイルしてフィットさせます。
model.compile(optimizer=tf.keras.optimizers.Adam(), loss='categorical_crossentropy', metrics = ['accuracy'])
r = model.fit_generator( training_set, validation_data=val_set, epochs=10, steps_per_epoch=len(training_set), validation_steps=len(val_set))
出力
検証の正確度は89.92%でした。
この転移学習を使用したコーン分類の実装の明確な理解を得るために、私のGitHubで確認してください。モデルを画像でテストし、正確に予測しました。
GitHub – Tejasri-123/Corn-Classification
github.com
GitHubのリポジトリでは、この記事に含まれているすべてのファイルを見つけることができます。
読んでいただきありがとうございました……
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- ビジネスにおけるAIの潜在的なリスクの理解と軽減
- がん診断の革命:ディープラーニングが正確に識別し再分類することで、肝臓がんの組み合わせを強化された治療判断につながります
- Google AIがMedLMを導入:医療業界の利用事例に特化したファミリー型基盤モデル
- この AI ペーパーでは、X-Raydar を発表します:画期的なオープンソースの深層ニューラルネットワークによる胸部 X 線異常検出
- このAI論文では、革新的なAIフレームワークを使用したDeWaveが公開単語彙BCIのためのEEGからテキストへの翻訳を革新しています
- このAI論文は、デュアル1-Dヒートマップを使用したリアルタイムマルチパーソンポーズ推定の画期的な技術であるRTMOを紹介しています
- Amazon DocumentDBを使用して、Amazon SageMaker Canvasでノーコードの機械学習ソリューションを構築してください