忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】強化学習の土台!「マルコフ決定過程」の割り切り思想

AIが試行錯誤して最適な動きを学ぶ「強化学習」。その舞台裏を数学的にスマートに表現するのが、マルコフ決定過程(MDP)です。

1. 【 問題 】

強化学習において、環境のモデル化によく用いられる「マルコフ決定過程(MDP)」の性質として、最も適切なものはどれでしょうか?

① 未来の状態は、過去のすべての状態と行動の履歴に基づいて決定される。
② 未来の状態は、現在の状態と選択した行動にのみ依存し、それ以前の過去の状態には依存しない。
③ 未来の状態は完全にランダムであり、現在の状態や行動からは一切予測できない。
④ 行動を選択しても状態は変化せず、報酬の額だけが確率的に変化する。


2. 【 解答 】

正解: ② 未来の状態は、現在の状態と選択した行動にのみ依存し、それ以前の過去の状態には依存しない。

3. 整理:MDPを構成する「4つの要素」

マルコフ決定過程では、エージェント(AI)と環境のやりとりを以下の4つの要素(セットで$S, A, P, R$と表記されます)で定義します。

【 MDPの基本要素 】

1. 状態(State: $S$):AIが今置かれている状況(例:迷路の座標「C3」)
2. 行動(Action: $A$):AIが取れる選択肢(例:「右に進む」)
3. 遷移確率(Probability: $P$):ある状態で行動したとき、次にどの状態に移るかの確率
4. 報酬(Reward: $R$):行動の結果として得られるご褒美(例:ゴールに近づいたら「+10点」)

--------------------------

「過去は関係ない」というメリット:
「どうやってその状態(C3)にたどり着いたか」という過去のルートを一切無視して、「今の状態」と「次の行動」だけで未来を計算できるため、数式やプログラムが劇的にシンプルになります。

4. DS検定で狙われる関連用語

1. 方策(Policy: $\pi$): ある状態のときに、どのような確率で行動を選ぶかという「AIの行動指針(戦略)」のことです。
2. 価値関数(Value Function): 今の「状態」や「行動」が、将来的にどれくらい報酬をもたらしそうかという「先を見据えたスコア」です。


5. DS検定形式:実戦4択クイズ

問:強化学習において、現在の状態と行動のみで次の状態が決まる「マルコフ決定過程」の前提が成り立たず、環境の一部しか観測できない複雑な状態をモデル化したものを何と呼ぶか。

① 動的計画法   ② 部分観測マルコフ決定過程(POMDP)   ③ Qラーニング   ④ モンテカルロ法

【 正解: ② 】

解説: 現実世界の「霧に隠れて先が見えない麻雀やポーカー」のように、状態の一部が隠されているモデルを「部分観測(Partially Observable)MDP」と呼び、応用問題として時折顔を出します。


6. まとめ

DS検定において「未来の状態は現在の状態と行動に依存し、過去に依存しない」というフレーズが出たら、100%「マルコフ決定過程(MDP)」です。強化学習というゲームのルールブックを定義する言葉として、しっかり記憶に刻んでおきましょう!

PR

【Kaggle挑戦記】DNA Classification Dataset:データの取得と構造の確認

手書き文字認識の「Digit Recognizer」を経て、今回は「DNA Classification Dataset」に挑戦しました。今回はコンペではなく、データセットでの分析にチャレンジします。モデル作成の前に、データの入手手順、データの読み方、およびこのデータにおける予測ターゲットの考え方を整理します。

0. このデータセットの概要

「DNA Classification Dataset」は、ゲノムデータ分析、機械学習、およびバイオインフォマティクス研究のために設計された、3,000個の合成DNAサンプルを含むデータセットです。データの主な仕様は以下の通りです。

  • データ規模: 合計3,000行、13カラム(3,000サンプルのDNA配列および統計データ)
  • 入力データ: DNA配列の文字列に加え、GC含有率や各塩基の個数など、配列の統計属性があらかじめ特徴量として含まれています。
  • タスク: 与えられたDNAデータから、目的変数(ターゲット)を切り替えることで、生物種の分類や変異の有無、リスクの予測など、複数の異なる検証を行うことができる多角的な構造になっています。

通常のコンペと異なり、最初から特定のテストデータや単一のゴールが分かれて提供されているわけではありません。Kaggle側での自動採点もないため、手元にある3,000行のデータを自分で分割し、設定したタスクごとに交差検証(クロスバリデーション)によって手元で予測精度を評価・検証していく必要があります。

1. データの入手

データの取得手順は以下の通りです。

  • Kaggleにログインします。
  • 検索窓で「DNA Classification Dataset」を検索します。
  • 該当する「DNA Classification dataset」を選択します。
  • 右上のダウンロードから、ZIP形式でダウンロードします。
  • ダウンロードしたZIPファイルを適当なディレクトリで展開します。

展開すると、ディレクトリ内に「synthetic_dna_dataset.csv」ができます。

2. synthetic_dna_dataset.csvの解説

展開して得られたCSVファイルの中身を確認しました。このデータセットに含まれる13個のカラム一覧とそれぞれの解説は以下の通りです。

カラム名解説
Sample_ID 各DNAサンプルの固有の識別子(ID)
Sequence DNAの配列データ(A, T, C, Gの文字列)
GC_Content 配列中におけるグアニン(G)とシトシン(C)の割合(%)
AT_Content 配列中におけるアデニン(A)とチミン(T)の割合(%)
Sequence_Length 配列の総文字数(長さ)
Num_A 配列中に含まれるアデニン(A)の個数
Num_T 配列中に含まれるチミン(T)の個数
Num_C 配列中に含まれるシトシン(C)の個数
Num_G 配列中に含まれるグアニン(G)の個数
kmer_3_freq 3文字の塩基トリプレット(3-mer)の平均出現頻度スコア
Mutation_Flag 変異の有無を示すバイナリフラグ(0 = なし、1 = あり)。【予測ターゲット候補1:二値分類】
Class_Label サンプルの分類クラス(Human / Bacteria / Virus / Plant)。【予測ターゲット候補2:多値分類】
Disease_Risk サンプルに関連するリスクレベル(Low / Medium / High)。【予測ターゲット候補3:多値・順序分類】

このデータセットの特徴は、ゴールとなる目的変数を何に設定するかによって、全く異なる予測モデルの検証ができる点にあります。配列データや、あらかじめ計算されている塩基の個数などの特徴量をベースにして、どの予測タスクからアプローチするかを自由に選択できる構造になっています。

複数の予測タスク:生物種分類(Class_Label) / 変異判定(Mutation_Flag) / リスク予測(Disease_Risk)

配列のゆらぎや塩基の統計的特徴を組み合わせることで、それぞれのターゲットに対してLightGBMがどのように境界線を学習するのか、切り口を変えて複数の検証を回せるデータ構成となっています。

3. 今後の流れ

あらかじめ塩基の個数や割合といった数値の特徴量が豊富に用意されているため、生の文字列(Sequence)を加工しなくても、初期の数値データだけでLightGBMに投入可能な構造になっています。まずはこの綺麗なデータセットが手元に用意できたので、ここからどのタスクの検証作業に入るかを決定します。


次は、これらの予測候補の中から最初のターゲットを決定し、交差検証を回すための前処理を進めていきます。



【DS検定対策】知識の「リサイクル」!転移学習の2大ステップ

ゼロからAIを育てるのは大変。だから「他のタスクで学んだ基礎知識」を流用する。それが転移学習(Transfer Learning)です。

1. 【 問題 】

転移学習(移転学習)のプロセスに関する次の記述の、[   ] に当てはまる適切な語句の組み合わせはどれでしょうか?

「転移学習において、移転元での最初の学習は [   A   ] と呼ばれ、その獲得した知識(重み)をベースに、移転先(特定のタスク)に合わせて追加で行う学習は [   B   ] と呼ばれる。」

① A:ファインチューニング   B:事前学習
② A:事前学習   B:ファインチューニング
③ A:アンサンブル学習   B:蒸留
④ A:データ拡張   B:正規化


2. 【 解答 】

正解: ② A:事前学習   B:ファインチューニング

3. 整理:移転元と移転先の「役割分担」

この2つのステップを、人間の学習に例えて整理してみましょう。

【 転移学習のステップ 】

移転元: [ 事前学習 ] (義務教育)
 大量の一般的なデータを使って、基礎的な「特徴の掴み方」を幅広く学ぶ。
 (例:画像認識なら、膨大な写真から「輪郭」や「色」の概念を理解する)

移転先: [ ファインチューニング ] (専門教育)
 事前学習済みのモデル(知識)を引き継ぎ、解きたい特定のタスク用の少量のデータで微調整する。
 (例:医療画像から「特定の病変」を見つける専用AIに仕上げる)

--------------------------

このアプローチの利点:
移転先で用意するデータが少量であっても、事前学習で培った「基礎体力」があるため、高精度なモデルを短時間で開発できます。

4. 覚えておきたい周辺用語

1. 特徴量抽出(Feature Extraction): 事前学習済みモデルの「重み」を一切変えず(フリーズさせ)、出力層の直前のデータを特徴量として別の機械学習モデル(SVMなど)に投入する手法。ファインチューニングと並ぶ転移学習の代表例です。
2. 負の転移(Negative Transfer): 移転元のタスクと移転先のタスクが違いすぎる(例:テキスト学習の知識を株価予測に使うなど)ために、かえって精度が下がってしまう現象。


5. DS検定形式:実戦4択クイズ

問:転移学習において、ファインチューニングを行う際、事前学習で得られたモデルの初期層(入力に近い層)のパラメーター(重み)を変更しないように固定する操作を何と呼ぶか。

① ドロップアウト   ② 標準化   ③ フリーズ(凍結)   ④ 正則化

【 正解: ③ 】

解説: 一般的な特徴(エッジや色の変化など)を捉える初期層の知識はそのまま流用した方が効率が良いため、重みを変化させないように「フリーズ」させることがよくあります。


6. まとめ

DS検定において「移転元での学習 = 事前学習」「移転先での学習 = ファインチューニング」という組み合わせは、ディープラーニング全般(画像・自然言語処理)を支える大前提の知識です。それぞれの目的の違いをしっかりと頭に入れておきましょう!

【DS検定対策】指示に従う「汎用AI」を作る!インストラクションチューニング

特定の専門分野に特化するのではなく、「人間のあらゆる『指示(命令)』に正しく従う能力」そのものを高める学習手法。それがインストラクションチューニングです。

1. 【 問題 】

大規模言語モデル(LLM)において、教師付きファインチューニング(SFT)の枠組みを用いながら、特定のタスクやドメインに限定せず、多種多様な「指示(命令)と回答」のペアを学習させることで、未知のタスクに対する汎用的な追従能力を高める手法を何と呼ぶでしょうか?

① コンテキスト学習(In-Context Learning)
② インストラクションチューニング
③ 継続事前学習(Continual Pre-training)
④ 報酬モデル学習


2. 【 解答 】

正解: ② インストラクションチューニング

3. 整理:「特化型ファインチューニング」との違い

従来のファインチューニングと、インストラクションチューニングでは、目指すゴールが異なります。

【 アプローチの比較 】

従来のファインチューニング(特化型)
 特定のタスク(例:感情分析のデータだけ)を大量に学習。
 ⇒ 感情分析は超得意になるが、他のことはできなくなる。

インストラクションチューニング(汎用型)
 「〜を要約して」「〜のコードを書いて」「〜を英語にして」など、異なる形式の指示を数万〜数十万パターン同時に学習。
 ⇒ 「指示文の意図を汲み取る力」が鍛えられるため、学習していない新しい指示を出されても柔軟に対応できるようになります。

4. なぜこれが重要なのか?

1. ゼロショット学習能力の向上: 事前にやり方の例(Few-shot)を提示しなくても、プロンプトで「〜してください」と指示するだけで、一発でタスクをこなせる(Zero-shot)ようになります。
2. LLMの製品化に不可欠: ChatGPTやClaudeなどのチャットAIが、ユーザーのどんな無茶振りにもそれっぽく答えてくれるのは、このチューニングが施されているおかげです。


5. DS検定形式:実戦4択クイズ

問:インストラクションチューニングを行う際、モデルに与えるデータセットの構成として最も適切なものはどれか。

① 単語とその意味が対になった辞書データ
② インターネットからスクレイピングした生のWebテキスト
③ 多種多様なタスクに対する「指示文」と「その模範回答」のペア
④ ユーザーのクリック履歴や購入履歴のログ

【 正解: ③ 】

解説: 「指示(Instruction)」とその「応答(Response)」のペアが並んだデータセットを使用します。これにより、AIは「命令の型」を学習します。


6. まとめ

DS検定において「教師付きファインチューニングの中で」「特定のタスクに特化せず能力を高める」という表現が出たら「インストラクションチューニング」です。LLMがこれほど便利に使えるようになった歴史的ブレイクスルーの一つとして、しっかり押さえておきましょう!



【DS検定対策】AIに「対話の作法」を教え込む!教師付きファインチューニング(SFT)

インターネット全体の知識を詰め込んだだけのAIに、「質問されたら、正しい指示に従って回答する」という対話能力を身につけさせるプロセス、それがSFTです。

1. 【 問題 】

大規模言語モデル(LLM)の学習において、事前学習済みのモデルに対して、特定のタスク(要約、翻訳、対話など)や望ましい出力を学習させるため、人間が作成した高品質な「指示と正解のペア(プロンプトとレスポンス)」を用いて追加学習を行う手法を何と呼ぶでしょうか?

① 事前学習(Pre-training)
② 教師付きファインチューニング(SFT)
③ 報酬モデルの学習
④ 知識留(Distillation)


2. 【 解答 】

正解: ② 教師付きファインチューニング(SFT)

3. 整理:LLMが「アシスタント」になるまでの2段階

生成AI(ChatGPTなど)が使えるようになるまでには、大きな2つの学習ステップがあります。

【 事前学習とSFTの違い 】

ステップ1:事前学習(巨大な燃料)
 ウェブ上の膨大なテキストを読み込み、「次に来る単語を予測する」能力だけを鍛える。
 例:「日本の首都は」→「東京です」だけでなく「どこでしょう?」と勝手に問題を作ってしまうことも。

ステップ2:SFT(対話の型を教える)
 人間が作った「模範解答」を読ませて、指示に従う態度を学ばせる。
 データ例:
 [指示] 日本の首都を教えてください。
 [正解] 日本の首都は東京です。

--------------------------

ポイント:
SFTを行うことで、AIは単なる「文章の続きを予測する機械」から、私たちの「有能なアシスタント(Instruction-tunedモデル)」へと進化します。

4. SFTの特徴と課題

1. 高品質なデータが必要: データの「量」よりも、人間が丁寧に作った「質(正確性や丁寧さ)」がモデルの賢さを左右します。
2. コストの壁: 人間(アノテーター)が大量の指示文と模範解答をゼロから作成するため、人件費と時間が非常にかかります。


5. DS検定形式:実戦4択クイズ

問:大規模言語モデル(LLM)のチューニングにおいて、SFT(教師付きファインチューニング)の次に行われる、人間の好みにさらに近づけるための強化学習手法はどれか。

① RAG   ② CNN   ③ RLHF   ④ BERT

【 正解: ③ 】

解説: SFTで「対話の基本形」を学んだAIに対して、さらに「人間にとってどれがより心地よい回答か」を微調整するのが、以前学んだ「RLHF」です。この順番(事前学習 → SFT → RLHF)はセットで頻出です。


6. まとめ

DS検定において「事前学習済みモデルに足して」「人間が作成した正解応答や指示に従い学習させる」という記述が出たら「教師付きファインチューニング(SFT)」です。チャットAI開発の根幹をなすプロセスとして、確実に理解しておきましょう!