転移学習(transfer learning)

「転移学習(transfer learning)」

データ活用やDX成功に必要な考え方を、各種キーワードの解説で理解できる用語解説集です。
今回は、IT活用で現在大変に注目されている機械学習において学習をどのように行うかについて考えてみましょう。

転移学習(transfer learning)とは

転移学習(transfer learning)とは、機械学習において、学習して得られている既存の能力を、他の用途に転用する試みのこと。
ディープラーニング(ニューラルネットワーク)においては、既存の学習済みモデルから出力層だけを取り除いたものなどに、新たに出力層を設けて出力層だけを学習させて別のタスクに適合させることを転移学習と呼ぶことがあります。

既存の学習結果の再利用

世間で「AI」が話題にいるときにはほとんど、AIとは「機械学習」のことを意味しますが、機械学習の活用で問題となるのは、どのようにして「自分たちに必要な学習済みモデルを用意するか」です。

自分たちでゼロからデータを用意して学習させることは大変なことが多いことから、既に存在する学習済みモデルを再利用して、自分たちに必要なタスクを解けるようにする取り組みがなされています。よく知られたファインチューニングもそのような取り組みの例です。

ファインチューニング|用語集

より知られている言葉である「機械学習」や「ファインチューニング」をご存知ない方は、まず上記をご覧になってください。それらを踏まえての説明をします。

ファインチューニングと転移学習の違い

ファインチューニングとの違いは不明瞭なところがあり、ファインチューニング自体が「広義の転移学習の一種」であるとされている場合もあるように思います。ここでは、転移学習について「ファインチューニングとは違う考え方での取り組み」(あるいはそういう考え方があることを紹介)します。

ファインチューニングでは、既存の学習済みモデルに対して新たにデータを用意し、追加で学習を行うことで「既存の学習済みモデル自体に変更を加える」ことにより、能力を調整して新しい用途に適合させる取り組みです(上記の記事をご覧ください)。

これに対して「転移学習」は「異なる考え方」で、既存の学習済みモデルの再利用を図ります。

既存の学習済みモデル自体に手を入れないようにする

ファインチューニングでは新しいことを覚えさせる時に、既に学習したことへの悪影響が出てしまうことがあります。「りんご」と「みかん」を区別できる学習済みモデルに対して「青りんご」の判別能力を付与したところ、すでに獲得していた「りんご」の判別能力が劣化してしまうような問題です。

そのような問題を避けるためにも、転移学習では既存の学習済みモデルの変更を(あまり)行わないで、既存の学習結果の再利用に取り組みます。どうするかというと、既存の学習済みモデルの「外側」だけを変更します。

ニューラルネットワークでの例

現在広く使われているニューラルネットワーク(NN)は、一般的に層構造を持っています。外部からデータが入力される入力層があり、各層は次の層につながっており、データはそれぞれの層で処理されて次の層に進んでゆき、最終的に出力層からデータが出力されるような構造をしています。

雑な図解ですが、ディープラーニングではこのような層構造が多層にわたってあります(ディープラーニングの「ディープ」とは多層であること)。

↑処理結果が出てくる出力層
〇〇〇〇〇〇
〇〇〇〇〇〇
〇〇〇〇〇〇 ↑データは層ごとに処理されてゆく
〇〇〇〇〇〇
〇〇〇〇〇〇
↑データが入力される入力層

入力層から出力層に向かってデータが進みます。前後の層の間で上記の図のニューロン(〇)とニューロンがクモの巣のように結合しています。

この記事では詳しくは説明しませんが、「学習する」とは各ニューロンが、ニューロン同士の結合の重み(パラメータ)を、入力に対して適切な出力を返せるよう調整することです。学習済みモデルを利用する場合には、データは入力層から入力され、各層での処理を経て次の層に入力され、最終層の出力層から処理結果が出力されます。

「ファインチューニング」では、(学習時に変更の範囲や量に制限をかけることもありますが)基本的には既に学習したパラメータ全体を対象として、新しいデータで再学習して更新を行います。

これに対して「転移学習」では、「出力層だけを再学習する」あるいは「既存のニューラルネットの外側に新たな層を設けて、そこだけで学習する」ようなやり方をします。既に学習させたニューラルネットに手を入れず、その外側に新しい層を設けることで、これまでと違うことができるようにします。

以下も雑な図解で恐縮ですが「●」が学習しなおす範囲のイメージです。

ファインチューニング:

結果が出てくる出力側の層
●●●●●●
●●●●●●
●●●●●●
●●●●●●
●●●●●●
データを入力する側の層

入力層に近いニューロンの学習を抑制したりすることはあるものの、ニューロンの広範囲で再学習させる。

転移学習:

結果が出てくる出力側の層
●●●●●●
〇〇〇〇〇〇
〇〇〇〇〇〇
〇〇〇〇〇〇
〇〇〇〇〇〇
データを入力する側の層

出力層だけを取り除いて(あるいは取り除かずに)、新たな出力層を設けてその部分は学習させるが、他の層は変更しない。

ファインチューニングは既存の学習済みパラメータにも変更を加え、「これまでに行った学習の続きをする」ようなことを行います、転移学習は既存の学習結果には手を入れず、出力層だけ作り直して「獲得されている能力を転用する」ことを意図します。

ただし、ファインチューニングにおいても出力層側での再学習を中心として、入力層側での再学習を抑制するようなことがあり、明確に区別できないこともあります。

学習の本質が宿っていることが少ない「具体的な出力への調整が行われる部分」だけを取り除いて、他の用途向けに能力を発揮させなおすような意図だと思うとイメージしやすいと思います。そのようにして、能力の調整というよりも「転用」を図ります。

「そのまま転用する」考え方

「すでに出来上がったものに手を入れず、その良さをそのまま生かして転用する発想」は、他でも見られる考え方です。

例えば、機械学習を業務で活用して成果を上げたいと考えているとして、既存の「学習済みモデル」そのものの性能を変更改良するアプローチ以外に、実際に作ってみた機械学習がどのような能力を持っていて何で活躍できそうか考えて「ビジネス側での活用のやり方を工夫する」ことで成果を出そうとするアプローチがあります。

このような取り組みも、「既存のモデルをそのままうまく活用しようとしている」点においては、一種の転移学習的なやり方だと考えることもできます。(機械学習の活用では、このようなビジネス側での試行錯誤は一般的に重要なポイント→記事参照「機械学習」)。

機械学習に限られない考え方

このような「既にあるものをそのままうまく使う」考え方は、IT利活用でも広くみられるものです。「新しく作る」でもなければ「修正して変更する」でもなく、「既存のものをそのまま生かして、自分たちの用途にうまく合わせてそのまま利用する」考え方です。

例えばITシステム開発において、新規でのシステム開発でもなければ、既存ソフトウェアに修正(カスタマイズなど)を加えて利用するのでもなく、パッケージソフトウェアやクラウドサービスとして提供されているものを、そのままうまく使う考え方があります。。

  • 自社でゼロからシステム開発する
  • パッケージソフトウェアを自社の業務にあわせてカスタマイズして機能変更する
  • パッケージソフトウェアやクラウドサービスをそのまま使い、「EAI」や「iPaaS」のような「つなぐ」技術を用いて外部のITと連携させることで、自分たちのニーズに合わせる

ITシステム開発においても、機械学習の活用においても、ここぞという場面では自分たちがゼロから開発することも重要ですが、「既にあるもの」を上手に利用することは今後ますます重要になってくるはずの考え方です。

クラウド時代になれば、例えば自社の都合にあわせてAWSやkintoneの機能を変更して特別仕様にしてくれ、なんてことはできません。「既にあるもの」をそのまま転用して、それをどうやって上手く使うかが、これから重要になる考え方です。

既存の資産や既存のサービスを活用する考え方で活躍する「つなぐ」技術

サービス自体が変えられないなら、あるいは機械学習をそのまま使うのなら、既にあるものを上手に使える状況を用意する必要があります。サービス外部での工夫を通じて、自分たちの必要を満たすITを組み立てられることが、これから重要なことになります。そのためには、既存のシステムやデータ、クラウドサービスなどの「各種IT資産」を自在に連携して自分たちの必要に応じて組み合わせて利用できる必要があります。

「つなぐ」技術を活用ください

このような各種の「連携処理」を、「GUIだけ」で効率的に開発できる手段が存在します。EAI」や「ETL」、「iPaaS」と呼ばれる、「DataSpider」や「HULFT Square」などの「つなぐ」技術です。これらを活用することで、新旧システムをスムーズかつ効率的に連携させることができます。

GUIだけで利用できる

通常のプログラミングのようにコードを書く必要がありません。GUI上でアイコンを配置し設定をすることで、多種多様なシステムやデータ、クラウドサービスへの連携処理を実現できます。

「GUIで開発できる」ことは長所でもある

GUIだけでのノーコード開発は、本格的なプログラミングに対して簡易で妥協的な印象を受けるかもしれません。しかしながら、GUIだけで開発できることは「業務の現場の担当者が自分たち自身で主体的にクラウド連携に取り組む」ことを可能にします。ビジネスのことを一番良くわかっているのは現場の担当者です。

本格的処理を実装できる

「GUIだけで開発できる」ことを謳っている製品は沢山ありますが、そういう製品に簡易で悪い印象を持っている人もおられるかもしれません。

確かに、「簡単に作れるが簡易なことしかできない」「本格的処理を実行しようとしたら処理できずに落ちてしまった」「業務を支えられるだけの高い信頼性や安定稼働能力がなくて大変なことになってしまった」ようなことは起こりがちです。

「DataSpider」や「HULFT Square」は、簡単に使うこともできますが本格的プログラミングと同等のレベルの処理の作りこみもできます。内部的にJavaに変換されて実行されるなど本格的プログラミングと同様の高い処理能力があり、長年にわたって企業ITを支えてきた実績もあります。「GUIだけ」の良さと、本格的能力の両方を兼ね備えています。

iPaaSなので自社運用不要

DataSpiderなら自社管理下のシステムでしっかりと運用できます。クラウドサービス(iPaaS)のHULFT Squareなら、このような「つなぐ」技術そのもの自体もクラウドサービスとして自社運用不要で利用でき、自社での導入やシステム運用の手間がなく利用できます。

関係するキーワード(さらに理解するために)

機械学習に関連したキーワード

生成AI/ChatGPTに関係するキーワード

データ連携やシステム連携に関係するキーワード

  • EAI
    • システム間をデータ連携して「つなぐ」考え方で、様々なデータやシステムを自在につなぐ手段です。IT利活用をうまく進める考え方として、クラウド時代になるずっと前から、活躍してきた考え方です。
  • ETL
    • 昨今盛んに取り組まれているデータ活用の取り組みでは、データの分析作業そのものではなく、オンプレミスからクラウドまで、あちこちに散在するデータを集めてくる作業や前処理が実作業の大半を占めます。そのような処理を効率的に実現する手段です。
  • iPaaS
    • 様々なクラウドを外部のシステムやデータと、GUI上での操作だけで「つなぐ」クラウドサービスのことをiPaaSと呼びます。

「iPaaS」や「つなぐ」技術に興味がありますか?

オンプレミスにあるITシステムからクラウドサービスまで、様々なデータやシステムを自在に連携し、IT利活用をうまく成功させる製品を実際に試してみてください。

「つなぐ」ツールの決定版、データ連携ソフトウェア「DataSpider<」および、データ連携プラットフォーム「HULFT Square」

当社で開発販売しているデータ連携ツール「DataSpider」は長年の実績がある「つなぐ」ツールです。データ連携プラットフォーム「HULFT Square」はDataSpiderの技術を用いて開発された「つなぐ」クラウドサービスです。

通常のプログラミングのようにコードを書くこと無くGUIだけ(ノーコード)で開発できるので、自社のビジネスをよく理解している業務の現場が自ら活用に取り組めることも特徴です。

DataSpider / HULFT Squareの「つなぐ」技術を試してみてください:

簡易な連携ツールならば世の中に多くありますが、GUIだけで利用でき、プログラマではなくても十分に使える使いやすさをもちつつ、「高い開発生産性」「業務の基盤(プロフェッショナルユース)を担えるだけの本格的な性能」を備えています。

IT利活用の成功を妨げている「バラバラになったシステムやデータをつなぐ」問題をスムーズに解決することができます。無料体験版や、無償で実際使ってみることができるハンズオンも定期開催しておりますので、ぜひ一度お試しいただけますと幸いです。


「HULFT Square」で貴社のビジネスが変えられるか「PoC」をしてみませんか:

貴社のビジネスで「つなぐ」がどう活用できるのか、データ連携を用いた課題解決の実現可能性や得られる効果検証を行ってみませんか?

  • SaaSとのデータ連携を自動化したいが、その実現可能性を確認したい
  • データ利活用に向けて進めたいがシステム連携に課題がある
  • DXの実現に向けてデータ連携基盤の検討をしたい

用語集 コラム一覧

英数字・記号

あ行

か行

さ行

た行

な行

は行

ま行

や行

ら行

わ行

» データ活用コラム一覧

おすすめコンテンツ

関連コンテンツ

コラム一覧に戻る