5-1 一般物体認識とその応用
この章では、「画像の中の何が、どこにあるのか」をAIが理解する技術=一般物体認識と、その発展的な応用を解説します。
「猫がいる」だけでなく、「猫がどこにいるのか」「複数いる場合に個別に識別できるか」まで深く扱います。
G検定では、これらの技術の名前や違い・構造の特徴が問われやすいポイントです
1. 一般物体認識とは?
画像認識が「これは猫です」と全体を分類する技術だとすれば、
一般物体認識(Object Detection)は、「この画像のここに猫がいます」と“場所”も特定する技術です。
このとき使われるのが、バウンディングボックス(Bounding Box)と呼ばれる矩形領域です。
2. 物体検出の進化
Faster R-CNN(2015)
- Selective Searchの代わりにRPN(Region Proposal Network)を導入
- 領域の候補もCNNが自動で学習
- 精度と速度のバランスが非常に高い
SSD(Single Shot MultiBox Detector)
- 画像全体を一度だけ処理しながら、複数スケールの特徴マップから検出
- 高速性に優れるが、小さな物体にやや弱い
YOLO(You Only Look Once)
- 入力画像をグリッドに分割し、1回の処理で複数の物体を同時に検出・分類
- 非常に高速(リアルタイム処理も可能)
- 速度重視のタスクに最適
3. セグメンテーション:物体の“輪郭”を捉える
物体検出では矩形で囲むだけですが、より詳細に「画素ごとに何があるか」を知りたいときはセグメンテーション(分割)を使います。
セマンティック・セグメンテーション
- 各画素に対してクラスラベルを割り当てる手法
- 例:「このピクセルは犬」「これは道路」
画像の中に「何が写っているか」をピクセル単位で塗り分ける手法です。たとえば、写真に3匹の犬が写っていたら、すべての犬を同じラベル=同じ色で塗ります。
主な手法:
モデル名 | 特徴 |
---|---|
FCN(Fully Convolutional Network) | 全結合層を使わず、画素単位で分類 |
U-Net | 医用画像向け。エンコーダー・デコーダー構造とスキップ結合で高精度を実現 |
SegNet | FCNに近いが、メモリ効率を改善。位置情報を保持しながら復元する工夫が特徴 |
インスタンス・セグメンテーション
- 同じクラスの物体でも個別に認識・分割する技術
- 例:2匹の犬がいても「1匹目」「2匹目」と区別できる
同じ「犬」でも、「1匹目は赤」「2匹目は青」「3匹目は緑」と塗り分けるような塗り絵です。
“種類だけでなく、誰が誰かまで分けて塗る”のがインスタンス・セグメンテーションなんですね。
主な手法:
モデル名 | 特徴 |
---|---|
Mask R-CNN | Faster R-CNNにマスク出力を追加。高精度 |
YOLACT | YOLO系の高速性とマスク予測を両立。リアルタイム可 |
4. ニューラル画像脚注付け(Image Captioning)
画像に対して“説明文”を自動生成するタスクが「ニューラル画像脚注付け(Image Captioning)」です。
ここでは、CNNとRNNを組み合わせて使うのが一般的です。
処理の流れ:
- CNNで画像から特徴ベクトルを抽出
- RNN(LSTMなど)にその特徴を入力し、文章を一単語ずつ生成
たとえば、以下のような出力が得られます。
- 入力画像:犬がボールで遊んでいる
- 出力文:A dog is playing with a ball.
この技術は、視覚障がい者支援、自動写真説明、監視カメラの報告文生成などにも応用されています。
5-2 自然言語処理
このセクションでは、人間の言葉をAIに理解・生成させる技術=自然言語処理(NLP:Natural Language Processing)を取り上げます。
AIが文章を読んだり書いたりできるのはなぜか? その裏には、膨大な言語データと数学的な処理、そして深層学習の進化があります。
G検定では、伝統的な手法から最新のモデル(BERT、GPTなど)まで出題されるため、流れをしっかり押さえておきましょう。
NLPの基本ステップは、形態素解析 → 構文解析 → 意味解析 → 文脈解析です。すなわち、文字列を単語に分け、文法構造を分析し、意味を理解し、全体の流れや状況を考慮して解釈します。
自然言語処理(NLP)の基本ステップは、料理の手順にたとえるとわかりやすくなります。
まず形態素解析は、材料を細かく切り分ける工程。文章を単語ごとに分けて準備します。
次に構文解析は、レシピ通りに材料を並べる作業。単語の文法的な関係を整理します。
意味解析は、料理の味付けを確認するようなもので、文の意味を理解する段階。
そして文脈解析は、全体のメニューの流れを考えて調和を取るような役割です。単体の文ではなく、前後の流れを踏まえて本当の意味を読み取るのです。
1. 自然言語処理の基礎:文字をデータにする
コーパスと分かち書き
- コーパス(Corpus):大量のテキストデータ(例:新聞記事、Wikipedia)
- 日本語の処理にはまず分かち書き(単語の切り出し)が必要になります。
形態素解析:単語への分解
日本語の文章は空白で区切られないため、「これはどこまでが単語か?」を判断する処理が重要です。
この処理を「形態素解析」と呼びます。
代表的な形態素解析ツール:
ツール名 | 特徴 |
---|---|
MeCab | 高速・精度高。辞書のカスタマイズ可 |
JUMAN | 文法や意味解析に強い |
Kuromoji | Java製。Lucene系でよく使われる |
Sudachi | 複数の分かちレベルに対応可能 |
ストップワードとN-Gram
- ストップワード:意味を持たない接続詞・助詞など(例:「の」「は」「が」)
- N-Gram:連続したN個の単語や文字(例:2-gram→「私 は」「は 寿司」)
2. 単語の数値化:ベクトル化の基礎
Bag-of-Words(BoW)
文書中の単語の出現回数をカウントし、数値ベクトルに変換します。
シンプルですが、単語の順序や意味は失われます。
- ベクトル空間モデル:文書を高次元空間の点として表す
- コサイン類似度で類似性を測る:
TF-IDF(Term Frequency – Inverse Document Frequency)
出現頻度に重要度の重みを加えた手法です。
- TF:単語tの文書d内での頻度
- DF:単語tが出現する文書数
- N:全体の文書数
3. 意味を捉える:トピック・文脈・構文の理解
● トピックモデル
- トピックモデルは、文書にどんなテーマ(トピック)があるかを統計的に推定します。
- 代表的手法:潜在的ディリクレ配分法(LDA)
→ 文書をクラスタリングして、トピックごとに分類します。
構文解析・意味解析・文脈解析
- 構文解析:文の構造を分析(主語・述語など)
- CaboCha(係り受け構造)
- KNP(京都大学の構文解析器)
- 意味解析:単語の意味、同義語、語彙的意味
- 文脈解析:照応(「それ」「彼」などの指し示し)や談話構造を理解
4. 分散表現:単語を意味でとらえる
One-Hotベクトル(従来型)
- 単語を0と1のベクトルで表す
→ 単語間の類似性を表現できない
Word2Vec
- 単語を意味的な距離でベクトル化する画期的手法
- スキップグラム(Skip-Gram):中心語から周辺語を予測
- CBOW(Continuous Bag-of-Words):周辺語から中心語を予測
5. モデルの進化:seq2seqとTransformer
seq2seq(Sequence to Sequence)
- エンコーダー:入力文をベクトルに変換
- デコーダー:そのベクトルから出力文を生成
- 機械翻訳・要約・対話生成などに利用
AttentionとSelf-Attention
- Attention:出力単語を生成する際に、入力文のどこに注目すべきかを学習
- Self-Attention:入力文内での単語同士の関係を捉える(従来のseq2seqより柔軟)
Transformer(2017)
- 完全にAttentionベースで構成された画期的なモデル
- 並列処理が可能で、高速・高精度
Source-Target Attention
- 翻訳モデルなどで、入力と出力を別々の系列として相互に対応付ける機構
6. 事前学習モデルと大規模言語モデル(LLM)
事前学習+ファインチューニング
- 大量のデータで「教師なし事前学習」
- タスクごとに少量のデータで「ファインチューニング」
この2段階が、現在の自然言語処理の主流です。
代表的な事前学習モデル
モデル名 | 特徴・用途 |
---|---|
ELMo | 文脈に応じて単語の意味を変化させる |
GNMT | Googleのニューラル翻訳モデル |
BERT | 双方向の文脈理解。マスク言語モデルを採用 |
GPT(1〜4) | 生成特化型。事前学習+少量例(Few Shot Learning)対応可 |
MT-DNN | BERTをベースにしたマルチタスク学習モデル |
スケール則とFew Shot Learning
- スケール則(Scaling Law):モデルが大きくなるほど性能が向上する
- Few Shot Learning:わずかな例(1〜数件)だけで高性能なタスク遂行が可能
GPTなどの大規模言語モデルは、この性質を活かして少量データでも汎用的に対応できます。
5-3 音声認識・音声生成
このセクションでは、人間の声を「聞いて理解し、話す」AIの技術について学びます。
スマートスピーカーや音声アシスタント(Siri、Google Assistantなど)にも使われている、音声認識(Speech Recognition)と音声生成(Speech Synthesis)の仕組みを、基礎から解説していきましょう。
1. 音声をデジタルで扱うとは?
人間の音声はアナログ信号ですが、コンピュータはデジタル信号しか扱えません。
そこで必要になるのが、A-D変換(アナログ・デジタル変換)です。
サンプリングとサンプリング定理
音声波形を一定の間隔で測定し、数値に変換することをサンプリングといいます。
このとき必要な理論が、サンプリング定理です。
- アナログ信号を正確に再現するには、元の信号の2倍以上の周波数でサンプリングする必要があります。
(例:人間の可聴域20kHz → 44.1kHzサンプリングが主流)
2. 音声認識:話し言葉を「文字」にする技術
音声認識(Automatic Speech Recognition, ASR)は、音声信号をテキストに変換する技術です。
音声の構造と特徴量
- 音韻(Phoneme):言語を構成する最小単位の音(例:「a」「k」「s」など)
- フォルマント周波数(Formant):母音の識別に使われる周波数帯のピーク
→ 人の声の“音色”や“口の形”に対応
音声処理の手順(一般的な流れ)
- 音声信号 → サンプリングで数値化(A-D変換)
- 高速フーリエ変換(FFT)で周波数領域に変換
- フィルタバンクやMFCC(Mel-Frequency Cepstral Coefficient)で特徴抽出
- モデルによる音素認識 → 単語認識 → 文認識
モデルの進化:隠れマルコフモデルから深層学習へ
- 昔の音声認識は、隠れマルコフモデル(HMM)が主流でした。
時系列の音声に対して「状態遷移確率」をもとに最も確からしい音素の系列を推定します。 - 現在は、深層ニューラルネットワーク(DNN)やRNN、Transformer系モデルが主流になっています。
HMMはそのままでは文脈を捉えるのが苦手でしたが、ディープラーニングは長期的な文脈理解にも対応可能です。
3. 音声生成:文字から「音声」を作る技術
音声生成(Text-to-Speech, TTS)は、テキストを自然な音声に変換する技術です。
こちらも日常的に使われる技術になりましたね。
2つの代表的アプローチ
波形接続型TTS(Concatenative TTS)
- 人間の発話を録音して短い単位(音素や音節)に分割し、必要に応じて接続
- 音質は自然だが、録音データの量と多様性に依存
パラメトリックTTS(Parametric TTS)
- 音声の特徴量(音高、スピード、音色など)をパラメータとしてモデル化
- HMMなどを使って、任意のテキストから音声を合成可能
- 調整しやすいが、やや機械的な音になる
4. 最新手法:WaveNetによる高品質音声生成
Google DeepMindが開発したWaveNetは、音声波形そのものを生成するニューラルネットワークモデルです。
- 従来手法より圧倒的に自然な音質を実現
- 深層畳み込みネットワークを使い、音の微細な変化まで学習
WaveNet以降、ニューラルTTS(Neural Text-to-Speech)が主流になり、音声合成の品質が大きく向上しました。
5. 応用例と今後の展望
応用分野 | 内容 |
---|---|
音声アシスタント | Siri、Google Assistant、Alexaなど |
読み上げシステム | 音声ナビ、視覚障がい者支援、電子書籍など |
自動字幕生成 | 会議録・映像字幕、自動文字起こし |
音声翻訳 | 入力音声をそのまま他言語で話す(翻訳+音声生成) |
5-4 生成AI
このセクションでは、画像・音声・テキストなどをAIが“創り出す”技術=生成AI(Generative AI)について解説します。
ディープフェイクから画像生成、さらにはChatGPTのような大規模言語モデルまで、今まさに社会を変えようとしている分野です。
1. 生成AIとは?
生成AI(Generative AI)とは、学習したデータをもとに、新しいデータを創り出す人工知能のことです。
従来のAIは「分類」や「予測」が中心でしたが、生成AIはゼロから何かを“創る”という点で革命的です。
生成されるものは、画像・音声・文章・動画など多岐にわたります。
2. GAN:敵対的生成ネットワーク
GAN(Generative Adversarial Network)
生成モデルの代表格であるGANは、2つのネットワークが競い合いながら学習する仕組みです。
- 生成器(Generator):本物そっくりの偽物を作る
- 識別器(Discriminator):本物か偽物かを見分ける
この2者が対立しながら学ぶことで、リアルなデータを生成できるようになるのです。
GANは良く贋作画家(生成器)と美術鑑定士(識別器)の勝負に例えられます。
贋作画家は「本物そっくりな絵」を描こうと頑張り、鑑定士はそれを見抜こうとします。最初はバレバレでも、だんだん贋作が上手くなり、鑑定士もそれに対抗して目を鍛えていきます。この競争を繰り返すことで、生成器は非常にリアルな画像を生み出せるようになるのです。
まるで、互いに腕を磨き合うライバル関係のような学習方法、それがGANなんですね。
応用例:ディープフェイク
- GANを使って、人間の顔・声をリアルに模倣する技術
- 映像や音声を自在に“捏造”できるため、悪用のリスクと倫理的な課題が強く議論されています
DCGAN(Deep Convolutional GAN)
- GANに畳み込みネットワーク(CNN)を導入して、画像生成の品質を大幅に向上
- アニメ顔や風景の生成にも多用されている基本モデルです
3. 他の生成モデル
VAE(Variational Autoencoder)
- オートエンコーダーを発展させた生成モデル
- 入力データを「確率分布」として学習し、そこからランダムにデータを生成します
- 生成画像はややボヤけますが、潜在空間(latent space)の制御がしやすいという特徴があります
Pix2Pix
- 画像から画像への変換を行う条件付きGAN(Conditional GAN)の一種
- 例:白黒写真 → カラー化、線画 → 着色、地図 → 航空写真
CycleGAN
- 対応ペアがなくても画像変換が可能
- 例:写真 → 絵画、夏の風景 → 冬の風景など
- 教師データのペアが要らないという点が、Pix2Pixとの大きな違いです
4. テキストと画像の融合:CLIPとDALL·E 2
CLIP(Contrastive Language–Image Pretraining)
- 画像とテキストを同じベクトル空間に埋め込むことで、「文章に合う画像を探す」「画像に合う説明を出す」ことが可能に
- OpenAIが開発。自然言語と画像理解の橋渡し役
DALL·E 2
- 「テキストから画像を生成する」モデル
- 例:"A cat wearing a kimono and drinking tea" → 実際にそのような画像を生成
- CLIPとの連携により、意味的に正しい画像生成が可能になっています
5. 生成AIの課題と進化
ハルシネーション(幻覚)
- 生成AIが、事実と異なる内容や存在しない情報を“それらしく”出力する現象
- 特に大規模言語モデル(LLM)で顕著
- 例:「存在しない論文」や「でたらめな統計データ」を生成することがある
RLHF(Reinforcement Learning from Human Feedback)
- 人間のフィードバックを使って、AIの出力をより安全・有用・人間らしくするための強化学習
- ChatGPTなどの会話型AIは、事前学習後にこの手法で調整されます
- これにより、「嘘をつかない」「失礼なことを言わない」などの改善が行われています
5-5 深層強化学習・ロボティクス
このセクションでは、深層強化学習(Deep Reinforcement Learning, DRL)とその応用分野であるロボティクス(ロボット制御)について解説します。
AIが自分の「行動」を試行錯誤しながら学ぶ強化学習と、実世界でモノを動かすロボット技術の融合が、今まさに加速しています。
1. 強化学習と「行動を学ぶ」仕組み
強化学習とは、「報酬」を最大化するように行動を選ぶ学習方法です。
この学習は主に2つの観点から進められます。
行動価値(Value-based)と方策(Policy-based)
種別 | 概要 | 代表的な手法 |
---|---|---|
価値ベース | 状態や状態-行動の価値(Q値)を学習し、方策を導く | Q学習, DQN, SARSA |
方策ベース | 方策(どの行動を取るか)を直接学習する | REINFORCE, Actor-Critic |
両者併用 | 方策と価値の両方を学習 | A3C(Asynchronous Advantage Actor-Critic) |
違いを理解しやすくするために、ゲームの攻略法にたとえて説明しましょう。
Value-basedは、「どの行動がどれだけ得か」を点数で評価して行動を選ぶ方法です。たとえばRPGゲームで「この道具を買えば+30点」「この敵を倒せば+50点」といったように、行動ごとの価値を一覧表(Qテーブル)にして、その中から最も得点が高い行動を選びます。代表的な手法にはQ学習やSARSAがあり、学習が比較的安定しているのが特長です。ただし、行動の種類が多いと扱いが難しくなります。
一方Policy-basedは、「どう行動するか」そのものを直接学習する方法です。たとえば、「敵に出会ったらまず逃げる、その後攻撃」というような方針(Policy)を調整しながら最適化していきます。点数表を作るのではなく、行動の選び方自体を学ぶので、連続的な動作や複雑な環境に向いています。代表的なのは方策勾配法(Policy Gradient)やPPOです。
どちらも一長一短があり、最近では両者を組み合わせたActor-Critic法なども登場しています。目的や環境に応じて使い分けるのが重要です。次はそのハイブリッド手法にも目を向けてみましょう!
2. Q学習とDQN:価値を学ぶ方法
Q学習(Q-Learning)
- Q値(状態行動価値)を学習し、「最も得をする行動」を選ぶ方式
- 目標式:
DQN(Deep Q-Network)
- Q値をニューラルネットワークで近似
- Atariゲームで人間を超えるスコアを達成し、一躍有名に
強化ポイント:
- ε-greedy法:ランダムな行動をεの確率で選び、探索と活用のバランスを取る
- 経験再生(Experience Replay):過去の経験をメモリに保存し、ランダムに学習
- ターゲットネットワーク:学習の安定化のために、別の固定ネットワークでQ値を一時的に保持
3. 方策ベースの手法とActor-Critic
方策ベース:行動選択そのものを学習
- 方策 π(a|s):状態sで行動aを選ぶ確率を直接学ぶ
- 報酬を最大にする「行動方針」を見つけるのが目的
Actor-Critic構造
- Actor:方策(行動)を決定するネットワーク
- Critic:価値(報酬)を評価するネットワーク
- 学習をより安定化・効率化する手法として多く使われます
A3C(Asynchronous Advantage Actor-Critic)
- 複数のエージェントを非同期並列で動かすことで、効率的な探索が可能
- マルチスレッドで並列強化学習を行う代表的手法です
4. オンライン・オフライン強化学習の違い
学習タイプ | 特徴 |
---|---|
オンライン強化学習 | 実際に環境とインタラクションしながら学習 |
オフライン強化学習 | 事前に収集されたデータのみで学習。現場投入前の訓練に有効 |
5. sim2real:仮想世界から現実へ
ロボティクスの実用では、仮想環境で訓練したAIを現実世界に転移する技術が重要です。
これを sim2real(simulation to real) と呼びます。
ドメインランダマイゼーション(Domain Randomization)
- 仮想環境の物理パラメータ(摩擦、光、背景など)をランダム化
- より汎用的なエージェントを育て、現実でも通用するようにする工夫です
6. 応用例:AlphaGoとロボティクス
- AlphaGoは、強化学習+モンテカルロ木探索で人間の囲碁チャンピオンに勝利しました。
- 物理空間への応用としては、ロボットアームの制御、歩行、ドローンの飛行制御などに発展しています。
7. モデルベースとモデルフリー
分類 | 説明 | 長所 | 短所 |
---|---|---|---|
モデルベース | 環境の「遷移モデル」を学習して計画を立てる | 学習が速くサンプル効率が良い | モデル誤差が影響しやすい |
モデルフリー | 遷移モデルを使わず、直接行動と報酬で学ぶ | 実装が簡単で柔軟 | 学習に多くの試行が必要 |
この違いを、冒険の地図を持っているかどうかに例えて説明してみましょう。
モデルベースは、環境のルールや仕組みをあらかじめ知っている、または学習して予測できる方法です。つまり、「この道を進むと敵が出て、その先に宝がある」というように、地図や計画を使って行動を決めます。環境の遷移モデル(状態がどう変わるか)と報酬モデル(どんな報酬が得られるか)を把握しながら、最適な戦略を考えるのが特徴です。少ない試行でも効率的に学べる一方、環境が複雑だとモデルの設計が難しくなります。
対してモデルフリーは、地図なしで体当たりで冒険するタイプです。どの道を通れば宝にたどり着くかは、自分で歩いてみて、経験から学んでいきます。報酬をもとにして、行動の価値や方針を直接学習します。Q学習や方策勾配法などはこちらに分類されます。柔軟性が高く、どんな環境にも使いやすいですが、学習に時間がかかりやすくなります。
要するに、モデルベースは「計画を立てて動くタイプ」、モデルフリーは「経験を重ねて学ぶタイプ」です。
それぞれの特徴を活かした「モデルベース×モデルフリー」の統合手法にも注目してみましょう!
5-6 最新AI技術の比較一覧(2024年以降)
技術名・分野 | 開発機関 | 特徴・進展 | 主な用途・従来との差異 |
---|---|---|---|
Claude 2(NLP) | Anthropic | 10万トークンの長大文脈対応、対話性能向上、安全性強化。 | 書類丸ごとの要約や長文QA。従来モデルより桁違いの「長い記憶」を持つ。 |
Mistral 7B/Mixtral(NLP) | Mistral AI | 小型モデル(7B)が大規模モデル並み性能。Mixtralは8×7BのMoEでGPT3.5級。 | 軽量高速なオープンLLM。従来は不可だった小規模で高性能の両立を実現。 |
SAM(CV) | Meta AI | 何でも切り抜く汎用セグメンテーション。1億件マスクデータでゼロショット対応。 | 画像編集、医療・自動運転などの物体抽出。専門モデル不要の汎用性。 |
DALL·E 3(CV) | OpenAI | テキスト理解力向上で詳細な画像生成。ChatGPT統合で対話的生成。 | コンテンツ制作支援、デザイン。従来比ニュアンス忠実な生成と使いやすさ。 |
GPT-4 Vision(Multi) | OpenAI | 画像入力対応のGPT-4。視覚とテキストの統合推論。 | 画像の内容説明・分析、視覚支援。テキスト専用モデルには不可能だったタスクを実現。 |
SeamlessM4T(Multi) | Meta AI | 音声・テキストの多言語翻訳を単一モデルで実現。 | リアルタイム翻訳、字幕生成。音声とテキストを一括処理(従来は別系統)。 |
AlphaDev(強化学習) | DeepMind | RLでソート算法を発見、標準ライブラリを10年ぶり更新。 | アルゴリズム最適化。RLをゲーム外の実問題へ適用、人的限界を突破。 |
RoboCat(強化学習) | DeepMind | マルチロボット・マルチタスクに1モデルで対応する汎用ロボットAI。 | ロボット操作全般。従来個別チューン不要、少データで新ロボット適応。 |
QLoRA微調整 | Microsoft他 | 4bit量子化+LoRAで大規模モデルを安価高速に微調整。 | 大規模LLMのカスタマイズ。従来必要なGPU資源を大幅節約、高性能維持。 |
MoR(モデル効率化) | KAIST & DeepMind他 | 再帰Transformerでパラメータ共有+適応計算。同等FLOPで精度向上。 | LLM効率化。小モデルで大モデル性能、必要計算を入力毎に調整し高速化。 |
RMT(長文アーキテクチャ) | AIRI (露) 他 | メモリトークンで長距離依存を保持。BERT文脈長を数百万に拡張。 | 長文NLP、ストリーム処理。Transformerの弱点だった長さ制限を克服。 |
次章では、「AI活用の実例と社会実装」を学びます。