つれづれ

日常

MENU

🧭 自然言語モデルの発展

〜Word2Vecのその先へ!〜

💡 まずはおさらい:Word2Vecの限界

Word2Vecは単語を“意味の空間”に埋め込む革命的技術でしたが…

  • 🌀 文脈を理解できない
  • 🌀 多義語(はし=橋/箸)を区別できない
  • 🌀 文全体の意味は扱えない

…という課題がありました。

この限界を突破するために登場したのが、次世代の派生モデルたちです。


⚙️ Word2Vecの派生モデルたち

🧩 fastText(Facebook製)

Word2Vecの弱点「未知語(Out of Vocabulary, OOV)問題」を解決した進化版!

🚀 何が違うの?

fastTextは、単語をそのまま1単位ではなく、
文字N-gram(部分文字列)」に分解して学習します。


🔍 例:

apple」 → 「app」「ppl」「ple」などに分割!
未知の単語「apples」でも、「apple」と似たベクトルを生成できる!


🧠 メリット

未知語(OOV)にも対応できる!

スペル変化や派生語にも強い!

言語ごとの違いを吸収しやすい!

📘 G検定ポイント
fastTextは「文字N-gram」を使い、未知語対応を強化したWord2Vecの拡張モデル。


📜 Doc2Vec(Paragraph Vector

Word2Vecが「単語」をベクトル化するなら、
Doc2Vecは「文章全体をベクトル化」します!

🧱 仕組み

Word2Vecの学習に「文書IDベクトル」を追加して、
文書全体の特徴を学習できるようにしたモデルです。

つまり、「文や段落単位での意味」をとらえる!

✨ 例:

モデル ベクトル化対象 用途例
Word2Vec 単語 類語検索、単語類似度
Doc2Vec 文・段落・文書 文書分類、要約、感情分析

📘 G検定ポイント
Doc2Vecは「Word2Vecを文書レベルに拡張したモデル」。


🧠 エンコーダ・デコーダモデルの登場

さて、ここからが「自然言語モデルの第2章」!
文の意味を理解して“別の文”を生成する、まさに翻訳AIの誕生です🌍

🔄 Sequence-to-Sequence(Seq2Seq)

Google機械翻訳用に開発したモデル。
入力文を理解 → 出力文を生成する構造!


⚙️ 構造イメージ:

入力文(日本語) → [Encoder RNN] → 中間ベクトル → [Decoder RNN] → 出力文(英語)

Encoderが意味を圧縮し、Decoderが文を生成する。
まるで「聞いて→考えて→話す」AI!


💬 例:

入力:「こんにちは」
出力:「Hello」

📘 G検定ポイント
Seq2SeqはRNNベースのエンコーダ・デコーダ構造で、翻訳・要約などに使われる。


🔁 Bidirectional RNN(BiRNN)

RNNは過去から未来へ(順方向)しか情報を流せなかったけど、
BiRNNは前後両方向から文脈を理解できるようになった!

📈 仕組み

通常のRNNに「逆方向RNN」を追加して、
それぞれの出力を結合して使うイメージ。

→ 単語の意味を「前後の文脈」で判断できる!

💡 例:

「銀行で橋を見る」 vs 「箸でご飯を食べる」
→ 前後の単語を見ればどっちの“はし”かわかる!

📘 G検定ポイント
BiRNNは文脈の双方向理解を可能にしたRNNの拡張モデル。


🧬 ELMo(2018)

そして、Word2Vecからの“文脈革命”を起こしたのが、ELMo(エルモ)!

🌟 特徴:

BiRNN(双方向LSTM)をベースにして、

単語の文脈依存的な意味を学習できる!

✨ つまりこう!

モデル 文脈を考慮できる? 特徴
Word2Vec ❌ 固定ベクトル 文脈を無視
ELMo ✅ 文脈依存 同じ単語でも文脈によりベクトルが変化!


💬 例:

「川にはしをかける」 → “橋”
「はしで食べる」 → “箸”
→ 文脈で異なるベクトルに!


📘 G検定ポイント

  • ELMoは文脈依存の単語表現を生成できる
  • BiLSTMをベースにしている
  • 「同じ単語でも文脈で意味が変わる」問題を解決した

🧩 まとめ表(発展モデルの流れ)

モデル 主な特徴 文脈考慮 対応単位 覚えるキーワード
Word2Vec 単語を意味空間に埋め込む 単語 CBOW / Skip-Gram
fastText N-gramで未知語対応 単語 Out of Vocabulary
Doc2Vec 文書全体をベクトル化 文・段落 Paragraph Vector
Seq2Seq 入力→出力を生成 Encoder / Decoder
BiRNN 前後の文脈を理解 単語 双方向RNN
ELMo 文脈依存のベクトル生成 単語 BiLSTMベース、文脈表現

「AIが“意味”を理解するってこういうこと!」
単語から文、そして文脈へ——。
人間の言語理解にどんどん近づいていく進化の旅、めっちゃ面白くない?😆

🧮 単語を数値化する?!

こんちゃ!だみーです


今回は自然言語処理の要!
いかに単語を数値にするかについてはなしていきまうす

🔤 単語って数値にできるの??

AIに「りんご好き🍎」って言っても、「リンゴってなに…?」ってなります。
なので、まずは言葉=数値に変換する必要があるんですね!

でも…

どうやって単語を数値に?
数字にしたって意味あるの?
ベクトルってなに???

そんなモヤモヤを、順番に解消していきましょう!



🔢 One-Hotベクトル表現

まずは基本のき、「One-Hot表現」から!

🧯 どんなやつ?

単語をベクトルの中の「1つの位置だけが1、それ以外は0」にするやつ。

例(語彙が5個の場合):

単語 One-Hotベクトル
\[1, 0, 0, 0, 0]
\[0, 1, 0, 0, 0]
\[0, 0, 1, 0, 0]

👉 ベクトルの次元数=語彙数
👉 単語同士の意味の近さはまったくわからない(犬も猫も「ただの違う1」)

📌 G検定ポイント:
「One-Hot表現は簡単だけど意味的な距離は表現できない」



🌌 単語分散表現(Distributed Representation)

ここからが進化版!

One-Hotが「ただのフラグ」だとしたら、
こっちは「意味の空間に位置づけられた単語たち」!

📦 なにが違うの?

  • One-Hotは単語の区別だけ
  • 分散表現は単語の意味の関係もベクトルで表す!

例:

単語 分散表現ベクトル(一例)
\[0.9, 0.1, 0.3]
\[0.88, 0.12, 0.31]
飛行機 \[0.2, 0.8, 0.1]

👉 犬と猫はベクトルが似てる → 意味的に近い!
👉 飛行機は全然違う → 意味的に遠い

📌 この考え方が、Word2Vecの基本に!



🧠 Word2Vec

ついに来ました、NLP界のスター選手!

🌟 Word2Vecとは?

Googleが2013年に発表した、単語を意味的に“似ているベクトル”で表現する手法です!

🛠️ モデルの仕組み:

Word2Vecには2種類の学習方法がある!

手法 内容
CBOW コンテキスト(前後の単語)から中心単語を予測する
Skip-Gram 中心単語から周囲の単語(コンテキスト)を予測する

🧠 「文脈にある単語は意味的に似てる」って前提がベース。

✨ Word2Vecのすごいところ:
  • 「王様 − 男 + 女 ≒ 女王」ができる(アナロジー関係)
  • 類語・近義語の自動発見ができる
  • 意味的な距離が定量的に測れる(コサイン類似度とか)

📎 G検定でも「Word2Vecは何をする?」「CBOWとSkip-Gramの違いは?」と出題あり!



⚠️ Word2Vecの課題

ただし万能ではありません…。

❌ 主な課題点:

  • 文脈を1つに決め打ちしてしまう

 →「はし(箸/橋)」のような多義語の意味の違いを区別できない

  • 単語レベルの意味しか学習できない

 → 文や文章の意味をそのまま捉えるのはムリ

  • 固定ベクトルなので応用が難しい

 →「文脈によって意味が変わる」を捉えられない

📎 この課題を解決したのが、後のBERTなどの文脈ベースのモデルたち!



📝 まとめ表(G検定対策用)

手法 特徴 試験で狙われそうな点
One-Hot表現 単語を0/1のベクトルで区別 意味の類似は表現不可
単語分散表現 単語の意味を反映した連続ベクトルで表現 ベクトル間の距離=意味の近さと解釈可能
Word2Vec 単語の意味関係を学習する埋め込み技術 CBOW・Skip-Gramの違い、意味ベクトルの活用例など
Word2Vecの課題 多義語の意味区別ができない、文全体の理解ができない BERTなどがこの課題を解決したという流れにつながる

「単語を数値化する」って聞くと最初は「は?🤔」ってなりがちだけど、
実はここがNLPのスタート地点であり、最大の肝!

意味のある“言葉の地図”を作る技術、
それが Word2Vecという革命だったのです🧭


んじゃっ!

🗣️ 自然言語処理ってなんぞ?

こんちゃ!だみーです

今回は大学の時に勉強して感動した、自然言語処理についてはなしていきます

🧠 自然言語処理NLP)とは?

自然言語処理NLP:Natural Language Processing)は、
人間が普段使っている自然言語(日本語・英語など)をコンピュータが理解・処理できるようにする技術です!

📱 こんなところで使われてます:

  • Siri、ChatGPT、Alexaなどの音声対話
  • ニュースの自動要約
  • 文章の感情分析 etc...

📎 G検定では、定義問題でよく聞かれます!
自然言語処理とは?」=「人間の言葉を理解・処理するAI技術」で押さえておきましょう。



🧩 形態素解析

🧩 形態素解析とは?

文章を“意味を持つ最小単位(形態素)”に分割し、それぞれに品詞などの情報を付加する処理です。

✏️ 例:

「明日は雨が降るらしい。」
→ 「明日|は|雨|が|降る|らしい|。」

この「|」で分かれた各単語(単語未満の時もある)=形態素(morpheme)です!

📌 何をしてるの?

  1. 単語ごとに分かち書き(分割)
  1. 各単語に品詞ラベルをつける(名詞・動詞・助詞など)
  1. 必要なら語幹や原形に変換(例:「食べた」→「食べる」)
🔧 日本語の形態素解析ツール

日本語は空白がないため、英語よりも形態素解析が必須なんです!

代表的なツールはこれら👇

ツール名 特徴
MeCab 軽量・高速で定番!使いやすさ抜群
Juman++ 意味解析に強く、学術研究でもよく使われる
Sudachi 単語の分かち方をモードで調整できて柔軟

🔁 自然言語処理の一般的なフロー

自然言語処理にはざっくり以下のような処理段階があります👇

📝 1. データ入力(テキストの取得)

まずはデータがなければ始まりません!
自然言語処理は、生のテキストデータをAIが読める形に加工するところから始まります。

🧩 2. 形態素解析分かち書き・品詞付与)

ここが日本語処理の肝!!

文章を意味を持つ最小単位(形態素)に分けて、品詞情報などを付ける処理です。

✂️ 例:

「私はラーメンが好きです。」
→ 「私|は|ラーメン|が|好き|です|。」

それぞれに「名詞」「助詞」「形容詞」などの品詞をくっつけて、AIが読みやすい形に整えていきます。

📌 形態素解析ツールの代表例:

  • Juman++
  • Sudachi(モード調整できる柔軟派)

🧠 G検定ポイント:

形態素解析とは?」=意味単位に分割&品詞付与!


🔧 3. 構文解析係り受け解析)

形態素解析で「単語」がわかったら、
今度はその単語同士がどんな関係にあるかを見ていきます!

🧱 構文解析とは?

  • 主語がどれか
  • 動詞にかかる目的語はどれか
  • 修飾関係はどれとどれか

つまり文章の**文法構造(骨組み)**を解析します!

📌 構文解析の代表技術:

  • 係り受け解析:「どの単語がどれに係っているか?」
  • チャンク解析:「意味のカタマリごとに切り出す」
  • 構文木生成:「文全体の階層構造をツリーで表現」

🧠 G検定では「構文解析の役割=文法構造の理解」と押さえておくと安心!


🔍 4. 意味解析(語義の解釈)

ここからいよいよ文章の意味そのものに踏み込みます!

😵 なにをするの?

  • 「銀行」は river bank?それともお金の bank?
  • 「はし」は 橋? 箸? 端??

こういう多義語や曖昧な単語の意味を、文脈から推測して解釈する処理が「意味解析」です!

📌 やってること:

  • 語義曖昧性解消(WSD:Word Sense Disambiguation)
  • 意味役割付与(Semantic Role Labeling)

🧠 G検定ポイント:

「語の意味を文脈から特定する」のが意味解析!


🧭 5. 文脈解析(より長い文・会話の意味理解)

最後に来るのが、文を超えた意味のつながりを理解する「文脈解析」!

💬 例:

A:「明日、雨降るかな?」
B:「うーん、降らないと思う」

→「降らない」の主語や対象(=“雨”)は文の外にありますよね?

📌 文脈解析でやること:

  • 共参照解析:「それ」「彼」「あれ」などが何を指しているか?
  • 談話解析:「話全体の流れ」や「因果関係」を捉える
  • 意味の一貫性チェック:「前後で矛盾してない?」

🧠 G検定では、「共参照解析」「照応解析」「談話構造解析」という言葉が出たら要注意!




🧼 基本的なデータ前処理

自然言語処理でよく出てくる前処理をまとめておきます✍️

🧼 ① 形態素解析

前述の通り、「単語に分ける」「品詞をつける」「原形にする」などがこれ!

🧹 ② データクレンジング(ノイズ除去)
  • 記号・絵文字の除去
  • 数字やURLの除去
  • 全角/半角の統一
  • 小文字/大文字の統一(英語の場合)

👀 データにゴミが多いと、AIの学習が混乱します…
キレイにしてから食べさせようね🍽️

🧮 ③ Bag-of-Words(BoW)

「単語の出現回数」に注目して、文章を数値化する超基本手法です!

  • 各単語をベクトルにして数える
  • 「文章=単語の袋」みたいな考え方
  • 単語の並び順は無視(そこが弱点💦)

📌 G検定では「BoWは文脈を考慮しない」とよく出ます!

📊 ④ TF-IDF(Term Frequency - Inverse Document Frequency)

BoWの進化版!

  • TF(単語の出現頻度) × IDF(逆文書頻度)
  • よく出てくるけど珍しい単語に高スコアをつける
  • 「特徴的な単語」を強調できる!

📎 試験での狙われポイント:
「TF-IDFは特徴的な単語に高い重みをつける」=Yes!




📝 G検定対策まとめ

用語 説明 試験ポイント
自然言語処理NLP 人間の言葉をコンピュータが扱えるようにする技術 用途と定義(例:対話・検索・要約)
形態素解析 意味単位に分割して品詞などを付加 日本語では必須!分かち書き・品詞付け
データ前処理 テキストの整形・ノイズ除去 正規化・ストップワード・記号除去など
BoW 単語出現頻度で文章を数値化 文脈を考慮しない点に注意
TF-IDF 特徴的な単語にスコアをつける手法 TF×IDFで重要単語を抽出

自然言語処理って、最初はなんだかカッコいい響きだけど…
やってることは「分ける」「きれいにする」「数える」という地道な作業の積み重ね。

でもそのおかげで、
AIは「文章の意味を理解できる」ようになってるんです🤖✨

んじゃっ!

🎨 セグメンテーションって何やねん?

こんちゃ!だみーです


最近急激に寒くなってきました
絶賛体調不良中ですw

今回はセグメンテーションを使った物体認識についてはなしていきます

🎯 セグメンテーションって?

セグメンテーション(Segmentation)とは、
画像をピクセル単位で意味ごとに塗り分ける処理のこと!

画像認識が「これは犬っぽい画像」とざっくり判断するのに対して、
セグメンテーションは**「どのピクセルが犬か?」まで答えられる!**🎯

📸 つまり、認識だけじゃなくて「どこにあるか」も教えてくれる、
地味だけどすっごい役立つ技術です。



🧠 セマンティックセグメンテーションとは?

「これは全部ネコ」って領域で塗るやつ

セマンティック(semantic=意味的)セグメンテーションでは、
同じクラスに属するピクセルをすべて同じラベルで塗るのが特徴!

例)

  • ネコが3匹いても全部「ネコ」として同じ色で塗る
  • 車が2台あっても、どっちが1号で2号かは気にしない

🎨 “種類”を分類するだけで、“個体”は分けないって覚えよう!



🧱 完全畳み込みネットワーク(FCN)

FCN = Fully Convolutional Network
→ セマンティックセグメンテーションの元祖的な手法!

特徴:

  • CNNの「全結合層」を取り除いて、「全部Conv層だけ」にした構造
  • 入力画像と同じサイズの出力マップを作れる(ピクセル単位分類が可能に!)

📎 G検定ポイント:

「FCNとは?」→「全結合なし」「出力がピクセルごと」「セグメンテーションに使う」



🖼️ 代表的なセマンティックセグメンテーションモデル

🧵 SegNet
  • エンコーダ(特徴を抽出)+デコーダ(サイズを元に戻す)構成
  • プーリングのインデックスを保存して、アップサンプリングに利用
  • FCNより構造がシンプルで、再構成しやすい!

🧠 要は「縮めた特徴を、うまく元のサイズに戻す」工夫が詰まってる!


🧬 U-Net
  • エンコーダとデコーダU字型につないで、情報をうまく合成
  • 特徴マップをスキップ接続して、細かい情報も復元できる!


🎯 G検定でも出ます:「U-Netの構造=U字型+スキップ接続」



👥 インスタンスセグメンテーションとは?

ここでやっと「個体識別もするやつ」が登場!

同じカテゴリでも、個体ごとに違うラベルで塗り分ける!

セマンティックセグメンテーション:
→ 「ネコっぽいやつ全部ネコ色」

インスタンスセグメンテーション:
→ 「このネコは1号、このネコは2号」って分ける🐱🐱

用途:

  • 自動運転(歩行者が何人いるか)
  • 医療画像(腫瘍が何個あるか)
  • 点群処理(ロボット制御など)

🎭 Mask R-CNNとは?

インスタンスセグメンテーション界のスーパースター🌟
Faster R-CNN に「マスク(マスク画像)」の出力を追加した構造です!

📦構造のポイント:

物体検出(Faster R-CNN)+ セグメンテーション(マスク出力)の2段構え!

💡特徴:

  • 各物体ごとに「どこにあるか」+「ピクセル単位でマスク」を出力
  • 検出精度とセグメンテーション精度の両立ができる
  • めちゃくちゃ強い(そしてまあまあ重い)

🧠 G検定ポイント:

Mask R-CNN=「Faster R-CNN+マスク予測層」
インスタンスセグメンテーション対応!」



📝 まとめ表(G検定対策!)

項目 説明 キーワード
セマンティックセグメンテーション クラス単位で領域を分類 犬全部→犬
インスタンスセグメンテーション クラス+個体単位で分類 犬1と犬2は別
FCN 全結合なし・ピクセル分類ができる構造 完全畳み込み・元祖
SegNet プーリングインデックスを使って再構成 シンプル構造
U-Net U字構造+スキップ接続で細かい復元 医療画像・スキップ接続
Mask R-CNN 検出+マスクで個別の領域抽出 Faster R-CNNに追加層



セグメンテーションは、AIが“見る”から“理解する”へ進化する第一歩!

画像分類だけじゃ物足りない時代、
セグメンテーションは「どこに」「なにが」「いくつあるか」を理解するための超重要技術です✨


それでは、んじゃっ!👋🔥

🎯 物体認識の具体的な手法まとめ! 〜R-CNNからYOLOまで、どれがどんなヤツか語る〜

こんちゃ!だみーです

今回は物体認識のいろいろな手法を見ていきます!!


🔍 R-CNNとは?

Region-based Convolutional Neural Networkの略!
2014年、Girshickたちが提案した初期の物体検出手法です。

💡流れはこんな感じ:

  1. Selective Searchで「物体がありそうな領域(候補)」を抽出
  1. 抽出された各領域を1個ずつCNNに通して特徴抽出
  1. SVMサポートベクターマシン)で分類
  1. バウンディングボックス回帰で位置を微調整

📦 めっちゃ丁寧。でもそのぶん超おそい…

🧠 G検定ポイント:

「候補領域を外部アルゴリズム(Selective Search)で抽出する方式」=R-CNN!




⚡ Fast R-CNNとは?

R-CNNの問題点(遅い!重い!)を解決しようとした改良版。
特徴はズバリ:

画像全体を最初にCNNに通す!

📌流れ:

  1. 画像全体をCNNで1回処理して、特徴マップ(Feature Map)を作る
  1. 各候補領域をそのマップ上から切り出して使う
  1. Softmaxで分類、回帰で位置推定!

💡 R-CNNより10倍くらい速い!
でも…候補領域はまだSelective Search(外部)頼り🥲

🧠 G検定ポイント:

「全体を一度CNNに通して、共有する」って言ったら Fast R-CNN!




🚀 Faster R-CNNとは?

ついにきました、「Faster」の名にふさわしい進化版。

💡ここが革命:

候補領域もCNN内で学習する!

つまり…

・CNNの中に「RPN(Region Proposal Network)」という候補領域生成ネットワークを内蔵

・最初から最後まで、全部が1つのモデルで完結!(エンドツーエンド)

🧠 G検定ポイント:

RPN(領域提案ネットワーク)」=Faster R-CNN!

📸 高精度だけど、リアルタイム性はそこそこ




🐆 YOLO(You Only Look Once)

おまえ絶対に名前で得してるタイプ。

物体検出を一発(=One Shot)でやる革新的モデル!

💡仕組み:

  • 画像をS×Sのグリッドに分割
  • 各グリッドが「自分の中に物体があるか?」を判断
  • 一発で「何がどこにあるか」まで出力!

💥 特徴:

  • めちゃくちゃ速い(リアルタイム可)
  • 少し位置精度は下がる(でも使えるレベル)

🧠 G検定ポイント:

YOLOの特徴は「一度のCNN処理で全てを検出」=一発勝負モデル!




📦 SSD(Single Shot MultiBox Detector)

YOLOのライバル的存在!
同じく「一発検出系」だけど、こっちはより多スケール対応が得意。

💡特徴:

  • 複数の畳み込み層から検出 → サイズの違う物体にも強い!
  • YOLOより精度高め、速度も速い

🧠 G検定ポイント:

「マルチスケール対応」「YOLOと同じくワンショット方式」=SSD




📝 まとめ表(比較して覚えよう)

手法 構造の特徴 候補領域 精度 速度
R-CNN 各領域ごとにCNN Selective Search 遅い
Fast R-CNN CNN全体で特徴抽出 → 切り出し Selective Search 普通
Faster R-CNN RPNで候補生成 → 一体化モデル RPN そこそこ
YOLO グリッド分割 → 全出力を一発で出す なし(直接予測) 速い
SSD 複数スケールから一発予測 なし(直接予測) 中〜高 速い

🎓 G検定的まとめ

  • 「物体検出における処理構成」は出やすい
  • 特に「Faster R-CNNがなぜ速いのか?」
  • 「YOLO/SSDは一発系=リアルタイム処理に強い」
  • 外部領域生成(Selective Search)を使ってるのは R-CNN系のみ!


んじゃ!

🔍 一般物体認識ってなんぞ? 〜AIが「これはネコです」って言えるまでの話〜

こんちゃ!だみーです

今回は、
画像を見て「これはスマホ」「これはネコ」「これは…わからんけど可愛い」って言えるAI、
その土台となってるのが 一般物体認識 ってやつです

🧠 一般物体認識とは?

カメラ画像や映像から、写っているモノ(物体)を見つけて名前を当てる技術です!

画像認識とはちょっと違って、こっちは…

・モノが複数あってもOK(リンゴも猫も同時にOK)

・「どこにあるか」も把握する(位置検出も含む)

という感じで、現実世界を理解する力ってやつです📷🧠



📦 一般物体認識のプロセス

大きく分けて、プロセスはこの2段階👇

・物体検出(Object Detection)

・物体認識(Object Classification)

📌 物体検出(Object Detection)

画像の中で「何かあるっぽい場所」を見つける処理です!

ここではまだ「これは猫です!」とか断言せず、とにかく「何かいそう」なエリアを見つけます。

🧠 よく使われる技術:

・スライディングウィンドウ法:画像を少しずつズラしながら見る

・Selective Search:背景と物体の境界をざっくり検出

・YOLO(You Only Look Once):一発で全部検出!(最近の主流)

🎯 検出結果はだいたい「バウンディングボックス(四角で囲む)」で返ってきます。


🧠 物体認識(Object Classification)

ここでやっと出番です。「この領域にあるのは…猫ですね!」と判断する処理です🐈

画像分類モデル(CNNなど)で、検出されたエリアごとに認識を行います。

例:

・【左上】→ リモコン

・【右下】→ タコ🐙

・【中央】→ うどん(うどん!?)

👉 「物体検出で場所特定 → 物体認識で名前をつける」
このセットで、ようやく「一般物体認識」となるのです。



📝 まとめ表

工程 内容 主な手法 or 例
物体検出 画像の中から“何かありそう”な場所を探す スライディングウィンドウ、YOLO、SSDなど
物体認識 見つけた場所の中身が何かを判定する CNNによる分類(ResNetなど)
一般物体認識 上記2つを組み合わせてモノを見つけて名前をつける 自動運転・監視カメラ・スマホカメラなど

🤖 G検定的まとめ

・「一般物体認識とは?」=“物体検出+物体認識”のこと!

・「検出→分類の2ステップで構成される」

・「YOLOやCNNが関係してくる」← 実務例としても出題あり!




📣 次回予告(かも)

「物体検出アルゴリズム比較」

「YOLO vs SSD vs Faster R-CNN」

「画像認識と物体認識の違いって何?」


それでは、んじゃっ!👋✨

3-9 🕹️ 深層強化学習(Deep Reinforcement Learning)

🎮 深層強化学習ってなんぞ?

〜ゲームAIが強くなった理由、ぜんぶココにある〜

読んでワクワク、学んで納得💡

という構成で仕上げていきます💪✨
それではいってみよー!

🧠 1. 強化学習の原理

行動 → 報酬 → 学習 のループ

強化学習Reinforcement Learning, RL)は、簡単に言うと…

「試して → 結果を受け取って → 次に活かす」
というサイクルで“行動戦略(ポリシー)”を学ぶ仕組みです!


🎲 例えるなら…

・犬に芸を仕込む → 成功したらエサ!

・ゲームで新しい技を試す → 勝てたらその技を多用!

👉 つまり、成功体験を積んで成長していくAIの育て方です。



🔧 2. 強化学習のモデル最適化

良い方針(ポリシー)を見つけるのがゴール!

RLの目標は、「どう行動すれば報酬が最大化できるか」を見つけること!


このために使うのが:

・価値関数(Value Function):状態がどれくらい“良さげ”か

・方策(Policy):どの状態で何を選ぶかルール

👉 これらをうま〜く学習して、ベストな戦略を作っていくのが強化学習ってわけ!



🎰 3. バンディットアルゴリズム

“迷ったらどうする?”問題を解決するやつ

「目の前にスロットマシンが10台あったら、どれ引く?」という設定で有名なやつ。

・試したことない台も気になるけど

・当たり出てる台を引き続けるのも魅力的…!

これが「探索(exploration)と活用(exploitation)トレードオフ

🎲 解決する代表的手法:

アルゴリズム 特徴
ε-greedy法 εの確率で探索、それ以外は最大報酬
UCB法 信頼区間も考慮して選択
Thompson Sampling ベイズ的なアプローチで確率的に選ぶ

 


🗺️ 4. マルコフ決定過程モデル(MDP)

“環境”のモデル化ルール!

強化学習では、行動の結果が次の状態に影響を与えることが大前提。

このときよく使われるのが:

マルコフ決定過程(Markov Decision Process:MDP)

🔑 MDPの4要素
要素 意味
S 状態(State)
A 行動(Action)
R 報酬(Reward)
P 遷移確率(次の状態に行く確率)

📎「次の状態は今の状態と行動だけで決まる」=マルコフ性というのも試験で出ます!



🧮 5. 価値ベースの強化学習手法3選

「価値を見極めて判断する」方式

代表的な3つはこちら👇

🧮① 動的計画法(DP)

・モデルが既知のときに使える

・ベルマン方程式ベースで、状態価値を更新

・現実問題では「遷移確率がわからない」ことが多くて実用は少なめ

🧠 例えるなら:「地図が全部見えてる状態で最短ルートを探す感じ」

🎲② モンテカルロ法(MC)

・エピソードの終了後に、その時の報酬をまとめて使う

・エピソードベースでの学習

・ノイズが多く、学習はやや不安定だけど直感的

🍀 例えるなら:「人生一発勝負して、結果から人生評価する」みたいな方式

⚡③ TD学習(Temporal Difference)

・状態を見てすぐに学習、リアルタイムに更新できる

モンテカルロとDPのいいとこ取り!

・💡 TD誤差 = 実際の報酬 + 次の価値 - 今の価値

📎 試験で頻出です!「時間差学習」→ TD学習



🔍 6. Q学習(Q-learning)

価値に基づいた最強戦略を学ぶ!

・行動価値関数 Q(s, a) を学習

・最適行動は argmax_a Q(s, a)

・モデル不要(遷移確率がなくても学習OK)

Q(s, a) ← Q(s, a) + α [r + γ max_a' Q(s’, a’) - Q(s, a)]
 



🏃 7. SARSA

実行方策ベースのQ学習兄弟!

・Q(s, a) 更新時に、実際に選んだ行動を使う

・より安全寄り・リスク抑えめな性格(Q学習が楽観主義なら、SARSAは慎重派)

📌 「実行した行動で更新する」=オンポリシー
(Q学習はオフポリシー)



🤖 8. 深層強化学習の登場と歴史

DQNの衝撃、そしてAlphaGoへ…

CNNなどのディープラーニング技術を強化学習に組み込んだのが「深層強化学習(Deep RL)」

🎮 ブレイクしたきっかけ:

・2015年:Deep Q Network(DQN) by DeepMind
 → Atariゲームを人間並みに攻略!

・2016年:AlphaGoが囲碁世界王者に勝利
 → 世界がざわつく。

その後も:

・DDPG(連続値の行動)

・A3C(複数エージェントで学習)

・PPO(安定した方策勾配法)

などなど、進化が止まらない分野です🔥

📎 試験では「DQNとは?」「深層強化学習の代表例は?」みたいに出ます!



📝 まとめ表(G検定の穴埋め対策にどうぞ)

用語 キーワード 試験での狙われどころ
強化学習 試行錯誤・報酬最大化 行動価値・方策・環境とのやりとり
バンディット 探索 vs 活用 ε-greedy法など
MDP 状態・行動・報酬・遷移 マルコフ性あり
動的計画法 ベルマン方程式 モデル必要
モンテカルロ法 エピソード終了後更新 モデル不要
TD学習 時間差・逐次学習 オンライン性高い
Q学習 maxで更新・オフポリシー よく出る数式あり
SARSA 実際の行動で更新・オンポリシー 慎重派
DQN 深層学習 × Q学習 Atariゲームで有名に
AlphaGo モンテカルロ木探索 + 深層強化学習 囲碁王者を撃破!


AIって、試行錯誤で“自分で学んで強くなる”のが一番ロマンありますよね。

深層強化学習はまさにその象徴!
次の主役になる可能性、大アリです🚀

んじゃっ!👋🔥