AutoBNN:構成可能なベイジアンニューラルネットワークを用いた確率的時系列予測
本文の状態
日本語全文を表示中
詳細モードで約3分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Google Research Blog
Google Researchが開発したAutoBNNは、ベイジアンニューラルネットワークを用いて時系列データの確率的予測を可能にする技術で、不確実性の定量化とモデルの解釈性を向上させます。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
<span class="byline-author">Posted by Urs Köster, Software Engineer, Google Research</span>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd5Wc54p1HvgIokpazxDsMo1u6i9wg3ovpNOiFc4-wYwebETvjs9-hm2wxZ4osNbBAxhet8To3hwGg-whFScksHQB_BP1kS4Z8Cu7FQT2bjVtJl4trPid-OxCyYocwyRTN66tuvAedu9z0FepBg4zZvmLbLxY6uuib8p5jVH2kfb3RxT_HMABsKMXuSFXr/s320/AutoBNN.jpg" style="display: none;" />
<p>
<a href="https://en.wikipedia.org/wiki/Time_series">時系列</a>問題は遍在しており、天気や交通パターンの予測から経済動向の理解に至るまで多岐にわたります。<a href="https://en.wikipedia.org/wiki/Bayesian_inference">ベイジアン</a>アプローチは、データのパターンに関する仮定(事前確率)から始まり、証拠(例:新しい時系列データ)を収集し、その仮定を継続的に更新して事後確率分布を形成します。<a href="https://gaussianprocess.org/gpml/">ガウス過程</a>(GPs)や<a href="https://blog.tensorflow.org/2019/03/structural-time-series-modeling-in.html">構造的時系列モデル</a>のような伝統的なベイジアン手法は、一般的に使用される<a href="https://gml.noaa.gov/ccgg/trends/">マウナロアCO2</a>データセットなど、時系列データのモデリングに広く用いられています。しかし、これらの手法は多くの場合、適切なモデルコンポーネントを苦心して選択するドメイン専門家に依存しており、計算コストが高くなる可能性があります。ニューラルネットワークのような代替手法は解釈可能性に欠け、どのように予測を生成しているのかを理解することが難しく、信頼性の高い信頼区間も生成しません。
</p>
<a name='more'></a>
<p>
この目的のために、私たちは<a href="https://github.com/tensorflow/probability/tree/main/spinoffs/autobnn">AutoBNN</a>を紹介します。これは<a href="https://github.com/google/jax">JAX</a>で書かれた新しいオープンソースパッケージです。AutoBNNは、解釈可能な時系列予測モデルの発見を自動化し、高品質な不確実性の推定値を提供し、大規模データセットでの使用に効果的にスケールします。AutoBNNが、従来の確率的アプローチの解釈可能性と、ニューラルネットワークのスケーラビリティおよび柔軟性をどのように組み合わせるかを説明します。
</p>
<div style="line-height: 40%;">
<br />
</div>
<h2>AutoBNN</h2>
<p>
AutoBNNは、過去10年にわたって学習された<a href="https://www.cs.toronto.edu/~duvenaud/cookbook/">カーネル</a>構造を持つGPsを使用して時系列をモデリングすることで、予測精度の向上をもたらしてきた<a href="https://proceedings.mlr.press/v28/duvenaud13.html">一連の</a> <a href="https://royalsocietypublishing.org/doi/10.1098/rsta.2011.0550">研究</a> <a href="https://proceedings.mlr.press/v202/saad23a.html">成果</a>に基づいています。GPのカーネル関数は、トレンド、周期性、ノイズの存在など、モデル化される関数に関する仮定を符号化します。学習されたGPカーネルでは、カーネル関数は合成的に定義されます:それは、基本カーネル(<code>Linear</code>、<code>Quadratic</code>、<code>Periodic</code>、<code><a href="https://en.wikipedia.org/wiki/Mat%C3%A9rn_covariance_function">Matérn</a></code>、または<code>ExponentiatedQuadratic</code>)であるか、あるいは<code>Addition</code>、<code>Multiplication</code>、<code><a href="https://icml.cc/Conferences/2010/papers/170.pdf">ChangePoint</a></code>のような演算子を使用して2つ以上のカーネル関数を組み合わせた複合体です。この合成的カーネル構造には、2つの関連する目的があります。第一に、GPについては必ずしも専門家ではないが、自身のデータについては専門知識を持つユーザーが、自身の時系列に対して合理的な事前分布を構築できるほど十分に単純であることです。第二に、<a href="https://www.stats.ox.ac.uk/~doucet/doucet_defreitas_gordon_smcbookintro.pdf">逐次モンテカルロ法</a>のような技術を小さな構造に対する離散的な探索に使用し、解釈可能な結果を出力できることです。</p>
<p>
AutoBNNはこれらのアイデアを改良し、GPを<a href="https://www.cs.toronto.edu/~duvenaud/distill_bayes_net/public/">ベイジアンニューラルネットワーク</a>(BNNs)に置き換えながら、合成的カーネル構造を保持しています。BNNは、固定された重みのセットではなく、重みに対する確率分布を持つニューラルネットワークです。これにより出力の分布が誘導され、予測における不確実性が捕捉されます。BNNは、GPと比較して以下の利点をもたらします:第一に、大規模なGPの訓練は計算コストが高く、従来の訓練アルゴリズムは時系列のデータ点数に対して3乗でスケールします。対照的に、固定幅のBNNの訓練は、多くの場合、データ点数に対してほぼ線形になります。第二に、BNNはGPUや<a href="https://cloud.google.com/tpu?hl=en">TPU</a>ハードウェアアクセラレーションにより適しています。
原文を表示
<span class="byline-author">Posted by Urs Köster, Software Engineer, Google Research</span>
<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgd5Wc54p1HvgIokpazxDsMo1u6i9wg3ovpNOiFc4-wYwebETvjs9-hm2wxZ4osNbBAxhet8To3hwGg-whFScksHQB_BP1kS4Z8Cu7FQT2bjVtJl4trPid-OxCyYocwyRTN66tuvAedu9z0FepBg4zZvmLbLxY6uuib8p5jVH2kfb3RxT_HMABsKMXuSFXr/s320/AutoBNN.jpg" style="display: none;" />
<p>
<a href="https://en.wikipedia.org/wiki/Time_series">Time series</a> problems are ubiquitous, from forecasting weather and traffic patterns to understanding economic trends. <a href="https://en.wikipedia.org/wiki/Bayesian_inference">Bayesian</a> approaches start with an assumption about the data's patterns (prior probability), collecting evidence (e.g., new time series data), and continuously updating that assumption to form a posterior probability distribution. Traditional Bayesian approaches like <a href="https://gaussianprocess.org/gpml/">Gaussian processes</a> (GPs) and <a href="https://blog.tensorflow.org/2019/03/structural-time-series-modeling-in.html">Structural Time Series</a> are extensively used for modeling time series data, e.g., the commonly used <a href="https://gml.noaa.gov/ccgg/trends/">Mauna Loa CO2</a> dataset. However, they often rely on domain experts to painstakingly select appropriate model components and may be computationally expensive. Alternatives such as neural networks lack interpretability, making it difficult to understand how they generate forecasts, and don't produce reliable confidence intervals.
</p>
<a name='more'></a>
<p>
To that end, we introduce <a href="https://github.com/tensorflow/probability/tree/main/spinoffs/autobnn">AutoBNN</a>, a new open-source package written in <a href="https://github.com/google/jax">JAX</a>. AutoBNN automates the discovery of interpretable time series forecasting models, provides high-quality uncertainty estimates, and scales effectively for use on large datasets. We describe how AutoBNN combines the interpretability of traditional probabilistic approaches with the scalability and flexibility of neural networks.
</p>
<div style="line-height: 40%;">
<br />
</div>
<h2>AutoBNN</h2>
<p>
AutoBNN is based on a <a href="https://proceedings.mlr.press/v28/duvenaud13.html">line</a> <a href="https://royalsocietypublishing.org/doi/10.1098/rsta.2011.0550">of</a> <a href="https://proceedings.mlr.press/v202/saad23a.html">research</a> that over the past decade has yielded improved predictive accuracy by modeling time series using GPs with learned <a href="https://www.cs.toronto.edu/~duvenaud/cookbook/">kernel</a> structures. The kernel function of a GP encodes assumptions about the function being modeled, such as the presence of trends, periodicity or noise. With learned GP kernels, the kernel function is defined compositionally: it is either a base kernel (such as <code>Linear</code>, <code>Quadratic</code>, <code>Periodic</code>, <code><a href="https://en.wikipedia.org/wiki/Mat%C3%A9rn_covariance_function">Matérn</a></code> or <code>ExponentiatedQuadratic</code>) or a composite that combines two or more kernel functions using operators such as <code>Addition</code>, <code>Multiplication</code>, or <code><a href="https://icml.cc/Conferences/2010/papers/170.pdf">ChangePoint</a></code>. This compositional kernel structure serves two related purposes. First, it is simple enough that a user who is an expert about their data, but not necessarily about GPs, can construct a reasonable prior for their time series. Second, techniques like <a href="https://www.stats.ox.ac.uk/~doucet/doucet_defreitas_gordon_smcbookintro.pdf">Sequential Monte Carlo</a> can be used for discrete searches over small structures and can output interpretable results.</p>
<p>
AutoBNN improves upon these ideas, replacing the GP with <a href="https://www.cs.toronto.edu/~duvenaud/distill_bayes_net/public/">Bayesian neural networks</a> (BNNs) while retaining the compositional kernel structure. A BNN is a neural network with a probability distribution over weights rather than a fixed set of weights. This induces a distribution over outputs, capturing uncertainty in the predictions. BNNs bring the following advantages over GPs: First, training large GPs is computationally expensive, and traditional training algorithms scale as the cube of the number of data points in the time series. In contrast, for a fixed width, training a BNN will often be approximately linear in the number of data points. Second, BNNs lend themselves better to GPU and <a href="https://cloud.google.com/tpu?hl=en">TPU</a> hardware acceleratio
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み