G検定単語帳 - ディープラーニングの応用例

AlexNet

画像認識を行う畳み込みニューラルネットワークの一つ。画像認識コンテスト「ILSVRC」の2012年大会で優勝したモデルで、画像認識の主流が従来の機械学習手法から深層学習(ディープラーニング)へ移行する契機となった。

トロント大学のアレックス・クリジェフスキー(Alex Krizhevsky)、イリヤ・サツケバー(Ilya Sutskever)、ジェフェリー・ヒントン(Geoffrey E. Hinton)のチームが考案した。5層の畳み込み層と付随するいくつかのプーリング層、3層の全結合層を組み合わせた8層の畳み込みニューラルネットワーク(CNN)である。当時としては非常に深いネットワークであり、それまで主流だった手法を大きく上回る表現力を備えていた。

技術的な工夫として、活性化関数にReLUを採用し、学習の高速化と勾配消失の緩和が図られた。過学習を防ぐためにネットワークの一部をランダムに無効化するドロップアウトを導入し、大規模データに対する汎化性能が向上している。

膨大なパラメータの計算を高速化するために、3次元グラフィックス演算用のプロセッサであるGPUを複数用いて並列に計算を行う仕組みも組み込まれた。画像データを複数のGPUに分割して処理するアプローチは、その後の大規模なディープラーニング研究における標準的な計算手法の先駆けとなった。

DeepLab

画像認識に用いられるニューラルネットワークの一つで、「拡張畳み込み」手法を導入して高精度なセマンティックセグメンテーションを実現したモデル。

畳み込みニューラルネットワーク(CNN)の畳み込み層に「拡張畳み込み」(atrous convolution)という手法を利用する。これは、フィルターを適用する領域の間に一定の隙間を空けて適用する方式で、計算量を増やさずに受容野(一度に参照できる範囲)を拡大する。画像が持つ詳細な空間情報を維持したまま、物体全体の文脈を効率的に捉えることができる。

後続のバージョンでは、この技術をさらに発展させた「ASPP」(Atrous Spatial Pyramid Pooling)が採用され、複数の異なる間隔を持つ拡張畳み込みを並列に適用することで、多角的なスケールから物体の特徴を抽出することができる。

また、初期のDeepLabでは「条件付き確率場」(CRF:Conditional Random Field)という後処理技術を組み合わせ、画素ごとの分類結果を周囲との連続性を考慮して補正していた。従来のモデルが苦手としていた複雑な物体の境界線を鮮明に描画することができた。後のモデルではネットワーク内部での表現強化で同様の性能を発揮している。

最初のバージョンは米グーグル(Google)が2016年に発表し、以後活発に改良や派生モデルの開発が行われている。画像内の小さな物体から大きな背景までを同時に高い解像度で認識できるため、同社のスマートフォンのポートレートモードにおける背景ぼかしに用いられているほか、自動運転や衛星写真の解析など高精度な解析を必要とする様々な用途に応用されている。

DenseNet

画像認識を行う畳み込みニューラルネットワークの一つ。各層がそれ以前のすべての層と直接結合される密な接続構造を持つモデルで、特徴再利用と効率的な学習を可能とする。

従来の畳み込みニューラルネットワーク(CNN)では、層は主に直前の層の出力のみを入力として受け取る。このような単純な構想では、層が深くなるにつれて入力画像が持つ重要な情報が消失したり、学習時の勾配が伝わりにくくなったりする課題があった。

DenseNetは、「高密度ブロック」(Dense Block)という各層が密に接続されたブロックと、特徴マップのサイズを縮小して計算コストを抑える「遷移層」(Transition Layer)の組み合わせで構成される。ブロックの前後には、残差ネットワーク(ResNet)のようにブロックを飛ばして前後の層を直に繋ぐスキップ接続がある。スキップ接続は先々の各ブロックの後に向けて複数用意される。

各ブロックの内部では、各層がそれまでに生成されたすべての特徴マップを結合したものを入力として用いる。各層は前方の層が抽出した特徴を再利用することが可能となり、ネットワーク全体で特徴量を共有することができる。層ごとのフィルタ数を大幅に抑えることができ、他のモデルよりも少ないパラメータ数で高い精度を実現できる。

ブロック内では、層を重ねるごとに特徴マップがチャンネル方向に積み上がっていくが、各層が追加する特徴マップの数を「成長率」というハイパーパラメータで制御する。この値を上下させることでパラメータ数の爆発を抑え、モデルの複雑さを抑制する。

EfficientNet

画像認識を行う畳み込みニューラルネットワークの一つ。米グーグル(Google)社が2019年に発表したモデルで、複合スケーリングという新しい手法を導入し、限られた計算資源で高い性能を引き出すことができる。

従来の畳み込みニューラルネットワーク(CNN)では、精度向上のためにネットワークを単純に深く、あるいは幅広くすることが一般的だったが、これに伴い計算量やパラメータ数が急増する問題があった。EfficientNetでは、深さ、幅、入力解像度という三つの要素を同時にバランスよく拡張する「複合スケーリング」と呼ばれる手法を導入した。

これら三つの要素は互いに依存しており、単一の要素だけを極端に強化しても効率的な性能向上には繋がらない。複合スケーリング手法では、三つの要素を一定の比率でバランスよく同時に拡大する「複合係数」(compound coefficient)を導入し、限られた計算資源の中で最も効率的に性能を高める拡張比率を事前に決定してからモデル構築に取り掛かる。

モデルの基本的な構造には、先行して開発された「MobileNet」および「MnasNet」で得られた知見が引き継がれている。これらはモバイル環境向けに軽量で効率性を重視した方式で、「深さ単位分離可能畳み込み」(Depthwise Separable Convolution)やボトルネック構造などの要素が受け継がれている。モデルの規模に応じて、最小のEfficientNet-B0から最大のB7まで、用途に応じた複数のバリエーションが提供されている。

Fast R-CNN

畳み込みニューラルネットワークを用いて物体検出を行うR-CNNを改良したモデルの一つ。画像全体に対して一度だけ畳み込み処理を行うことで、重複する計算を排除し、学習と推論の両方で高速化を実現した。

元になったR-CNNは、畳み込みニューラルネットワーク(CNN)を用いて画像に写っている物体の種類と位置を特定するモデルである。物体が存在する位置の候補領域(RoI:Regions of Interest)を生成し、そのそれぞれについてCNNによる畳み込み処理を行い、物体の種類の推定を行っていた。この処理は非常に計算コストが重く、時間がかかるのが難点だった。

Fast R-CNNでは、まず画像全体をCNNに入力して一つの特徴マップを作成する。その後、候補領域をこの特徴マップ上に投影し、「RoIプーリング」と呼ばれる手法を用いて各領域から固定長の特徴量を抽出する。候補領域は2000個にも及ぶ場合があり、重たい畳み込み計算を共通化することで処理時間を劇的に短縮することに成功した。

R-CNNでは物体を検出した後、分類にはSVMを、位置の補正には回帰モデルを個別に適用していたが、Fast R-CNNではマルチタスク学習の手法を応用し、この二つの機能もニューラルネットワーク内に統合している。学習を一段階で行うことができ、精度の向上や高速化に寄与している。領域提案だけは独自のアルゴリズムで行う必要があるが、これも後継の「Faster R-CNN」ではネットワーク内に統合されている。

Faster R-CNN

畳み込みニューラルネットワークを用いて物体検出を行うR-CNNを改良したモデルの一つ。すべての処理を単一のニューラルネットワークで処理することで、学習と推論の両方で高速化を実現した。

元になったR-CNNは、畳み込みニューラルネットワーク(CNN)を用いて画像に写っている物体の種類と位置を特定するモデルである。物体が存在する位置の領域提案、各領域からの特徴量の抽出、物体のクラス分類と位置補正という三段階に分かれており、中間の特徴量の抽出にCNNを用いていた。

後継の「Fast R-CNN」では、特徴量の抽出を画像全体に対して一度だけ適用し、クラス分類と位置補正も同じCNNに統合するマルチタスク学習を行うことで、劇的な効率化と高速化を達成したが、領域提案だけは「選択的検索法」(selective search)など外部のアルゴリズムに頼っていた。

Faster R-CNNでは領域提案も統合するため、「RPN」(Region Proposal Network)と呼ばれる小規模なネットワークを導入し、この処理を学習可能な形でネットワーク内部に組み込んだ。RPNでは特徴マップ上をスライドしながら、あらかじめ定義された複数の「アンカーボックス」と呼ばれる基準枠に対して、物体の有無と位置補正量を同時に予測する。

物体検出に必要なすべての工程が一つのネットワークとして構築されているため、学習の効率も非常に高い。Faster R-CNNによって深層学習を用いた物体検出は速度と精度の両面で実用水準に到達し、自動運転や防犯システムなど様々な分野への応用が進んだ。

FCN

画像認識などに用いられるニューラルネットワークの構造の一つで、全結合層を用意せずに畳み込み層のみで構成されたもの。画素単位で被写体への帰属を決定する画像セグメンテーションなどのタスクに利用される。

一般的な画像分類モデルは畳み込みニューラルネットワーク(CNN)を利用することが多いが、畳み込み層の後の終盤に全結合層を持つ。FCNはこの全結合層を廃して1×1の畳み込みを行う畳み込み層から最終的な出力を得る。

前半の畳み込み層の挙動は通常のCNNと同様だが、モデルの後半で、抽出された低解像度の特徴マップを元の入力画像と同じサイズまで拡大する「アップサンプリング」という処理を行い、各画素ごとにクラス分類の結果を割り当てる。

この仕組みにより、画像の中に何が写っているかだけでなく、それがどこに、どのような形状で存在しているかを詳細に把握できるようになった。画素単位で何が写っているのか正確に特定するタスクを「セマンティックセグメンテーション」(semantic segmentation)と呼び、医用画像の解剖学的構造の把握や自動運転における周囲の状況把握など、状況を精密に認識する必要のある分野に応用されている。

FPN

ニューラルネットワークの構造の一つで、画像中の異なる大きさの物体を効率よく検出するための手法。畳み込み層が持つ階層構造を利用して、解像度と情報の豊かさを両立させた特徴マップを生成することができる。

画像認識などに用いられる畳み込みニューラルネットワーク(CNN)では、層が深くなるにつれて空間解像度は低下する一方、意味的に抽象度の高い特徴が得られるという性質がある。浅い層は小さな物体の位置情報を保持しやすく、深い層は物体の種類を識別する能力に優れるが、単一の層だけでは様々なスケールの物体を扱うことが難しかった。

FPNでは通常の解像度が下がっていく「ボトムアップ」の経路に加えて、深い層の情報を元の解像度側へ引き戻す「トップダウン」の経路を導入し、対応する層同士を横方向の接続によって結合する。ネットワーク内部に特徴マップのピラミッド構造(特徴ピラミッド)を構築し、サイズの異なる物体をそれぞれの大きさに適した階層の特徴マップで検出する。

生成された各スケールの特徴マップは、物体検出やセグメンテーションなどの下流タスクに利用され、特に小さな物体の検出精度の向上に寄与するとされる。Faster R-CNNやMask R-CNNなどの既存のモデルと組み合わせて利用することが可能であり、標準的な手法の一つとして広く採用されている。

GoogLeNet

画像認識を行う畳み込みニューラルネットワークの一つ。画像認識コンテスト「ILSVRC」の2014年大会で優勝したモデルで、「Inception」(インセプション)と呼ばれる独自の構造を導入したことで知られる。

大きな特徴としてネットワーク内部にInceptionという独特なモジュールを組み込んでいる。これは、異なるサイズの畳み込みやプーリングを並列に配置し、それらの出力を結合する構造である。従来のモデルは層を直列に積み重ねるのが一般的だったが、GoogLeNetは一つの層の中で異なるサイズのフィルターを同時に適用することで画像内の多様な大きさの特徴を効率的に捉えることできる。

GoogLeNetは初期のモデルが22層と当時としては非常に深いネットワークである一方、全結合層をほとんど使用せず、グローバル平均プーリング(GAP)を採用している点も特徴である。これにより、過学習の抑制とモデルの軽量化が図られている。また、計算効率をさらに高めるために1×1のフィルタによる畳み込みを活用し、データの次元削減を行っている。

米グーグル(Google)社のチームが考案したモデルで、先行する「LeNet」を同社が改良したことにちなんだ命名である。名称は後に「Inception v1」に改められ、2017年の「Inception v4」までInception系モデルの改良が続いた。ネットワーク設計における効率性と表現力の両立という考え方を定着させる先駆けとなったモデルとして評価されている。

Mask R-CNN

畳み込みニューラルネットワークを用いて物体検出を行うR-CNNを改良したモデルの一つ。画像中の物体を検出すると同時に、各物体の領域を画素単位で推定する「インスタンスセグメンテーション」を同時に実行することができる。

R-CNNの派生モデルである「Faster R-CNN」を基盤として拡張されたモデルである。まず、畳み込みニューラルネットワーク(CNN)により画像全体から特徴マップを抽出し、RPN(Region Proposal Network)と呼ばれる小規模ネットワークによって物体候補領域が生成される。

各候補領域に対して物体の識別(分類)とバウンディングボックス回帰による位置の調整を行う点はFaster R-CNNと共通しているが、Mask R-CNNではこれに加えて各物体のマスクを予測する分岐が追加されている。この分岐では、候補領域ごとに小さな畳み込みネットワークを適用し、物体内部の画素を二値的に分類する。マスクデータは特定の対象の正確な切り抜きや輪郭抽出などに利用できる。

特徴的な技術として、「RoI Align」と呼ばれる領域特徴の抽出手法がある。Faster R-CNNの「RoIプーリング」では量子化誤差が生じやすく、画素レベルの精度が求められるマスク推定には不利であった。RoI Alignでは、特徴マップ上の座標を小数点以下の精度で扱う。補間によって正確な位置合わせを行うことで、空間的なズレを抑えて境界の滑らかなマスク推定を行う。

Mask R-CNNは、一つのモデルで分類、位置推定、マスク推定という複数のタスクを同時に学習することができ、マルチタスク学習の成功例の一つとしてもよく知られている。写真から特定の人物だけを切り抜く処理や、医療画像における腫瘍の正確な輪郭抽出など、精密な画像解析が必要な用途に応用することができる。

MnasNet

モバイル端末など計算資源が限られた環境向けに最適化された画像認識モデルの一つ。ニューラルアーキテクチャ検索(NAS)により、人間ではなくAIが自動的にネットワーク構造を設計したもの。

従来のニューラルネットワーク設計では、人手による試行錯誤で層構成やハイパーパラメータを決定することが一般的だったが、MnasNetでは「ニューラルアーキテクチャ探索」(NAS:Neural Architecture Search)と呼ばれる機械学習による探索プロセスを用いて、限られた計算資源のシステムに適したネットワークの構造を決定した。

モデルの設計過程では、計算上の理論的な指標だけでなく、実際の端末上での実行速度を直接的な評価指標に取り入れている。通常のNASでは精度や計算量など一般的な指標に基づいて最適化を進めるが、MnasNetでは特定のハードウェア上での実際の動作速度を報酬としてフィードバックする強化学習を行うことで、精度を維持しながら高速に動作する構造を見出すことができた。

ネットワークの構造面では、層ごとに異なる構造を許容する「階層的探索空間」を導入し、初期層と深い層でそれぞれ最適な処理を選択することが可能になった。計算コストを抑えつつ高い表現力を発揮する「深さ単位分離可能畳み込み」(Depthwise Separable Convolution)をベースに、層ごとに最適なカーネルサイズやチャネル数を自動的に調整している。

MobileNet

畳み込みニューラルネットワークの一つで、計算量とモデルサイズを抑えることを主眼に設計された軽量なモデル。スマートフォンや組み込み機器などの計算資源が限られた環境での動作を想定している。

一般的な畳み込みニューラルネットワーク(CNN)では、空間方向とチャネル方向の畳み込みを同時に行うため、計算量とパラメータ数が大きくなりやすい。MobileNetでは、この処理を分解した「深さ単位分離可能畳み込み」(Depthwise Separable Convolution)と呼ばれる手法を採用している。

これは、各入力チャネルごとに独立した空間畳み込みを行う「深さ単位畳み込み」(Depthwise Convolution)と、それらを線形結合する「点単位畳み込み」(Pointwise Convolution)から構成される。畳み込み処理をこの二段階に分解することにより、通常の畳み込みと比べて大幅に計算量と重み数を削減できる。

MobileNetには複数の派生が存在する。初期のモデルでは規模を柔軟に調整するためのハイパーパラメータとして「幅係数」と「解像度係数」が導入され、モデルの大きさや計算量を用途に応じて調整できる設計が取られている。後続のMobileNet v2では、「線形ボトルネック」や「反転残差ブロック」が導入され、表現力と効率性の両立が図られた。

NAS

ニューラルネットワークの最適な構造を、機械学習を用いて自動的に設計する手法。層の種類や数、接続方法といった膨大な選択肢の中から、特定のタスクに対して最も高い性能を発揮する構成をAIが自ら探索し、発見する。

従来の深層学習では、ネットワークの層構成や接続方法は専門家の経験や試行錯誤に依存しており、多大な労力と時間を要していた。NASでは、この設計作業そのものを最適化問題として定式化し、探索アルゴリズムによってネットワーク構造を自動生成する。

ニューラルアーキテクチャ探索は一般に、「探索空間」(search space)、「探索戦略」(search strategy)、「性能推定戦略」(performance estimate strategy)の三要素から構成される。探索空間は、畳み込み層や活性化関数、接続様式などの候補集合を定義したものである。探索戦略は、強化学習や進化的アルゴリズム、勾配降下法などを用いて探索空間内から有望な構造を効率的に選出する。評価戦略は、構築されたモデルの性能を推定する。

すべての候補を最初から最後まで学習させると莫大な計算資源が必要になるため、近年では学習の一部を省略したり、以前の学習結果を再利用する手法なども考案されている。汎用的なモデルだけでなく、特定のハードウェアに最適化された軽量なモデルの設計にも応用されている。NASを含む、機械学習モデルの構築プロセス全体を自動化する仕組みを「AutoML」と総称する。

OpenPose

画像や動画に写っている人物の姿勢を推定するソフトウェア。複数の人物を同時に、リアルタイムに解析することができる。オープンソースのライブラリとして提供されており、他のソフトウェアに組み込んで姿勢推定の機能を追加することができる。

カーネギーメロン大学の研究チームが開発したもので、ディープラーニング(深層学習)を応用した機械学習モデルである。特別なセンサーを用いず一般的なカメラ映像のみで、全身、頭部、手の指に至るまでの関節位置を高精度に特定、追跡することができる。

複数の人物が写っている場合に、画像内のすべての関節を先に検出し、後からそれらを一人ずつ繋ぎ合わせる「ボトムアップ方式」を採用している。トップダウン型手法のように人物検出結果に依存しないため、人物数の増加に対して比較的安定した処理が可能である。

畳み込みニューラルネットワーク(CNN)を用いて、各関節の存在位置の確率を表すヒートマップと、関節同士の対応関係を示す「PAFs」(Part Affinity Fields)と呼ばれるベクトル場を同時に推定する。これは単に関節の位置を特定するだけでなく、どの関節とどの関節が繋がっているかという「接続の方向と強さ」をベクトル場として予測する仕組みである。

PAFsのベクトル方向に沿って矛盾なく繋がるペアを数学的に選択し、個人の骨格として組み立てていくという手法を採用しており、画像内に多くの人物が入り乱れていたり、身体の一部が重なり合っていたりする複雑な状況下でも、計算量を抑えつつ正確に各個人のポーズを復元することができる。

OpenPoseはスポーツの動作解析やリハビリの支援、防犯カメラによる行動検知など、人間の姿勢や動作の解析が必要な分野で広く活用されている。また、ライブラリとして他のシステムに組み込んで使用できることから、近年では画像生成AIで人物画を生成する際に特定のポーズを指定するための補助ツールとしても広く普及している。

PSPNet

画像認識に用いられるニューラルネットワークの一つで、画像の文脈情報を広範囲に捉えることで、高精度なセマンティックセグメンテーションを実現するモデル。「ピラミッドプーリング」と呼ばれる特殊な情報集約の手法を用いる。

従来の畳み込みニューラルネットワーク(CNN)では、画像の一部分のみを見てクラスを判定しようとするため、例えば、水面の上の物体がボートなのか車なのかといった、周囲の状況に依存する判断で誤りが発生しやすかった。PSPNetは局所的な特徴だけでなく画像全体の構造や物体間の関係を捉えて誤認識を緩和する。

基盤となるネットワークとしてResNetなどのCNNが利用し、特徴抽出後にピラミッドプーリングモジュールが適用される。これは1×1、3×3、6×6など異なるサイズの領域でプーリングを行い、広域から局所まで複数の受容野を持つ特徴表現を生成する。

このピラミッド構造によって得られた様々なスケールの特徴マップは、最終的に元の特徴マップと結合される。これにより、モデルは画像全体を俯瞰した「マクロな視点」と、物体の細部を見る「ミクロな視点」を同時に保持したまま、各画素のクラスを予測することができる。

PSPNetは他のモデルに比べシーン全体の理解を重視する設計となっているため、都市景観の解析や屋内環境の認識など、多様な物体が混在する複雑な画像において特に高い認識精度を発揮するとされる。文脈理解が必要となる画像セグメンテーション用途で応用されている。

ResNet

極めて深いニューラルネットワークで生じる問題を緩和するために「残差学習」という考え方を採用したネットワーク構造。ある層の出力を何層か先に直接伝達する「スキップ結合」を導入し、数十層や百層を超えるネットワークを構築できるようになった。

ニューラルネットワークでは、出力層から入力層に向けて予測と正解の誤差の微分値(勾配)を一層ずつ順に伝播させるが、層を通過するごとに勾配の値が小さくなり、初期層の学習が停滞する「勾配消失問題」が生じることがある。従来の深層ニューラルネットワーク(DNN)では層を増やすほどこの問題が起きやすく、表現力の向上が頭打ちになる課題があった。

ResNetはこの問題に対処するため、数層(2~3層)を束ねた「残差ブロック」を基本単位に設計される。各ブロックは上層からの入力を受け取って各層を順番に通過する通常の結合の他に、ブロック全体をスキップして出力に直接繋がった「スキップ結合」(残差接続)が用意される。

各残差ブロックの出力は、ブロック内の各層を通過して得られた通常の出力値に、スキップ結合で伝達されたブロック自体への入力を足し合わせて決定される。これにより、各ブロックは入力と出力の差分である残差のみを学習するように設計される。

学習時に出力層から誤差を伝播させる際には、各ブロック内部への通常の逆伝播と共に、スキップ接続を通ってブロックを迂回して直接上層へ勾配が伝達される経路が形成される。これにより、各層による勾配の減衰が緩和され、数十層を超える極めて深いネットワークでも勾配が初期層まで伝わるようになる。

オリジナルのResNetは2015年に提唱され、画像分類タスクで極めて良好は成績を収めて注目を集めた。スキップ結合の考え方は様々なモデルに応用されており、LSTM、Transformer、AlphaGo Zeroなど様々なモデルの基本構造の一つとして組み込まれている。

SegNet

エンコーダとデコーダから成る畳み込みニューラルネットワークの一つで、画像を解析して画素単位で何が写っているか把握するセマンティックセグメンテーションを行うためのモデル。メモリ効率の良さと境界部分の認識精度の高さで知られる。

入力画像と同じサイズの出力を得るエンコーダ・デコーダ型のニューラルネットワークで、前半のエンコーダ部はVGG系ネットワークを基にした畳み込み層とプーリング層で構成され、入力画像から高次の特徴表現を抽出する。後半のデコーダ部では、抽出された低解像度の特徴マップを元の画像サイズに復元する。

その際、プーリング時に最大値をとった位置を記憶しておく「プーリングインデックス」という仕組みを導入し、記憶された位置情報に基づいて画素を配置すること。物体の輪郭や詳細な形状を低コストかつ正確に復元することができる。最終段では、復元された特徴マップに対して畳み込みを適用し、各画素ごとに帰属するクラス(物体の種類)の確率を算出する。

SegNetはセマンティックセグメンテーションを限られたメモリ容量でも高速に実行できるため、撮影した動画をリアルタイムにセグメンテーションする用途にも適用できる。自動運転における道路状況の把握やロボット制御における視覚システムなどに適しているとされる。

SENet

画像認識を行う畳み込みニューラルネットワークの一つ。画像のチャネル間の関係性に注目し、重要な特徴を強調して不要な情報を抑制する仕組みを導入したモデル。既存のモデルに容易に追加できる汎用性の高い仕組みである。

従来の畳み込みニューラルネットワーク(CNN)は、空間的な情報の抽出には長けていたが、各画素の赤・青・緑といったチャネルが持つ情報の重要度については一律に扱っていた。SENetでは、“Squeeze-and-Excitation” と呼ばれる一種の注意機構(Attention:アテンション)を組み込み、チャネルごとの重要度を学習によって調整する。

まず「Squeeze」(絞り出し)段階では、空間方向に対するグローバル平均プーリング(GAP)を用いて各チャネルを単一の統計量に要約し、特徴マップ全体の情報を集約する。次に「Excitation」(興奮)段階では、この要約情報を全結合層を含む小規模なネットワークに入力し、チャネルごとの重みを算出する。

得られた重みは0から1の範囲で出力され、元の特徴マップに乗算される。これにより、重要なチャネルは強調され、寄与の小さいチャネルは抑制される。この処理は畳み込み演算そのものを変更するものではなく、既存のResNetやInception(GoogLeNet)といった多様なネットワーク構造に「SEブロック」として容易に組み込むことができる。ネットワークの深さや幅だけでなく、チャネル間のセルフアテンション(Self-Attention:自己注意機構)という新たな設計視点を確立した。

SSD

畳み込みニューラルネットワークの一つで、画像中の物体検出を一度の処理で行うモデル。複数のサイズの特徴マップを利用することで、先行する一段階手法の弱点であった小物体への検出精度を向上させた。

従来のR-CNN系列の手法では、物体検出を「領域提案」と「分類」の二段階に分けて行っていたが、Single Shot MultiBox Detectorは単一のニューラルネットワークですべての処理を完結する。異なる解像度の特徴マップを利用することで、様々な大きさの物体に対応できる設計となっている。浅い層の高解像度の特徴は小さな物体の検出に、深い層の低解像度の特徴は大きな物体の検出に適している。

また、各特徴マップの各位置に「デフォルトボックス」と呼ばれる、あらかじめ設定された複数のアスペクト比を持つ枠を配置する。ネットワークはこの枠と実際の物体の位置(バウンディングボックス)のズレを修正する回帰処理と、枠内の物体がどのクラスに属するかを判定する分類処理を同時に実行する。

他にも、全結合層を排除して畳み込み層のみで構成することでパラメータ数を抑え、推論は一回の前向き計算で完結させるなど、計算効率と高速性を高める様々な工夫が見られる。YOLOと並ぶ一段階手法の代表的なモデルの一つであり、監視カメラや自動運転などリアルタイム性が求められる分野で広く応用されている。

U-Net

エンコーダとデコーダから成る畳み込みニューラルネットワークの一つで、画像を画素単位で何が写っているか把握するセマンティックセグメンテーションを行うためのモデル。エンコーダとデコーダを対称に配置し、対応する層同士を結合する構造を持つ。

入力画像と同じサイズの出力を得るエンコーダ・デコーダ型のニューラルネットワークで、前半のエンコーダ部では、畳み込みとプーリングを繰り返すことで画像の空間解像度を下げつつ抽象的な特徴を抽出する。後半のデコーダ部ではアップサンプリングや転置畳み込みを用いて解像度を回復し、画素ごとの予測を行う。

その際、エンコーダの各段階で得られた特徴マップをデコーダの対応する段階に結合するスキップ接続を利用する。この結合により、位置情報を含む低レベル特徴と意味情報を持つ高レベル特徴が統合され、物体の境界を明確に捉えやすくなる。

もともと医用画像の解析のために考案されたモデルで、U字型のネットワーク構造に由来して「U-Net」と呼ばれ、派生モデルも多数提案されている。少量の学習データでも高精度なセグメンテーションが可能とされ、医療分野に限らず、衛星画像の解析や画像生成AIの内部構造の一部としても利用されている。

VGG

画像認識を行う畳み込みニューラルネットワークの一つ。画像認識コンテスト「ILSVRC」の2014年大会で準優勝したモデルで、シンプルな設計ながら深く層を重ねて高い精度を達成し、数多くの派生モデルを生み出した。

英オックスフォード大学のVisual Geometry Groupが考案したモデルで、グループ名がそのままモデル名となっている。3×3という一種類の小さなフィルタのみを用いる畳み込みニューラルネットワーク(CNN)で、これを何層も深く重ねる構成となっている。小さなフィルタを重ねることで大きなフィルタと同じ受容野を確保しながら、より複雑な特徴を抽出できる。

初期に提案されたのは畳み込み層13層と付随するプーリング層、3層の全結合層で16層の「VGG16」だが、後に19層に拡張した「VGG19」などの派生モデルも提案された。構造が単純で規則的であるため、プログラムでの実装が容易であり、画像から汎用的な特徴を抽出するためのベースモデルとして長らく標準的に利用されてきた。一方、全結合層を含めたパラメータ数が非常に多く、計算量やメモリ消費が大きい難点がある。

Vision Transformer

画像認識に用いられるニューラルネットワークの一つで、自然言語処理で用いられてきたTransformer構造を画像認識へ応用したモデル。畳み込みを用いずに自己注意機構によって画像全体の大局的な関係性を学習する。

従来の画像認識では畳み込みニューラルネットワーク(CNN)が主流であったが、ViTでは画像を正方形の小さな領域であるパッチに分割し、それぞれ一次元のベクトルに変換する。これを位置情報を表す位置埋め込みとともにTransformerエンコーダへ入力する。画像は単語列に類似した形式で扱われ、セルフアテンション(Self-Attention:自己注意機構)によってパッチ間の関係性が直接モデル化される。

CNNが局所的な特徴から徐々に全体を把握していくのに対し、ViTはネットワークの初期段階から画像全体の情報の依存関係を捉えることができる。畳み込み層のフィルタ(カーネル)のような局所的な受容野に制約されないため、離れた位置にある特徴同士の関係も捉えやすい。

一方、CNNには画像特有の性質である「近接する画素同士の関連性が強い」というバイアスが構造的に組み込まれているが、Transformerにはそのような前提がない。小規模なデータセットでは十分な精度を得ることができない場合があり、精度向上のためには大規模な学習データや事前学習が重要となる。

Wide ResNet

画像認識を行う畳み込みニューラルネットワークの一つ。残差ネットワーク(ResNet)を改良し、層を深くする代わりに各層の幅を広げることで表現力と学習効率の向上を図ったモデルである。

元になった「ResNet」は、深いニューラルネットワークでは入力側に近い層に正解からの誤差がほとんど伝達されなくなる「勾配消失問題」を緩和している。数層(2~3層)を束ねた「残差ブロック」と、このブロックを飛ばして先の層に接続された「スキップ結合」を導入し、誤差を効率的に入力側の層に伝達することができる。

ResNetでは層数を増やすと計算コストの重さの割には性能が上がらなくなっていく課題があったが、Wide ResNetではネットワークの深さを抑えつつ、畳み込み層のチャネル数を増やす設計を採用している。一層あたりの表現能力を高め、全体として十分な性能を確保することを目指している。

具体的には、ResNetで用いられる残差ブロックの構造を保ったまま、チャネル数に拡張係数を掛けることで幅を調整する。深さより幅を優先することでGPUによる並列計算の恩恵を受けやすくなり、学習や推論の高速化を図ることができる。また、過学習を抑制するため、残差ブロック内の重要性の低い接続をカットするドロップアウトを導入し、汎化性能を高めている。

YOLO

畳み込みニューラルネットワークの一つで、画像中の物体検出を一度の処理で行うモデル。処理速度が極めて速く、リアルタイムでの物体検出に適している。

従来のR-CNN系列の手法では、物体検出を「領域提案」と「分類」の二段階に分けて行っていたが、YOLOは物体検出を単一の回帰問題として定式化した。入力画像を一定数のグリッド(マス目)に分割し、各グリッドがその領域内に存在する物体の位置、サイズ、信頼度、クラス確率を同時に予測する。画像全体を一度ネットワークに通すだけで検出結果を得ることができる。

GPUを用いた並列計算と組み合わせることで非常に高いフレームレート(1秒あたりの処理枚数)を達成し、撮影した画像をリアルタイムに処理する用途に適している。推論速度が高速なだけでなく、画像全体のコンテキストを考慮した推論を行うため、背景と物体を誤認しにくいという利点もある。

初期のYOLOは小さな物体や密集した物体の検出精度に課題があるとされていたが、後継の改良版ではネットワーク構造や学習手法の改善が進められ、精度と汎用性が向上している。監視カメラ映像の解析や自動運転支援など、高速性が求められる場面で広く利用されている。

一般物体認識

画像に含まれる物体が何であるかを判別する物体認識のうち、特定の用途や対象に限定せず一般的な物体の種類を識別するタスクのこと。

コンピュータに画像データを与えて解析させ、写っている物体を答えさせるタスクを「物体認識」(object recognition)あるいは「物体識別」(object identification)という。一般物体認識はこのうち、一般名詞で表されるような概念を表す学習データを機械学習システムに与え、人間、犬、車といったように写っている物体の種類を答えさせる。

日常環境に存在する様々な種類の物体に対応できるよう、大規模な学習データが必要となる。髪型や服装が違っていても同じ「人間」に分類したり、犬種が違っていても同じ「犬」に分類できるよう、抽象的な特徴を抽出して学習する仕組みが求められる。また、様々な向きや大きさ、照明条件、一部が隠れて見えない状況でも識別できるよう、多様な学習データが必要になる。

近年の研究では、深層学習、とりわけ畳み込みニューラルネットワーク(CNN)の応用が進展し、大規模な画像データセットを用いた教師あり学習により、物体の形状や質感、文脈情報を階層的に獲得することが可能となった。一方、車の画像から車種を同定するといった、あらかじめデータベースなどに登録された物体を照会して一致するものを答える物体認識タスクは「特定物体認識」という。

インスタンスセグメンテーション

コンピュータによる画像認識の手法の一つで、画像内の個々の物体を検出し、その境界を画素単位で特定すること。物体検出と画像セグメンテーションを統合したタスクで、自動運転や医用画像解析、ロボット制御など物体の正確な形状把握が求められる分野で応用されている。

画像認識の手法のうち、画像に含まれる個々の物体の種類と位置を特定することを「物体検出」(object detection)、画像上での物体の境界を画素(ピクセル)単位で特定することを「画像セグメンテーション」(image segmentation)という。インスタンスセグメンテーションは両者を合わせて実行し、画像に何が写っているかを特定し、各々の占める領域を画素単位で特定する。

インスタンスセグメンテーションでは、同じ分類(クラス)の対象が複数写っている場合、これを個体(インスタンス)単位で識別して別々の物体として特定する。例えば、道路に複数の歩行者がいる場合、類似タスクの「セマンティックセグメンテーション」(semantic segmentation)ではすべての歩行者を一つの塊として認識するが、インスタンスセグメンテーションでは一人一人を独立した物体として切り分け、それぞれのシルエットを正確に描くことができる。

このタスクを実現するため、物体検出によって得られた候補領域ごとに詳細な領域推定を行う手法や、検出と分割を同時に学習する統合的な手法が提案されている。代表的なモデルには「Mask R-CNN」があり、畳み込みニューラルネットワークを用いて特徴を抽出し、各インスタンスに対応するマスクを生成する。

姿勢推定

画像や動画、センサデータから人間や動物、物体の関節位置や向きを推定し、全体の姿勢を数値的に表現する技術。姿勢や動作をデジタルデータとして取り込み、様々な形で活用することができる。

主に人間の骨格構造を対象として、頭部や胴体、手足などのパーツやそれぞれが結合する関節を検出し、それらの相対位置関係から姿勢を表現する。画像を用いる場合、畳み込みニューラルネットワーク(CNN)によって関節位置を直接回帰する手法や、各関節の存在確率を示すヒートマップを推定する手法が用いられる。

一枚の画像の上で関節などの位置を特定することを「2次元姿勢推定」、奥行きの情報を加えて実際の空間内での立体的な姿勢を特定することを「3次元姿勢推定」という。一枚の画像のみから正確な3次元推定を行うことは難しく、同時に撮影した複数のカメラの画像や深度センサの情報を組み合わせる必要がある。

画像に複数の人物が写っている場合、画像内の個々の人物をまず検出し、その後に各人の関節位置を特定する手法を「トップダウン方式」、画像内のすべての関節を先に検出し、それらが誰の部位であるかを関連付けて統合する手法を「ボトムアップ方式」という。前者は精度が高い一方で人数が増えると処理時間が増大し、後者は多人数が入り乱れる状況でも計算量が安定するという特徴がある。

姿勢推定は動作認識や歩容認証、スポーツの動作解析、医療やリハビリテーション、機械やコンピュータの操作(ヒューマンインターフェース)、モーションキャプチャによる映像制作など幅広い分野で利用されている。近年は深層学習の発展により複雑な姿勢や遮蔽を含む状況への対応が進んでいる。近年では深層学習の発展により、背景が複雑な場所や、身体の一部が他の物体に隠れている状況下でも、高い精度で姿勢を特定できる手法が開発されている。

セマンティックセグメンテーション

コンピュータによる画像認識の手法の一つで、画像中の各画素に対して意味的な分類(クラス)を特定すること。画像全体を画素単位で正確に分割し、物体の形や境界を厳密に特定することが可能になる。自動運転における空間把握や医用画像の解剖学的構造の把握などに応用される。

画像認識には物体認識や物体検出などのタスクがあるが、セマンティックセグメンテーションは画素単位という最も細かい粒度な被写体を理解する手法である。例えば、道路、建物、人、空といったクラスを定義し、画像中のすべての画素をいずれかのクラスに分類する。同一クラスに属する複数の物体が存在する場合でも、それらは区別されずまとめて扱われる。物体の種類や領域構成を把握することに重点が置かれる。

技術的な仕組みとしては、深層学習を用いたエンコーダ・デコーダ構造が一般的である。まず、畳み込み層によって画像から重要な特徴を抽出し(エンコード)、その後に縮小された情報を元の画像サイズに復元する(デコード)という工程によって、画素ごとの分類結果を出力する。代表的なモデルとしてU-NetやDeepLabなどがよく知られている。

セマンティックセグメンテーションでは個体の識別と分離は行わないため、密な群衆の画像は人間を一つの塊として塗り分ける。一方、物体検知と画像セグメンテーション手法を組み合わせ、同じクラスの個体(インスタンス)を識別してそれぞれ別の物体として出力するタスクは「インスタンスセグメンテーション」(instance segmentation)という。

物体検出

画像や動画をコンピュータで解析し、その中に写っている物体の種類と位置を特定する技術。コンピュータビジョン(CV)における代表的なタスクの一つ。

物体検出は「どこに」「何が」「いくつ」存在するかを判別して答えるタスクである。まず、物体の位置を特定する「位置特定」を行い、物体を囲む長方形の枠であるバウンディングボックス(境界枠)の座標として出力する。次に、各枠内に映っている物体が、あらかじめ定義された分類(クラス)のどれに該当するかを判定する「クラス分類」を行う。

初期には色や形状の特徴を人間が定義する手法が用いられたが、現在はニューラルネットワークを用いた機械学習システムが一般的である。「R-CSS」や「Fast R-CNN」のように位置の特定と物体の識別を分けて行う「二段階検出」手法と、「Faster R-CNN」や「YOLO」「SSD」のように単一のニューラルネットワークですべての処理を行う「一段階検出」手法に分かれる。

コンピュータの性能向上や機械学習手法の進展で動画像を連続的に処理することもできるようになっており、自動運転における障害物の検知、製造ラインでの不良品検査、防犯カメラによる人物追跡など、リアルタイム性が必要な高度な識別タスクを自動化する基盤技術として広く応用されている。

物体検出は「画像認識」(image recognition)として総称される手法の一つである。画像認識のタスクとしては他に、単に画像に何が写っているのかのみを答える「画像分類」(image classification)や、画素単位でどの物体へ帰属するか判定する「セグメンテーション」(segmentation)、人間のポーズを特定する「姿勢推定」(pose estimation)などがある。

物体識別

画像や映像に含まれる物体が何であるかを判別・特定する技術。画像全体や特定の領域を対象に何が写っているかを答えるタスクであり、コンピュータビジョン(CV)における基本的なタスクの一つ。

入力された画像や切り出された領域に対して、あらかじめ定義された分類(クラス)の中から最も当てはまると思われるクラスを推定する。ニューラルネットワークなどを用いた高度な手法では、ソフトマックス関数を用いて「犬80%、猫15%、狸5%」といったように回答の候補と確信度を合わせたベクトルを出力することもある。

初期の手法では、色や形状といった特徴量を人間が定式化して識別器を構成する方式が主流だったが、近年では畳み込みニューラルネットワーク(CNN)などを応用した深層学習(ディープラーニング)が主流である。これは、正解ラベルの付いた画像データを大量に与えて学習させることで、内在する特徴を自律的に見出して分類を行えるようになる。

物体をどのように認識するかによって大きく二つのタスクに分類される。一つは「特定物体認識」で、車の画像から車種を答えるといったように、あらかじめ与えられたデータベースに収録された特定の対象に一致する物体を答えさせる。もう一つは「一般物体認識」で、一般名詞で表されるような概念を学習させ、人間、犬、車といったように写っている物体の種類を答えさせる。

物体認識は「画像認識」(image recognition)として総称される手法の一つである。画像認識のタスクとしては他に、画像内に写っている物体の種類と位置を答える「物体検出」(object detection)や、画素単位でどの物体へ帰属するか判定する「セグメンテーション」(segmentation)、人間のポーズを特定する「姿勢推定」(pose estimation)などがある。

パノプティックセグメンテーション

コンピュータによる画像認識の手法の一つで、画像中の各画素を意味的に分類しつつ、どの個体に属するか特定すること。セマンティックセグメンテーションとインスタンスセグメンテーションを統合した手法である。

画像を解析して画素単位で何が写っているか特定する技術を「画像セグメンテーション」という。このうち、「セマンティックセグメンテーション」(semantic segmentation)は画素が属する物体の種類(クラス)を識別するが、同一クラスの複数の物体は区別されない。一方、「インスタンスセグメンテーション」(instance segmentation)は同じクラスの個体(インスタンス)が複数ある場合にそれぞれ区別するが、背景や道路、空といった物体として定義しにくい領域の扱いが限定的である。

パノプティックセグメンテーションでは、画像内の対象を “thing” と “stuff” の二つの概念で捉える。車や人間、動物のように個数を数えることができる対象は thing として扱い、個体ごとに異なるラベルを付与して個別に分離する。一方、空や道路、草地、建物のように形状が不定形で個数を数えにくい対象は stuff として扱い、領域全体を一つのクラスとして塗り分ける。

技術的には、各画素に対して「どのクラスに属するか」という情報と、thingクラスの場合は「どの個体識別番号(インスタンス識別子)に属するか」という情報を同時に出力する。これにより、背景も含めた画像上の全画素に矛盾なくラベルが割り当てられ、隙間のない解析結果が得られる。同じ「車」というクラスであっても、一台一台が別の識別番号で区別され、同時にそれらが「道路」という背景の上に存在していることが一貫して表現される。

BERT

文脈を双方向に考慮した事前学習型の言語モデル。文章を通常の語順と逆順の両方向から同時に読み込み、文中で単語の後方にある文脈を反映した分散表現を生成することができる。米グーグル(Google)社が2018年に発表した。

Transformerのエンコーダ部分のみを用いた構造を持ち、入力文を左右両方向から同時に処理する。従来の言語モデルが一方向の文脈に基づいて学習していたのに対し、BERTは単語の前後両方の情報を統合した表現を獲得する。事前学習では、大規模なコーパス(文例データベース)を用いてマスク言語モデルと次文予測という二つの課題が設定され、文脈理解能力が体系的に学習される。

マスク言語モデルでは、入力文中の一部の単語を特殊なトークンで置き換えた文を与え、置き換え元の単語を予測する。モデルは周囲の語との関係性を踏まえた表現を学習する。次文予測では、二つの文が連続しているかどうかを判定する課題が与えられ、文レベルの関係性理解が促される。これらの事前学習により、BERTは汎用的な言語表現を獲得する。

事前学習後のBERTは、分類や質問応答、固有表現認識などの下流タスクに対して微調整(ファインチューニング)される。タスク固有の少量の学習データを用いてモデル全体を調整することで、高い性能が得られる。BERTが確立した「双方向の文脈理解」と「汎用的な事前学習」という枠組みは、現代の自然言語処理における標準的な手法として定着している。

BoW

自然言語処理で文章をモデル化する手法の一つで、各単語の出現頻度に着目して数値化するもの。語順や文法構造は無視し、文章を「単語の袋」のように扱う。

まず解析対象となるすべての文書から重複を除いた単語のリストを作成し、これをこの文書群の「語彙」(ボキャブラリー)と定義する。個別の文章を数値化する際は、語彙に含まれる各単語がその文章の中に何度出現するかをカウントし、その数を並べたベクトルとして表現する。

例えば、「私は猫が好きだ」と「私は犬が好きだ」という二つの文の集合を対象とする場合、「私」「猫」「犬」「好き」といった単語が語彙となり、これを次元とするベクトルが生成される。「私は猫が好きだ」という文は「私:1、猫:1、犬:0、好き:1」というベクトルに変換することができる。

BoWは単語の頻度情報を直接利用できるためプログラムとしての実装が容易で計算量も少ない。複雑な言語モデルを必要とせず、結果の解釈もしやすい。初期の自然言語研究で広く利用され、文書間の類似度計算や、ベイズ統計を用いた文書分類の基礎的な特徴量などとして用いられてきた。

一方、語順や文脈は無視するため、意味的な違いを十分に表現できないという制約がある。例えば、「猫が人を噛む」と「人が猫を噛む」というまったく意味の異なる文が同一のベクトルとして表現されてしまう。また、語彙数が増えるほどベクトルの次元数が膨大になり、ほとんどの要素がゼロになる「疎なベクトル」が生じるため、メモリの消費効率や計算精度の低下を招くことがある。

CBOW

word2vecで用いられるニューラルネットワークのモデル構造の一つで、周囲の単語から中心にある単語を予測するもの。

word2vecは単語を意味的な特徴を持つ数値ベクトルとして表現する手法の一つで、大量のテキストデータから単語の意味を学習し、高次元のベクトル空間上の数値として表現する。主な学習モデルは二つあり、一つは周囲の単語から中心となる単語を予測するCBOW、もう一つは中心の単語から周囲の単語を予測する「スキップグラム」(Skip-Gram)である。

CBOWでは、文章中のある位置に注目し、その前後に出現するいくつかの単語(コンテキスト)を入力として、中央に現れる単語を推定する学習を行う。例えば、「公園で子供がボールを投げる」という一文があり、助詞や助動詞を除いて前後1単語をコンテキストとする場合、「公園」や「ボール」から「子供」という中心語を予測するように学習が行われる。入力となる周辺単語は順序を考慮せず、まとめて扱われる。

これらの単語のベクトル表現を平均化または合成した情報をもとに、中心語を予測することで、文脈全体の特徴がモデルに反映される。この学習過程を大量のテキストデータに対して繰り返すことで、意味的に近い単語は似たベクトル表現を持つようになる。

CBOWはスキップグラムに比べ、一度に複数の単語を入力として扱うため、学習が安定しやすく、計算効率が高いとされる。特に、出現頻度の高い単語は文脈情報が十分に得られるため、良好な表現が学習されやすい。一方、周辺語を平均化して扱う性質上、微細な文脈の相違や、出現頻度の低い希少な単語のニュアンスを捉える能力は乏しいとされる。

CEC

リカレントニューラルネットワークの一種であるLSTMに採用されている仕組みの一つで、誤差が時間方向に減衰せず伝播することを保証する機構。学習時に勾配が消失または爆発する問題を解決し、長期的な依存関係を学習可能にする。

時系列のデータを学習することができるリカレントニューラルネットワーク(RNN)では、誤差逆伝播を時間方向に行う際、勾配消失や勾配爆発が生じやすいという課題があった。特に長い系列データを扱う場合、過去の情報に対応する誤差が極端に小さくなり、学習が進まなくなる問題が起きやすい。

CECではセルと呼ばれる内部メモリを通じて、誤差が一定値のまま循環する経路を提供することでこの問題を緩和する。セルは重みが1に固定された線形な自己結合を持ち、時間ステップをまたいでも誤差を減衰させずにそのまま伝播させる。過去の入力に由来する情報が長期間保持され、対応する誤差も安定して逆伝播されるため、系列の初期部分に関する学習信号が後段まで届きやすくなる。

しかし、CEC単体では過去の情報を延々と保持し続けてしまい長時間が経過すると学習の妨げとなるため、周囲に「入力ゲート」「出力ゲート」「忘却ゲート」という三つの制御機構が配置されている。これらのゲートがCECへの情報の流れを動的に調整することで、ネットワークは必要な記憶だけを選択的に長期間保持し、不必要な情報を適切に捨て去る能力を獲得している。

ChatGPT

米オープンAI(OpenAI)社が運営するAIチャットボット。同社が独自に開発した大規模言語モデル(LLM)を用いて、人間と対話的にテキスト(文字情報)のやり取りをできるようにしたサービスである。基本的な機能は無料で、高度な機能は有料で提供されている。

同社が開発した「GPT」(Generative Pre-trained Transformer)は大規模言語モデルの一つで、機械学習システムを用いて大量の自然言語(日本語や英語など人間が使う言語)の文書を学習し、文章の理解や生成、要約、翻訳といった様々な自然言語処理を行う能力を持つ。

ChatGPTはこれを用いて利用者がAIとオンラインで対話的に文字情報のやり取りを行うことができるサービスで、人間が他人に話しかけるように文章で問いかけると、内容を解釈して人間が返すような自然な文章を生成して表示する。類似のシステムに比べて極めて自然な文章を生成することで大きな話題となった。

別の言語への翻訳、長い文章の要約、議論における一般的な論点の抽出など、様々な言語的なタスクをこなすことができるほか、プログラムコードの記述や誤りの指摘、歌詞や物語などの創作、専門分野のテスト問題への回答など、人間の高度な知的活動を模倣しているかのような振る舞いが人々に驚きを与えた。

プロンプト

利用者がChatGPTへ入力する文字列を「プロンプト」(prompt)という。「小学生でも作れる簡単なお菓子のレシピを挙げてください」といった単純なものから、「以下の内容を要約してください。(以下数十行の長文)」といった長い内容のものまで様々な指示を行うことができる。

プロンプト次第で様々な回答を得ることができ、メールの文面を書いてもらう、ビジネス資料を与えて分析してもらう、ネーミング案を考えてもらう、企画案を列挙してもらう、スピーチ原稿を書いてもらう、設定を与えて物語を書いてもらう、英文のネイティブチェックをしてもらうなどの応用例がある。

同じ会話セッションの過去の内容を記憶しており回答に反映されるため、「あなたは面接官です。これから私が志望者となるので面接のロールプレイをしてください」といったように役割を指定し、設定に沿ったやり取りを何往復も続けるといった利用法も可能となっている。

問題点

学習データにはWikipediaなど何らかの知識を記述した文書群も含まれているため、物事についての解説などを求めると知っている内容に基づく回答を行うこともある。ただし、知識の体系的な処理よりも言語表現としての自然さを重視したモデルとなっているため、内容の正しさについては保証されない。

特に、誤った前提や存在しない物について質問すると「知らない」「存在しない」「前提が間違っている」などとは返答できず、文章としては一見もっともらしいが完全に出鱈目な内容を創作してしまうことがある。この現象は「ハルシネーション」(hallucination:幻覚)と呼ばれ、どのような機序で起きるのか、どうすれば防げるのか詳しいことは分かっていない。

悪意のある人物がデマや陰謀論、非道徳的な文章などを低コストで量産でき、社会の分断や憎悪を煽るような活動に悪用されかねないといった懸念や、学生や生徒が文章を記述する課題にChatGPTを用いても教師は確実に見破る方法がなく教育が機能不全に陥るといった指摘もある。

また、著作物の学習データへの利用についての法規制の議論が追いついておらず、著作者は許諾も見返りもないまま私企業の独占的なシステムに取り込まれてしまうことへ抗議する声もある。プロンプトによっては学習に用いたデータの一部がそのまま露見することもあり、意図せず情報漏洩が起きるリスクも指摘されている。これを理由に社内でのChatGPT利用を禁じている企業もある。

ELMo

文脈に応じて単語の表現が変化する分散表現を提供する事前学習型の言語モデル。同じ綴りの単語でも文脈によって意味が異なる場合に、それらを別のベクトルとして表現することで、より高度な言語理解を可能にする。

従来のword2vecのような単語埋め込み手法では、一つの単語に対して一つの固定されたベクトルを割り当てていた。このため、「銀行」という意味の「bank」と「土手」という意味の「bank」は、まったく同じ数値として扱われ、モデルの上では区別できないという課題があった。

ELMoは、LSTM(Long Short-Term Memory)を用いた言語モデルを大規模なコーパス(文例データベース)で事前学習し、入力された文章全体を見てから各単語のベクトルを動的に計算する。LSTMは双方向に適用され、単語が出現する前後の文脈情報を考慮して埋め込みを生成することができる。

また、文字単位の畳み込みニューラルネットワーク(CNN)を併用して、後続のLSTMが捉える意味的・構文的な情報を、タスクに合わせて重み付けして統合する。単語単位ではなく文字単位で処理することで、未知語や語形変化、日本語のような分かち書きをせず単語境界が自明でない言語への対応力を高めている。

ELMoは2018年に提案され、文書分類、固有表現認識、質問応答など多様な自然言語処理タスクで性能向上をもたらした。事前学習済みモデルから得られる文脈依存表現を既存モデルに追加するため、特定タスク向けに設計されたモデルの構造を大きく変更せずに導入できる。単語を固定的な記号としてではなく、文脈の中で変化する動的な存在として捉える発想は、その後のBERTなどTransformerベースのモデルにも影響を与えた。

fastText

単語を分散表現(単語埋め込み)として学習する手法の一つで、単語を文字単位の並びとして捉えるもの。また、その機能を実装した分散表現学習およびテキスト分類のためのライブラリ。

先行するword2vecと同様に周囲の文脈から単語ベクトルを学習するが、単語をそのまま扱うのではなく、文字N-gramの集合として表現する点が異なる。文字単位のN-gramとは、連続したN文字を一つのまとまりとして扱う手法である。例えば、「phone」の3-gram表現であれば、連続する3文字ずつの要素「pho」「hon」「one」で表される。

fastTextでは一つの単語を文字N-gramで複数の部分文字列(サブワード、部分語)に分割し、それらのベクトルを組み合わせて単語全体の表現を構成する。これにより、語形変化や綴りの類似性、接頭辞や接尾辞といった表層的な特徴がベクトルに反映されやすくなる。学習時に出現しなかった未知語に対しても、部分的に共通する文字列からベクトルを推定でき、活用形が多い言語や、新語が頻繁に出現する環境、日本語のような形態素解析が必要な言語で特に有効である。

計算手法の面でも、階層的ソフトマックス関数など効率を重視した設計により、大規模なコーパス(文例データベース)に対しても比較的短時間で学習が可能である。単語分散表現の学習だけでなく文書分類にも応用することができ、文書内の単語や文字N-gramの情報を平均化することで、文書全体の特徴量を構成して分類モデルを構築することができる。

GLUE

自然言語処理モデルの汎用的な言語理解能力を測定するために設計されたベンチマーク。複数の言語理解タスクを組み合わせた評価方式で、モデルが言葉をどれほど総合的に理解できているかを客観的に数値化する。

文が文法的に正しいかどうかを判定するタスク、二つの文章の関係が含意か矛盾か中立かを判定するタスク、文章の類似度を評価するタスク、映画のレビュー読んで評価がポジティブかネガティブか判定する感情分析、質問文に対する回答文が正しく回答になっているか判定するタスクなど、性質の異なる9つのタスクで構成されている。

評価はタスクごとに定義された正解率やF1スコアといった指標に基づいて行われ、その結果を統合した「GLUEスコア」によってモデル性能が提示される。特定の課題に特化したモデルではなく、より人間の言語能力に近い、幅広い言語処理能力を持つモデルが高く評価される仕組みである。研究者は自身のモデルが既存の手法と比較してどの程度優れているかを同じデータセットと評価基準によって比較できる。

GLUEは2018年に発表され、BERTをはじめとする事前学習済みモデルの性能評価において標準的な指標となった。翌2019年には難易度を高めた「SuperGLUE」も発表されている。近年では、Transformerなどを利用した高度な大規模言語モデル(LLM)が発展が著しく、人間を超えるスコアを出すことも珍しくなくなっている。

GPT-n

米オープンAI(OpenAI)社が開発・提供している訓練済みの大規模言語モデル(LLM)。GPT-1からGPT-5まであり、同社のAIチャットボットサービス「ChatGPT」や米マイクロソフト(Microsoft)社の対話型Web検索サービス「Bing AI Chat」などの技術基盤として用いられている。

日本語や英語などの自然言語で書かれた文章などで構成される大規模なデータセット(言語コーパス)で学習したニューラルネットワークの一種で、文章の理解や生成、要約、校正、対話、翻訳など様々なタスクをこなすことができる。

ディープニューラルネットワーク(DNN)の一種である「Transformer」を同社が実装し、学習データで訓練した言語モデルである。入力データ中の各要素に対して注目度合いに相当する重み付けを行う「アテンション」(attension)と呼ばれる機構が組み込まれており、旧来のモデルよりも的確な応答を返す。

GPTは同社が用意した大量の学習データで訓練済みだが、チャット、翻訳といった用途に応じて追加の学習を行うことで用途に適した良好な結果を得るようモデルを調整することができる。これを「ファインチューニング」(fine-tuning)と呼び、ChatGPTの有料サービスとして提供されている。

最初のモデルである「GPT-1」は2018年に発表され、言語モデルの規模を表すパラメータ数は1億1700万とされる。2019年には15億パラメータの「GPT-2」が、2020年には1750億パラメータの「GPT-3」が発表された。2022年の「GPT-3.5」、2023年の「GPT-4」は訓練データの生成元、パラメータ数などの詳細が非公表となった。

GPT-3.5に基づくAIチャットボット「ChatGPT」が会話の自然さや言語処理能力の高さから大きな話題となり、テキスト生成AIサービスの事実上の標準として世界で広く普及している。現在はGPT-3.5版が無償、より高精度なGPT-4版が有償で提供されている。同社ではGPTシリーズをベースに個別の分野や用途に特化した「Codex」(プログラムコード)、「ProtoGPT2」(タンパク質配列)、「BioGPT」(医学文献)なども開発・提供している。

N-gram

自然言語処理で、文章や文字列を連続するN個の要素の並びとして捉える手法。語や文字の出現傾向を確率や統計などの手法によって数量的に扱うために用いられる。

様々な解析手法の中で用いられる基本的な操作の一つで、与えられた文章について、任意の自然数Nを用いて連続するN個の要素の並びを一つのかたまりとして扱う。解析手法によって具体的なNの値は様々で、1個なら「1-gram」(ユニグラム)、2個なら「2-gram」(バイグラム)、3個なら「3-gram」(トライグラム)と呼ばれる。

N-gramにおける要素は、単語である場合と文字である場合がある。単語を単位とする場合、1-gramは単語単体、2-gramは隣接する二語の組、3-gramは三語の連なりを指す。文字単位の場合も同様に、1-gramなら一文字、2-gramなら二文字、というように連続する文字列のまとまりとして定義される。

例えば、「機械学習モデル」という文字列を単語単位で2-gramに分割すると、「機械学習」「学習モデル」の2つの断片が得られる。「機械学習」を文字単位で2-gramに分割すると「機械」「械学」「学習」の3つの断片が得られる。連続する要素を窓をずらすようにして抽出することで、単語や文字がどのような順序で出現しやすいかという文脈情報を統計的に保持できる。

文章をN-gramに分割することで、文全体を局所的な要素の集合として表現でき、頻度や共起関係の分析が可能となる。例えば、言語モデルでは、ある単語が出現する確率を、その直前のいくつかの単語に基づいて推定することがある。これにより、文章の自然さの評価や、次に続く語の予測が行われる。Nの値を大きくすると文脈をより多く考慮できる一方で、出現頻度の低下やデータ不足の問題が生じやすくなる。

なお、アルファベットを用いる言語のように単語を空白(スペース)で区切って「分かち書き」する言語では文章をそのまま単語単位で解析することができるが、日本語や中国語、韓国語のように単語を繋げて記述する言語では、文章を単語単位に分割する「形態素解析」という前処理が必要になる。文字単位のN-gramは、こうした言語でも形態素解析を行うことなく機械的に文章を要素に分割して解析手法を適用できるという利点もある。

PaLM

米グーグル(Google)社が2022年に発表した大規模言語モデル(LLM)。5400億個という膨大なパラメータを持ち、同社の計算基盤である「Pathways」を活用して並列学習を行うことにより、高度な推論能力と多言語の処理能力を実現している。

PaLMはTransformerを基盤とする自己回帰型の言語モデルであり、大量のテキストデータから単語や文の生成規則を学習する。学習時には次のトークンを予測する目的関数が用いられ、文法的構造や語彙知識だけでなく、推論や計算、常識的判断に関する能力も内部表現として獲得する。従来の言語モデルと同様の枠組みを持ちながら、モデル規模と学習計算量が大幅に拡張されている。

従来のモデル学習では単一のアクセラレータ群を使用するのが一般的だったが、PaLMでは「Pathways」と名付けられた大規模学習インフラを採用している。これは同社が開発したTPU(Tensor Processing Unit)という並列演算プロセッサを数千基という大きな単位で連携させることができるシステムで、単一のモデルを多数のアクセラレータにまたがって柔軟に配置し、計算を並列化できる。

PaLMは自然言語処理の多岐にわたるタスクにおいて高い性能を示した。特に、文脈を理解して論理的に問題を解く「推論能力」が従来モデル比で飛躍的に向上しており、ジョークの解説や数式の証明、複雑なコードの生成といった処理が新たに可能となった。また、少数の例示を与えるだけで新しいタスクに適応する「Few-shot学習」にも高度に適応し、利用者の工夫次第で様々なタスクを実行させることができるようになった。

Seq2Seq

ある系列データを別の系列データへ変換するためのニューラルネットワークモデルの総称。入力と出力の長さが異なるデータを扱うことができ、機械翻訳や対話生成、文章要約といったタスクの基盤技術として広く利用されている。

多くのモデルに共通する基本的な構造として、「エンコーダ」と「デコーダ」という二つのリカレントニューラルネットワーク(RNN)を組み合わせた構成となっている。エンコーダは入力系列を順に処理し、系列全体の情報を内部状態として表現する。デコーダはその内部状態を受け取り、出力系列を一要素ずつ生成する。

例えば、日本語を英語に翻訳するモデルでは、エンコーダが日本語の意味を理解してベクトル化し、デコーダがそのベクトルから対応する英語の単語を順次生成することで、文全体を翻訳することができる。このような仕組みは、入力と出力が共に系列データである対話生成(問いや依頼→応答)、文章要約(長文→要約文)、音声認識(音声データ→発話文)など様々なタスクに適用することができる。

初期の単純なSeq2Seqでは、入力系列が長くなると情報が内部状態に圧縮されすぎ、性能が低下するという課題があった。この問題に対処するために導入されたのが「アテンション」(Attention:注意機構)である。これはデコーダが出力を生成する各時点で、入力系列のどの部分に注目すべきかを重みとして計算する仕組みで、長い系列であっても必要な情報を直接参照でき、翻訳品質や生成精度が大きく向上した。

TF-IDF

文書中に出現する単語の重要度を評価するための統計的な指標の一つ。単語の出現頻度と文書集合全体での希少性を掛け合わせたもので、その文書を特徴づける重要なキーワードを抽出することができる。

「TF」(Term Frequency)は、特定の文書の中にその単語がどれくらい頻繁に現れるかを示す指標である。「IDF」(Inverse Document Frequency)は、対象となる文書群全体の中でどれほど珍しいかを示す指標である。多くの文書に共通して現れる単語の価値を低く見積もり、特定の文書にしか現れない専門用語や固有名詞などの価値を高く評価する。

TF-IDFはこのTFとTDFを掛けた値で、単語の文書内の出現頻度が高いほど、また、出現する文書が少ないほど大きくなる。出現頻度だけで重要性を評価しないのは、日本語であれば助詞の「を」や助動詞の「です」、英語であれば冠詞の「the」のように、文書の特徴とは無関係にその言語の文章であれば必ず高頻度で現れる単語が存在するためである。希少性の指標を併用することで、その文書にだけ特徴的に現れる単語を高く評価することができる。

TF-IDFによって文書は単語の「重み」の集合として表現され、文書同士の類似度を計算したり、検索結果の順位付けするといった、意味や内容に基づく比較・評価を行うことが可能となる。計算が比較的容易で、結果の解釈もしやすい。一方で、語の並びや文脈、意味的な関係性は直接考慮されないため、表現の違いによる意味の近さを捉えることは難しい。

TF-IDFは自然言語処理の様々なタスクで基本的な指標として活用されている。情報検索では、検索語と文書のTF-IDFベクトルを比較することで、利用者の要求に近い文書を抽出する仕組みを構築することができる。テキストマイニングでは文書における重要なキーワード抽出に応用されている。近年では、機械学習モデルで文書分類やクラスタリングなどを行う際、モデルに入力する特徴量の一つとしてTF-IDFを用いることがある。

word2vec

単語を意味的な特徴を持つ数値ベクトルとして表現する手法。大量のテキストデータから単語の意味を学習し、高次元のベクトル空間上の数値として表現する。単語を固定長のベクトルに変換することで、言葉同士の類似度や関係性を計算することができるようになる。

従来の自然言語処理では、単語を独立した記号として扱うことが多く、語と語の意味的な近さを直接表現することは難しかった。word2vecでは、実際の文例データをもとに単語がどのような文脈で使われるかを調べ、周囲の単語との共起関係から低次元のベクトルを学習する。意味の近い単語ほどベクトル空間上で近く配置されるため、類似度を数値として表すことができる。

得られたベクトルは数値で表されるため、ベクトル同士の数値演算によって言葉の関係性を「計算」することができる。例えば、「王」を表すベクトルから「男」ベクトルを引き算し、「女」ベクトルを足し算すると、「女王」を表すベクトルが得られる。数値の機械的な計算によって言葉の意味的なアナロジー(類推)が可能となる。ベクトルは単語の意味だけでなく、一定の文法的関係も反映することがある。

主な学習モデルは二つあり、一つは周囲の単語から中心となる単語を予測する「CBOW」(Continuous Bag-of-Words)方式、もう一つは中心の単語から周囲の単語を予測する「スキップグラム」(Skip-Gram)方式である。いずれもニューラルネットワークを用いて学習され、大規模なコーパス(文例データベース)に対して効率的に適用できるよう工夫されている。

word2vecは2013年に米グーグル(Google)社の研究チームによって提案された。機械翻訳や感情分析、推薦システムなどの精度が飛躍的に向上し、自然言語処理における単語の分散表現を広く普及させる契機となった。単語の意味を計算できる点は画期的だったが、文脈によって意味が変わる語を一つのベクトルで表現するため多義語の扱いには限界がある。

感情分析

コンピュータによる自然言語処理の一つで、文章や発話に含まれる感情や態度を自動的に推定する技術。テキストデータの中に含まれる話し手や書き手の感情、意見、態度を機械学習や自然言語処理の技術を用いて抽出・分類する。

基本的な処理では、文章を単語や文に分割し、それぞれの語や表現が持つ感情的な意味合いを手がかりに、全体の感情を推定する。文章が肯定的か、否定的か、あるいは中立的かを自動で判別し、定性的なデータを定量的な指標へ変換することができる。

初期の手法では、あらかじめ感情極性が定義された辞書を用いて判定する方法が広く用いられてきたが、表現の多様性や文脈依存性への対応には限界があった。近年では機械学習や深層学習を用いた感情分析が主流となり、大量のラベル付きデータを用いて分類モデルを学習させることで、単語単体だけでなく文脈や語順を考慮した判定を行うことができる。

企業のマーケティング活動におけるSNS上の口コミ分析や、カスタマーサポートに寄せられる顧客の声の自動仕分けなどでよく用いられる。コールセンターでの通話記録から顧客の不満を早期に察知したり、市場のトレンドやブランドイメージの変遷をリアルタイムで把握するといった活用方法もある。

機械翻訳

ある言語で書かれた文章を、コンピュータが自動的に別の言語の表現に変換すること。また、そのような技術。古くから様々な手法が研究されており、近年では深層学習(ディープラーニング)を応用した手法で飛躍的に精度が高まっている。

古くから研究・開発されている分野で、1970年代の初期の研究では、文法や辞書に基づいて入力文を解析し、同じ語彙と構造を持つ翻訳文を出力する「ルールベース機械翻訳」(RBMT:Rule-Based Machine Translation) が主流だった。専門家が作成した膨大な文法規則と対訳辞書を用いる方式で、特定の分野や限定的な表現には高い精度を示す一方、汎用性や自然な表現の生成には限界があった。

1990年代になると、コンピュータの性能や記憶容量の増大を背景に、膨大な対訳データベースを解析して統計モデルを作成し、これに基づいて翻訳文を生成する「統計的機械翻訳」(SMT:Statistical Machine Translation)が登場した。ルールベース手法より流暢で自然な訳文を生成することができたが、十分な量の対訳コーパスが用意できない言語ペアでは利用できず、特定の誤りを修正して精度を向上させることができないなどの難点もあった。

2010年代には、ニューラルネットワークを応用した機械学習、特に、深い階層のネットワークを用いて学習を行うディープラーニングの技術が飛躍的に発展し、「ニューラル機械翻訳」(NMT:Neural Machine Translation)が主流となった。回帰型ニューラルネットワーク(RNN)やTransformerなど言語を扱うのに適したモデルが考案され、人間の翻訳に匹敵する精度の高い品質が得られるようになりつつある。

形態素解析

自然言語で書かれた文を言語上の最小単位に分割し、それぞれの品詞や語形変化などを割り出すこと。ITの分野ではコンピュータによる自然言語処理の一つとして、かな漢字変換や全文検索、機械翻訳などで用いられる。

日本語や英語など人間が普段使っている自然言語において、文中で意味をなす最小の構成要素を「形態素」(morpheme)という。文がどのような要素によって構成されているかを調べるために、形態素の列に分解してそれぞれの文法上の属性(品詞の種類や活用形など)を明らかにしていく処理を形態素解析という。

例えば、“This is a pen.” という英文は “this”(代名詞)、“is”(be動詞)、“a”(不定冠詞) “pen”(一般名詞)のように分解できる。“apples”を“apple”(名詞)と“-s”(接尾辞/複数形)の組み合わせであるというように、一つの単語を接尾時・接頭辞や語幹などに分解する場合もある。

日本語では「これはペンです」を「これ」(代名詞)「は」(係助詞)「ペン」(一般名詞)「です」(助動詞)のように分解できる。文法上の要素に分解していくため、「食べた」は一語ではなく「食べ」(動詞/連用形)「た」(助動詞)に分かれる。

コンピュータによる形態素解析処理は、当該言語の文法規則や、単語や接辞などの要素を列挙した辞書データを用いて行う。英語などアルファベット圏の言語は単語ごとに短い空白をあける「分かち書き」をするため、基本的に単語の接辞や変化を調べるだけでよいが、日本語や韓国語などでは単語に分けず一文を続けて記すため、単語分割の段階で複雑な処理や大量の辞書データが必要となる。

また、自然言語では複数の異なる解釈が可能で、辞書や規則の機械的な適用だけでは一意に定まらない表現なども存在するため、慣用句や自然な表現を集めた文例データや、要素間の連結についての統計的なデータを用いて精度を向上させる場合もある。

構文解析

文の内容を解析し、その構成要素がどのような関係にあるかを明らかにすること。自然言語に用いる場合とコンピュータ言語に用いる場合で手法が大きく異なる。

コンピュータ言語の構文解析

プログラミング言語やマークアップ言語などのコンピュータ言語で書かれた文を構成要素に分解し、要素間の関係を元に特定のデータ構造に変換する操作を構文解析という。

コンピュータ言語で書かれたソースコードに「字句解析」(lexical analysis)を行い、言語仕様上意味を成す字句の最小単位であるトークンの列に置き換える。その後、言語の構文規則に従ってトークン間の関係性を解析し、構文木などのデータ構造として表す。狭義には後者のトークンの処理のみを構文解析とする場合もある。

得られた構文木から何が行われるかは言語の種類によって異なり、プログラミング言語であればオブジェクトコード(機械語のプログラム)の生成、マークアップ言語であれば画面描画、データベース言語であればデータベースへの操作などが行われることになる。

自然言語の構文解析

英語や日本語などの自然言語における構文解析では、単語単位に分解済みの文を対象に、文法や統語論を元に単語間の関係を決定し、何らかのデータ構造で表現する。

英語のように分かち書き(単語間を空白で離す)する言語では、与えられた文を空白によって即座に単語に分割することができるが、日本語などでは前処理として文を語彙や文法に基づいて単語に切り分ける「形態素解析」が必要となる。

構文解析は各種の自然言語処理の基礎技術として重要で、機械翻訳や要約生成、自然言語検索、音声アシスタントなど様々な分野に応用されている。

質問応答

自然言語処理の応用の一つで、自然言語の文章で与えられた質問に対して回答を提示する仕組みのこと。

自然言語(日本語や英語など)で書かれた質問文を解析して質問意図を理解し、知識ベースなどから関連する情報を検索し、回答の候補とそれぞれの確信度を出力する。用途によっては回答候補のリストではなく最も確信度の高い回答そのものを出力する。

質問の分野が特定されている場合(医療診断システムなど)とされていない場合(クイズなど)、回答が「○」「×」や単語、フレーズの場合(第100代日本国首相は?など)と文章の場合(~な理由は?など)といったように、対応できる質問の内容に応じていくつかの種類に分かれる。分野が限定され、回答が単純なほど構築しやすい。

1970~90年代に活発に研究されていた人工知能の一分野であるエキスパートシステムにも質問応答の形態を取るものが多くあり、人工知能の発展に合わせて、ルールベース手法、統計的手法、ニューラルネットワークによる機械学習などの手法が応用されてきた。

2011年に米IBM社の質問応答システム「Watson」が、アメリカの著名なクイズ番組「Jeopardy!」で人間代表を下して勝利したことで注目を集めた。「Wolfram|Alpha」などのネットサービスや、企業の顧客サポートのためにWebサイトに導入されるFAQシステムなどの応用例もよく知られる。

情報検索

コンピュータを用いて大量に蓄積されたデータの中から利用者の目的に合致する特定の情報を探し出す技術。キーワードや一致条件を手がかりに、必要な情報を抽出・提示する。

情報検索の対象は、文書、Webページ、画像、音声など多岐に渡るが、基礎となる考え方は共通している。まず、検索対象となるデータをあらかじめ整理し、検索しやすい形に変換する処理が行われる。文書検索の場合には、単語への分割や正規化を行い、どの文書にどの語が含まれているかを管理する索引(インデックス)が構築される。利用者が検索語を入力すると、その語と関連する文書が索引を用いて高速に抽出される。

抽出された文書群は、そのまま提示されるのではなく、関連度や作成・更新日時など何らかの基準に基づいて順位付けされることが多い。関連度の評価指標としては、検索語の出現頻度や文書全体での重要度、共に出現する確率の高い共起語の数などを算出する統計的手法が用いられてきた。近年では、機械学習を用いて検索結果の順位を最適化する手法や、文書同士の意味的な近さを考慮する手法も用いられる。

検索精度の評価には「適合率」や「再現率」といった指標が用いられ、システムがどれだけ正確に、かつ漏れなく情報を収集できたかが客観的に測定される。情報検索は、インターネット上の検索エンジン、コンピュータ内のファイル検索、企業などの情報システム内の文書検索、電子図書館など、様々な情報システムの基礎的な機能として提供されており、自然言語処理の最も重要な応用例の一つとなっている。

スキップグラム

word2vecで用いられるニューラルネットワークのモデル構造の一つで、ある中心となる単語からその周囲に現れる単語を予測するもの。

word2vecは単語を意味的な特徴を持つ数値ベクトルとして表現する手法の一つで、大量のテキストデータから単語の意味を学習し、高次元のベクトル空間上の数値として表現する。主な学習モデルは二つあり、一つは中心の単語から周囲の単語を予測するスキップグラム、もう一つは周囲の単語から中心となる単語を予測する「CBOW」(Continuous Bag-of-Words)である。

スキップグラムでは、文章中のある単語を入力として、その周辺に出現する単語を予測する学習を行う。例えば、文中の特定の単語を中心語とし、その前後一定範囲に現れる単語を正解データとして扱う。例えば「空に白い雲が浮かぶ」という文で「雲」を中心語とした場合、スキップグラムは「白い」や「浮かぶ」といった周辺語を予測対象とする。

このような予測問題を大量のテキストに対して繰り返すことで、単語同士がどのような文脈で使われやすいかがモデル内部の重みとして学習される。意味的に関連の強い単語ほど似たベクトル表現を持つようになる。頻度の低い単語であっても、周囲の文脈との関係性を効果的に学習できる。

同じword2vecの手法であるCBOWが周辺語から中心語を予測するのと対照的に、スキップグラムは一つの情報から複数の情報を導き出そうとするため、より複雑な意味関係や希少な語彙のニュアンスを捉えるのに適している。反面、予測対象が多いため計算量はCBOWに比べて増加する傾向がある。

単語埋め込み

自然言語処理において、単語やフレーズを低次元の密な実数ベクトルで表現する手法。単語の意味を複数の次元に分散させて数値化することで、単語同士の意味的な近さを数値として捉えることができる。

従来の自然言語処理では、単語を独立した識別子として扱う「ワンホットベクトル」(ワンホット表現)が主流だったが、単語同士の意味の近さを計算することは困難だった。これに対し、分散表現は「似た文脈で現れる単語は似た意味を持つ」という「分布仮説」に基づいて単語を数値列で表現する。

例えば、「りんご」と「みかん」は、周囲に「食べる」「果物」といった共通の単語が現れやすいため、ベクトル空間上で近い位置に配置されるようになる。単語を固定長のベクトルとして表現することで、単語間の距離や角度からその類似度を客観的に測定することが可能となる。

分散表現の構築には、主にニューラルネットワークを用いた学習モデルが利用される。代表的な手法として「word2vec」や「fastText」、さらに発展した「Transformer」ベースのモデルが知られており、膨大なテキストデータから各次元が持つ潜在的な意味を自動的に学習する。単語レベルに限らず、文や段落、文書全体に拡張することも容易である。

分散表現として得られたベクトルは単語の意味的な側面が反映された数値列となっているため、意味の足し算や引き算といった演算が可能になる。例えば、「『王』から『男』を引き、『女』を足す」という計算を実行すると、「女王」という結果を返す。これは単語の概念的な関係がベクトル空間上の方向や距離として保存されていることを示している。

分散表現

自然言語処理において、単語やフレーズを低次元の密な実数ベクトルで表現する手法。単語の意味を複数の次元に分散させて数値化することで、単語同士の意味的な近さを数値として捉えることができる。

従来の自然言語処理では、単語を独立した識別子として扱う「ワンホットベクトル」(ワンホット表現)が主流だったが、単語同士の意味の近さを計算することは困難だった。これに対し、分散表現は「似た文脈で現れる単語は似た意味を持つ」という「分布仮説」に基づいて単語を数値列で表現する。

例えば、「りんご」と「みかん」は、周囲に「食べる」「果物」といった共通の単語が現れやすいため、ベクトル空間上で近い位置に配置されるようになる。単語を固定長のベクトルとして表現することで、単語間の距離や角度からその類似度を客観的に測定することが可能となる。

分散表現の構築には、主にニューラルネットワークを用いた学習モデルが利用される。代表的な手法として「word2vec」や「fastText」、さらに発展した「Transformer」ベースのモデルが知られており、膨大なテキストデータから各次元が持つ潜在的な意味を自動的に学習する。単語レベルに限らず、文や段落、文書全体に拡張することも容易である。

分散表現として得られたベクトルは単語の意味的な側面が反映された数値列となっているため、意味の足し算や引き算といった演算が可能になる。例えば、「『王』から『男』を引き、『女』を足す」という計算を実行すると、「女王」という結果を返す。これは単語の概念的な関係がベクトル空間上の方向や距離として保存されていることを示している。

文書要約

コンピュータで長い文章を解析し、重要な情報を抽出または再構成して短い要約文を生成すること。自然言語処理の応用の一つで、人間が大量の文章や文書を効率的に理解する支援を行う。

単に機械的に単語や文章を削減するのではなく、元の文章が持つ主題や要点、事実関係を保ちながら、冗長な表現を削減して短い表現にまとめる必要がある。文章を単なる文字列として扱うのではなく、文や段落の役割、語の重要度、文脈上の関係性を考慮した処理が行われる。

自動要約の手法は、大きく「抽出型」と「生成型」の二つのアプローチに分かれる。抽出型要約では、原文中の文や句を重要度に基づいて選択し、それらを組み合わせて要約文を作成する。原文の表現をそのまま利用するため、内容の齟齬が生じにくいが、単語や文章の繋がりが不自然になる場合がある。

一方、生成型要約では、深層学習を用いた言語モデルを活用し、人間が要約文を書くように原文の意味を再構成した短い文章を新たに書き起こす。異なる語彙へ言い換えたり、複数の文を一つの文にまとめたりすることができ、非常に読みやすく自然な要約が得られる。しかし、学習データに基づき原文にない情報を勝手に作り出してしまう「ハルシネーション」(幻覚)という現象が発生する課題がある。

近年では機械学習を応用した実用的なソフトウェアやネットサービスが登場し、ニュース記事のダイジェスト作成、会議の議事録の作成、学術論文の要旨生成など、ビジネスから学術研究まで幅広い分野で活用が進んでいる。複数のメディアの情報を統合して扱う「マルチモーダル」技術の発展により、テキスト(文字列)だけでなく音声や動画の内容を要約する技術も実用化されている。

ワンホットベクトル

自然言語処理で単語などの質的データを数値の列に変換する最も基本的な手法。一つの要素だけが「1」で、それ以外がすべて「0」であるようなベクトルとして単語を表現する。文字列としての単語を数値計算が可能な形式に変換でき、構造が単純で直感的に理解しやすい。

まず、解析対象となる全データの中に存在する一意な単語をすべて洗い出し、それらを並べた語彙リストを作成する。個々の単語をベクトル化する際は、そのリストの単語数と同じ長さの配列を用意し、該当する単語に該当するインデックスの位置の要素のみを「1」とし、他のすべての要素を「0」に設定する。

例えば、ある動物についての文章を解析したところ、現れる語彙が「猫」「犬」「鳥」の三つだった場合、「猫」を表すベクトルは最初の要素を1とした [1, 0, 0] になり、「犬」は二番目の要素のみを1とした [0, 1, 0]、「鳥」は [0, 0, 1] と表現される。

各単語がベクトル空間上の独立した軸として定義され、各ベクトルは互いに直交している。概念の重複がないことを明確に示せるため、カテゴリ変数(質的変数)の表現として用いることができる。一方で、異なる単語同士の関係性はベクトル上では表現されず、すべての単語は互いに等距離に配置されるため、意味的に近い語と遠い語の区別ができず、文脈や類似性を考慮した処理には適していない。また、語彙数が増大するとベクトルの次元数も同様に増加し、記憶容量や計算量を浪費するという問題もある。

LLM

機械学習システムで大量の学習データを処理して構築した、自然言語を扱うことができるモデル。特定のタスクに特化したモデルではなく、様々な用途に汎用的に用いることができる。

日本語や英語などの自然言語で書かれた文章などで構成される大規模なデータセット(言語コーパス)で学習したニューラルネットワークの一種で、文章の理解や生成、要約、校正、対話、翻訳など様々なタスクをこなすことができる。

LLMは、ある単語の並びの後に続く単語として、何を選べば最も「もっともらしい」かを確率として表現する。何らかの自然言語の入力を与えると、その内容に対する関連性、言語表現として自然さなどを勘案しながら新しい文章を出力することができる。利用者の指示に従って文字情報を生み出す生成AIとして利用されることが多い。

多くの機械学習システムでは、人間の手によって特定の課題のために調整された学習データを用いる「教師あり学習」を行うが、LLMは文章の一部を隠して自分で「穴埋め問題」を作るなどの手法で与えられた文書データそのものを学習することができる(自己教師あり学習)。公開されている大量の文章などをそのまま学習に用いることができるため、大規模なモデルを効率的に構築することができる。

LLMの具体的な設計(アーキテクチャ)にはいくつかの手法が提案されているが、現在主流となっているのは「Transformerトランスフォーマー」と呼ばれるモデルである。入力データ中の各要素に注目度合いに相当する重み付けを行う「アテンション」(attension)と呼ばれる機構を組み込んだモデルの一つで、並列処理しやすい構造であるため学習時間を短縮できる利点がある。

Transformerに基づいて構築された言語モデルとしては米グーグル(Google)社の「BERT」(Bidirectional Encoder Representations from Transformers)や米オープンAI(OpenAI)社の「GPT」(Generative Pre-trained Transformer)などがある。前者は同社のWeb検索サービスなどで、後者は対話的なAIチャットボット「ChatGPT」などで用いられている。

LLMでは、学習が完了したニューラルネットワークが内部的にいくつの値(パラメータ)の組み合わせとして表現されるかを「パラメータ数」と呼び、言語モデルの規模を表している。パラメータが多いほど、豊富な語彙や知識を用いてより適格で自然な文章を生成できるとされる。現在実用化されているモデルは数億から数百億ものパラメータを持っており、十億を表す「B」(billionの頭文字)を用いて「7.5B」(75億パラメータ)のように表記する。

統計的機械翻訳

コンピュータによる翻訳の手法の一つで、膨大な対訳集のデータを元に統計モデルに基づいて翻訳文を生成するもの。ニューラル機械翻訳が普及する以前は最有力の方式だった。

対になる2つの言語間の対訳(原文と翻訳文のペア)を大量に収録したデータ集(コーパス)を用意し、システムに統計的なパターンを学習させる。原文の中から単語や句、文などのレベルで学習したパターンの中から最も似ているものを選び出し、対応する訳を繋ぎ合わせていく。

これ以前に主流だったルールベース機械翻訳では文法や構文規則を記述してシステムに与える必要があるが、統計的機械翻訳では対訳集があれば翻訳のパターンをコンピュータが自動的に学習できるという利点がある。既存の訳文に似た文を出力するため、流暢で自然な表現になりやすい。

一方、十分な量の対訳コーパスが用意されていない言語ペアの間では精度が低くなり、コーパスを新たに作成する負担も大きい。コーパス全体の統計的な傾向を元に訳文を作るため、特定の誤りのみを修正することも難しい。欧州の言語間など語順や語彙が近い言語間では良好な結果が得られやすいが、日本語と英語など共通点に乏しい言語間では機能しにくい。

大量のテキストデータの利用が可能になった1990~2000年代に活発に研究された手法で、一般向けのソフトウェア製品やネットサービスにも採用された。2010年代になり、ニューラルネットワークによる機械学習を利用する「ニューラル機械翻訳」(NMT:Neural Machine Translation)がディープラーニング(深層学習)の応用により飛躍的に進展すると、そちらの方が主流となった。

A-D変換

変換時間とともに連続的に変化するアナログ信号を、コンピュータで扱える離散的なデジタルデータへ変換する処理である。音や光などの物理現象を電子機器で扱うための基礎技術である。

現実世界の多くの物理量は時間や大きさが連続的に変化するアナログ量として存在する。一方、コンピュータやデジタル回路はすべての情報を「0」と「1」の組み合わせであるビット列として表現するため、数値として表現された離散的(飛び飛びの不連続な値)な情報しか扱うことができない。A/D変換は、アナログ信号を一定の規則に基づいて数値化し、記憶や演算、通信が可能なデジタルデータに変換する。

A/D変換は一般に、標本化、量子化、符号化という段階を経て行われる。標本化では、時間的に連続な信号を一定の時間間隔(周期)で切り出し、離散的な時点の値として取得する。量子化では、取得した信号の振幅を有限個の段階に丸め、離散的な数値で近似して置き換える。符号化では、その量子化された値を2進数などのデジタル表現に変換する。これらの工程を経て、アナログ信号はデジタルデータとして扱える形になる。

A/D変換の品質は主に二つのパラメータに依存する。単位時間あたりに標本化を行う頻度である「標本化周波数」(サンプリング周波数)と、量子化で信号強度を変換する数値でビット数である「量子化ビット数」である。標本化周波数が低すぎると、元の信号に含まれる高い周波数成分が正しく表現されず、歪みが生じる。量子化ビット数が少ない場合は、振幅の表現が粗くなり、量子化誤差が増加する。

WaveNet

畳み込みニューラルネットワークを用いて、特徴量抽出を介さず生の音声波形を直接生成する機械学習モデル。2016年に米グーグル(Google)社傘下のディープマインド(DeepMind)社が発表した。

音声を構成する最小単位であるサンプリング点の一つ一つを順番に予測する自己回帰モデルとなっている。過去の膨大な音声データの蓄積から、次に続く波形の形状を確率的に計算して決定する。時間方向の依存関係を捉えるために「因果畳み込み」が用いられ、未来の情報が現在の出力に影響しないよう設計されている。

因果畳み込みは拡張畳み込みを組み合わせた「拡張因果畳み込み」(dilated causal convolution)となっており、少ない層数でも長時間の文脈を扱えるようになっている。これは層を重ねるごとに受容野を指数関数的に広げる畳み込み構造で、計算負荷を抑えつつ、音声の局所的な変化から数ミリ秒単位の長期的な構造までを効率的に学習することができる。

テキスト情報だけでなく、話者の特徴を条件として与えることで、特定の人物の声色や感情のニュアンスを再現することもできる。波形サンプルを逐次生成するため計算量が大きく生成速度の遅さが課題だったが、並列生成を可能とする派生モデルや蒸留手法が開発され、リアルタイムでの音声生成も可能となった。スマートフォンの音声アシスタントやカーナビゲーションシステム、通訳アプリなど様々な用途で応用されている。

音韻

ある言語において意味を区別するために機能する最小の音声単位。個々の発話音そのものではなく、言語内で区別に用いられる音の抽象的な側面を扱い、音声と言語構造を結び付ける概念である。

物理的に発せられる具体的な音声そのものではなく、頭の中で抽象化された音の概念を指す。音素の体系は言語ごとに異なり、どの音の対立が意味を区別するかは個別の言語によって決まる。例えば、英語の「l」と「r」は日本語では同一の音素として処理されることが多いが、英語では異なる音素として区別される。日本語では重要な長音や濁音の区別を重視しない言語もある。

人間がある言葉を発声する際、人による声色の違い、同じ人でも体調や感情の変動、発声時の前後の音との繋がりなどによって物理的には異なる音に変化している。言語として理解する際にはそれらの微細な差異を切り捨て、特定の同じ音に分類している。この物理的な音のバリエーションを「異音」と呼び、それらを一つの意味の単位として括ったものが音素である。

音声処理の観点では、音素は連続的な音声信号を離散的な記号系列へと変換する際の重要な指標となる。音声認識システムでは、入力された波形から特徴量を抽出し、隠れマルコフモデル(HMM)や深層ニューラルネットワークなどを用いて、どの音素が高い確率で出現しているかを推定する。音素は音節や単語を構成する最も基本的な単位であり、これを正確に特定することが重要となる。

なお、「音素」と「音韻」は分野や文脈により同義語とする(あるいは一方は用いない)とする場合と、異なる概念を指す場合がある。意味が異なる場合、音素は物理的な発音の違いに基づく単位で、音韻は特定の言語における音声の単位とする考え方(「『l』と『r』は異なる音素だが日本語では同じ音韻」と整理する)や、音韻は音素の区別に音の強弱や長短、アクセント、トーン(声調)などの区別を加えた要素とする考え方などがある。

音声合成

文字情報から人間の発話に近い音声信号を人工的に生成する技術。入力されたテキスト情報を解析し、それを音声波形へと変換することで、機械が人間のように発話することを可能にする。

この技術は一般に、言語処理と信号生成の二つの工程で構成される。まず、入力された文章を解析し、単語や音素に分解して、読みやアクセント、イントネーションなどの情報に変換する。日本語の場合は漢字と仮名の読み分け、単語境界を確定する形態素解析などを行って正しい読み方を分析する必要がある。

次に、得られた音韻や韻律情報を基に、実際の音声波形が生成される。この段階では、音声の高さや長さ、スペクトル形状などが制御され、連続した音声信号として出力される。初期の生成方式では、単純な規則や音声断片の組み合わせる「波形接続」によって合成が行われたが、機械的で不自然な音質になりやすかった。近年では、統計的手法や深層学習を用いた音声合成が主流となり、大量の音声データから発話の特徴を学習することで、話者の個性や自然な抑揚を反映した音声生成が可能になっている。

音声合成は近年飛躍的に性能が向上しており、スマートフォンの音声アシスタント、カーナビゲーション、駅の放送、視覚障害者のための読み上げソフトなど、様々な用途や場面で活用されている。また、特定の個人の声を少量のデータから再現する技術も実用レベルに達しており、音声の捏造や本人へのなりすまし、声優や歌手などの「声の所有権」を認めるべきかどうかなど、声や発話をめぐる新たな社会問題が提起されている。

音声認識

人の話し声を含むデジタル化された音声データを解析し、話している内容を文字データとして抽出する技術や処理のこと。コンピュータへの文字入力の方式の一種。

マイクに向かって喋った内容を文字に起こし、口述筆記のように文書作成を行うシステムや、目的地などの指示を声で行えるカーナビゲーションシステム、操作の指示やネットで検索したい内容などを声で行えるスマートフォン向けのサービスやソフトウェアなどがある。

また、音声認識で指示や要求を伝え、結果をスピーカーから音声で返す専用のシステムは「スマートスピーカー」と呼ばれ、2010年代半ば頃から家庭向けの製品の普及が進んでいる。利用者が情報検索や音楽再生、計算(電卓)、予定通知(リマインダー)、タイマーなどの機能を発話による指示で実行することができる。

音声データはデータ量が多く、リアルタイムに大量の解析・変換を行うことは難しかったためなかなか実用化できなかったが、21世紀に入ってコンピュータの記憶容量や処理性能が大幅に向上し、徐々に実用的なサービスが提供されるようになった。現在でも、複数の人物が同時に喋る状況など、なかなか精度が上がらない場面もある。

一方、同じ音声から人間の声を認識する技術でも、誰が話しているかを識別する技術は「話者認識」(speaker recognition/voice recognition)という。事前に登録した人物の声のデータを元に、マイクに話しかけた人物が誰であるかを識別する。利用者認証の本人確認を声で行う「声認証」(音声認証/声紋認証/voice authentication)などに応用される。

音素

ある言語において意味を区別するために機能する最小の音声単位。個々の発話音そのものではなく、言語内で区別に用いられる音の抽象的な側面を扱い、音声と言語構造を結び付ける概念である。

物理的に発せられる具体的な音声そのものではなく、頭の中で抽象化された音の概念を指す。音素の体系は言語ごとに異なり、どの音の対立が意味を区別するかは個別の言語によって決まる。例えば、英語の「l」と「r」は日本語では同一の音素として処理されることが多いが、英語では異なる音素として区別される。日本語では重要な長音や濁音の区別を重視しない言語もある。

人間がある言葉を発声する際、人による声色の違い、同じ人でも体調や感情の変動、発声時の前後の音との繋がりなどによって物理的には異なる音に変化している。言語として理解する際にはそれらの微細な差異を切り捨て、特定の同じ音に分類している。この物理的な音のバリエーションを「異音」と呼び、それらを一つの意味の単位として括ったものが音素である。

音声処理の観点では、音素は連続的な音声信号を離散的な記号系列へと変換する際の重要な指標となる。音声認識システムでは、入力された波形から特徴量を抽出し、隠れマルコフモデル(HMM)や深層ニューラルネットワークなどを用いて、どの音素が高い確率で出現しているかを推定する。音素は音節や単語を構成する最も基本的な単位であり、これを正確に特定することが重要となる。

なお、「音素」と「音韻」は分野や文脈により同義語とする(あるいは一方は用いない)とする場合と、異なる概念を指す場合がある。意味が異なる場合、音素は物理的な発音の違いに基づく単位で、音韻は特定の言語における音声の単位とする考え方(「『l』と『r』は異なる音素だが日本語では同じ音韻」と整理する)や、音韻は音素の区別に音の強弱や長短、アクセント、トーン(声調)などの区別を加えた要素とする考え方などがある。

隠れマルコフモデル

現象を記述する統計モデルの一つで、観測されない状態が時間とともに遷移し、その状態に応じて観測データが生成される過程を表現したもの。状態は直接観測できず、観測系列から背後の状態遷移を推定する。

過去の状態の影響を受けず、現在の状態のみによって次の状態が決まるような性質を「マルコフ性」(Markov property)という。通常のマルコフモデルでは状態そのものが直接観測可能だが、隠れマルコフモデルでは内部の状態遷移は外部から直接見ることができず、観測者は「隠れた状態」から特定の確率で出力される断片的な観測データのみを得ることができる。

モデルを運用する際には、主に三つの課題を解く必要がある。第一に、与えられた観測データが得られる確率を計算する「評価」、第二に、観測データから最も尤もらしい隠れた状態の系列を推定する「復号」、そして第三に、大量のデータからモデルのパラメータを最適化する「学習」である。このそれぞれについて数学的なアルゴリズムが提案されている。

隠れマルコフモデルは音声認識や自然言語処理、生体信号解析、DNA塩基配列の解析などに応用されている。例えば、音声認識において「発話された音素」を隠れた状態、「抽出された音声特徴量」を観測データと見なせば、音のゆらぎを確率的に許容しながら、背後にある音素の並びを推定することが可能になる。

感情分析

コンピュータによる自然言語処理の一つで、文章や発話に含まれる感情や態度を自動的に推定する技術。テキストデータの中に含まれる話し手や書き手の感情、意見、態度を機械学習や自然言語処理の技術を用いて抽出・分類する。

基本的な処理では、文章を単語や文に分割し、それぞれの語や表現が持つ感情的な意味合いを手がかりに、全体の感情を推定する。文章が肯定的か、否定的か、あるいは中立的かを自動で判別し、定性的なデータを定量的な指標へ変換することができる。

初期の手法では、あらかじめ感情極性が定義された辞書を用いて判定する方法が広く用いられてきたが、表現の多様性や文脈依存性への対応には限界があった。近年では機械学習や深層学習を用いた感情分析が主流となり、大量のラベル付きデータを用いて分類モデルを学習させることで、単語単体だけでなく文脈や語順を考慮した判定を行うことができる。

企業のマーケティング活動におけるSNS上の口コミ分析や、カスタマーサポートに寄せられる顧客の声の自動仕分けなどでよく用いられる。コールセンターでの通話記録から顧客の不満を早期に察知したり、市場のトレンドやブランドイメージの変遷をリアルタイムで把握するといった活用方法もある。

高速フーリエ変換

時系列に並んだデジタル信号の標本列を周波数成分の集合で表す離散フーリエ変換(DFT:Discrete Fourier Transform)をコンピュータで高速に計算する手法。画像や音声、映像などの処理で多用される。

フーリエ変換は信号の中にどの周波数成分がどれだけ含まれているかを抽出する処理だが、FFTでは入力波形をいくつかのグループに分け、計算順序を工夫することにより通常の計算方式よりも大幅に少ない計算量で変換を行うことができる。標本数がNのとき、素朴なフーリエ変換はO(N2)の計算量となるが、FFTでは(Nが2の累乗ならば)O(NlogN)で済む。

1965年にAT&Tベル研究所(当時)のジェームズ・クーリー(James W. Cooley)氏とジョン・テューキー(John W. Tukey)氏が考案した、クーリー・テューキー型(Cooley-Tukey algorithm)が最も有名だが、他にも様々な手法が提唱されている。逆変換は逆高速フーリエ変換(IFFT:Inverse Fast Fourier Transform)という。

スペクトル包絡

音声信号の周波数成分を示すスペクトルの起伏をなめらかに結んだ曲線のこと。細かな倍音構造を除き、音色や音質に関わる大域的な特徴を捉える指標として用いられる。

音声信号を、含まれている周波数成分とその大きさによって図示した周波数領域で解析すると、細かく振動する微細構造と、全体的な概形を示す包絡の二つに分けられる。微細構造は声帯の振動周期に由来する基本周波数、いわゆる「声の高さ」を表すのに対し、スペクトル包絡は「あ」や「い」といった言葉の違いを形作る。

人間が発声する際、喉や口の形を変化させることで特定の周波数帯域を強調したり減衰させたりするが、このフィルタリングの効果がスペクトル包絡として現れる。特に、包絡上に現れる山のような共鳴ピークは「フォルマント」と呼ばれ、音声認識や話者識別において極めて重要な特徴量となる。

スペクトル包絡を求める方法には、線形予測分析やケプストラム分析などがある。これらの手法では、短時間の枠(フレーム)ごとにスペクトルを解析し、周期的な成分と緩やかな成分を分離することで包絡を推定する。推定された包絡は、周波数軸上の連続的な関数として扱われ、図示するとスペクトル全体を包み込む滑らかな曲線となる。

音声処理においてスペクトル包絡は音声の特徴量やモデルの入力として利用される。包絡を操作することで、話者性や母音特性を変化させることが可能となる。音声の分析と生成の双方で用いられ、音声認識では入力音声がどの音素に近いかを判断する基準として、音声合成では特定の人物の声を再現するためのデータとして、それぞれ応用される。

パルス符号変調器

音声などのアナログ信号をデジタルデータに変換する方式の一つ。信号の強度を一定周期で標本化(サンプリング)したもの。そのまま保存すれば非圧縮音声データとなる。

音波をマイクなどでアナログ電気信号に変換し、その強度をサンプリング周波数に従って一定周期で測定する。各測定値は定められた量子化ビット数の範囲で整数値として記録する。

例えば、CDの音声はサンプリング周波数44.1kHz(キロヘルツ)、量子化16ビットのPCM方式で記録される。これは毎秒44,100回信号を測定し、その強度を65,536(216)段階の値で表していることを意味する。

サンプリング周波数と量子化ビット数を高めるほど高品質のデータを得ることができるが、その分データ量は増大する。標本化定理により、サンプリング周波数の半分の周波数までの信号は再現可能とされており、これを「ナイキスト周波数」という。

音声の場合は人間の可聴音の上限が20kHz程度であることが知られており、40kHzを超えるサンプリング周波数を用いれば録音データからおおむね自然な音が再生できるようになると言われる。

通常のPCM方式は「リニアPCM」(LPCM:Linear PCM)とも呼ばれ、毎回の標本化で得られたデータを単純に順番に並べた形式だが、一つ前のデータとの差分を記録していく方式を「DPCM」(Differential PCM:差分PCM)という。

さらに、DPCMの各標本の量子化ビット数を直前の標本の変動幅に応じて適応的に変化させる方式を「ADPCM」(Adaptive Defferential PCM:適応的差分PCM)という。PCMとほぼ同じ品質を保ちながら符号化後のデータ量を削減できるため、実用上はこちらが用いられることも多い。

フォルマント

音声の周波数スペクトルにおいて、周囲に比べてエネルギーが強くなっている特定の周波数帯域のピーク。人間が発声する際、喉や口の形を変化させることで生じる共鳴現象の結果として現れ、主に「あ」「い」「う」「え」「お」といった母音の音色の違いを決定付ける。

人の発話では、声帯の振動によって生成された音が声道を通過する過程で、特定の周波数帯域が強められる。この共鳴現象によって生じるピークがフォルマントであり、低い周波数から順に第一フォルマント(F1)、第二フォルマント(F2)…と番号が付けられる。これらの周波数位置は、舌の高さや前後位置、口の開き具合などの調音状態と密接に関係し、異なる母音では異なる配置を示す。

特に、F1とF2の組み合わせが、どの母音であるかを特定する上で決定的な役割を果たすとされる。例えば、口を大きく開ける「あ」の音ではF1が高くなり、舌を前方に突き出す「い」の音ではF2が高くなるといった規則性がある。なお、子音の部分や騒音下ではピークが不明瞭になることが多く、フォルマントが観測しにくくなるとされる。

音声信号の周波数成分を示すスペクトルの起伏をなめらかに結んだ線をスペクトル包絡というが、フォルマントはこの曲線の上で局所的な山として観測される。線形予測分析などの手法を用いることで、声道の共鳴特性をモデル化し、フォルマント周波数や帯域幅を数値として求めることができる。これにより、連続的な音声信号から調音に関わる情報を抽出することが可能となる。

フォルマント周波数

音声の周波数スペクトルにおいて、周囲に比べてエネルギーが強くなっているピーク部分の周波数。人間が発声する際、喉や口の形を変化させることで生じる共鳴現象の結果として現れ、主に「あ」「い」「う」「え」「お」といった母音の音色の違いを決定付ける。

人の発話では、声帯の振動によって生成された音が声道を通過する過程で、特定の周波数帯域が強められる。この共鳴現象によって生じるピークを「フォルマント」(formant)と呼び、その頂点の周波数をフォルマント周波数という。低い周波数から順に第一フォルマント周波数(F1)、第二フォルマント周波数(F2)…と番号が付けられる。

これらの周波数位置は、舌の高さや前後位置、口の開き具合などの調音状態と密接に関係し、異なる母音では異なる配置を示す。特に、F1とF2の組み合わせが、どの母音であるかを特定する上で決定的な役割を果たすとされる。例えば、口を大きく開ける「あ」の音ではF1が高くなり、舌を前方に突き出す「い」の音ではF2が高くなるといった規則性がある。

音声信号の周波数成分を示すスペクトルの起伏をなめらかに結んだ線をスペクトル包絡というが、フォルマント周波数はこの曲線上の局所的な山の頂点の周波数として示される。線形予測分析などの手法を用いることで、声道の共鳴特性をモデル化し、フォルマント周波数を数値として求めることができる。

フォルマント周波数は話者の身体的特徴にも依存する。声道の長さや容積は個人ごとに異なるため、同じ母音を発声してもその数値には個人差が生じる。この性質を利用して、話者識別や特定の個人の声を模倣する音声合成のパラメータとしても活用されている。

メル周波数ケプストラム係数

人間の聴覚特性を考慮して音声信号から抽出された特徴量のこと。周波数情報を要約した数値列として、音声認識や話者識別などで広く利用されている。

この係数は、短時間ごとの枠(フレーム)に分割した音声信号に対してフーリエ変換を行い、その結果を「メル尺度」と呼ばれる周波数尺度に変換する。メル尺度は、低音域の変化には敏感だが高音域の変化には鈍いという人間の耳の特性を反映した尺度である。フーリエ変換によって得られたスペクトルはメル尺度に基づく帯域に集約され、各帯域のエネルギーが計算される。

次に、帯域エネルギーに対して対数変換を施し、さらに離散コサイン変換を適用することで、メル周波数ケプストラム係数が得られる。対数変換は音の大きさに関する知覚特性を反映し、離散コサイン変換は帯域間の相関を低減し、情報を少数の係数に集約する役割を果たす。

この変換によって、スペクトルの中に含まれる「声帯の振動由来の周期性」と「声道の形状由来の包絡」が分離され、声道の共鳴特性のみを係数として取り出すことができる。こうして得られた低次の係数列がメル周波数ケプストラム係数であり、音声のスペクトル包絡を少ない次元数で精度よく表現している。

メル周波数ケプストラム係数は、マイクの特性や周囲の雑音といった環境の変化に対して比較的安定しており、計算量も少ないという利点がある。音声認識や話者識別において最も広く普及している指標の一つであり、声の高さなどの情報を抑え、音色や音韻の違いを効率的に表現することができる。

メル尺度

人間の聴覚が感じる音の高さの知覚に基づいた心理的な周波数尺度。物理的な振動数としての音を、人間が主観的に知覚する音の形へと変換するための架け橋として用いられる。

人の聴覚は、低い周波数では周波数差に敏感である一方、高い周波数になるにつれて感度が相対的に低下する。メル尺度はこの特性を反映するために、1000Hzの純音の高さを1000メルと定義し、それを基準として聞き手が「2倍の高さ」あるいは「半分の高さ」に感じる音を実験的に求めることで作成された。

物理的な周波数(ヘルツ)とメル尺度の関係をグラフに描くと、概ね1000Hz前後を境にして低周波数域ではほぼ線形(比例関係)な一方、高周波数域では対数的な関係となり、変化が緩やかな曲線を描く。同じメル値の差が知覚上ほぼ同じ音高差に対応するよう設計され、聴覚上の音の高低と対応する音波の周波数を相互に変換することができる。

音声処理では、メル尺度は周波数分析結果を知覚的に意味のある表現へ変換するために用いられる。例えば、音声認識で広く使われるメル周波数ケプストラム係数(MFCC)の算出過程では、音声のスペクトルに対して、メル尺度上で等間隔になるように配置されたフィルタを適用する。これにより、人間が聞き取りにくい高音域の細かな変動を圧縮し、言語情報の識別に重要な低中域の情報を重点的に抽出することが可能になる。

話者識別

音声信号に含まれる話者固有の特徴を手掛かりとして、誰が発話したかを判別する技術。入力された音声信号を解析し、あらかじめ登録されている複数の候補者の中から、誰が話しているかを特定する。

音声信号から話者特性を表す特徴量を抽出して判別を行う。音声は声帯の振動や声道形状の影響を受けるため、同じ言葉を話しても話者ごとにスペクトル構造や時間的変化が異なる。これを「メル周波数ケプストラム係数」などの手法で数値化する。特徴量は音声の短時間区間ごとに算出され、話者の癖や生理的差異を反映した情報として扱われる。

識別の方法としては、登録済みの話者の中から誰の音声かを判定する「クローズドセット型」と、未知話者かどうかを含めて判定する「オープンセット型」がある。なお、似たタスクに「話者照合」があるが、話者識別は多数話者からの分類問題、話者照合は特定話者本人か否かを判断する二値判定問題である。

従来はガウス混合モデルや隠れマルコフモデルなどの統計的手法が用いられてきたが、近年ではニューラルネットワークに基づく埋め込み表現を用いた手法が主流となっている。話者識別は個人を判別する生体認証の一種(音声認証)、録音音声からの会議録の自動作成、スマートデバイスの個人最適化などに広く活用されている。

CTC

入力信号と出力ラベルの長さが異なる時系列データを、事前の位置合わせなしに学習させるための損失関数およびアルゴリズム。主に音声認識や手書き文字認識など、時系列データを対象としたタスクで用いられている。

従来のニューラルネットワークを用いた音声認識では、入力された音声フレームの一つ一つについて、どの音素や文字に対応するかを厳密に定義した教師データが必要であった。しかし、発話の速度やタイミングは人によって異なり、音声と文字の境界を正確に一致させる作業には多大なコストがかかる。

CTCはこの課題を解決するために、特殊な空文字(ブランク)を導入し、重複するラベルを統合する仕組みを持っている。これにより、ネットワークは入力信号のどの区間がどの文字に対応するかをモデル内部で柔軟に処理できるようになり、単なる文字列の正解を与えるだけで学習が可能となった。

処理過程では、各時刻において各文字が出現する確率が出力される。出力された文字の系列から、連続して同じ文字が続く場合やブランクを挟む場合を考慮して、最終的な文字列へとデコードを行う。例えば、「he-ll-l--o」(-はブランク)といった出力は、重複排除とブランクの除去を経て「hello」という単語に集約される。入力と出力の順序性のみを維持しつつ、時間的なズレを確率的に許容する。

CTCは音声認識システムの要素技術として、リカレントニューラルネットワーク(RNN)や畳み込みニューラルネットワーク(CNN)などと組み合わせて利用される。現在では、より高度な「アテンション」(Attention:注意機構)を用いたモデルも存在するが、計算コストの低さやストリーミング処理との相性の良さから、リアルタイム性が求められる音声処理では引き続き活用されている。

A3C

強化学習における深層学習手法の一つで、Actor-Critic法に、複数のエージェントが独立して並列に学習を進める非同期学習の仕組みを組み込んだもの。

行動を選択する「Actor」(演者)と、Actorの選択した行動に評価を与える「Critic」(批評家)を別々の出力として同一のニューラルネットワーク内で学習する。Actorは方策を表し、Criticは価値関数を推定する役割を担う。これに「Advantage」(優位性)という指標を組み合わせることで、得られた報酬が事前の予測に比べてどれほど良かったかを基準に学習を進める。

一つの中心となるグローバルネットワーク(共有パラメータ)に対し、複数のワーカーが並列に環境と相互作用しながら学習を進める。各ワーカーは自分自身のネットワークを持ち、個別に得た学習成果をグローバルネットワークへ非同期に反映させる。これによりデータ間の相関を効率的に打ち消すことができ、従来の強化学習で必要だった過去の経験を蓄積する膨大なバッファメモリが不要となった。

2016年に米グーグル(Google)社傘下のディープマインド(DeepMind)社によって発表された手法で、深層強化学習において計算資源の並列化を効率的に進めることができるようにした。従来の手法がGPUによる膨大な演算を必要とするところを、マルチコアCPUのみで同等以上の性能と圧倒的な学習時間の短縮を実現したことで注目された。ワーカーからのパラメータ更新の反映を同期的に処理するように変更した「A2C」(Advantage Actor-Critic)などの派生手法も提唱されている。

Agent57

汎用強化学習エージェントの一つで、ビデオゲーム操作の巧拙を測る「Atari 57」ベンチマークで初めて人間を上回るスコアを達成したモデル。米グーグル(Google)社傘下のディープマインド(DeepMind)社が2020年に発表した。

従来の強化学習モデルは、特定のゲームでは極めて強い一方で、報酬が極端に少ないゲームや長期的な戦略が必要なゲームを苦手としていた。Agent57では、未知の状況を積極的に探しに行く「探索」と、これまでに学んだ知識で高いスコアを狙う「活用」を戦況に応じて柔軟に切り替える仕組みを搭載し、単一方策では対応が難しい多様なゲーム特性に適応できる。

基盤となる学習アルゴリズムは分布型強化学習や価値ベース手法を拡張したものだが、ユニークな試みとして従来の外的な報酬に加えて内的な報酬を導入して探索を促進している。これは、報酬がすぐには得られない状況でも「新しい状態に到達すること」自体に報酬を設定するもので、エージェントの好奇心を維持し続ける内的な動機づけとして作用する。このアルゴリズムには「Never Give Up」(NGU)という名前が付けられている。

Agent57は単一のアルゴリズムというより、複数の強化学習技術を統合した包括的なエージェント設計である。その成果は、特定タスクに特化しない汎用的な強化学習の可能性を示すものであり、あらゆる課題に対して一貫して高い性能を発揮する「汎用人工知能」への道筋を、ゲームという複雑なシミュレーションを通じて示した重要な成果と考えられている。

APE-X

分散型強化学習アルゴリズムの一つで、多数のエージェントが並列に経験を収集し、単一の学習モデルに集約する方式。米グーグル(Google)社傘下のディープマインド(DeepMind)社が2018年に発表したもので、学習の効率と速度を劇的に向上させることができる。

試行錯誤して経験を収集する「アクター」(actor)と、その経験を元に学習を行う「ラーナー」(learner)の役割を分離し、非同期に動作させる。数百台規模のアクターがそれぞれ独立して異なる環境で行動し、得られた膨大な経験を共通の共有メモリ領域に蓄積する。ラーナーはこの共有メモリからデータを取り出してネットワークの更新を行う。この分離構造により大量のデータを高速かつ効率的に処理することができる。

ラーナーは共有メモリに蓄積された経験の中から、「優先度付き経験再生」(PER:Prioritized Experience Replay)というアルゴリズムに従い、学習に役立ちそうな「意外性の高い」経験を優先的に取り出して学習する。価値関数の更新誤差が大きい経験が高い確率で再利用されるため、学習効果の高いデータに重点を置いた更新が可能となる。

Ape-Xではアクターごとに異なる探索戦略を採用でき、各アクターが多様な行動を試みることで単一のエージェントで陥りやすい局所解を回避し、より広範な状態空間を網羅できる。また、ラーナーの学習スピードに合わせてアクターの数をスケールアップできるため、分散処理の利点を最大限に引き出すことができる。

Ape-Xはデータ収集の多様性と学習の集中度を高い次元で両立させており、巨大な計算資源を用意することで直接的にモデルの性能向上を測ることができることを示した。その後の強化学習における分散学習の標準的な考え方となり、R2D2などのさらに高度なアルゴリズムの基礎となっている。

DQN

Q学習と呼ばれる強化学習の手法に深層ニューラルネットワークを組み合わせた機械学習アルゴリズム。複雑で高次元な状態入力を処理することができ、画像入力から直に最適な行動を出力するといった能力を発揮する。

従来の強化学習では、状態と行動の組み合わせをテーブル形式で管理していたため、画像データのような膨大な情報を持つ状態を扱うことが困難であった。DQNは、このテーブルの代わりに深層ニューラルネットワーク(DNN)を用いることで、複雑な状態から行動の価値であるQ値を近似計算することができる。

DQNの学習を安定させるために、二つの重要な仕組みが導入されている。そのうちの一つである「経験再生」(experience replay)は、エージェントが過去に経験した、状態→行動→報酬→次の状態という一連のデータをメモリに蓄積し、ランダムにサンプリングして学習に用いる手法である。データ間の時間的な相関を低減して学習の偏りを防ぐ。

また、ネットワーク内部に学習を行うための「Qネットワーク」と、学習の目標値を算出するための「ターゲットネットワーク」という二つのネットワークを用意し、価値の推定値が急激に変動して学習が不安定になる現象を抑制する。ターゲットネットワークのパラメータは定期的にQネットワークのパラメータによって更新される。

DQNは米グーグル(Google)社傘下のディープマインド(DeepMind)社が2015年に発表した。ビデオゲームの画面入力のみを用いて人間を超える操作精度でゲームをプレイするデモは大きな話題となった。深層強化学習という分野が広く認知されるきっかけとなったモデルの一つとされる。

OpenAI Five

オンライン対戦ゲーム「Dota 2」をプレイするための人工知能システム。米オープンAI(OpenAI)社が開発したもので、2019年には、当時の世界チャンピオンチームに勝利し話題となった。

Dota 2は、5対5のチームで戦うリアルタイム戦略ゲームであり、個々の細かな操作だけでなく、チームメイトとの高度な連携や数十分先に及ぶ長期的な戦略が求められる。OpenAI Fiveでは、各キャラクターを操作する5体のエージェントが独立した行動主体として設計されつつ、同一の方策ネットワークを共有することで、チームとしての一貫した行動が可能となっている。入力には視界内のゲーム状態が用いられ、人間と同様の情報制約下で学習が行われた。

学習手法としては、自己対戦を中心とした強化学習が採用されている。AIは自分自身を相手に、1日で人間が180年かけてプレイする量に匹敵する膨大な回数の対戦を繰り返したとされる。エージェントは勝敗などの最終報酬に基づいて方策を更新し、連携行動や役割分担といった高度な戦術を徐々に獲得していった。ルールの簡略化や使用キャラクターの制限など、学習段階に応じた環境設定も取り入れられている。

システム構成としては、各キャラクターを制御するネットワークにLSTM(長・短期記憶)が採用されており、刻々と変化するゲーム内の膨大な情報を時系列に処理することができる。各エージェントは独立して行動を決定するが、「チームスピリット」と呼ばれるハイパーパラメータが設定され、モデルが獲得する報酬として個人の利益よりもチーム全体の勝利を優先するように調整されている。

OpenAI Fiveは単一アルゴリズムではなく、分散強化学習、自己対戦、マルチエージェント学習を統合した大規模システムである。その成功は、不確実な情報が混在する動的な環境下であっても、適切な設計と膨大な計算資源があれば、AIが人間を凌駕する複雑な意思決定を行えることを証明した。

PPO

強化学習における方策最適化手法の一つであり、学習の安定性と実装の容易さを両立するアルゴリズム。2017年に米オープンAI(OpenAI)社によって発表された手法で、深層強化学習の標準的な手法の一つとして知られる。

強化学習では、エージェントが環境と相互作用しながら報酬を最大化する方策を学習する。方策勾配法は方策を直接パラメータ化して更新するが、更新幅が大きいと性能が急激に悪化する問題が知られている。PPOはこの問題を緩和するため、新しい方策が古い方策から大きく離れすぎないように制限を設ける。

具体的には、新旧方策の確率比を用いた目的関数が定義され、その値が一定範囲を超えた場合に利得が打ち切られるクリッピング手法が用いられている。方策の更新に制限を設けるアイデアは先行するTPRO(Trust Region Policy Optimization)と同様だが、数学的な複雑さを解消し、少ない計算量で同等の機能を発揮することができる。

PPOはロボット制御やゲームプレイなど様々な分野で活用されている。特に、大規模言語モデル(LLM)を人間のフィードバックによって微調整し、数値化が難しいニュアンスなどを最適化するRLHF(Reinforcement Learning from Human Feedback)手法に組み込まれ、チャットAIの品質を実用レベルに引き上げる鍵となった技術として知られる。

Rainbow

深層強化学習の代表的なアルゴリズムであるDQNに、6つの独立した改良手法を統合したもの。2017年に米グーグル(Google)社傘下のディープマインド(DeepMind)社が発表した。

DQN(Deep Q-Network)に対して個別に提案されてきた改良要素を一つのアルゴリズムにまとめている。行動価値の過大評価を抑える「ダブルDQN」、重要な経験を優先的に学習する「優先度付き経験再生」、状態価値と行動価値を分離する「デュエリングネットワーク」、先々の報酬まで考慮する「マルチステップ学習」、報酬の分布を予測する「分布型強化学習」、パラメータにノイズを加えて探索を促す「ノイジーネットワーク」の6つである。

Rainbowは単なる拡張手法の寄せ集めに留まらず、各要素が補完し合うことで相乗効果を生むことを示した。当時の主要なベンチマークにおいて圧倒的な最高スコアを記録し、特にアタリ(Atari)社のゲーム環境を用いた評価では、従来のDQNを遥かに凌駕する学習速度と最終的な精度を達成した。一方、構成要素が多く、計算量の増大や実装が複雑になることは避けられず、用途や計算資源に応じたアルゴリズムの取捨選択の重要性も同時に示した。

RLHF

強化学習の手法の一つで、人間のフィードバックを報酬として用いてモデルの振る舞いを調整するもの。教師あり学習と強化学習を組み合わせた手法で、大規模言語モデル(LLM)の対話性能向上などに用いられる。

まず、大量のテキストデータを用いた事前学習や微調整(ファインチューニング)により、基本的な言語能力を持つモデルを構築する。その後、モデルが生成した複数の回答案を人間が比較し、どちらがより好ましいかという順位付けを行う。この人間の評価データを基に、どのような回答が望ましいかを数値化する「報酬モデル」(reward model)を学習させる

次に、学習した報酬モデルをガイド役として、強化学習のアルゴリズムであるPPO(Proximal Policy Optimization)などを用いてメインの言語モデルを微調整する。言語モデルは報酬モデルから高い評価を得られるような回答を生成するように自己更新を繰り返す。言語モデルは単に確率的に高い単語を並べるだけでなく、悪い言葉を使わない、役に立つなど、人間が思う「良さ」に沿った回答を出力する能力を獲得する。

RLHFは、倫理性やニュアンスなど、明示的な数式で定義しにくい評価基準を学習に反映でき、対話型AIの性能向上や安全性の確保において重要な役割を果たしている。一方で、人間の評価に依存するため、評価者の主観に伴う一貫性の問題やコストの問題が存在する。また、報酬モデルの偏りがそのまま学習結果に反映されやすく、報酬を不当に稼ごうとする「報酬ハック」などの問題が生じる可能性も指摘されている。

sim2real

コンピュータ上のシミュレーション環境で学習させた機械学習モデルを、現実世界に適応させる技術やプロセスの総称。ロボット制御など実機訓練に大きなコストやリスクが生じる分野で用いられる。

ロボットやドローン、自動運転車などの現実世界での学習には、物理的な故障のリスクや時間の制約、さらには膨大なデータの収集が困難であるという課題がある。シミュレータを用いた仮想環境内であれば、現実よりも高速に試行錯誤を繰り返すことが可能であり、安全かつ安価に多様な状況を経験させることができる。

しかし、シミュレーションは物理法則や細かな物理的な特性、センサーなどに生じるノイズ、環境の不確実性を完全には再現できず、学習したモデルをそのまま実機に適用すると性能が低下することが多い。このような仮想と現実の乖離は「リアリティギャップ」と呼ばれ、Sim2Realにおける主要な課題である。

この乖離を緩和する手法として「ドメインランダマイゼーション」(domain randomization)がよく知られる。これは、シミュレーション内の摩擦係数、物体の重さ、照明などの条件を意図的にランダムに変化させ、多様な環境下で学習させる手法である。モデルに環境の「揺らぎ」を経験させ、現実環境をその一例として包含することを目指す。これに、実世界で少量のデータを用いて学習済みモデルを調整するファインチューニングが併用されることも多い。

Sim2Realは単一のアルゴリズムを指すものではなく、シミュレーション設計、学習手法、実機適応を含む総合的な枠組みである。近年では、物理エンジンの高度化や表現学習の進展により、高度な器用さが求められるロボットハンドの操作や、複雑な地形を歩行する多脚ロボットの制御などが、現実での膨大な訓練なしに実現可能になってきている。

AlphaStar

リアルタイム戦略ゲーム(RTS)である「StarCraft II」を攻略するための人工知能システム。米グーグル(Google)社傘下のディープマインド(DeepMind)社によって開発され、2019年に世界トップクラスのプロプレイヤーに勝利し話題となった。

StarCraft IIは、囲碁や将棋などの完全情報ゲームとは異なり、霧に覆われた視界によって敵の行動が完全には見えない不完全情報ゲームの性質を持つ。また、数万手先まで見据えた長期的な戦略の構築と、秒単位での微細なユニット操作を同時に行わなければならず、従来のゲームAIにとって難易度が高い課題だった。

AlphaStarは深層ニューラルネットワーク(DNN)と強化学習を組み合わせた深層強化学習の手法でStarCraft IIの操作や戦略を学習する。モデル内には時系列データを扱うための長・短期記憶(LSTM)やユニット間の関係性を捉えるためのTransformerが統合されている。画面情報やユニット状態などの高次元入力から行動方策を直接学習する構成をとり、操作制約や視野制限も人間に近い条件で設定されている。

学習過程では、まず人間プレイヤーの対戦データを用いた教師あり学習によって初期方策を構築し、その後にAlphaStar同士の自己対戦を通じた強化学習で性能を向上させている。複数のエージェントを同時に学習させるリーグ戦が採用され、戦略の多様性や対戦相手への適応能力が高められた。特定のプレイスタイルに特化したエージェントや、それらを打ち負かすためのエージェントを多数生成して競わせることで、弱点のない堅牢な戦略を構築している。

AlphaStarは単一のアルゴリズムというより、強化学習、模倣学習、マルチエージェント学習を統合したシステムである。AlphaStarが人間のトッププレイヤーを打ち負かした事実は、単なるゲーム攻略における成功を表すのに留まらず、不確実な情報が含まれる環境下で、長期的な計画を立てながら複雑なタスクを遂行する能力を機械学習システムが身につけることができることを示している。

オフライン強化学習

強化学習の手法の一つで、環境と新たに相互作用せず、あらかじめ収集された固定データのみを用いて方策を学習するもの。実世界での実験が困難な自動運転や医療診断などで、安全かつ効率的に賢い意思決定モデルを構築することができる。

通常の強化学習は「オンライン強化学習」と呼ばれ、エージェントが環境と逐次的に相互作用しながら行動を選択し、その結果として得られる報酬や状態遷移を用いて方策を更新する。一方、オフライン強化学習では、過去に人間や既存システムが収集した状態・行動・報酬のデータセットが与えられ、それ以外の追加データ収集は行わない。

過去の操作ログや熟練者の行動記録といった、既存の固定されたデータを教科書のように利用して強化学習を進める。探索による試行錯誤が許されない状況でも適用でき、医療やロボット制御、産業プロセスなど、安全性やコストの制約が厳しい分野で特に有用である。

ただし、学習済み方策がデータセットにほとんど含まれていない行動を選択すると、価値関数の推定誤差が大きくなり、性能が著しく低下する「分布シフト」(distribution shit)という問題が生じることがある。この問題に対処するため、データに近い行動を選好する正則化や、価値推定の過大評価を抑制する手法が提案されている。

残差強化学習

既存の制御則や方策に対して、強化学習により学習した補正成分を加えることで性能向上を図る手法。従来手法の知識を活用しつつ学習を行うことで安全性や効率性が高まる。

ロボット制御などでゼロから強化学習を行うと膨大な試行錯誤の時間が必要となり、学習初期の不安定な挙動が安全上のリスクとなる場合もある。残差強化学習では、あらかじめ設計された既存のコントローラをベースとして利用する。コントローラがタスクの基本的な遂行や安全性の確保を行い、強化学習エージェントは、その出力と望ましい結果の乖離である残差のみを学習する。

残差として学習される成分は、ベース方策では捉えきれない非線形性や外乱、モデル化誤差への対応を担う。強化学習エージェントは環境の物理法則や基本的な動作を一から学ぶ必要がなく、既存の知識からの乖離を埋めることに専念できるため、効率的な学習が可能となる。

既存のコントローラが最低限の動作を保証するため、完全にランダムな行動から始まる通常の強化学習に比べて、初期段階から一定の制御性能が確保され、学習初期の不安定な挙動や危険な探索を抑制できる。物理的な制約や安全性の要請が厳しいハードウェアの制御で特に有用である。

状態表現学習

高次元で複雑な観測データから、意思決定や予測に有用な低次元の表現を獲得する手法。強化学習などの効率を高めるための重要な前処理プロセスである。

例えば、現実世界のロボット制御や自動運転といった課題において、機械学習モデルが受け取るデータはカメラ画像のような膨大な画素情報であることが多い。しかし、画像に含まれるすべての画素が意思決定に不可欠なわけではなく、背景の細かな模様や照明の変化といったノイズも多く含まれている。

状態表現学習は、こうした冗長なデータの中から、視界内に存在する物体の種類や位置、速度といったタスク遂行に真に必要な要素のみを抽出し、ベクトル形式などコンパクトな表現に変換する。これにより、学習アルゴリズムは処理すべき情報量を大幅に削減でき、学習の収束速度や汎用性を向上させやすくなる。

具体的には、自己教師あり学習や変分オートエンコーダなどがよく用いられる。例えば、現在の画像から次の瞬間の画像を予測するモデルを構築することで、環境の動的な変化を捉える特徴量を自然に獲得させる手法がある。明示的な正解ラベルを与えなくても、データの構造や物理的な制約から有用な情報を引き出すことができる。

適切な状態表現を獲得することは、未知の環境への適応能力にも影響する。一度優れた表現学習のモデルを構築できれば、異なる目的のタスクであっても、同じ特徴量を利用して効率的に学習を進めることができる。一方、どのような情報が「本質的」であるかは解くべき問題に依存するため、タスクの性質に応じた適切な損失関数の設計やアーキテクチャの選択が必要となる。

ダブルDQN

DQNの改良版で、Q値の過大評価問題を軽減する強化学習手法。行動選択と価値評価の役割を二つのネットワークに分担させることで、学習の安定性を向上させている。

通常のDQNでは、ある状態で最大の報酬が期待できる行動を選ぶ際、同じネットワークを使って「どの行動がベストか」を判断し、同時に「その価値はいくらか」を計算する。しかし、学習途中のネットワークには推定誤差が含まれているため、偶然高い値が出た行動を過剰に高く評価してしまう傾向がある。

ダブルDQNでは、このような「過大評価」を緩和するため、行動を選択するネットワークと、その行動の価値を評価するネットワークを役割として分ける設計が採用された。まずメインのネットワークを用いて「次の状態でどの行動が最大価値を持つか」を選択し、その上で、選ばれた行動の実際の価値がいくらになるかを、もう一方のターゲットネットワークを使って算出する。

選択と評価を別々のネットワークで行うことにより、特定の行動に対する一時的な過大評価が学習全体に波及するのを効果的に抑制している。構成自体はDQNと類似しており、経験再生やターゲットネットワークといった基本要素も引き続き用いられる。学習時の計算式をわずかに調整するだけで導入でき、DQNの拡張手法の一つとして他の改良技術と組み合わせて利用されることが多い。

デュエリングネットワーク

深層強化学習におけるニューラルネットワーク構造の一つで、状態そのものの価値と、その状態で各行動をとることの優位性を分離して推定するもの。

従来のDQN(Deep Q-Network)などの手法では、一つのネットワークを用いて、特定の状態である行動を選択した際の価値である「Q値」を直接出力する。しかし、現実の学習課題ではどの行動を選択しても結果が大きく変わらない局面が多数あり、推定が不安定になりやすい難点があった。

デュエリングネットワークでは、ネットワークの内部で、その状態にいること自体の価値を表す「状態価値関数」と、各行動が平均的な行動に比べてどれだけ優れているかを示す「アドバンテージ関数」の二つの流れに分割して計算を行う。最終的にこれらを統合してQ値を算出する。行動選択に依存しない状態の良し悪しを明示的に学習できる。

この手法では、状態価値のみを更新すれば、その状態におけるすべての行動の評価を一括で修正できる。不必要な探索を減らし、少ないデータからでも安定して精度の高い価値推定を行うことが可能となる。特に、行動の選択肢が多いタスクや、特定のタイミングでしか重要な決定が生じないような環境において有用である。

ドメインランダマイゼーション

シミュレーション上の仮想環境下で機械学習を行う際、環境やデータ生成条件を意図的にランダム化し、多様な状況を疑似的に作り出すことで、現実世界への適応力を高める手法。

ロボットやドローン、自動運転車など機械の物理的な制御を学習させる際、実機や実際の環境で学習を実施するとコストや所要時間、安全上の要請などが大きな制約となるため、シミュレータで仮想的な物理環境を用意してその中でモデルを学習させるという手法がよく用いられる。

しかし、学習済みのモデルを現実の環境に適用しようとすると、シミュレーションと現実世界の物理法則や視覚情報のわずかな差異によって性能が著しく低下する「リアリティギャップ」という問題が生じることがある。ドメインランダマイゼーションはこれを緩和するため、摩擦、重量、照明、テクスチャといった環境パラメータをランダムに変化させ、多様な現実へ適応できるようにする。

実環境を正確に再現する必要はなく、実環境が含まれると考えられる分布全体を覆うように条件をばらつかせる。学習モデルは、ランダムに生成された多数の環境に共通して成立する構造や規則性を捉えることになる。現実世界が学習中に経験した無数のバリエーションの一つとして映るように訓練し、複雑で予測困難なノイズに対しても高い堅牢性を発揮できるようになる。

ノイジーネットワーク

ニューラルネットワークの重みやバイアスに確率的なノイズを導入し、学習過程にランダム性を組み込む手法。主に強化学習における探索性向上を目的として用いられる。

従来のニューラルネットワークでは、重みはランダム性のない決定論的なパラメータとして学習されるが、ノイジーネットワークでは重みを確定値とノイズ項の和として表現し、順伝播のたびに異なるノイズが加えられる。同じ状態が入力されても出力が変動し、行動選択に自然な多様性が生じる。

強化学習では、明示的な探索戦略を設計しなくてもネットワーク構造自体が探索を促進する。一般的な強化学習では、ε-greedy法のように方策とは独立した探索ノイズを行動に付加するが、ノイジーネットワークでは方策関数そのものが確率的に変動する。状態に依存した探索が可能となり、価値関数や方策の表現能力を保ったまま探索効率を高めることができる。

DQN(Deep Q-Network)にノイジーネットワークを組み込んだ応用例では、ノイズの強さ自体が学習によって変化する。学習の初期段階では大きなノイズで広範囲を探索し、学習が進んで最適な行動が明確になるに連れて、次第にノイズを小さくするように重みを更新していく。環境や学習状況に応じて探索の度合いを自動的に調整できるため、人間が手動で探索率を減衰させるスケジュールを設計する手間が省ける。

報酬成形

強化学習においてエージェントが目的を達成しやすくするために、本来の報酬に加えて補助的な報酬を設計し、学習のプロセスを効率的にガイドする手法。

強化学習の基本的な仕組みでは、エージェントが最終的な目標に到達した際に報酬を与え、そこに至るまでの行動をより高い確率で選択するように学習させる。しかし、ゴールに到達するまでの手順が長大で複雑なタスクでは、偶然ゴールにたどり着きに報酬を得る確率が低くなり、学習が進まないという問題が生じる。

報酬成形では、目標に近づくような望ましい行動や状態の変化に対して、小さな報酬を段階的に与える。これにより、エージェントはどの方向へ探索を進めるべきかのヒントを得ることができ、ゴールにたどり着くまでの時間を大幅に短縮することができる。報酬が疎(稀にしか得られない)であったり遅れて与えられるタスクでも効率的に学習が進む。

ただし、補助報酬を無計画に追加すると、設計者が意図しない挙動をエージェントが学習してしまう「報酬ハック」(報酬ハッキング)と呼ばれる現象が発生することがある。例えば、50mを速く走るロボットの形状をデザインを提案させたら、「高さ50mのロボットを作りスタート直後にゴールに向かって倒す」といった「ズル」をするようになってしまうことがある。

このような副作用を防ぐには、報酬成形を元の最適方策を変えないように設計する必要がある。数学的にこれを保証するため、各状態に定義されたポテンシャル関数の差分を報酬として加える手法が提唱されている。元の報酬で定義される最適行動が維持されるため、安全に学習を加速できる。

マルチエージェント強化学習

強化学習の手法の一つで、共通の環境内に存在する複数の自律的なエージェントが、互いに影響を及ぼし合いながら、それぞれの目的を達成するために学習を進めるもの。

通常の単一エージェントによる強化学習とは異なり、同じ環境にいる周囲の他のエージェントから受ける影響を考慮する必要が生じる。各エージェントから見ると、他のエージェントが学習によって行動を変化させるため、非定常型の環境となり学習の難易度が高まる。

エージェント間の関係性は、大きく分けて「協力型」「競争型」「混合型」の三つに分類される。協力型ではすべてのエージェントが共通の報酬を最大化することを目指し、チームプレイによる効率的なタスク遂行を学習する。競争型では、他者の報酬を減らすことが自身の利益に繋がるような対立的な行動が創発される。混合型は、ある場面では協力し、別の場面では利益を奪い合うといった、現実社会に近いより高度な社会性を学習する。

学習の枠組みとしては、各エージェントが独立して学習を行う「独立学習」と、学習時のみ全エージェントの情報を統合して利用する「中央集権型学習・分散型実行」(CTDE:Centralized Training, Decentralized Execution)が用いられる。後者は、学習を集権的に行うことで他のエージェントの意図や行動を考慮した安定的な学習が可能となり、実行時には各個体が自身の観測のみに基づいて迅速に意思決定を行う。

マルチエージェント強化学習は、同一施設内で働くロボット群の制御、交通信号の制御、電力網の制御など、複数主体が関与するシステムの最適化に適している。エージェント間の協調行動の創発や、相手の戦略変化への適応といった現象を扱う点で、単一エージェントでは捉えにくい問題設定を自然に表現できる。

連続値制御

行動や制御入力が離散的ではなく連続的な実数値として表現される問題。ロボットの関節角度や車両の加速量など、現実世界の物理的な制御の問題の多くがこれに含まれる。

機械学習や強化学習の分野では、当初は将棋の打ち手のように有限個の選択肢から一つを選ぶ離散的な行動空間を扱う問題を対象として発展してきた。しかし、現実世界で機械などを制御する問題では、位置、速度、角度といった量が連続的に変化するため、離散値で近似すると表現精度の低下や制御の不安定化を招く場合がある。

連続値制御を実現するための機械学習アルゴリズムとしては、決定論的な行動を出力する手法と、確率分布を用いて行動をサンプリングする手法の二つがよく知られる。ニューラルネットワークは、行動そのものを直接出力するか、あるいは行動が従うべき正規分布の平均と分散を出力するように設計される。

学習の過程では、ネットワークが現在の状態に対して最も高い報酬を期待できる数値の組み合わせを探索していく。代表的な手法には、決定論的な方針勾配を用いる「DDPG」(Deep Deterministic Policy Gradient)や、学習の安定性を高めるために方針の更新幅を制限する「PPO」(Proximal Policy Optimization)、エントロピーを導入して探索効率を高める「SAC」(Soft Aactor-Critic)などがある。

一般に、連続値制御は離散的な制御に比べて学習の難易度が高い。行動空間が無限の広がりを持つため、エージェントが偶然に良い行動を見つけ出す確率が低下し、探索が困難になりやすいためである。わずかな数値の変化がシステム全体に大きな影響を及ぼす可能性があり、学習の安定性を保つための工夫が求められる。近年ではシミュレータ上での強化学習と実機への転移学習を組み合わせる手法が発展しており、ドローンやロボット、自動運転などで高度な自律制御を実現している。

CycleGAN

敵対的生成ネットワーク(GAN)を発展させた画像生成モデルの一つで、一対一の対応関係がない二つの異なるデータ群の間で、画像の特徴を相互に変換するもの。

このモデルは二つの生成器と二つの識別器から構成される。一方の生成器は領域Aの画像を領域Bの画像へ変換し、もう一方は領域Bから領域Aへの変換を行う。各生成器に対応する識別器は、生成された画像がそれぞれの領域に属する実画像かどうかを判別する。この敵対的学習により、見た目の分布が変換先の画像集合に近づくように生成器が更新される。

「サイクル一貫性」という概念が導入され、領域Aの画像をBに変換し、さらにAへ戻したときに元の画像が復元されるべきだとする制約が設けられている。この制約を損失関数(サイクル一貫性損失)として追加することで、対応関係のないデータ同士であっても、物体の形や背景の構造といった意味的な情報を維持したまま、色や質感などのスタイルのみを変換することができる。

CycleGANは、馬とシマウマ、写真と絵画風画像、季節変換など多様なスタイル変換タスクで利用されている。Pix2Pixのように厳密な対データを必要としないため、インターネット上の膨大な既存画像を活用できる利点がある。一方、形状が大きく異なる変換には不向きとされる。例えば、犬を猫に変換しようとすると、耳の形や体格の根本的な違いを埋められず、不自然な結果が生じることがある。

DCGAN

敵対的生成ネットワーク(GAN)に畳み込みニューラルネットワーク(CNN)を組み合わせ、画像生成の精度と学習の安定性を大幅に向上させた機械学習モデル。

従来のGANは全結合層を中心とした構成で、画像の局所的な構造や平行移動不変性を十分に捉えにくいという課題があった。DCGANでは、生成器と識別器の双方に畳み込み層を用いることで、画像の階層的特徴を効率的に学習できるよう設計されている。生成器では転置畳み込みにより低次元の潜在変数から画像を段階的に拡大し、識別器では畳み込みによって画像を縮約しながら真偽判定を行う。

一般的なCNNで用いられるプーリング層を廃止し、ストライド付きの畳み込み層や転置畳み込み層を採用した。これにより、ネットワーク自体がデータの空間的な特徴を補完しながら学習することを可能にしている。中間層にバッチ正規化を導入することで、学習中に各層の入力分布を適切に調整し、勾配消失や学習の停滞といった問題を抑制している。

また、モデルがランダムな数値の集合から画像を生成する際、その数値をベクトルとして操作することで、生成される画像の内容を意図的に制御することができる。例えば、「眼鏡をかけた男性」に対応するベクトルから「男性」のベクトルを引き、「女性」のベクトルを足すと、「眼鏡をかけた女性」の画像が生成される。対象物の意味的な特徴を内部で高度に抽象化して捉えており、ベクトル演算による概念の操作が可能である。

DCGANは2015年に発表された。初期のGANが抱えていた学習の不安定性という課題に対してCNNとの融合という解を与え、画像生成モデルを実用レベルに近づけた功績は大きい。一方、高解像度の画像への適用や多様性の確保には課題が指摘され、その後の様々なGANの改良手法へ発展していった。

Diffusion Model

機械学習によるデータ生成モデルの一つで、データにノイズを加えていく過程と、そのノイズを段階的に取り除いて元のデータを復元する過程を学習する方式。画像生成の有力な手法として知られる。

ノイズを加える順方向過程と、ノイズを取り除く逆方向過程の二段階に分けられる。順方向では、学習元の画像に対して微小なノイズを繰り返し加えていき、最終的に全体が完全に無秩序なノイズへ変化する。モデルはこの各ステップにおいて「どの程度のノイズが加えられたか」を予測するように訓練される。生成過程となる逆方向では、何もないノイズの状態から、学習した知識を用いてノイズを一段階ずつ緻密に取り除いていくことで、鮮明な画像を再構築する。

実用面では、利用者からのテキストによる指示(プロンプト)を条件として入力することで、意図に沿った画像を生成する「潜在拡散モデル」が広く普及している。これは画像を直接処理するのではなく、データの意味情報を凝縮した低次元の潜在空間上で拡散プロセスを行うことで、計算量を抑えつつ高精細な出力を可能とする。

拡散モデルは物理学の熱力学における拡散の概念に着想を得ており、強固な数学的裏付けに支えられている。敵対的生成ネットワーク(GAN)などの従来方式に比べると、学習が安定しやすく生成される画像の多様性が高いとされる。画像生成だけでなく音声や動画の生成、創薬分野における分子構造の設計など様々な分野で応用されている。

NeRF

複数視点から撮影された画像を用いて、三次元空間内の物体やシーンを連続的な関数として表現し、新しい視点からの画像を生成する深層学習モデル。ニューラルネットワークを用いて空間内の密度と色を表現することで、自由な視点から高精細な画像を生成することができる。

ある地点の座標と視線の方向をニューラルネットワークに入力すると、その点における体積密度と色が出力されるように学習する。この関数を空間全体にわたって定義することで、シーン全体を明示的なボクセルやポリゴンで表現する代わりに、ネットワークの重み自体に三次元的なシーン情報を凝縮して記憶させる。

画像生成時には、仮想的なカメラから放たれる光線に沿ってこれらの情報を積分することで、学習データには存在しない角度からの画像を数学的な整合性を保ちながら作り出すことができる。

学習は、既知のカメラ位置と姿勢を持つ複数の入力画像を用いて行われる。各画素に対応する光線上の点で予測された色と密度から再構成された画像が、元の入力画像と一致するようにパラメータを調整していく。この過程で、視点に依存する反射や遮蔽関係を含む三次元的な構造が間接的に学習される。

従来の三次元復元技術に比べ、複雑な形状や光の反射、透過といった現象を極めてリアルに再現できるとされる。特に、透明な物体や細かい毛髪、光沢のある表面など、従来のメッシュ構造では表現が困難だった対象に対しても、滑らかな質感と正確な視差を伴った画像を生成することができる。自由視点映像の生成や文化財のデジタルアーカイブなどへの応用が進められている。

Pix2Pix

敵対的生成ネットワーク(GAN)を応用して、入力画像と対応する出力画像の組を用いて学習し、ある画像を別の画像表現へ変換する画像生成モデル。線画の着色や航空写真の地図化といった画像から画像への変換タスクを汎用的に実現したモデルである。

通常のGANと同様に、本物らしい画像を作る「生成者」ネットワークと、生成された画像が本物かどうか見破ろうとする「識別者」ネットワークが競い合う。生成者は入力画像を条件として受け取り、それに対応する出力画像を生成する。一方、識別者は入力画像と生成画像の組が実データか生成データかを判別する。

これに加えて、生成された画像が正解の画像とピクセル単位でどれだけ近いかを評価する損失関数を組み合わせることで、入力の構造を維持したまま、細部まで整合性の取れた変換が可能となっている。

ネットワーク構造では、入力と出力で情報の欠落を防ぐために「U-Net」と呼ばれるスキップ結合を持つネットワークが採用されている。識別側には画像全体ではなく局所的な領域(パッチ)ごとに真偽を判定する「PatchGAN」が導入され、細部の表現を鮮明に再現することに寄与している。

Pix2Pixは、異なる種類の画像間の橋渡しを単一のアルゴリズムで実現でき、線画から写真のような写実的な画像への変換、白黒写真のカラー化、線画の着色など多様な画像変換タスクに応用されている。ただし、学習には必ず「変換前」と「変換後」の対になる教師データが必要であり、データの収集・作成の制約が大きい問題がある。

音声生成

文字情報から人間の発話に近い音声信号を人工的に生成する技術。入力されたテキスト情報を解析し、それを音声波形へと変換することで、機械が人間のように発話することを可能にする。

この技術は一般に、言語処理と信号生成の二つの工程で構成される。まず、入力された文章を解析し、単語や音素に分解して、読みやアクセント、イントネーションなどの情報に変換する。日本語の場合は漢字と仮名の読み分け、単語境界を確定する形態素解析などを行って正しい読み方を分析する必要がある。

次に、得られた音韻や韻律情報を基に、実際の音声波形が生成される。この段階では、音声の高さや長さ、スペクトル形状などが制御され、連続した音声信号として出力される。初期の生成方式では、単純な規則や音声断片の組み合わせる「波形接続」によって合成が行われたが、機械的で不自然な音質になりやすかった。近年では、統計的手法や深層学習を用いた音声合成が主流となり、大量の音声データから発話の特徴を学習することで、話者の個性や自然な抑揚を反映した音声生成が可能になっている。

音声合成は近年飛躍的に性能が向上しており、スマートフォンの音声アシスタント、カーナビゲーション、駅の放送、視覚障害者のための読み上げソフトなど、様々な用途や場面で活用されている。また、特定の個人の声を少量のデータから再現する技術も実用レベルに達しており、音声の捏造や本人へのなりすまし、声優や歌手などの「声の所有権」を認めるべきかどうかなど、声や発話をめぐる新たな社会問題が提起されている。

画像生成

コンピュータが学習したデータに基づいて、新しい画像を自動的に作成する技術。既存の画像データの特徴や分布を学習し、人間による入力や文脈に沿った視覚表現を出力する。

与えられたデータを解釈してコンピュータグラフィックス(CG)として描画する技術は以前から存在するが、画像生成という場合は機械学習システムなどを用いてコンピュータが画像の内容自体を新たに作成する技術を指す。現在主流の方式では、画像データを学習させたニューラルネットワークを使い、入力されたテキストやランダム値(シード値)、あるいは元になる画像などの条件に沿って、色や形状のパターンを組み合わせて新しい画像を生成する。

主要な手法の一つに、「敵対的生成ネットワーク」(GAN:Generative Adversarial Network)がある。これは、画像を作る「生成者」と、その真偽を見破る「識別者」という二つのニューラルネットワークを競わせることで、より精巧な画像を模索する。また、「拡散モデル」(diffusion model)と呼ばれる手法では、画像に段階的にノイズを加えていき、元の情報を完全に破壊する過程を学習し、その逆プロセスとしてノイズから徐々に鮮明な画像を復元していく。

画像生成のプロセスにおいては、膨大な数の画像と、その内容を説明する文字情報(テキスト)のペアが学習データとして用いられる。モデルは単に画像を暗記するのではなく、対象物の特徴やスタイル、構図といった概念的な特徴を多次元空間(潜在空間)の中に学習する。生成時には、この空間内の特定の座標から情報を引き出し、具体的な画素へと変換することで、学習データには直接存在しない新しい組み合わせの画像が生み出される。

すでに高品質で実用的な画像生成技術が実用化されており、対話型の画像作成サービスや、デザイン、資料作成、ゲーム開発など様々な分野で利用されている。。一方、生成された画像の著作権の帰属や、学習データの透明性や著作者の権利、「ディープフェイク」(deep fake)と呼ばれる写実的な偽画像の作成や拡散など、これまでにない種類の倫理的あるいは法的な問題も引き起こしている。

敵対的生成ネットワーク

機械学習によるデータ生成モデルの一つで、生成と判別という異なる役割を持つ二つのニューラルネットワークを競わせながら学習させ、実データに近い新しいデータを生成する方式。画像生成の有力な手法として知られる。

このモデルは、データを生成する「生成ネットワーク」(ジェネレータ)と、それが本物か偽物かを判定する「識別ネットワーク」(ディスクリミネータ)という二つの構造で構成されている。生成側は識別側を欺けるほど精巧なデータを作ろうとし、識別側はより正確に偽物を見破ろうと学習を繰り返す。この相互の切磋琢磨により、最終的に生成側は本物と見分けがつかないほど高品質なデータを出力できるようになる。

学習の過程では、生成側には本物のデータは直接与えられず、識別側の判定結果というフィードバックのみを頼りに改善が行われる。一方で識別側には、本物のデータと生成側が作った偽物のデータの両方が提示される。この均衡が適切に保たれることでモデルは進化するが、どちらか一方が強くなりすぎると学習が停滞する「モード崩壊」という現象が起きることもある。これに対処するため、損失関数の設計や学習手順を改良した派生手法が提案されている。

現在は「拡散モデル」(diffusion model)など他の生成手法も提案されているが、機械学習による画像生成を実用レベルに発展させた技術として歴史的な意義がある。画像生成だけでなく、低解像度の画像を鮮明にする超解像、線画からの着色、写真のスタイル変換などの用途にも応用されている。また、音声合成や医薬品の分子構造設計など、視覚情報以外のデータ生成にも活用されている。

文章生成

コンピュータが自然言語処理技術を用いて、人間が書いたような自然な文章を自動的に作成する技術。与えられた入力や文脈に基づいて意味の通じる文章を構成する技術で、機械翻訳や自動要約、対話システム(チャット)などに応用されている。

初期の手法では、文法や構文規則などを定義して適用するルールベース手法や、既存の文例データベースから確率的に単語を予測する手法が用いられてきた。これらはモデルの構造が単純で解釈しやすい一方、長い文脈を扱うことが難しく、生成される文章の一貫性や多様性に限界があった。

近年ではニューラルネットワークを応用した機械学習が主流となり、リカレントニューラルネットワーク(RNN)やLSTM(長・短期記憶)の導入により、文脈情報を時系列として保持しながら文章を生成することが可能となった。さらに、アテンション(Attention:注意機構)およびTransformer構造を用いた手法が飛躍的な発展を遂げ、長文においても前後の整合性を保ちながら自然な文章を生成できるようになっている。

機械学習ベースの文章生成プロセスでは、入力されたテキストを意味や文脈を反映した数値のベクトルに変換し、モデル内部で複雑な計算を行うことで出力候補となる単語の確率分布を算出する。生成の際には、単に最も確率の高い単語を選び続けるだけでなく、ランダム性を適度に取り入れることで、多様で創造的な表現を実現する手法も用いられている。

文章生成技術は、チャットAIや翻訳ツール、顧客対応など、既に社会の様々な場面で実用化されている。しかし、事実とは異なる「作り話」を生成してしまうハルシネーション(hallucination:幻覚)と呼ばれる現象や、学習データに含まれる偏見を反映した文章の生成、学習時に取り込んだ著作物や機密性の高いデータを暴露してしまうといった課題も存在しており、出力の制御や安全性の確保に向けた研究が継続されている。

ファインチューニング

ニューラルネットワークを応用した機械学習システムで、事前に学習したモデルに対して追加の学習データを与えて調整すること。汎用的なモデルを特定の専門に特化したモデルにすることができる。

機械学習システムに用いられる(人工)ニューラルネットワークは人間の脳の神経回路のネットワークを模したモデルで、神経細胞を模したノードを層状に配置した構造を持つ。これに大量の学習データを与え、その特徴をノード間の繋がり具合(重み)として表現する。

大規模なモデルを作成するには大量の学習データや計算資源が必要となるため、事業者などが大規模なデータセットを用いて事前学習したモデルを用意し、これを利用者が自らの問題解決のために使用することが多い。

大規模なモデルは様々な利用者や用途で使えるように汎用的なデータセットで学習させることが多いため、特定の分野や対象、あるいは特定の組織内の情報には精通しておらず、必ずしも有用な結果が得られないことがある。

そこで、既存モデルの出力側に層を追加し、既存モデルに含まれる層も含めて新しいデータセットで学習し直す手法をファインチューニングという。既存モデルの持つ基本的な知識や能力はそのままに、特定の専門や組織に特化した出力が得られるようになる。

なお、既存モデルの基本的な性質を残すため、入力側の層は変更できないよう固定し、最終的な結果に影響する出力側の何層かを微調整する。既存モデルを完全に固定して再学習せず、追加した層のパラメータのみ調整する手法もあり、(狭義の)「転移学習」(transfer learning)という。

転移学習

機械学習の手法の一つで、あるタスクで学習したモデルや知識を、別の関連するタスクに再利用すること。大規模なデータによって既に学習済みのモデルを利用して、少量のデータで効率的に特定のタスク向けのモデルを作成することができる。

通常、機械学習では対象となるタスクごとに大量のデータを用いて一からモデルを学習させる必要があるが、転移学習では何らかのデータによって既に学習済みのモデルを利用する。一から学習するには大量のデータの計算時間が必要だが、転移学習は少数の教師データで効率的に特定目的のモデルを作ることができる。

例えば、一般的な物体を識別するための画像認識用のデータを学習したモデルは、輪郭や色、形状といった画像の持つ汎用的な特徴をすでに獲得している。これに特定の製品の良品の画像と不良品の画像を与えて学習させることにより、製品の検品を行う画像識別モデルを作成することができる。

なお、狭義の転移学習は既存モデルの内部を固定して再学習によって変更せず、出力側に新たに層を追加してそのパラメータを調整する。一方、「ファインチューニング」(fine tuning)と呼ばれる手法では、既存モデルの内部も含めて再学習によってパラメータ調整を行う。広義にはこうした手法も含めて転移学習と呼ぶこともある。

Few-shot

機械学習モデルに対してごく少数の学習データを与えることで、未知のタスクやクラスに適応させる手法。主に大規模言語モデル(LLM)に用いられる手法で、数個の例示を与えることで目的の挙動を行わせる。

一般的な機械学習モデルの学習では、大量の学習データを与えて正解(教師あり学習の場合)や、対象の特徴・構造など(教師なし学習の場合)を学ばせる。これにはデータを用意するための膨大なコストと、大量の計算資源、学習時間が必要となる。

Few-shot学習は数件~数十件の具体例となるデータを与えることで、例にならった課題に対応できるようにする手法である。ゼロから学習を行うのではなく、すでに特定の対象分野についての学習が済んでいる「事前学習済みモデル」を使用し、新たなタスクや分類クラスに適合させる手法である。

例えば、自然言語処理に対応したAIチャットに「dog→犬、white→白、water→水。apple→?」と入力すると、先の3つの例示から英単語の和訳タスクであると理解して「りんご」と返答する。このとき、通常の学習プロセスのようにモデル内部のパラメータは改変されず、その挙動のみが一時的に変更される。

なお、具体例の数が一つだけの場合を「One-shot学習」(ワンショット学習)、具体例は示さずに自然言語による説明など補助的な情報を与えて適応させる手法を「Zero-shot学習」(ゼロショット学習)という。大規模言語モデルのプロンプトによって実行する手法は「Few-shotプロンプティング」とも呼ばれるが、例示によって適応させる手法自体はマシンビジョンなど他のモデルでも利用できる。

One-shot

機械学習モデルに対してただ一つの追加の学習データを与えることで、未知のタスクやクラスに適応させる手法。主に大規模言語モデル(LLM)に用いられる手法で、具体例を示すことで目的の挙動を行わせる。

一般的な機械学習モデルの学習では、大量の学習データを与えて正解(教師あり学習の場合)や、対象の特徴・構造など(教師なし学習の場合)を学ばせる。これにはデータを用意するための膨大なコストと、大量の計算資源、学習時間が必要となる。

One-shot学習は具体例となるデータを与えることで、例にならった課題に対応できるようにする手法である。ゼロから学習を行うのではなく、すでに特定の対象分野についての学習が済んでいる「事前学習済みモデル」を使用し、新たなタスクや分類クラスに適合させる手法である。

例えば、自然言語処理に対応したAIチャットに「dog→犬。apple→?」と入力すると、例示から英単語の和訳タスクであると理解して「りんご」と返答する。このとき、通常の学習プロセスのようにモデル内部のパラメータは改変されず、その挙動のみが一時的に変更される。

なお、具体例の数が複数(通常は数例)の場合を「Few-shot学習」(フューショット学習)、具体例は示さずに自然言語による説明など補助的な情報を与えて適応させる手法を「Zero-shot学習」(ゼロショット学習)という。大規模言語モデルのプロンプトによって実行する手法は「One-shotプロンプティング」とも呼ばれるが、例示によって適応させる手法自体はマシンビジョンなど他のモデルでも利用できる。

自己教師あり学習

機械学習の手法の一つで、正解ラベルのない学習データから擬似的な正解を自動生成して学習する方式。人間がデータに正解をラベル付けする必要がなく、特徴表現の獲得を目的として行われる。

通常の教師あり学習は、入力に対して正解となる出力を人間がラベル付けしたデータを学習させるが、学習データを用意するのに高いコストがかかる難点がある。自己教師あり学習はラベルの付いていない大量のデータを用意して、何らかの規則に基づいて擬似的な正解ラベルを生成し、これに正解できるように学習を進める。

例えば、大量の文例データがある場合、文の一部の単語を切り取って伏せたものを入力とし、切り取った単語を「正解」とする。このような「穴埋め問題」を大量に作成して学習させると、その言語の文章における自然な単語の並び方を学んだ自然言語モデルを作成することができる。この手法は、画像の一部を塗りつぶして元の形を推測させるなど、様々な種類のデータに適用することができる。

自己教師あり学習は、対象データの特徴や構造を学ぶ「表現学習」と呼ばれる学習手法の一つで、ここで獲得された対象についての知識は別の具体的なタスクに応用する基礎として利用できる。まず自己教師あり学習で汎用的な特徴を学び、その後に少量のラベル付きデータによる教師あり学習で微調整を行う「転移学習」を組み合わせるのが一般的となっている。

事前学習

機械学習モデルに特定のタスクのための本格的な学習を行う前に、大規模なデータセットを用いて汎用的な知識や特徴を習得させておく工程。主に深層学習において性能向上や学習効率改善のために用いられる。

対象タスクとは異なるが関連性のあるデータや課題を用いてモデルを学習させることで、入力データの基本的な構造や統計的性質を獲得させる。この段階では、教師なし学習や自己教師あり学習が利用されることが多く、ラベル付けコストを抑えつつ大規模データを活用できる。

例えば、画像認識であれば、膨大な画像群から「物体の輪郭」や「色のグラデーション」といった普遍的な視覚的要素をあらかじめ学習しておく。自然言語処理であれば、数兆語に及ぶテキストから、言葉の繋がりや文脈などの要素を理解させておく。これらを土台に、特定の目的を持つ少量の学習データで微調整(ファインチューニング)を施すことで、専門的なタスクに対しても高い性能を発揮できるようになる。

事前学習の大きな利点は、膨大な計算コストとデータが必要な、モデルの「基礎固め」の工程を一度だけ行い、様々な用途に再利用できる点にある。まっさらな状態から学習(スクラッチ学習)する場合に比べて、モデルの重みが既に適切な初期値に近づいているため、学習の収束が早く、データが少なくても過学習を抑えながら精度を安定させることができる。事前学習を行ったモデルを「事前学習済みモデル」と呼び、オープンソースで公開されているものもある。

事前学習済みモデル

大規模なデータセットを用いてあらかじめ学習させた機械学習モデル。そのまま利用するために作られたものではなく、別のタスクや用途に再利用されることを前提として、学習効率や性能向上のために事前学習を行ったモデルである。

対象タスクとは異なるが、関連性のあるデータや課題を用いてモデルをあらかじめ学習させることを「事前学習」(pretraining)という。職業教育の前の初等教育のようなもので、モデルに入力データの基本的な構造や統計的性質を獲得させる。

例えば、画像処理向けのモデルであれば、数百万枚におよぶ多様な画像を通じて、物体の「輪郭」や「模様」といった基本的な視覚情報を抽出する能力を獲得させる。 自然言語処理向けのモデルであれば、何億もの膨大な文章データを与え、その言語における語彙や単語の繋がり、文脈などを学習させる。この学習を終えたモデルを事前学習済みモデルという。

利用時には、モデルの一部を固定して新たな層を追加する「転移学習」や、新たな学習データで全体の重みを微調整する「ファインチューニング」を行う。すでにその分野の基礎ができている状態で学習を行うため、少量の学習データでも効率的に精度を高めることができる。

事前学習済みモデルはオープンソースで公開されているものもあり、大量の計算資源や膨大な学習用データを持たない個人や小規模な組織であっても、最先端のモデルを自社の課題に適用できるようになっている。事前学習済みモデルをそのまま特徴抽出器として用い、新たな分類器のみを学習する方法も広く用いられている。

破滅的忘却

ニューラルネットワークが新しいタスクやデータを学習する過程で、以前に学習した知識を急激に失ってしまう現象。逐次的に学習を進める継続学習において問題となる。

一般的な機械学習モデルは、ある固定されたデータ分布を前提として学習される。学習後に新しいタスクや異なる分布のデータを追加的に学習させると、重みの更新によって既存の内部表現が上書きされてしまい、過去のタスクに対する識別能力や予測精度が低下し、あたかも以前の知識を忘れたかのような挙動を示すことがある。

この現象は、複数タスクを順番に学習するマルチタスク学習やオンライン学習、継続学習において顕在化しやすい。特に、深層ニューラルネットワークはパラメータ数が多く、すべての入力に対して重みが共有されているため、この影響を受けやすいとされる。

この問題を緩和するための様々な手法が提案されている。重要なパラメータの更新を制限する正則化手法や、過去のデータを一部保存して新しい学習時に混ぜ合わせるリハーサル手法(リプレイ手法)、タスクごとにネットワーク内部の構造を分割するアーキテクチャベースの手法などが存在する。

半教師あり学習

機械学習の手法の一つで、少量の正解ラベル付きデータと大量のラベルなしデータを併用して学習を行う方式。教師あり学習と教師なし学習の中間的な手法で、教師データを用意するコストを抑えつつ予測精度の向上を図る。

機械学習の方式のうち、人間が入力に対する「正解」を示すラベルを付けた学習データを利用して、正解を出力できるように学習させる方式を「教師あり学習」、そのようなラベルのない大量のデータをそのまま投入して内在するパターンなどを学習させる方式を「教師なし学習」という。

半教師あり学習では、限られたラベル付きデータによって正解についての傾向を学習したあと、大量のラベルなしデータを与えて精度を向上させる。その際、「似た性質を持つデータは同じラベルに属する」などいくつかの仮定を置いて、少数のラベル付きデータだけでは見えないデータの全体像を補完する。

教師あり学習で高精度なモデルを構築するためには多くのラベル付きデータが必要とされるが、ラベル付けの作業は原則として人間が行う必要があり、実務上はデータの収集やラベル付与に多大な時間やコストがかかる。半教師あり学習はラベル付きデータが少量でも、安価に用意できるラベルなしデータによって精度を向上させることができる。

マルチモーダル

テキスト(文字情報)と画像、動画と音声など、複数の異なる種類のデータを組み合わせて学習することができる機械学習システム。言葉による指示で画像を生成するといった動作が可能となる。

AI(人工知能)の主要な実現方式である機械学習(ML:Machine Learning)では、大量の学習データを処理して規則性などを学び、ニューラルネットワークとしてモデルを構築する。テキスト(文字情報)を学習させテキストの入力からテキストを出力するといったように、取り扱うデータの種類が一つの場合を「ユニモーダルAI」(unimodal AI)という。

一方、マルチモーダルAIは複数種類のデータを相互に関連付けて学習させることができる。例えば、テキストと画像に対応している場合、画像データに付与されたキャプションや分類タグなどの文字データを、その画像の特徴と関連付けてモデル化することができる。

これにより、単語やフレーズの組み合わせを入力して対応する画像を生成したり、画像を入力して写っているものを説明させるといった機能を実現することができるようになる。防犯システムに動画と音声を組み合わせて学習させ、カメラに写った映像とマイクで収録した音声を総合して異状を検知するシステムなども研究されている。

CLIP

画像とテキストを関連付けて学習させることで、視覚的な概念を言語を通じて理解する機械学習モデル。米オープンAI(OpenAI)社が2021年に発表したもので、画像理解と言語理解を統合する基盤技術として知られている。

画像エンコーダとテキストエンコーダという二つの独立したネットワークを用いる。画像エンコーダは入力画像を特徴ベクトルに変換し、テキストエンコーダは対応する説明文やキャプションを同じ次元のベクトル空間に写像する。コントラスト学習(対照学習)と呼ばれる学習手法により、正しい画像とテキストの組の類似度が高く、無関係な組の類似度が低くなるように損失関数を最適化する。

これにより、視覚情報と言語情報が共通の意味空間上で整合的に表現される。モデルは写っている物体の名前を覚えるだけでなく、色や構図、あるいはその物体に関連する様々な抽象的な概念について、画像とテキストの間でどのような対応関係があるかを捉えることができるようになる。

大きな特徴として、特定のタスクに限定されない汎用的な表現を獲得できる点がある。事前学習後は、画像分類や検索などのタスクにおいて、クラス名や説明文をテキストとして与えるだけで推論が可能となる場合がある。このような手法は「ゼロショット学習」と呼ばれ、大量のラベル付きデータを用いずに新しい概念へ対応することができる。

DALL-E

文字による指示文(プロンプト)から画像を生成する深層学習モデルの一つ。米オープンAI(OpenAI)が開発したマルチモーダルAIで、自然言語と視覚表現を統合的に学習することができる。画像生成AIが普及するきっかけの一つとなった。

モデルで、Transformer系のニューラルネットワークを基盤としている。文字情報(テキスト)と画像を同一の系列データとして扱い、単語や画像の断片(パッチ)をトークン化して確率的に生成する。学習段階では、大規模なテキストと画像の対からなるデータを用い、文章表現と視覚的特徴の対応関係をモデル内部に獲得させている。

2021年に発表された初代モデルは、同社の大規模言語モデル(LLM)である「GPT-3」の技術を応用し、文字と画像の対応関係を学習している。文字情報が表す意味や文脈を頼りに、既に世の中に存在する概念の画像だけでなく「アボカドの形をした椅子」といった現実には存在しない独創的な概念の組み合わせを描き出すことができる。

二代目のDALL-E 2では画像の生成手法として拡散モデル(diffusion model)が導入された。これは、ノイズまみれの画像から段階的にノイズを取り除き、鮮明な画像を構築する手法である。画像と文章を共通の空間で結びつける「CLIP」(Contrastive Language–Image Pre-training)という技術を組み合わせることで、プロンプトの細かなニュアンスをより忠実に反映し、写真のような高精細な画像を生成できるようになった。

第三世代のDALL-E 3では、同社のAIチャットサービス「ChatGPT」との統合により、曖昧な指示からも詳細なプロンプトを自動生成し、意図に近い画像を作成できる。著作権や倫理面への配慮も組み込まれており、アーティストの作風を直接模倣することや公人の画像を生成することを制限する安全策も強化されている。なお、名称の正式な表記は「DALL•E」と、DALLとEの間は中黒(ビュレット)である。

Flamingo

画像と文字情報(テキスト)を同時に扱うマルチモーダル大規模言語モデルの一つ。少数の例示を提示するだけで、新たなタスクを学習できるFew-shot学習に長けており、視覚情報を含む高度な対話ができる。

画像から特徴を抽出する「目」の役割を果たす画像エンコーダと、「頭脳」の役割を果たす大規模言語モデル(LLM)を効率的に接合している。「Perceiver Resampler」と呼ばれる仕組みが画像から重要な情報を抽出して圧縮し、それをクロスアテンション(Cross Attention)という仕組みを通じて言語モデルに流し込むことで、画像の内容を踏まえた自然な文章生成を行う。

Flamingoは利用時に即興で一時的な学習を行う「コンテキスト内学習」(ICL:In-Context Learning)への適性が高い点で知られている。複数の画像と質問・回答のペアを入力として与えることで、新たな画像に対する質問応答や画像キャプショニング、視覚的推論といったタスクを追加学習なしで実行できる。これはLLMが持つ文脈理解能力と、視覚特徴を動的に参照するクロスアテンション構造の組み合わせによって実現している。

Flamingoは、Web上の大量のテキストと画像が混在したデータから学習を行っている。単一の画像に対する説明だけでなく、複数の画像が並んだ一連の流れを理解したり、画像に基づいた複雑な推論を行うこともできる。応用分野としては、画像に基づく対話システム、視覚的質問応答(VQA)、キーワードから画像を検索するといったマルチモーダル検索、ロボット制御における視覚と言語の統合などが挙げられる。

Image Captioning

入力された画像を解析し、その内容や状況を説明する自然言語の文章を生成するタスクのこと。画像認識と自然言語処理を組み合わせたマルチモーダル学習の代表的なタスクの一つ。

一般的な構成では、ニューラルネットワークによる「エンコーダ」と「デコーダ」を組み合わせた機械学習モデルを用いる。まず、エンコーダが画像から物体や背景、配置関係などの視覚的特徴を抽出し、その特徴を反映した自然言語の文章をデコーダが組み立てて出力する。

エンコーダには主に畳み込みニューラルネットワーク(CNN)が用いられ、画像内に何が写っているか、物体同士がどのような位置関係にあるかといった情報をベクトル形式に変換する。デコーダにはLSTM(長・短期記憶)を組み込んだリカレントニューラルネットワーク(RNN)などが用いられ、エンコーダが抽出した情報を手がかりに、単語を一つずつ予測して適切な文を生成する。

近年では、Transformerを基盤とするモデルも採用され、画像と文字情報(テキスト)を共通の表現空間で扱う構成が主流となっている。また、アテンション(Attention:注意機構)の導入により、文章を生成する際、画像のどの部分に注目すべきかを動的に調整することができるようになった。人物や物体、行動などを文脈に応じて適切に参照できるようになり、説明文の正確性と詳細性が向上した。

画像キャプショニングは、視覚障害者のための周囲状況の説明や、キャプションやタイトルなどのメタ情報が整備されていない雑多な画像群に対するキーワード検索、膨大な画像アーカイブに対する自動タグ付け、動画の内容要約など、様々な用途に応用されている。これを基盤に、より高度な視覚的理解を必要とするVQA(Visual Question Answering:視覚的質疑応答)などの技術に発展している。

Text-To-Image

人間が入力した自然言語の記述から、対応する画像を自動的に生成するタスクのこと。文章と視覚表現の対応関係を学習し、内容や属性を反映した画像を生成する。

コンピュータビジョンと自然言語処理を融合させたマルチモーダル学習の代表例であり、言葉と画像の結びつきを学習した巨大なニューラルネットワークを用いる。モデルは入力文を解析して対象物や属性、関係性などを内部表現として捉え、これを条件に画像データを生成する。単語レベルの一致だけでなく、文全体の文脈や修飾関係を考慮した表現学習が求められる。

画像生成モデルとして初期には「敵対的生成ネットワーク」(GAN)が用いられていたが、現在は「拡散モデル」(diffusion model)が主流となっている。拡散モデルは、画像にノイズを加えていく過程を逆にたどり、何もないノイズの状態から少しずつ意味のある形を復元していくことで画像を生成する。この復元プロセスにおいて、入力された文字情報をガイドとして与えることにより、利用者の意図に沿った画像が作り出される。

また、文字情報と画像を共通の概念空間で理解する「CLIP」(Contrastive Language–Image Pre-training)などの技術が重要な役割を果たしている。単なる単語の一致ではなく「夕焼けの中を走る犬」といった複雑なシチュエーションや、特定の画風、光の当たり方といった抽象的な指示までもが正確に画像へ反映される。未学習の概念や組み合わせであっても、文字が指し示す概念や文脈を組み合わせて新しい視覚表現を構成する能力を持っている。

Text-to-Imageは画像生成サービスやチャットAIの機能の一部として組み込まれ、広告デザインやゲーム制作、コンセプトアートの作成など、クリエイティブな業務に広く用いられている。一方、生成された画像の著作権の扱いや、学習データに含まれる偏見やバイアスが生成結果に反映されてしまう問題、高精細な偽画像である「ディープフェイク」(deep fake)の悪用といったこれまでにない倫理的、法的な問題を引き起こしている。

Visual Question Answering

画像と自然言語の質問を入力として受け取り、その内容に基づいた回答を生成するタスクのこと。画像認識と自然言語処理を組み合わせたマルチモーダル学習の高度なタスクの一つ。

まず画像から物体や属性、空間関係といった視覚的特徴を抽出し、同時に質問文の意味を言語モデルによって解析する。これら二つの情報を統合した内部表現を構築し、その結果に基づいて回答を推定する。回答形式は「はい」「いいえ」などの択一や、物体の位置関係といった単語や短文であることが多い。画像認識と自然言語処理の両方の精度が結果に大きく影響する。

初期の手法では、画像特徴と質問表現を単純に結合する構成が用いられたが、アテンション(Attention:注意機構)の導入により精度が大きく向上した。これは質問に関連する画像領域を選択的に参照する手法で、「テーブルの上のカップは何色ですか」という質問に対し、画像全体を漠然と見るのではなく、質問に含まれる「カップ」という単語に呼応して、画像内のカップが位置する領域を重点的に解析する。

VQAは単なる物体の識別を超えて、画像内の状況や関係性の理解を必要とする。視覚障害者向けの周囲環境の説明や、防犯カメラ映像の自動解析、ECサイトにおける商品画像に対する問い合わせ対応など、様々な分野で応用されている。近年では大規模言語モデル(LLM)の構築にも用いられるTransformerを基盤とし、画像と文字情報(テキスト)を共通の表現空間で処理するモデルが主流となっている。

Unified-IO

画像や文字情報(テキスト)など複数の異なる種類の情報を同時に扱うマルチモーダル機械学習モデルの一つ。様々なタスクを入出力形式の変換問題として表現し、共通の枠組みで処理することで高い汎用性を実現している。

Transformerを基盤としたエンコーダ・デコーダ型のニューラルネットワークだが、視覚情報と言語情報をすべて同じ系列データとして統一的に処理する。画像データはパッチと呼ばれる小さな断片に分割され、文字情報と同様のトークン列として扱われる。改良版のUnified-IO 2では音声や行動データも同じ枠組みで処理され、情報の種類(モダリティ)によらず共通の基盤を用いて解釈することができる。

これにより、画像キャプショニング、視覚的質問応答(VQA)、機械翻訳、音声認識など、形式の異なるタスクを共通のネットワーク上で処理できる。入力を受け取ってから出力を生成するまでの工程が一本化されており、タスクごとの差異は従来のように小規模な構造をネットワークに追加して対応するのではなく、プロンプトや入出力フォーマットの違いとして吸収される。

学習段階では、複数タスクのデータセットを混合して事前学習を行い、モデルに汎用的な表現能力を獲得させる。このようなマルチタスク学習により、あるタスクで得た知識が他のタスクへ転移しやすくなる効果が期待される。すべての入出力をテキスト形式に近いトークン列として扱うため、大きなアーキテクチャ変更を伴わずにデータ形式やタスクの種類を増やすことができる柔軟性を備えている。

Unified-IOは入力と出力の形式を極限までシンプルに統合することで80種類以上の多様なタスクに対応することができるとされ、AIの汎用性を大きく前進させた。一方、統一的な表現に基づく設計は、個別のデータ形式やタスクに固有の特徴を十分に活かしにくい場合があり、専用モデルと比較して性能が劣るケースも報告されている。大規模なマルチタスク学習を行うための計算資源や学習データの確保にコストがかかる課題もある。

Zero-shot

機械学習モデルに対して、自然言語による説明など補助的な情報を与えることで、直接は学習していない未知のタスクや分類クラスに適応させる手法。

一般的な機械学習モデルの学習では、大量の学習データを与えて正解(教師あり学習の場合)や、対象の特徴・構造など(教師なし学習の場合)を学ばせる。これにはデータを用意するための膨大なコストと、大量の計算資源、学習時間が必要となる。

Zero-shot学習は特定の対象分野についての学習が済んでいる「事前学習済みモデル」を使用し、新たなタスクや分類クラスに適合させる手法の一つである。タスクやクラスの内容を自然言語の単語や文章で与えることで、モデルがすでに知っている知識を組み合わせて指示に対応する。

例えば、被写体の種類や特徴を自然言語のラベルで学習した画像識別モデルに、「白黒の縞模様の馬」を分類するよう指示すると、モデルがシマウマそのものを学習していなくても、手がかりとなる情報を元にシマウマの分類に対応することができる。このとき、通常の学習プロセスのようにモデル内部のパラメータは改変されず、その挙動のみが一時的に変更される。

似た手法で、モデルに与える手がかりとして一つの具体例を用いる手法を「One-shot学習」(ワンショット学習)、複数の具体例を与える手法を「Few-shot学習」(フューショット学習)という。大規模言語モデル(LLM)のプロンプトによって実行する手法は「Zero-shotプロンプティング」とも呼ばれるが、この手法自体は画像認識など様々な種類のモデルに適用できる。

基盤モデル

大規模データによる事前学習によって汎用的な表現能力を獲得し、様々な下流タスクへ再利用することが可能な機械学習モデルのこと。タスクごとにゼロからモデル設計と学習を行う手間を省き、微調整によって様々な用途に転用することができる。

従来、翻訳には翻訳用、要約には要約用のモデルを個別に開発する必要があったが、基盤モデルは自己教師あり学習などの手法を通じて大量の未整理データから統計的規則性を学習し、幅広いタスクに適用可能な内部表現を獲得する。用途に応じてわずかな追加学習や指示を与えるだけで、多種多様なタスクを遂行できるようになる。

基盤モデルを特定の用途で利用するには、その用途に適した学習データで追加学習を行う「ファインチューニング」(fine tuning)や、利用者が与えるプロンプトで例示や指示を行って振る舞いを制御する「コンテキスト内学習」(ICE:In-Context Learning)を行う。これにより、音声認識、機械翻訳、画像分類、対話生成など様々な応用が比較的少量の追加データで実現可能となる。

開発者はゼロからモデルを構築する労力を省き、既存の強力なモデルを微調整することで、高度な機能を短期間で実装できるようになった。同一モデルを複数のサービスや製品に横断的に利用できるため、開発コストや運用コストの削減にも寄与する。オープンソースとして公開されている基盤モデルもあり、無償で入手して活用することもできる。

一方、著名な基盤モデルは社会の様々なサービスやシステムに組み込まれるため、そのモデルが持つ偏見や誤りが広範囲に波及するリスクも指摘されている。また、応用モデルの開発者が基盤モデルの詳細な内部構造や学習に用いた訓練データの全貌を知ることができず、解釈性や制御性の低下、安全対策や品質管理の困難化を招きやすいともされる。

マルチタスク学習

機械学習の手法の一つで、関連する複数の学習課題(タスク)を同時に扱い、モデル内部で表現を共有しながら学習を進める方式。個別のタスクを独立して学習させるのではなく、タスク間で知識や特徴を共有させることで、各タスクの予測精度の向上や学習の効率化を図ることができる。

複数のタスクに共通する入力や構造を活用し、モデルの一部を共有することで効率的な学習を目指す手法である。一般的な構成では、入力層から中間層にかけてを複数タスクで共有し、出力層付近でタスクごとに分岐させる。共有された中間表現は、各タスクに共通する特徴を抽出する役割を担い、学習データが限られている場合でも安定した推定を可能にする。

マルチタスク学習には、データのノイズに対する耐性が高まるという利点がある。あるタスクに含まれる特有のノイズは他のタスクにとっては無意味であるため、共通層での学習を通じてノイズが相殺され、過学習を抑制する「正則化」の効果が得られる。学習データが少ないタスクがあっても、関連する他のタスクのデータから得られた知識を活用できるため、性能の底上げが期待できる。

マルチタスク学習は、タスク間に一定の関連性や共通性が存在する場合に高い効果を発揮する。例えば、画像処理では、物体の位置と種類を識別する「物体検出」と、画素単位で輪郭を特定する「セマンティックセグメンテーション」を同時に学習する手法が知られている。自然言語処理では「文書分類」と「感情分析」を並行して扱う例がある。

一方で、タスク間の性質が大きく異なる場合には、共有表現が適切に機能せず、互いの学習を妨げ合う「負の転移」と呼ばれる現象が生じることがあり、タスクの組み合わせや共有範囲の設計が重要となる。近年の研究では、タスクごとの損失関数に重みを付与して学習のバランスを調整する方法や、アテンション(Attention:注意機構)を用いてタスクごとに参照する特徴を変化させる改善手法も提案されている。

CAM

画像認識を行う畳み込みニューラルネットワーク(CNN)が注目した領域を可視化する手法。モデルの判断根拠となった場所を画像の上でヒートマップとして示し、説明可能性を向上させる。

CNNの終盤層に、通常の全結合層に代えてグローバル平均プーリング(GAP)層を導入する。GAPは各特徴マップの平均値を算出するものであり、これに各クラスへの寄与度を示す重みを掛け合わせることで、特定の物体に反応している領域を特定する。これにより、モデルが「犬」と判断した際に、画像内の犬の顔や体の部分が赤く強調された、直感的に理解しやすい可視化画像が得られる。

CAMを適用するためには、全結合層の代わりにGAP層を用いるなど特定のネットワーク構造が必要となる。この制約を緩和するため、既存モデルにも適用可能な「Grad-CAM」などの派生手法が提案されている。Grad-CAMでは、出力スコアに対する勾配情報を用いて特徴マップの重要度を算出するため、構造変更なしで多様な畳み込みネットワークに対応できる。

CAMによって、なぜその結論に至ったのかという根拠を人間が確認できるため、モデルの誤判定の原因究明や信頼性の評価が可能となる。これは医療診断や自動運転といった高い信頼性が求められる分野において特に重要な性質である。モデルが学習データ内の不適切なバイアスに依存していないかを検証するためにも活用されている。

Grad-CAM

畳み込みニューラルネットワーク(CNN)の出力に対する勾配情報を用いて、モデルが画像認識の際に注目した領域を可視化する手法。ネットワーク構造の制約が少なく、様々なモデルの説明可能性を向上させることができる。

出力された予測値から逆伝播によって得られる勾配情報を利用する。最終的な予測結果に対して各特徴マップがどの程度影響を与えたかを計算し、その重要度を重みとして特徴マップを合成する。モデルが「猫」と判断した場合には猫の領域が、「犬」と判断した場合には犬の領域が、それぞれ重要な箇所として明るく強調される。

元になった従来方式のCAM(Class Activation Mapping)では、ネットワークの終盤層を全結合層ではなくグローバル平均プーリング(GAP)層にしなければならないなど、構造設計上の制約があった。Grad-CAMは特定の構造を要請せず様々なモデルにそのまま適用でき、汎用性が高い。単純な画像分類のようなタスクだけでなく、物体検出、セマンティックセグメンテーションなど多様なタスクに適用することができる。

Grad-CAMはCAM同様、画像認識を行う機械学習モデルの説明可能性を高め、判断根拠を視覚的に説明できるようにする技術である。自動運転や医療診断など、高い信頼性と説明が求められる用途で特に重要となる。画像認識を応用したモデルを開発する際にも、モデルが本来注目すべきではない背景情報などに依存していないかを確認し、デバッグや精度向上に役立てることができる。

LIME

複雑な機械学習モデルの予測結果を、個別のデータに対して解釈可能な局所的なモデルで近似することによって説明する手法。モデルの内部構造を問わず適用でき、特定の結果についての説明可能性を高めることができる。

説明対象となる特定の入力データ周辺に着目し、その近傍でのモデルの挙動を単純な解釈可能モデルで近似する。具体的には、説明したいサンプルの周囲に、その入力をわずかに変化させた擬似的なデータを大量に生成する。これらのデータが元のモデルでどのように予測されるかを確認し、その近傍領域においてのみ機能する線形回帰などの単純なモデルを構築する。

深層ニューラルネットワークのような内部構造が複雑なモデルでは、データ全体の境界線が非常に複雑であり全体を一括で説明することは困難だが、この手法であれば特定の箇所の周辺のみを単純な式や図で説明することができるようになる。モデルをブラックボックスとして扱いながら、局所的な意思決定要因を定量的に把握できる。

LIMEはテキスト分類や画像認識など、対象のデータやタスクの種類によらず適用可能である。テキストでは単語の有無や重みが可視化され、画像では全体を分割した小さな領域(スーパーピクセル)単位で重要領域が強調表示される。例えば、画像内の「木」という予測に対して、LIMEは予測に寄与した部分のみを表示し、それ以外の領域を塗りつぶすことで、モデルが正しく物体を捉えているかを確認することができる。

一方、入力に与える摂動の方式、近傍の定義、サンプル数などの設定によって説明結果が変動しやすいことが知られている。また、局所的な近似に基づく手法であるため、得られる説明は入力周辺に限定されたものであり、モデル全体の挙動を代表するものではない。説明を求めるサンプルごとに多数の入力を生成して与えることから計算コストも高く、大量のデータ群をまとめて調査するといった用途には向かない。

Permutation Importance

機械学習モデルの特徴量の重要度を評価する手法の一つで、特定の入力特徴量をランダムにシャッフルし、モデルの予測精度がどれだけ低下するかを測定するもの。モデルの内部構造に依存せず、あらゆる学習アルゴリズムに適用することができる。

まず、学習済みのモデルと検証用のデータを用意し、基準となる予測精度を記録する。次に、重要度を知りたい特徴量について、その列のデータ順序をバラバラに並べ替える。この操作により、その特徴量と目的変数の間の関係性が破壊される。この状態で再度予測を行い、精度が大きく低下したら、その特徴量は予測に不可欠な重要な情報を持っていたと判断できる。逆に、精度がほとんど変わらなければ、その特徴量は予測にあまり寄与していないことになる。

回帰、分類、ランキングなど幅広いタスクに適用可能であり、評価指標も平均二乗誤差や正解率、AUCなど用途に応じて選択できる。モデルの内部構造やアルゴリズムに依存しないため、線形モデル、決定木、ニューラルネットワークなど様々なモデルを共通の基準で比較することができる。モデルが「何を重視して予測しているか」を簡便かつ客観的に把握でき、データの理解や不要な特徴量の削除などに活用される。

なお、特徴量間に強い相関が存在する場合、片方の特徴量を入れ替えても他方が情報を補完するため、重要度が過小評価される場合がある。また、シャッフル操作のランダムさの度合いで結果がばらつくことがあり、安定した評価には複数回の試行と平均化が必要となる場合がある。予測を何度も繰り返して結果を計算するため、大規模データや高次元特徴空間では計算コストが増大するという実務上の制約もある。

SHAP

機械学習モデルの予測結果を説明する手法の一つで、モデルの出力を特徴量ごとの寄与度に分解し、各入力要素が結果に与えた影響を定量的に算出するもの。ゲーム理論の「シャープレイ値」を応用した手法で、一貫性と公平性のある説明を可能にする。

ゲーム理論の協力ゲームでは、複数のプレイヤーが協力して得た報酬を公平に分配するための指標としてシャープレイ値(Shapley value)が定義されている。機械学習モデルにおける特徴量をプレイヤー、モデル出力を報酬に見立て、特徴量の追加によって生じる予測値の変化量をすべての組み合わせについて平均化することで寄与度を算出する。これにより、「この項目の数値がこうだったから、予測値がこれだけ上がった」といった量的な説明が可能となる。

SHAPの利点として、数理的な裏付けに基づく一貫性と加法性がある。一貫性とは、あるモデルが別のモデルよりも特定の特徴量に強く依存している場合、その特徴量のSHAP値も必ず大きくなるという性質である。加法性とは、各特徴量のSHAP値をすべて足し合わせると、モデルの平均的な予測値と実際の予測値との差分に一致する性質である。これらの特性により、LIMEなどの他の近似的手法と比較して、より信頼性が高く理論的に整合性の取れた説明が可能となる。

実装上の問題として、全組み合わせの計算は指数的に増加するため、近似アルゴリズムやモデル構造を利用した高速化手法が用いられる。決定木モデルに特化した「TreeSHAP」や、ニューラルネットワーク向けの「DeepSHAP」などが提案されており、実用的な計算時間で個々の予測に対する特徴量の寄与度を求めることができる。個別サンプルの説明だけでなく、複数データを解析して、どの特徴量が全体として重要であるかといった分析を行うこともできる。

説明可能AI

どのような根拠や過程に基づいて予測や判断を行ったのかを、人が理解できる形で示せるよう設計された人工知能システム。また、そのような説明を可能にする技術。

機械学習では、線形回帰や決定木のような比較的単純なモデルは、その構造から判断の過程が容易に理解できるため、解釈可能性が高いとされる。一方、深層学習モデルのように内部構造が複雑なモデルは、ニューラルネットワークのようなモデルは内部の構造や挙動が複雑過ぎ、何らかの技術的な措置で解明しなければ判断の理路や根拠を示すことが難しい。

医療や金融など、人々の生活に大きな影響を与える分野や判断に至った理路や根拠が重視される分野では、機械学習モデルが「なぜそう判断したのか」を説明することができる「説明可能性」(explainability)が求められる。これに対応するよう設計されたAIシステムや、機械学習モデルの挙動を解析し説明を行う技術を説明可能なAIと総称する。

説明可能なAIには、モデル内部の全体的な挙動を明らかにする「大局説明」の観点と、個々の予測結果を説明する「局所説明」の観点がある。前者では、どの特徴が全体として予測に強く影響しているかを把握することが目的となり、後者では、特定の入力に対してなぜその結果が出たのかを明らかにする。「LIME」(Local Interpretable Model-agnostic Explanations)や「SHAP」(SHapley Additive exPlanations)などの具体的な手法も提案されている。

G20で採択された「人間中心のAI社会原則」では、AIに求められる原則として公平性、説明責任、透明性の3つが挙げられている。人々の生命や財産に関わる重要な判断にAIが関わる場面が増えるに連れて、規制当局などもAIの説明可能性に関心を高めており、ますます説明可能なAIの重要性が高まっている。

エッジAI

利用者の端末などネットワークの末端側に実装されたAIシステムのこと。通信ネットワークを経由してクラウド上などに存在するシステムにアクセスしなくても単体でタスクを遂行できる。

利用者の操作するパソコンやスマートフォン、自動運転車、IoTデバイスなど、末端側の機器(エッジデバイス)にAIシステムを搭載して処理を行う形態である。機器に導入するソフトウェアに、事前に機械学習を行った学習済みモデルを搭載して分類や推論、パターン認識などのデータ処理を行う。

一方、クラウドサービス上に実装され、末端の機器からはインターネットや広域的な閉域網を通じてアクセスするAIシステムを「クラウドAI」という。端末はデータをクラウドに送ってAIによる処理を要求し、結果のみを受け取る形態である。

エッジAIはクラウドAIに比べ通信回線に繋がらない環境や接続状態が不安定な状況でも利用でき、通信に伴う遅延や通信コストなども削減することができる。インターネットや外部サービスにデータを送らなくて良いため、機密やプライバシーの保護、セキュリティの確保もしやすい。

一方、末端の機器は処理能力や記憶容量に限りがあるため、巨大な学習済みモデルを導入したり複雑な処理を行うことは難しく、機能や用途に制約がある。リアルタイム性が重視される用途や定型的なパターン認識などに向いており、自動運転車の障害物検知、工場の不良品検査などに導入事例が見られる。

蒸留

機械学習において、複雑な大規模モデルが持つ知識を、より小規模なモデルに移転する手法。モデルの精度を維持しながら軽量化や高速化を行うことができる。

深層学習では高い精度を得るために多数のパラメータを持つ大規模モデルを用いられることが多いが、計算資源や推論時間の制約から、そのままでは実運用には適さない場合がある。蒸留を行うことで遜色ない性能の軽量なモデルを得ることができ、スマートフォンやエッジデバイスといった資源の限られた環境で動作させることができるようになる。

蒸留では、まず通常の学習手法で高性能な「教師モデル」を構築し、その出力を手がかりとして、小さな「生徒モデル」を学習させる。生徒モデルは、正解ラベルだけでなく、教師モデルが出力する各クラスに対する予測確率の分布を模倣することで、教師モデルが捉えたデータ間の微妙な関係性や不確実性を学習する。

例えば、画像分類タスクで教師モデルがある画像を「犬」と判定する際、内部的に「犬85%、猫10%、狐5%」と判断していれば、この数値自体がデータ間の類似性を示す重要な知識となる。生徒モデルはこの詳細な確率分布を模倣することで、最終的な出力(正解ラベル)だけでは得られない高度な判断基準を効率的に吸収する。

宝くじ仮説

大規模なニューラルネットワークの中には、単独でも高い性能を発揮できる小規模な部分ネットワークが潜在的に存在するという仮説。2019年にジョナサン・フランクル(Jonathan Frankle)とマイケル・カービン(Michael Carbin)によって提唱された。

従来から、大量のパラメータを持つ深層ニューラルネットワークを訓練したあと、その重みの一部を剪定(プルーニング)してネットワークを縮小しても性能が大きく低下しない現象が知られていた。この小さなネットワークを、学習開始時と同じ初期値に戻して再度訓練すれば、巨大なモデルと同じ速度と精度で学習が完了する。これを「当たりくじ」になぞらえた仮説である。

一方、同じ構造の小規模ネットワークでも、ランダムな初期値で訓練を開始すると、元の大規模モデルのような性能は得られない。ネットワークの「構造」だけでなく、学習開始前の「初期値の組み合わせ」が重要であることが示唆される。

なぜ深層ニューラルネットワークでパラメータ数を増大させると急激に性能が向上するのか詳しい機序は不明だったが、この仮説によれば「巨大なネットワークを用意することで『当たりくじ』を引き当てる確率を高めるため」という説明が可能となる。

プルーニング

学習済みのニューラルネットワークから重要度の低い重みやノード、接続を削除し、モデルを簡素化する手法。計算量やメモリ使用量を削減し、より非力な環境でモデルを動作させることができるようになる。

深層ニューラルネットワークは高い表現能力を達成するために大量のパラメータで構成されるが、出力に大きな影響を与えない「冗長な部分」が多く存在することが知られている。冗長なパラメータが残ったままのモデルは推論時に必要なメモリ占有量や計算量が多く非効率である。

プルーニングでは、重みの大きさや勾配情報、あるいは性能への寄与度などを基準として、影響の小さい要素を特定し、それらを削除する。これにより、モデル全体の構造を維持しつつ、不要な計算を省いた効率的なネットワークを得ることができる。削除後には再学習や微調整を行い、性能低下を抑制することが多い。

個々の結合単位ごとに削除する「非構造化プルーニング」と、フィルターやチャネルといった構造単位で一括して削除する「構造化プルーニング」がある。個別の結合を消す手法は理論上の圧縮率は高いが特殊な実装が必要となる一方、構造化プルーニングは標準的なハードウェアでも直接的な高速化の恩恵を受けやすいとされる。

なお、“pruning” とは「剪定」「枝刈り」という意味の英単語で、本来の意味は樹木から余計な枝を選んで切り落とす作業のことである。機械学習以外のアルゴリズムやプログラミングの分野でも、木構造で表された探索候補などについて、一定の基準に基づいて枝単位でスキップして探索範囲を狭める高速化手法をこのように呼ぶことがある。日本語環境では、この意味での “pruning” については「枝刈り」という対訳が定着している。

モデル圧縮

ニューラルネットワークの予測精度や性能をなるべく維持しながら、データサイズを小さくして推論に必要な計算量や記憶容量を削減すること。メモリ容量や演算能力に制限がある機器で効率的にモデルを動作させるために行われる。

深層ニューラルネットワークは表現力が高く高い精度を得られる一方、近年では大規模化が進み、学習や推論に多くの計算資源を必要とする。計算能力やメモリ容量、消費電力に制約のあるモバイル端末やIoTデバイス、自動運転のようなリアルタイム処理が求められる場面では、そのまま利用することが困難となる場合がある。

モデル圧縮は、このような制約に対応するため、学習済みのモデルに含まれる冗長な表現や必要性の薄い計算を削減し、性能をなるべく維持しながらスリムで効率的なモデルに再編成する。これにより、クラウド環境の強力なサーバ上で実行していたモデルを、利用者の手元の端末や車載機器などに移して低遅延で高速に実行するといった使い方が可能となる。

具体的な手法としては、ネットワーク内の重要度の低いパラメータや構造を削ぎ落とす「プルーニング」(pruning)、パラメータの数値をより少ないビット数で表現する「量子化」(quantization)、巨大なモデルの知識を小さなモデルに継承させる「蒸留」(distillation)などがある。これらは単独で用いられることもあれば、組み合わせて適用されることもある。

量子化

アナログ信号などの連続量を整数などの離散値で近似的に表現すること。自然界から取り込んだ信号などをコンピュータで処理・保存できるようデジタルデータに置き換える際などによく行われる。

音や光、電気、電波など物理現象に伴う信号は本来連続量であるため、そのままではコンピュータなどの電子回路で取り扱うことができない。そこで、一定の決まった間隔で信号の強度を測定(標本化/サンプリング)し、決まった細かさの段階に当てはめて表していく。

例えば、4段階の値で量子化を行う系では、信号強度の測定値(標本)は0、1/3、2/3、1の中から最も近い値が選ばれる。0.1に近い標本は0、0.4に近い標本は1/3といった具合である。この段階の数が多いほど元の信号をより高い精度で忠実に表現することができるが、量子化後のデータ量はその分だけ増大する。

この細かさをビット数で表したものを「量子化ビット数」と呼び、これが1ビットであれば2段階(21)、8ビットならば256段階(28)、16ビットならば65,536段階(216)の細かさで強度を表現できる。

ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる