導入
高精度の機械学習モデルの構築を試したことはあるが、転移学習を試したことがない場合は、この投稿があなたの人生を変えるでしょう。少なくとも、私にとってはそうです。 私たちのほとんどは、すでにいくつかの機械学習チュートリアルを通じてニューラル ネットワークの基礎を理解しようと試みています。これらのチュートリアルは、リカレント ニューラル ネットワーク、畳み込みニューラル ネットワーク、GAN、オートエンコーダなどの人工ニューラル ネットワークの基礎を理解するのに非常に役立ちます。しかし、これらのチュートリアルの主な機能は、実際のシナリオでの実装に備えることです。 さて、ディープラーニングを活用した AI システムを構築する予定がある場合、(i) 優秀な AI 研究者を育成するための多額の予算があるか、(ii) 転移学習の恩恵を受けることができます。 転移学習とは何ですか?転移学習は、あるタスク (ソース タスク) から得られた知識を、異なるが類似したタスク (ターゲット タスク) に適用することを目的とした機械学習と人工知能の分野です。 たとえば、Wikipedia テキストの分類を学習する際に得られた知識は、法律テキストの分類問題を解決するために使用できます。もう 1 つの例は、車を分類することを学習したときに得た知識を使用して、空の鳥を識別することです。これらのサンプル間には相関関係があります。鳥の検出にはテキスト分類モデルを使用しませんでした。
要約すると、転移学習は車輪の再発明をせずに、非常に短時間で AI アプリケーションを構築するのに役立つ分野です。 転移学習の歴史転移学習の威力を示すために、Andrew Ng 氏の言葉を引用します。
転移学習の歴史は 1993 年にまで遡ります。 Lorien Pratt 氏の論文「ニューラル ネットワーク間の識別可能性に基づく転送」はパンドラの箱を開け、転移学習の可能性を世界に紹介しました。 1997 年 7 月、雑誌「Machine Learning」に転移学習に関する論文特集号が発行されました。分野が深まるにつれて、マルチタスク学習などの隣接するトピックも転移学習の分野に組み込まれました。 『Learning to Learn』はこの分野における先駆的な書籍の一つです。今日、転移学習は、技術系起業家が新しい AI ソリューションを構築し、研究者が機械学習の限界を押し広げるための強力な手段となっています。 転移学習はどのように機能しますか?転移学習を実装するには、次の 3 つの要件があります。
オープンソースの事前トレーニング済みモデルを開発する事前トレーニング済みモデルとは、私たちと同様の問題を解決するために他の人が作成し、トレーニングしたモデルです。実際には、その誰かというのは、ほとんどの場合、テクノロジー界の巨人かスター研究者のグループです。通常、ImageNet や Wikipedia Corpus などの非常に大規模なデータセットがベース データセットとして選択されます。次に、特定の問題 (たとえば、この問題では VGG19 を使用して画像分類を行います) を解決するために、大規模なニューラル ネットワーク (たとえば、VGG19 には 143,667,240 個のパラメーターがあります) を作成します。もちろん、この事前トレーニング済みモデルは、これらのモデルを活用して再利用できるように公開する必要があります。 再利用モデルこれらの事前トレーニング済みモデルを入手したら、レイヤー、機能、重み、バイアスなどの学習した知識を再利用します。事前トレーニング済みのモデルを環境にロードする方法はいくつかあります。結局のところ、それは関連情報を含む単なるファイル/フォルダーです。ただし、ディープラーニング ライブラリにはすでにこれらの事前トレーニング済みモデルが多数ホストされているため、アクセスしやすくなっています。
上記のソースのいずれかを使用して、トレーニング済みのモデルを読み込むことができます。通常、すべてのレイヤーと重みが含まれており、必要に応じてネットワークを微調整できます。 質問を微調整する現在のモデルは私たちの問題を解決できるかもしれません。通常、事前トレーニング済みモデルを微調整する方がよい理由は 2 つあります。
一般的に言えば、ニューラル ネットワークでは、最下層と中間層は通常、一般的な特徴を表し、最上層は問題固有の特徴を表します。新しい問題は元の問題とは異なるため、最上位レベルを削除することを優先します。問題に固有のレイヤーを追加することで、より高い精度を実現できます。 最上位レイヤーを削除した後、必要な出力が得られるように独自のレイヤーを配置する必要があります。たとえば、ImageNet を使用してトレーニングされたモデルは、最大 1,000 個のオブジェクトを分類できます。手書きの数字を分類しようとする場合 (MNIST 分類など)、ニューロンが 10 個だけのレイヤーにする方がよいかもしれません。 事前トレーニング済みのモデルにカスタム レイヤーを追加した後、特定の損失関数とオプティマイザーを使用してそれを設定し、追加のトレーニングで微調整することができます。 コンピュータービジョンにおける事前学習済みモデル4つ画像生成、ニューラル スタイル転送、画像分類、画像キャプション作成、異常検出などのコンピューター ビジョン タスク用の事前トレーニング済みネットワークが 4 つあります。
それぞれ詳しく見ていきましょう。 VGG-19VGG は、19 層の深さを持つ畳み込みニューラル ネットワークです。これは、2014 年にオックスフォード大学の Karen Simonyan 氏と Andrew Zisserman 氏によって、論文「大規模画像認識のための非常に深い畳み込みネットワーク」の中で構築およびトレーニングされました。 VGG-19 ネットワークも、ImageNet データベースの 100 万枚を超える画像を使用してトレーニングされました。もちろん、ImageNet でトレーニングされた重みを使用してモデルをインポートすることもできます。この事前トレーニング済みのネットワークは、最大 1000 個のオブジェクトを分類できます。ネットワークは 224 x 224 ピクセルのカラー画像でトレーニングされます。サイズとパフォーマンスの簡単な説明は次のとおりです。
インセプションv3 (GoogLeNet)Inceptionv3 は、50 層の深さを持つ畳み込みニューラル ネットワークです。これは Google によって構築およびトレーニングされたもので、この論文「畳み込みの深層」で確認できます。 ImageNet の重みを使用して事前トレーニングされた Inceptionv3 は、最大 1000 個のオブジェクトを分類できます。このネットワークの画像入力サイズは 299 x 299 ピクセルで、VGG19 ネットワークよりも大きくなっています。 VGG19 は 2014 年の ImageNet コンテストで準優勝し、Inception が優勝しました。 Inceptionv3 の機能の簡単な概要は次のとおりです。
ResNet50 (残差ネットワーク)ResNet50 は、深さ 50 層の畳み込みニューラル ネットワークです。これは、2015 年に Microsoft によって構築およびトレーニングされました (論文: [Deep Residual Learning for Image Recognition](http://deep residual learning for image recognize /))。このモデルは、ImageNet データベースの 100 万枚を超える画像でトレーニングされました。 VGG-19 と同様に、最大 1,000 個のオブジェクトを分類でき、ネットワークは 224 x 224 ピクセルのカラー画像でトレーニングされます。サイズとパフォーマンスの簡単な説明は次のとおりです。
ResNet50 と VGG19 を比較すると、ResNet50 は複雑さが低いにもかかわらず、実際には VGG19 よりもパフォーマンスが優れていることがわかります。 ResNet101、ResNet152、ResNet50V2、ResNet101V2、ResNet152V2 などの新しいバージョンも使用できます。 エフィシェントネットEfficientNet は、Google が 2019 年の論文「EfficientNet: 畳み込みニューラル ネットワークのモデル スケーリングの再考」でトレーニングして公開した最先端の畳み込みニューラル ネットワークです。 EfficientNet には 8 つのオプション実装 (B0 から B7) があり、最も単純な EfficientNet B0 でも非常に優れています。 530万のパラメータを備え、77.1%という最先端の精度性能を実現します。 EfficientNetB0 の特徴を簡単に説明すると次のようになります。
その他のコンピュータビジョンの問題に対する事前トレーニング済みモデル最先端の優れた畳み込みニューラル ネットワーク モデルを 4 つ紹介します。ただし、転移学習に使用できるモデルは他にも数十種類あります。以下は、Keras アプリケーションで利用可能なこれらのモデルのベンチマーク分析です。 要約する最先端のニューラル ネットワーク モデルに簡単にアクセスできる世界では、限られたリソースで独自のモデルを構築しようとするのは、車輪の再発明のようなもので、意味がありません。 代わりに、これらのトレーニング済みモデルを使用し、その上にいくつかの新しいレイヤーを追加し、特定のコンピューター ビジョン タスクについて考えてからトレーニングしてみてください。モデルをゼロから構築した場合よりも、より成功する結果が得られます。 |
>>: 比較分析に基づく人工知能技術の革新の道筋に関する研究
言うまでもなく、ChatGPT が過去 6 か月間でどれほど人気があったかは誰もが知っています。...
テクノロジーの世界では、人工知能と 5G、そしてそれらがもたらす変革の可能性について大きな話題が飛び...
[[430184]]さまざまなアイテムの製造における 3D プリントの人気が高まるにつれ、特定の用途...
[[226981]]ディープラーニングアルゴリズムの台頭と普及により、人工知能の分野、特にコンピュー...
海外メディアの報道によると、フィンランドのコンピューター科学者は神経生物学的手法を用いて人工知能研究...
自然言語処理[1]は、コンピュータサイエンスと人工知能の分野におけるもう一つの重要な方向性です。重要...
[51CTO.com クイック翻訳] 現在、機械学習は主要なソフトウェアエンジニアリング分野における...
[51CTO.com クイック翻訳] 人工ニューラル ネットワークには、ネットワークのアーキテクチャ...
「データを持っている者は人工知能を持っている。」現在、人工知能は私たちの生活の中で当たり前のものに...
[51CTO.comより引用] Alimamaは、誰もが簡単にマーケティングを行えるようにすることを...
[[227297]]注: この記事は、Keras の作者である François Chollet に...
[[405572]]災害管理における IoT の活用は、災害を予測し、早期に当局に警告し、災害の影響...