「自然言語処理の基礎」を画像処理の観点から理解を試みた
はじめに
自然言語処理の基礎を画像処理エンジニアの観点から、内容を理解しようと試みた内容である。
書籍から学んだ知見の上に、画像処理の観点からの考察を導入することで、内容をより理解しようとした際の備忘録である。
理解内容概要
画像処理と自然言語処理の違いのポイント
入力値が特徴量化されているかの違い
自然言語処理:離散的な記号である「文字」を処理可能な特徴量に変換するところから始める必要性
画像処理:センサーにて画像化された特徴量から始まる(光線をセンサ撮像するところが、初期特徴量生成を担う)
入力値がしばしば可変長であるかの違い
自然言語処理:時系列的な可変長を扱う上、その位置関係も非常に重要であるため、アルゴリズムの工夫を行う必要がある。注意機構では位置符号における単語の位置関係の学習が行われる。
画像処理:入力画像サイズが可変の場合でも、拡大・縮小による特徴量操作が容易であるため、アルゴリズム上の配慮は少ない。また、どのぐらいのスケールで拡大・縮小処理を行ったか、実世界の座標系の情報を学習に付与することは少ない。
局所的重要度の違い
自然言語処理:ある文字に着目した際、その文字付近の単語が影響が大きいとは限らない。係り受けや文法、文脈の関係から、広い範囲を参照して特徴抽出を行うことが重要である。注意機構はこれら重要度を重み付けできる点でブレークポイントであった
画像処理:ある画素に着目した際、画像では空間的情報が画像の画素の距離として表現されるため、その画素付近の影響を大きく受けることが通例である。そのため、畳み込み演算のような局所性に着目したアルゴリズムが有効である。
入力値の配列順序の意味合いの違い
自然言語処理:文法、係り受け、並び順、文脈等、入力値の配列順序が変化すると、それらが持つ意味合いは変化する。そのため、配列順序の持つ意味合いを特徴抽出する工夫が必要である。
画像処理:空間的な配列順序はタスクによっては重要ではない場合がある。具体的には、画像内の左右関係は反転しても成立する場面があるため、左右反転のデータ拡張が行われる。
同一ベクトル内の各要素の活用すべきタイミングの違い
自然言語処理:画像内の各要素は時間的特徴の相違があるため、平等に演算する・されることが望ましくない場合がある。RNNやLSTMでは時間的な行列積の回数が距離に相当し、平等には扱われない。Transformerでは着目要素より時間的後方のデータを活用することは望ましくないため、マスク処理を加える
画像処理:画像内の各要素は時間的特徴の相違がなく、同時的に処理することができる
固有表現の取り扱いの違い
自然言語処理:ソフトウェアのクラスの継承での抽象・具体が成立している。自然言語上の単語の具体的特徴は、それらの抽象的特徴を有していない。「佐藤」と「鈴木」は「日本人の姓」としての抽象的特徴を単語そのものの中には有していない
画像処理:ソフトウェアのクラスの継承での抽象・具体が成立していない。画像上のオブジェクトの具体的特徴は、それらの抽象的特徴を有している。AさんとBさんは「人物」としての抽象的特徴を画像内に有している
所感
画像処理と比較して、自然言語処理は前提の制約条件が少なく、設計項目が多い。
画像処理では撮像された画像という、限定された特徴空間で設計を行っていた。
自然言語処理では、文章の意味を構成するパラメータの多さとその自由度が高く、これらを統合的に機械処理することは難しいタスクであることを理解した
一方で、自然言語処理では、画像のような行列入力ではなく、1次元ベクトルを入力とするため、適用できるタスクの範囲が広く、エンジニアとしてのCanを広げるうえでは、非常に重要な技術領域である
今後は深層学習の発展により、マルチモーダルが進展し、自然言語処理と画像処理の融合が進んでいくと考えられる。
その上で、自然言語処理を学ぶことは画像処理のエンジニアとしてのスキルを伸ばすことも期待することができる。
理解内容詳細
1章 自然言語処理の概要
コーパスは画像データと対応付くと理解した。
信号処理の入力データに相当するものである。
目的の3つも画像処理分野と同様と言える。
画像データ同様、コーパスに対してもアノテーションが付与される。
画像と同様に、解きたいタスクに応じてアノテーションの仕様を設計する必要性がある。
画像では画像単位、インスタンス単位、ピクセル単位でのアノテーションがあるが、 コーパスに対しては品詞単位でアノテーションを行うことから、インスタンス単位と捉えるのが良さそう。
内容語は画像の前景、機能語は画像の背景と考えるのが良さそう。
あるインスタンスを接合している背景情報が機能後であり、内容ごとの相互関係を示している。
出現頻度への着目は、あるデータセットによく現れる前景と考えるのが良さそう。
人間がある目的の下で収集した画像データセットでは、任意のオブジェクトが多数含まれる。
この状況においては、自然言語処理と画像処理にては同様の事象が生じる。
画像では画像化されたデータのドメイン情報を理解すればよかったが、 自然言語処理では文字・単語・文・文法に対する理解および処理を段階的に行う必要性がある。
一方、文字から意味のある特徴に落とし込むプロセスは、光から画素センサを用いて画像化されるプロセスと捉えるのも良さそう。
形態素が意味のある最小言語単位という定義においては、 「文字は画素」、「形態素は前景またはまとまりのある背景」に相当すると考えた。
英語と日本語の違いは分かち書きの有無にある。
画像ではエッジという形で分かちの境界は求められるものの、曖昧性が残るため、これらの中間的立ち位置にあると考える。
構文解析は画像全体の構造理解と捉えた。 前景と背景の位置関係において、どのような係り受け状態にあるのかを解析する。
これらは隣接・大小・遠近関係で求められる。
意味解析は画像全体のコンテキスト理解と捉えた。 ある画像が何を表しているかを抽出する処理である。
2章 自然言語処理のための機械学習の基礎
画像処理では既にCMOSセンサにて量子化された画素を取り扱うのに対し、 各文を信号処理可能なベクトル表現に変換する特徴量エンジニアリングが求められる。
3章 単語ベクトル表現
本書では画像処理と自然言語処理との違いは、「離散的な記号」と定義されていた。
画像処理ではフィルタリングにて何らかの特徴空間・特徴ベクトルに変換が行われる。
一方で、CMOSセンサにて画像化された画素値そのものが既に特徴として、ベクトル化・行列化されているとも言える。
自然言語処理では、文字そのものは独立した記号であり、その単語や文脈の上で特徴として捉えることができる。
文字自体が特徴量を表すことはなく、何らかの特徴に変換する必要性がある。
画素と文字が同等の立ち位置にあると考えていたが、文字そのものに特徴性がないことを考慮すると、 文字は信号処理可能な状態になる前のデータと考えるのが良さそうだ。
画像内のオブジェクトをどの抽象表現で特徴獲得する話であるかと近しいと考えた。
例えば、画像内に「人間」のオブジェクトが写っていると仮定する。
この中で、「歩いている人間」、「立ち止まっている人間」、「寝ている人間」は同様に「人間」というオブジェクトの基本系を見出す必要性がある。
これは見出し語や語幹の抽出に通ずる考え方と捉えた。
これらは背景画像との文脈等から、認識アルゴリズムを設計する必要性がある。
画像処理ではこれらを特徴量設計や機械による自動設計に任せている。
自然言語ではある程度ルールが明示的に分かる部分があり、このあたりの知識を事前に与えることで解決することができそうだ。
そのため、語彙資源による知識の蓄積や、文脈理解のための深層格と表層格の定義が行われている。
画像では語彙資源は、「人というオブジェクトの見え方の活用系」、格フレームは前景と背景の情報と考えるのが良さそうだ。
「単語の連れからその単語について知るだろう」は「画像のオブジェクトを背景情報から把握する」に近しいと考えた。
シベリアンハスキーをAIで認識を行った結果、判定根拠を背景にある雪に着目していた話が有名である。
前景情報を背景情報の文脈から判定することは、同様の考えである。
自然言語処理ではある文章においては同様の単語表現等が使われることが多くなる。
これは自己相互情報量で解決を行っている。 画像処理においても、あるデータセットの作成過程においては、特徴量的に近い前景・背景情報が多く集まることがしばしばある。
こちらは、画像認識では前景情報に着目するよう、特徴量設計を工夫することで、解決する試みと考える。
単語埋込みの課題をNWベースの手法で解く内容である。
画像処理では画素という特徴量化されたデータが存在するが、自然言語処理では記号をNWで単語埋込みする内容であり、画像処理では存在しない前工程と捉えることとする。
CBow・Skip-Gramの考え方は、画像処理で言うinpaintに近いと考えた。
感覚的にはCBowの方が良い予測精度の出力が得られると考えた。
CBow:ある画素に対して、その周辺画素からinpaintする
Skip-Gram:ある画素から、周辺画素をinpaintする
近年のend-to-endで学習を行えるNW環境においては、タスクに特化した単語埋込みが有利なのは想像が容易い。
画像認識においても、各タスクごとにNWを分けるのではなく、統合してend-to-end学習を行うほうが、性能改善を期待することができる。
画像認識における、オブジェクトをどこまで学習の対象とするのかに寄せて、考えることとした。
「人間」のオブジェクトの認識を考えるうえで、あらゆる「人間」を覚え込ませるのは大変である。
そこで、「人間」という抽象表現に共通する情報をベクトル化して学習させることで、未知の「人間」の認識にも対応をさせる。
自然言語処理では文脈を活用するうえでは、類似と関連を見分けることは、非常に重要である。
画像処理のデータセット構築時にも発生する事象と考えた。 例えば、画像認識にて学習型のアルゴリズムを用いる際は、類似度と関連度は自然に分離されることを期待している。
バイアスに関しても画像処理のデータセットでは同様に発生する。
ただし、報告バイアスにおいては、画像処理では現実世界での発生頻度がそのまま画像データセットのバイアスに影響することが多く、新規やレアなどの情報量が多い事象はデータセット中では少数となることが多い。
選択バイアスは自然言語処理と画像処理にて同様と考えた。
4章 系列に対するニューラルネットワーク
画像全体の意味するところは、前景そのものの意味と、前景の組み合わせの合成手続きによって、決定されるということと相当する。
勿論、前景同士だけではなく、背景との組み合わせのその合成手続きの1種であると考えられる。
可変長の取扱いに関しては、自然言語特有のものと考える。
画像処理では、拡大縮小処理にて、特徴量圧縮のコントロールを行うことができるが、自然言語ではそれに相当するものが存在しないと考えた。
このあたりは画像処理と同様の考え方である。
CNNでは空間的な方向で、RNN・LSTMでは時間的な方向で特徴抽出が行われる。
CNNの空間的次元での処理では、同様の特徴的重要度を持つ値が平等に畳み込み演算される。
それに対して、RNNでは時間的な行列積の回数が距離に相当するため、同様の特徴的重要度を持つ値が平等に扱われない。
そのため。逆方向RNNやLSTMの活用が検討される。
また、画像処理においても動画像を扱う際は時系列的処理が行われるが、 こちらは自然言語処理とは異なり、実世界の時間的方向がそのまま動画データに反映されているため、時間的後段の入力値がより重要度が高くなる傾向にあり、ここは分けて理解を行う。
5章 言語モデル・系列変換モデル
ここはきちんと定義を理解しておきたい。
近年話題の大規模言語モデルは、あくまで単語や文章が生成される確率をNWを用いて、モデル化されたものと把握をする。
単語と単語の組み合わせが現れる確率を同時確率、条件付き確率の積で表していることを理解した。
分布仮説からも、ある単語に関しては、その他単語について知ることができるのであろう。
画像処理と異なる点としては、BOSとEOSの存在である。 画像では、「画像サイズ」にて明示的に指定されており、これらがモデルによって推定されることは少ない。
ただし、言語処理では可変長の出力を扱うために、始点と終点を含めてモデル化する必要がある。
このことからも、言語モデルを扱う絵では始点と終点との確率的な組み合わせは言語モデルを扱う上で、考慮する必要がありそうだ。(体言止めなどはどのように扱われるのであろう)
言語モデルの利用例としては、2つ挙げられている。
ここでは、「2. 言語モデルによるテキストの生成」に着目する。
言語モデルでは、文章の時系列方向に、単語の生成を繰り返していく必要がある。
それが、直前の単語に着目するのか、累積の結果に着目するのかで、方法は分かれる。
このあたりは画像処理では考慮しなくて良かった点である、画像処理では空間的な方向は同時的に活用することが容易であるからである。
やはり空間的方向と時間的方向の違いはしっかり抑えるべきだと考えた。
NWベースの言語モデルが流行る前に、主流であったモデルである。
n数が増えると処理が膨大化する課題は、画像処理での辞書型等のアルゴリズムに近しいと考えた。
既存データを保持して、それにマッチする値を探索する手法では、n数の増加が同様に課題となる。
画像処理と同様に、入力ベクトルに対して、出力ベクトルをEnd-to-endにて得る手法となる。
効果も画像処理と同様で、未知語・未知物体への対処は、学習に期待を行う。
画像処理と異なる点としては、入力のベクトル化にある。
画像処理では画素がベクトルとして入力されるが、自然言語では離散的な記号である「文字」をベクトル化する必要がある。
ここでは、各単語に対応するワンホットベクトルを活用する例が挙げられている。
画像処理における、img2imgの変換に概念としては近しいが、行っていることは少々異なる。
エンコーダはデコーダに向けた特徴ベクトルを抽出する考えは同様だが、自然言語処理では「単語埋込み」と「合成」という役割となる。
エンコーダでは、特徴抽出に必要なベクトル列生成のためのNWであると考えることができる。
画像処理ではしばしば、演算量の兼ね合いから、空間的サイズを縮小し、特徴量へと抽出することに活用されることが多い。
デコーダは画像処理と同様である。
特徴空間での特徴量をもとに、何らかの出力データを得ることを目的とする。
注意機構(Attention)も同様である。
画像処理では、空間的関係性の重要度を抽出するためであるが、自然言語処理では時間的関係性の重要度を抽出するためである。
画像処理では一般的には、あるピクセルに影響を与えるのはその局所領域であることが多い。
一方、自然言語処理では文脈や文章構成によっては、必ずしも局所性が成り立つとは限らない。
そのため、注意機構は自然言語処理ではより重要であると想定される。
未知のタスクにおいては、自然言語処理でも画像処理でも、同様に性能の低下が予想される。
真っ先に上がる解決策は、データセットの拡充であるが、必ずしもこの戦略がコスト面等で適用できるとは限らない。
その上で、自然言語処理では<unk>に置き換えるなどの「未知語を未知語として扱う」手法が挙げられている。
感覚的には、画像処理にて未知の領域を塗りつぶしたりすることで、特徴量を除去することに近い。
手法としてはRandom Erasingなどのデータ拡張手法が近しいが、目的が汎化性能向上であるため、少し目的は異なると考える。
部分単語処理に関しては、前景部分をそのサブ前景領域に分割するイメージであるが、明示的に行われる例はあまり把握はしていない。
6章 Transformer
自然言語処理における自己注意機構は、画像処理のそれと比較して、大きな差分はないと考える。
自然言語処理では時間的関係性、画像処理では空間的関係性を注意機構にて、重要度の重み付けを行っている。
画像処理と異なる点としては、位置符号における単語の位置関係の学習による影響であると考える。
画像処理ではおおよそ画像サイズは固定化、または拡大縮小処理にて特徴量の空間的圧縮が行われる。
わざわざ、どのぐらいのスケールで拡大・縮小処理を行ったか、実世界の座標系の情報を学習に付与することは少ない。
一方、自然言語処理では可変長であることと、局所性に留まらない特徴量の関係より、位置の情報が重要である。
マスク処理は自然言語処理特有の方法である。
画像処理では、画像内での時間的特徴の相違はなく、同時に処理することが望まれる。
一方、自然言語処理では同時に予測に使用することが適切でない場合があるため、マスク処理を施す。
GPUの並列計算処理の特性を活かすため、部分処理するのではなくマスク処理にて計算を無為化することがポイントである。
画像処理にても、同一画像内で取り扱いたくない情報がある際は、このようにその時折に応じてマスク処理にて対応することが有効な場面があるかもしれない。
学習率のウォームアップは画像処理にても同様に有効な手法である。
NWの反復学習において、どの程度のエポック数でウォームアップを行うかは、自然言語処理と画像処理の違いよりは、学習に用いるデータセットでのパラメータの学習効率に依存すると考えている。
ラベルスムージングは画像認識におけるソフトラベルを用いた学習と同様である。
画像認識にては蒸留などのモデル間での知識の移転にて用いられる印象であるが、自然言語処理ではどのようなシチュエーションで使われるのかは確認をしておきたい。
モデル平均化はアンサンブル学習の平均化と同様である。
本書では学習のチェックポイント毎のモデルの平均化を用いる手法が紹介されている。
アンサンブルでは複数のモデルを推論するため、推論演算量に対するコストが発生する。
これが自然言語処理ではどの程度の負担度のある処理であるのかは把握しておきたい。
また、出力を行った系列はまた離散的な記号となっているため、そのままは平均化ができないはずである。
具体的に、どのタイミングにて出力ベクトルの平均化を行うか、それに対して得られる出力のイメージは掴んでおきたい。
7章 事前学習済モデルと転移学習
画像認識にても、NWで得られた中間出力は、特徴量抽出の観点で副次的な産物となっている。
例えば、ImageNetの大量の画像で学習されたCNNを特徴抽出器として活用し、得られた特徴ベクトルをSVMへの入力として活用する手法が存在した。
また、事前学習・ファインチューニング・転移学習は画像認識と同様の活用が見られる。
画像認識では「埋め込み表現」・「タスク」のような分類では無いが、特徴抽出器の観点としては同様である。
近年話題のGPTである。
デコーダonlyで事前学習が行われているのがポイントである。
画像認識では、入力画像をそのままの次元で扱うと、演算量が膨大となるために、エンコードされることが大半である。
そのため、エンコーダが取り扱われることがほとんどである。
そのため、デコーダonlyの概念を理解することには少々苦しんだ。
プロンプトについては、自然言語処理の基礎から考えると、与える自然言語の順序は重要である。
質疑応答を想定しても良いし、人間が書きかけていた文章の途中を与えるのも良さそうだが、タスクの事前説明は重要である。
GPTの制御を操作するための実数値ベクトルや追加パラメータに関しては、動作原理・学習元のコーパスを考慮しながら、有効なパラメータを探る必要があるだろう。
BERTはエンコーダを事前学習したものであり、こちらの方が画像認識の観点からは親しみやすい。
事前学習を行い、NWを特徴抽出器として活用する方法においては、エンコーダの事前学習の方が馴染みが深い。
単語穴埋めによる事前学習での雑音除去自己符号化のアプローチは、画像処理においてもinpaintの学習方法としても馴染みが深い。
ファインチューニングの方法に関しても、CNNベースの画像認識と同様に、NW後段層を置き換える手法であり、同様と言える。
学習済みのNWを特徴抽出器として活用し、類似度計算等に活用することも、画像認識と同様と言える。
エンコーダ・デコーダをすべて学習対象にいれることは、タスクごとの条件や制約のもとで、優劣があることがわかる。
画像認識では入力画素から、画像単位・領域単位・ピクセル単位の分類を行うモデルを扱っていた観点から、自然言語処理のタスクに応じたNW設計の使い分けが求められることがわかる。
単純にEnd-to-endで学習を行えば良いものではなく、自然言語処理と一括りにせず、NW設計を考慮する必要性がある。
この辺りは画像認識と同様である。
モデルを小規模化するうえで、演算規模の大きい箇所の計算量削減は検討される。
画像認識では取り扱う特徴マップの画像サイズが非常に大きな影響を与えるため、これらのサイズ縮小が検討される。
自然言語処理では、単語埋込行列の行列の小規模化などが挙げられる。
知識蒸留は画像認識と同様に、ハードラベルからソフトラベルに置き換えた学習が検討される。
学習型NWでタスクを解く以上、これらの問題は画像認識にても同様に発生する。
画像認識においても、入力に対する敏感性においては、Adversarial attackなどが知られている。
画像を少し揺らしただけでも、出力値は大きく変化する。 これらを防ぐために、画像処理では前処理を行ったりするパターンもある。
自然言語処理では、画像と比較して入力の自由度が高いため、プロンプトエンジニアリングのように、入力値に対する設計概念が生まれてくると考えた。
ハルシネーションの課題も、学習済みデータから経験則的・確率的に出力を出し、それが真の値ではないということは、画像認識においても同様と考えてみることにした。
例えば、ノイズ復元や超解像などの不良設定問題においては、真となるパターンが複数想定される中で、何らかの値を確率的に出力する必要がある。
この過程において、出力値が本当なのか・嘘なのかを見分けることは困難である。
乱数シードによる影響は、画像認識にても同様の課題である。 解決策も同様に、複数の乱数シードからモデルの性能を評価することになる。
8章 系列ラベリング
画像認識における、セマンティックな認識タスクであると考えた。
自然言語においては、その単語の文法上での役割が重要であるため、それらを認識する必要性がある。
画像認識においては、前景や背景、前景の中でもオブジェクトの何を意味するかの認識する必要はある。
固有表現認識に関しては、自然言語処理のほうがより難易度の高いタスクであると考えた。
画像認識においても、例えば人物の物体認識をする上においては、Aさん・Bさんの固有表現を除いたうえで、認識を行う必要性がある。
ただし、画像上のAさん・Bさんは「人物」としての抽象表現は持っているため、Aさん・Bさんがそれらの具体表現であることを認識することは容易である。
画像認識においては、ソフトウェアのクラスの継承での抽象・具体が成立していると考える。
一方で、自然言語処理ではこれが工夫なしでは成立しない。「佐藤」と「鈴木」は離散的な記号上では全く異なるものである一方で、「日本人の姓」という抽象表現は同一である。
これらを自然的に理解させることは難しい。
(特定の文字列のあとに、「さん」や「様」が存在することを分布仮説的に把握することができれば、可能かもしれないが)
そのため、固有表現認識に関しては、画像認識よりも一段の工夫が必要であると考えた。
9章 構文解析
画像認識においても、画素の配置順序は重要であるが、それらは空間的に表現されるため、並べ方的な制約は少ない。
例えば、画像内の「家」の右側に「人物」が存在する場合において、一般物体認識ではその配置順序はそこまで重要ではない。
そのため、左右反転のデータ拡張が実施される。
一方、自然言語においてはこれらは配置順序に関しては、入れ替えによる意味的変化が生じる。
そのため、これら配置順序を考慮した学習を行う必要性がある。
また、これら構造に関してはNWで自然的に学習させることは困難出ることが想定される。 そのため、ツリーバンクを構築し、「構造に対するデータとアノテーション」によるデータセット構築が重要である。
10章 意味解析
意味に関しては、画像認識と同様である。
画素のピクセル配列やオブジェクトの配列としての近さと、画像全体が持つ意味に関しては、異なることは多々ある。
ただし、空間的表現においてはその見た目での変動幅はそこまで大きくないため、画像から何らかのアルゴリズムを用いて特徴量を抽出し、それらから意味を推定することは、自然言語程複雑ではないと考える。
画像全体としては、構成的意味論で捉えるほうがしっくりとくる。
画素によって構成されたオブジェクトと、その構成によって、画像全体としての意味が導出されてくる。
一方、ピクセル単体や局所的な特徴量では意味をもたせることは困難であるため。語彙的意味論のような捉え方は用いない事が多い。
また、述語項構文解析のように、画像内のオブジェクトの構造解析をグラフ的に行うことも比較的に少ない。
特徴量マッチングのような、似たようなものをペアリングすることは多々あるが、主従関係を解析するような場面はあまりない。
語義曖昧性のような課題は、画像認識でも同様に発生する。
例えば、赤い三角形のオブジェクトは、道路上にあれば三角コーンかもしれないし、おもちゃ売り場にあるなら積み木かもしれない。
これらは、画像認識ではその他オブジェクトや背景情報、データセットの操作によって、自然的に認識能力を獲得することを期待する。
自然言語処理では、これらを解くためのデータセットや知識グラフを活用することで、解決を図ることができる。
ゼロ代名詞のように、省略された対象を考慮する技術は、画像認識ではあまり見かけない。
画像を撮像する際に、人間が明示的・暗示的に特定の対象物を画像内から省略することのメリットが見当たらない。
画像認識ではカメラが自然界の現象をそのまま捉えている側面からも、省略された何かを考慮することは少ないと考えた。
語用論においては、画像認識でのドメイン間差分と照らし合わせると、面白い考察ができるのではと考えた。
例えば、自然画像データセットが存在すると仮定する。
これに対して、CGデータを追加するとすると、これらは自然画像の比喩表現の一種と考えてみることにした。
この場面においては、CG画像は自然画像を比喩しているものと捉えることができる。(シマウマのCG画像は、暗示的に自然画像のシマウマを表現しようとしている)
一方で、CGデータのみで構成される場面においては、CGデータは直喩表現となる。
少し拡大解釈している気がするが。
11章 応用タスク・まとめ
画像認識同様、タスクに応じた特徴抽出器・機械学習の設計が必要になる。
中間言語方式において、多少のドメイン間ギャップはあるとはいえ、言語のような大きな記号的差分はなく、万国共通で画像は画像である。
そのため、それら抽象表現を獲得することは大きくは意識しない。
ファイクトイド型の知識応答は、辞書型のアルゴリズムに近しい。
何らかのデータベースを蓄積しておき、それらにクエリを投げることで、出力の獲得を狙う。
そのための特徴量として、言語モデルを特徴抽出器として活用する。
自然言語の過去と未来は、画像処理分野のそれと通ずるところがある。
画像認識においても、深層学習の導入でEnd-to-endで一気通貫に目的タスクを解けるようになったことがブレイクスルーであった。
以前は、あらゆる画像前処理による特徴量エンジニアリングを行い、機械学習に最適な設計を行うことが、画像処理エンジニアの腕の見せどころであった。
しかし、深層学習以降は、タスクに応じたNW構造の設計やデータセットの構築が重要となった。
NW構造に関しても、CNN・GAN・Transformerのような技術的発展は要所要所ではあったものの、基本的な学習アルゴリズムの部分は同様である。
深層学習によるブラックボックス化では、画像認識でも同様に、モデルの動作原理理解が困難である。
説明可能アルゴリズムに関しては、自然言語処理・画像認識で同様の考え方ができるSHAP値等が考案されており、分野横断で開発が進められている。
今後はマルチモーダル化にて、自然言語処理と画像処理分野の融合が進んでくる。
私自身は画像認識から学問をスタートしているが、今回は自然言語処理に関して、知見を深めようと試みた。
今後のマルチモーダルの流れにおいては、双方の技術を理解していくことが重要であり、非常に良い取り組みであったと振り返る。
まとめ
画像処理エンジニアの視点から、自然言語処理の基礎を理解しようと試みた。
画像処理と比較して、自然言語処理は文章の意味を構成するパラメータとその自由度が多くこれらを統合的に機械処理することは難しいタスクであることを理解した。
一方で、画像処理と比較して、適用できるタスクの範囲が広く、エンジニアとしてのCanを広げるうえでは、非常に重要な技術領域である。
今後は深層学習の発展により、マルチモーダルが進展し、自然言語処理と画像処理の融合が進んでいくと考えられる。
その上で、自然言語処理を学ぶことは画像処理のエンジニアとしてのスキルを伸ばすことも期待することができると振り返る。
この記事が気に入ったらサポートをしてみませんか?