スモールデータ学習、論理と機械学習との融合、局所/集団学習
スモールデータとは、サンプル数が限られたデータセットのことを指す。スモールデータは、大量のデータを持つ場合と比較して、モデルをトレーニングするために使用できるデータの量が少なくなるため、機械学習の課題に対してより困難な問題を提供する。
スモールデータによる機械学習では、以下のようなアプローチが一般的に使用される。
- データ拡張:データセットのサイズを増やすために、既存のデータを変換して新しいデータを生成することができる。たとえば、画像データの場合、画像を回転、反転、拡大、縮小するなどの変換を行うことができる。
- 転移学習:ある問題に対して十分な量のデータがない場合、他の問題のデータを使用して予測モデルをトレーニングすることができる。このアプローチは、事前トレーニング済みのモデルを使用して、新しい問題に対して再調整することで実現される。詳細は”転移学習の概要とアルゴリズムおよび実装例について“を参照のこと。
- モデルのシンプル化:小規模なデータセットの場合、複雑なモデルは過剰適合に陥る可能性が高く、汎化性能が低下する可能性がある。そのため、よりシンプルなモデルを使用することが重要となる。
- クロスバリデーション:データセットのサイズが小さい場合、クロスバリデーションを使用して、モデルの汎化性能を評価することができる。この手法では、データセットを複数の部分に分割し、それぞれをトレーニングと検証に使用する。その後、すべての部分について平均化された評価値が得られる。
スモールデータによる機械学習では、十分なトレーニングデータがないため、正確な予測モデルを構築することが難しい場合がある。しかし、上記のアプローチを使用することで、より高い精度を実現することができる。
現在主流となっている深層学習等の機械学習技術はビッグデータ、つまり大量のデータを前提として成り立っている。これらの手法はさまざまな領域(問題)に対して適用され成功を収めてきた。しかしながら、現実の問題解決を考えた時、このような大量のデータが存在しない問題領域も多々存在する。
シャノンの情報理論では、情報の価値(情報量)として、知っている分かりきった情報(その情報が発生する確率が高く頻繁に起きている情報)を受け取っても価値(情報エントロピー)は少なく、知らない(その情報が発生する確率が少ない)情報に対しては価値(情報エントロピー)が多いと定義されている。このような観点からも、大量に存在する分かりきった情報ではなく、ロングテール部分に存在する少数の希少な情報が価値を生むケースが存在する事がわかると思う。
これらの少ない情報をコンピューターで効率よくハンドリングするためには、既存のビッグデータアプローチで不十分であり、それらとは異なったアプローチをする必要がある。
具体的な手法としてはまず、最もシンプルなものとしては「説明できる機械学習」に述べてある線形回帰モデルやロジスティック回帰モデル等の「解釈可能なモデル」を用いるアプローチがある。これはシンプルな「解釈可能なモデル」なモデルを用いて学習を行うもので、計算量も少なく比較的少数のデータでも適用できるという利点はあるが、背後にある答えとして得たいモデルが複雑な場合は当然ながら精度は落ちる。
次に考えられるものとしては、確率分布モデルを想定して計算する「確率生成モデル」のアプローチがある。この手法はあらかじめ定めた確率モデルをベースにMCMCや変分法を用いて機械学習を行うもので、比較的少ないデータからも、そのばらつき(分散値)と共に答えを出してくれるものとなる。この手法は、複雑なモデルが対象になると計算量が増え、さらにパラメータが増えると分散量も増加するためデータの不確実性が増加するという欠点はある。
また、「弱ラベル学習」と呼ばれる半教師あり学習(semi-supervised learning)や、マルチインスタンス学習もある。これは言わば、教師なし学習と教師あり学習を組み合わせたアプローチで、mi-SVM等の手法が存在する。
本ブログではこれらの少数・ロングテールのデータに対するアプローチに対して椅子の内容について述べる。
実装
学習するデータの量が少ない(スモールデータ)という課題は、機械学習の精度を下げる要因として様々なタスクで現れる問題となる。スモールデータでの機械学習は、データの制約や過学習のリスクを考慮しながら、様々なアプローチをとる。ここではそれぞれのアプローチの詳細と実装例について述べている。
- 転移学習の概要とアルゴリズムおよび実装例について
転移学習(Transfer Learning)は、機械学習の一種であり、あるタスクで学習したモデルや知識を、異なるタスクに適用する技術であり、通常、新しいタスクに必要なデータが少ない場合や、高い性能を要求するタスクにおいて、転移学習が有用となる。ここでは、この転移学習の概要及び様々なアルゴリズムと実装例について述べている。
機械学習におけるアクティブラーニング(Active Learning)は、モデルの性能を向上させるために、ラベル付けされたデータを効果的に選択するための戦略的なアプローチとなる。通常、機械学習モデルのトレーニングには大量のラベル付けされたデータが必要だが、ラベル付けはコストが高く、時間がかかるため、アクティブラーニングはデータ収集の効率を高めるものとなっている。
機械学習のタスクにおいて、再現率は分類タスクに主に使われる指標となる。この再現率(Recall)100%を実現するとは、一般的なタスクの例で考えると、本来見つけたいデータ(陽性)を抜け漏れなく全て抽出することを意味し、現実のリスクが絡むタスクでは頻繁に現れるものとなる。
しかしながらこのような再現率100%の実現は、データの特性や問題の複雑さによって制約され、一般的に達成することは困難となる。また、再現率100%を追求すると偽陽性(本来の陰性を陽性と間違える)の割合が増える可能性もあるため、そのバランスを考慮する必要も出てくる。
ここでは、この再現率100%を実現するために考慮するべき課題とそれらに対するアプローチおよび具体的な実装について述べる。
実世界での機械学習のタスクを行なっていると、同じラベルが付けられるべきものに異なったラベルが付けられているケースにしばしば出くわす。今回は、このような機械学習での教師データが不正確な場合にどのようにして対処するか、について述べている。
Meta-Learnersを用いた因果推論は、機械学習モデルを用いて因果関係を特定し、推論するためのアプローチを改善する方法の一つであり、因果推論は、ある変数が別の変数に対して直接的な因果関係を持つかどうかを判断することを目指すが、これには従来の統計的方法だけでなく、機械学習を活用することでより高度な推論が可能となる。Meta-Learnersは、異なる因果推論タスクに対して迅速に適応する能力を持つモデルを構築するために使用され、これにより、以下のような問題を効率的に解決できるようになる。
Meta-Learnersは、機械学習の領域において重要な概念の一つであり、「学習アルゴリズムを学習するアルゴリズム」として理解できるものとなる。つまり、メタラーナーは、異なるタスクやドメインに対して適応可能な学習アルゴリズムを自動的に獲得するアプローチとも言える。ここでは、このMeta-Learnersの概念と様々なアルゴリズムおよび具体的な実装について述べている。
自己教師あり学習(Self-Supervised Learning)は、機械学習の一種であり、教師あり学習の一種と考えることができる。教師あり学習では、ラベル付きのデータを使用してモデルを訓練するのに対して、自己教師あり学習では、ラベルの代わりにデータ自体を利用してモデルを訓練する手法となる。ここではこの自己教師あり学習に対して、様々なアルゴリズムと適用事例、実装例について述べている。
スモールデータでの機械学習
ビッグデータという言葉に代表されるように、ネットワークやコンピューターの罰発的な普及により、サーバー上には日々大量のデータが蓄積されている。またその一方で、データ数Nが非常に大きい場合においては、最尤推定によるパラメータの推定結果と、ベイズ推定におけるパラメータの事後分布が漸近的に一致してくるという理論的結論がある。
データ解析を使って何らかの有用な知見が得られるのは、常にデータが不足しているような状況であると行っても良い。機械学習における重要なアプローチは「利用可能な情報を統合すること」であり、この場合だと例えばユーザーのプロファイル情報やほかの多くの利用者の購買情報など、軸の異なるデータからの推察を組み合わせるのが建設的な解決策となる。
クラス認織を考えた場合に、識別関数が0から1までの値を取るクラスの事後確率を予測できれば、入力データが対象としているクラスに所属している度合いを定量化することができる。しかしながら識別関数の出力は-∞から+∞であるために、直接的に事後確率と解釈するには困難であるため、線形識別関数を拡張してクラスの事後確率を予測する確率的識別関数(probabilistic discriminant function)を用いることでそれらに対応する。確率的識別関数を用いたアプローチであるロジスティック回帰やソフトマックス回帰はニューラルネットワークの重要な要素となっている。
先述の例では、分類問題について述べた。それらの問題の目的は、入力データ点の離散的なラベルを一つ予測することにある。もう一種類の一般的な機械学習問題は、回帰(regression)となる。回帰では、離散的なラベルではなく連続値を予測する。例えば、気象データに基づいて明日の気温を予測したり、ソフトウェアプロジェクトの仕様に基づいてプロジェクトの完了にかかる時間を予測したりする。ここでは、1970年代中頃のボストン近郊での住宅価格を予測するタスクを行う。この予測には、犯罪発生率や地方財産税の税率など、当時のボストン近郊に関するデータ点を利用する。前述の2つの例からすると、ここで使用するデータセットには大きな違いがある。このデータセットに含まれるデータ点は506個と比較的少なく、404個の訓練サープルと、102個のテストサンプルに分割されている。また入力データの特徴量(犯罪発生率なと)はそれぞれ異なる尺度を利用している。例えば、割合を0〜1の値で示すものもあれば1〜12の値を取るものや、0〜100の値を取るものもある。
ごく少量のデータを使って画像分類モデルを訓練するのはよくあることになる。「少量」のサンプルは、数百枚の画像を意味することもあれば、数万枚の画像を意味することもある。実践的な例として、犬と猫の4000枚の画像(2000枚の犬の画像と2000枚の猫の画像)が含まれたデータセットで、画像を犬と猫に分類してみる。ここでは、訓練に2000枚、検証に1000枚、テストに1000枚の画像を使用することとする。
この問題に取り組むステップとして、まず2000枚の訓練サンプルを使って小さなCNNを(正則化を行わずに)単純に訓練することで、ベースラインを設定する。これにより71%の分類正解率が得られる。その時点で、過学習が主な課題となる。そこで、コンピュータービジョンにおいて過学習の抑制に効果があるデータ拡張(data augmentation)を行う。データ拡張により、CNNの正解率は82%に改善される。
小さな画像データセットを用いたDNNに関して、よく知られている効率的なアプローチとして、学習済みのネットワークを使用するというものがある。学習済みのネットワークとは、大規模なデータセットで訓練された後、保存されたネットワークとなる。このようなアプローチでは、新しい問題に対して、元のタスクとは全く異なったクラスが必要になる場合、例えばImageNetでは主に動物や日常的なものを表すクラスで構成されているが、それらを家具の識別などの、かなりかけ離れた目的に使用する場合には、それらをチューニングする作業が必要となる。
ここでは、2014年に、Karen SimonyanとAndrew Zissermanらによって開発されたVGG16アーキテクチャについて述べる。VGG16は、ImageNetで広く使用されているシンプルなCNNアーキテクチャとなる。VGG16は古いモデルで、最先端のモデルには遠く及ばず、最新の多くのモデルよりも少し重いものとなる。
今回は教師あり学習と教師なし学習の中間に位置付けられる弱ラベル学習と呼ばれる問題設定について述べる。弱ラベル学習では、ラベルの情報が部分的にしか得られない状況で分類や回帰などの問題を考える。まず訓練事例のうち一部だけにラベル情報が与えられている半教師あり学習と呼ばれる問題について述べる。
ここでは、半教師あり学習のためのSVMについて述べる。半教師あり分類問題ではラベルのある訓練事例とラベルのない訓練事例が与えられる。最後に半教師ありSVMを2次元の人工データに適用した例について述べる。ラベルあり事例として正負ラベルの事例がそれぞれ2例ずつ、ラベルなし事例として、100事例が与えられている。
ここではマルチインスタンス学習(multi-instance learning)と呼ばれる弱ラベル学習問題へのSVMによるアプローチについて述べる。
マルチインスタンス学習は2クラス分類問題の一種となる。通常の2クラス分類問題との違いは、個々の訓練事例それぞれにラベルが与えられているのではなく、バッグ(bag)と呼ばれる訓練事例の集合にラベルが与えられることとなる。各バッグは複数の事例(インスタンス)から構成され、各事例は正クラスか負クラスのどちらかに属しており、それぞれ正事例、負事例と呼ぶ。あるバッグに正事例が一つでも含まれている場合、そのバッグを正バッグと呼ぶ。逆に、あるバッグに含まれる事例がすべて負事例の場合、そのバッグを負バッグと呼ぶ。マルチインスタンス学習では、バッグに対するラベルのみが与えられる。負バッグにおいては含まれるすべての事例が負事例であることがわかるが、正バッグにおいてはどれが正事例でどれが負事例であるのかわからない。このため、正バッグに含まれる事例のラベルを推定しつつ、分類境界を求めなければいけない。
画像データと自然言語の半教師あり学習について、back translation(逆翻訳)を使ってデータを増やすアプローチについて
半教師あり学習の手法を実現する方法として、下記のような手法が存在する。(1)自己訓練 (Self-Training)、(2)半教師あり混合ガウスモデル (semi-supervised Gaussian mixture models)、(3)共訓練 (Co-Training)、(4)グラフベース半教師あり学習 (Graph-based Semi-Supervised Learning)、(5)S3VM(Semi-Supervised Support Vector Machine)、PNU Learning
データ拡張(Data Augmentation)について書きます。データサイエンスの中でも、昨今注目を集めているテクニックであり、データ水増しという表現をされることもあります。この手法は、機械学習における普遍的な課題である過学習(Overfitting)に関わり、またなぜ深層学習(Deep Learning)が学習し、高いパフォーマンスを出せるのかという謎に近づく手がかりでもあります。
論理やルールと機械学習の融合
人工知能技術の根本的問題である知識表現の問題、すなわち知識をいかに表現し、獲得し、利用するかという問題に対し、これまでにさまざまなアプローチが行われている。それらは深層学習技術に代表される機械学習技術や、音声認識や画像認識等のセンサー技術あるいは、エキスパートシステムに代表される推論技術等となる。
今日の知識情報は、インターネットを通じた学術誌、辞書、ウィキペディア、SNS、ニュース記事などの種々の、そして大量の記号的知識として非構造な形態で利用されている。
またそれら知識はさまざまなカテゴリに分類することができるが、それらの分類の一つとして論理的知識と確率的知識に分ける分け方がある。
本ブログでは 以下のページにて、知識の2大カテゴリである論理的知識と確立的知識を結びつけた確立モデルを使い、複雑な現実を計算機上でモデル化する流れと、その背後にある確率、論理、計算、機械学習のつながりについて述べる。
局所学習と集団学習
クラス認織を考えた場合に、識別関数が0から1までの値を取るクラスの事後確率を予測できれば、入力データが対象としているクラスに所属している度合いを定量化することができる。しかしながら識別関数の出力は-∞から+∞であるために、直接的に事後確率と解釈するには困難であるため、線形識別関数を拡張してクラスの事後確率を予測する確率的識別関数(probabilistic discriminant function)を用いることでそれらに対応する。確率的識別関数を用いたアプローチであるロジスティック回帰やソフトマックス回帰はニューラルネットワークの重要な要素となっている。
特徴空間においてデータが複雑に分布している場合、非線形な分類器が有効となる。非線形な分類器を構成するには、カーネル法やニューラルネットワークなどを利用した手法が挙げられる。ここでは単純な分類器を複数組み合わせることで、非線形な分類器を構成する集団学習(ensemble learning)について述べる。なお、集団学習は”アンサンブル学習の概要とアルゴリズム及び実装例について“にも述べているアンサンブル学習とも呼ばれている。
集団学習として、訓練データ集合からサブセットを生成し、各サブセットで予測器を学習させるバギングについて述べる。この手法は、とくに不安定な学習アルゴリズムに有効となる。不安定な学習アルゴリズムとは、訓練データ集合の小さな変化が、学習される予測器の構造やパラメータに大きな影響を与えるアルゴリズムのことを言う。不安定な学習アルゴリズムとして、ニューラルネットワークや決定木がある。
有限なデータ集合から多様なサブセットを生成する手法として、ブートストラップ法が(bootstrap method)がある。これは、データ集合からランダムに復元抽出をM回繰り返すことで、M個の新規なデータ集合を生成する手法となる。
今回は局所モデルに基づいて全体を記述するモデルを構成する方法について述べる。具体的には、まず例として東京の気温データを取り上げながら、少数の固定したパラメータを持つ統計モデルでデータから意味を汲み取る。いわば全体モデルを用いたデータ解析から話をスタートする。次に、時間的に局在化した情報を取り出すために局所線形モデルを導入し、さらにそれを非線形に拡張することでモデルの表現力が豊かになることを見ていく。この局所非線形モデルは、確率差分方程式で通常与えられ、等式で表現される制約条件からの確率的なずれを許容する「柔らかな」モデルとなる。さらに、確率的なゆらぎを生み出すノイズ項が従う分布を、ガウス分布でない、つまり非ガウス分布にまで一般化することで、ジャンプや異常値といった、まれに生起する確率事象を上手に取り扱うことができるようになる。このようなガウス分布に従うノイズ項によっては表現ができない特性を非ガウス性と呼ぶ。
説明できる機械学習
「説明する」とは、(1)原因をつきとめること、(2)一般的な仮説からより特殊な仮説を導くこと、(3)正体を突き止めることの3つのパターンがある。この中で機械学習を「説明する」とは、主に(1)の原因(結果に影響を与えているパラメータ)を明確にすることになる。
現在の技術的なトレンドはこの説明できる機械学習として(A)解釈可能な機械学習モデルによる解釈、(B)(主に統計的なアプローチによる)機械学習結果の解釈による重要な特徴量の抽出の2つのアプローチが主流となる。
本ブログでは 以下のページにて、この説明できる機械学習技術での様々なアプローチについて述べている。
確率的生成モデル(ベイス推定)
確率的生成モデルとは、現実世界のデータに関して、そのデータを生成するしくみ(モデル)がバックにいると考え、更にそのデータが決定論的に厳密に生成されるのではなく、あるバラつきや揺らぎを持って生成されると考えるものとなる。
確率モデルのアプローチとして、ベイズ統計をベースとしたベイズ推論、複雑な確率モデルを直感的にイメージしてハンドリングするグラフィカルモデル、また確率分布を計算する手段としてはマルコフ連鎖モンテカルロ(MCMC)法、変分法、ノンパラメトリックベイズ等がある。
また適用先としては、トピックモデルに代表される自然言語処理、隠れマルコフモデルを使った音声認識やセンサー解析、地理情報を含めた各種統計情報の解析に用いられる。
本ブログでは 以下のページにて、この確率的生成モデルを用いたベイズモデリング、トピックモデリング、あるいはさまざまな応用アプリケーションや実装について述べている。
オンライン学習/オンライン予測
オンライン学習とは,全データを一度に用いること無く,データが一つ(あるいは全データの一部)与えられるたびに,与えられたデータ のみを用いて逐次的にモデルを改良する学習手法のことを言う。このデータ処理方式の性質から,メモリやキャッシュに全データが乗らない規模のデータ解析や永続的にデータが生成される環境下での学習に適用することが可能となる。
オンライン予測は、この逐次的な学習を用いてメタ的な機械学習を行うことでさまざまな意思決定問題を扱うフレームワークとなる。
本ブログでは 以下のページにて、このオンライン学習、オンライン予測に関して理論的な概要やさまざまな実装と応用について述べている。
スパース性に基づく機械学習
スパースモデリングとは、与えられたデータに応じて、統計モデルの必要な部分を自動的に抽出する技術となる。重回帰分析の場合で言えば、多数の説明変数のリストから少数の必要なものを取り出す、というものとなる。これに対して、昔からある言葉として「モデル選択」や「変数選択」がある。「変数選択」はモデルに取り入れる変数を選ぶ場合に、「モデル選択」はより一般的に、たとえば雑音の分布の選択などを含めて行われる。
このスパースモデリングの手法であるL1ノルム等の正則化手法は、バイオイナフォマティックス、工学をはじめ、ビッグデータを含めたあらゆるデータ解析/機械学習において、その方法が取り込まれており、現在はスパース性が使われていない分野を探す方が大変なものとなっている。
本ブログでは 以下のページにて、このスパース性に基づく機械学習について、理論行な解説、具体的な実装、さまざまなアプリケーションについて述べている。
コメント
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータと機械学習 […]
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータと機械学習 […]
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータと機械学習 […]
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータ […]
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータ […]
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータ […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 […]
[…] デジタルトランスフォーメーション技術 確率的生成モデル スモールデータ ベイズ推論による機械学習 ノンパラメトリックベイズとガウス過程 […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 […]
[…] デジタルトランスフォーメーション技術 確率的生成モデル スモールデータ ベイズ推論による機械学習 ノンパラメトリックベイズとガウス過程 […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 物理・数学 […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 物理・数学 […]
[…] デジタルトランスフォーメーション技術 確率的生成モデル スモールデータ ベイズ推論による機械学習 ノンパラメトリックベイズとガウス過程 […]
[…] デジタルトランスフォーメーション技術 確率的生成モデル スモールデータ ベイズ推論による機械学習 ノンパラメトリックベイズとガウス過程 […]
[…] デジタルトランスフォーメーション技術 確率的生成モデル スモールデータ ベイズ推論による機械学習 ノンパラメトリックベイズとガウス過程 […]
[…] デジタルトランスフォーメーション技術 確率的生成モデル スモールデータ ベイズ推論による機械学習 ノンパラメトリックベイズとガウス過程 […]
[…] スモールデータ学習、論理と機械学習との融合、局所/集団学習 | Deus Ex Machina より: 2023年7月13日 10:38 AM […]
[…] 確率的生成モデル ベイズ推論による機械学習 スモールデータ […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 […]
[…] 深層学習技術 強化学習 説明できる機械学習 一般的な機械学習 スモールデータでの機械学習 […]