ファインチューニング 【fine tuning】
概要
ファインチューニング(fine tuning)とは、ニューラルネットワークを応用した機械学習システムで、事前に学習したモデルに対して追加の学習データを与えて調整すること。汎用的なモデルを特定の専門に特化したモデルにすることができる。機械学習システムに用いられる(人工)ニューラルネットワークは人間の脳の神経回路のネットワークを模したモデルで、神経細胞を模したノードを層状に配置した構造を持つ。これに大量の学習データを与え、その特徴をノード間の繋がり具合(重み)として表現する。
大規模なモデルを作成するには大量の学習データや計算資源が必要となるため、事業者などが大規模なデータセットを用いて事前学習したモデルを用意し、これを利用者が自らの問題解決のために使用することが多い。
大規模なモデルは様々な利用者や用途で使えるように汎用的なデータセットで学習させることが多いため、特定の分野や対象、あるいは特定の組織内の情報には精通しておらず、必ずしも有用な結果が得られないことがある。
そこで、既存モデルの出力側に層を追加し、既存モデルに含まれる層も含めて新しいデータセットで学習し直す手法をファインチューニングという。既存モデルの持つ基本的な知識や能力はそのままに、特定の専門や組織に特化した出力が得られるようになる。
なお、既存モデルの基本的な性質を残すため、入力側の層は変更できないよう固定し、最終的な結果に影響する出力側の何層かを微調整する。既存モデルを完全に固定して再学習せず、追加した層のパラメータのみ調整する手法もあり、(狭義の)「転移学習」(transfer learning)という。
(2024.8.30更新)